/* Shared chrome and layout tokens for the homepage and interior templates. */
:root{--sbtp-width:1200px;--sbtp-gutter:56px}
.shared-container,body .concept-wrap,body .wrap{width:calc(100% - var(--sbtp-gutter)*2);max-width:var(--sbtp-width);margin-inline:auto}
.shared-header{height:98px;background:#fff;position:sticky;top:0;z-index:30;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#1383ae,#6db448) 1}
.shared-header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.shared-header .brand{flex-shrink:0}
.shared-header .sbtp-official-logo,.shared-footer .sbtp-official-logo{width:320px;height:auto;display:block}
#shared-nav ul{display:flex;align-items:center;gap:29px;list-style:none;margin:0;padding:0}
#shared-nav a{display:block;padding:12px 0;font-size:14px;font-weight:700;color:#203f49;white-space:nowrap}
#shared-nav a:hover,#shared-nav a[aria-current]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.shared-menu-toggle{display:none}
.shared-footer{padding:42px 0 24px;background:#f7f9f8;color:#203f49}
.shared-footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:32px}
.shared-footer-main nav{display:flex;gap:28px;font-size:15px;font-weight:700}
.shared-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.shared-footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d5e2e5;padding-top:20px;font-size:13px;color:#4e6870}
.sbtp-interior-c h2{font-size:clamp(32px,3.6vw,49px)}
.sbtp-interior-c .page-hero{padding-block:70px 76px}
.sbtp-interior-c .page-hero h1{font-size:clamp(44px,5.5vw,78px);letter-spacing:-.025em;line-height:1.15}
.sbtp-interior-c .button,.sbtp-interior-c .gform_button{font-weight:700;min-height:54px;padding:14px 24px}
.sbtp-interior-c .benefit-card{background:#f4f7f7;padding:26px 22px}
.sbtp-interior-c .benefits .benefit-card{background:white}
@media(max-width:1150px){:root{--sbtp-gutter:40px}.shared-header .sbtp-official-logo,.shared-footer .sbtp-official-logo{width:280px}}
@media(max-width:1000px){.shared-header{height:85px}.shared-menu-toggle{display:flex;align-items:center;gap:14px;min-height:44px;border:0;background:transparent;font-size:14px;color:#203f49;padding:10px 0 10px 10px}#shared-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px var(--sbtp-gutter);background:white;border-bottom:1px solid #d5e2e5;box-shadow:0 15px 25px #112c3b1a}#shared-nav.open{display:block}#shared-nav ul{display:block}#shared-nav a{font-size:17px;padding:12px 0}}
@media(max-width:760px){:root{--sbtp-gutter:24px}.shared-footer-main{align-items:flex-start}.shared-footer-main nav{flex-direction:column;gap:12px}.sbtp-interior-c .page-hero{padding-block:52px}}
@media(max-width:480px){:root{--sbtp-gutter:20px}.shared-header{height:79px}.shared-header .sbtp-official-logo,.shared-footer .sbtp-official-logo{width:235px}.shared-header-inner{gap:12px}.shared-footer-main{flex-direction:column;gap:24px}.shared-footer-main nav{flex-direction:row;flex-wrap:wrap;gap:24px}.shared-footer-bottom{font-size:12px}.sbtp-interior-c .page-hero h1{font-size:clamp(36px,11vw,43px)}}
@media(max-width:360px){.shared-header .sbtp-official-logo,.shared-footer .sbtp-official-logo{width:205px}}

/* Homepage navigation fades into the photographic hero. */
.home .shared-header{background:linear-gradient(to bottom,#fff 0%,rgba(255,255,255,.96) 28%,rgba(255,255,255,.7) 65%,rgba(255,255,255,0) 100%);border:0;border-image:none;margin-bottom:-98px}
.home .concept-hero-content{padding-top:188px}
@media(max-width:1000px){.home .shared-header{margin-bottom:-85px}.home .concept-hero-content{padding-top:175px}}
@media(max-width:760px){.home .concept-hero-content{padding-top:155px}}
@media(max-width:480px){.home .shared-header{margin-bottom:-79px}.home .concept-hero-content{padding-top:131px}}

/* Keep the logo on white; let the fade extend below the navigation. */
.home .shared-header{background:#fff;isolation:isolate;transition:box-shadow .25s ease}
.home .shared-header::after{content:'';position:absolute;top:100%;left:0;right:0;height:70px;background:linear-gradient(to bottom,#fff,rgba(255,255,255,.78) 28%,transparent);pointer-events:none;z-index:-1;opacity:1;transition:opacity .3s ease}
.home .shared-header.is-scrolled{box-shadow:0 3px 16px #163e3712}
.home .shared-header.is-scrolled::after{opacity:0}
.home .concept-hero-content{padding-top:218px}
@media(max-width:1000px){.home .concept-hero-content{padding-top:205px}}
@media(max-width:760px){.home .concept-hero-content{padding-top:185px}}
@media(max-width:480px){.home .concept-hero-content{padding-top:161px}.home .shared-header::after{height:60px}}
@media(prefers-reduced-motion:reduce){.home .shared-header,.home .shared-header::after{transition:none}}

/* Consistent, stronger brand rule on interior and scrolled homepage headers. */
.shared-header{border-bottom-width:5px}
.home .shared-header.is-scrolled{border-bottom:5px solid transparent;border-image:linear-gradient(90deg,#1383ae,#6db448) 1}
.shared-header{box-shadow:0 3px 16px #163e3712}
.home .shared-header:not(.is-scrolled){box-shadow:none}

@media(min-width:1001px){#shared-nav a{font-size:16px}}
#signup-form{scroll-margin-top:120px}

/* The homepage uses the same solid header as every interior page. */
.home .shared-header,.home .shared-header:not(.is-scrolled){background:#fff;margin-bottom:0;border-bottom:5px solid transparent;border-image:linear-gradient(90deg,#1383ae,#6db448) 1;box-shadow:0 3px 16px #163e3712}
.home .shared-header::after{display:none}
.home .concept-hero-content{padding-top:90px}
@media(max-width:760px){.home .concept-hero-content{padding-top:70px}}
@media(max-width:480px){.home .concept-hero-content{padding-top:52px}}

/* Shared button geometry and borders across both page templates. */
body .concept-button,body .button,body .gform_button,body .gform_wrapper input[type=submit],body .gform_wrapper button[type=submit]{box-sizing:border-box;border:1px solid #608894;border-radius:12px;min-height:54px;padding:14px 22px;font-family:var(--preview-font,var(--font,Avenir,sans-serif));font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
body .concept-button:focus-visible,body .button:focus-visible,body .gform_button:focus-visible{outline:3px solid #3694b4;outline-offset:4px}
body .hero-links .concept-button{border:1px solid #ffffffb3;border-radius:12px}
body .hero-links .concept-button.primary{border-color:#fff}
body .home-faq-action .concept-button,body .quick-signup-fields .concept-button{border:1px solid #468699}
body .home-faq-action .faq-contact-button,body .impact-bottom a{border:1px solid #82b4a4;border-radius:12px;min-height:54px;padding:14px 22px;font-size:15px;font-weight:700;line-height:1.4}
body .button-outline{border-color:#608894}
body .button-white{border-color:#a9bec5}
@media(prefers-reduced-motion:reduce){body .concept-button,body .button,body .gform_button{transition:none}}

/* Align footer content with the economic-opportunity inset. */
.shared-footer,.home .shared-footer{box-sizing:border-box;width:min(calc(100% - 48px),calc(var(--sbtp-width,1200px) + 96px));margin-inline:auto;padding-inline:48px}
.shared-footer .shared-container,.home .shared-footer .shared-container{width:100%;max-width:var(--sbtp-width,1200px);margin-inline:auto}
@media(max-width:760px){.shared-footer,.home .shared-footer{width:calc(100% - 24px);padding-inline:32px}}
@media(max-width:480px){.shared-footer,.home .shared-footer{padding-inline:24px}}
.home .home-signup{box-sizing:border-box;width:min(calc(100% - 48px),calc(var(--sbtp-width,1200px) + 96px));margin-inline:auto;padding-inline:48px}
.home .home-signup .concept-wrap{width:100%;max-width:var(--sbtp-width,1200px)}
@media(max-width:760px){.home .home-signup{width:calc(100% - 24px);padding-inline:32px}}
@media(max-width:480px){.home .home-signup{padding-inline:24px}}

/* One signup component shared across the site, omitted on the signup page. */
.home-signup,.home .home-signup{box-sizing:border-box;width:min(calc(100% - 48px),calc(var(--sbtp-width,1200px) + 96px));margin:0 auto;padding:54px 48px 38px;border-radius:28px 28px 0 0;background:#eaf1f2;color:#203f49}
.home-signup .shared-container{width:100%;max-width:var(--sbtp-width,1200px);margin-inline:auto}
.home-signup-inner{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.home-signup .kicker{font-size:16px;font-weight:800;letter-spacing:.13em;line-height:1.5;color:#176780;margin:0 0 16px}
.home-signup h2{font-size:42px;font-weight:800;line-height:1.08;letter-spacing:-.025em;margin:0 0 16px}
.home-signup p{font-size:17px;line-height:1.6;margin-bottom:0}
.quick-signup-form label{display:block;font-size:16px;font-weight:700;margin-bottom:10px}
.quick-signup-fields{display:flex;gap:12px}
.quick-signup-fields input{min-width:0;flex:1;width:100%;background:white;border:1px solid #a8bec6;border-radius:12px;padding:15px 16px;font:inherit;color:#203f49;min-height:56px}
.quick-signup-fields input:focus-visible{outline:3px solid #3694b4;outline-offset:3px}
.quick-signup-fields button{display:flex;align-items:center;background:#176780;color:white;cursor:pointer;white-space:nowrap;font-weight:700;gap:15px}
.quick-signup-fields button:hover{background:#125369}
.home-signup .quick-signup-note{font-size:13px;color:#486068;margin-top:14px}
.quick-signup-note a{text-decoration:underline;text-underline-offset:3px}
.home-signup+.shared-footer{background:#eaf1f2;padding-top:32px}
@media(max-width:1000px){.home-signup-inner{grid-template-columns:1fr;gap:28px}}
@media(max-width:760px){.home-signup,.home .home-signup{width:calc(100% - 24px);padding-inline:32px}}
@media(max-width:600px){.home-signup,.home .home-signup{padding-block:36px}.home-signup h2{font-size:34px}.quick-signup-fields{flex-direction:column}.quick-signup-fields button{justify-content:space-between;min-height:54px}}
@media(max-width:480px){.home-signup,.home .home-signup{padding-inline:24px}}

/* Match interior hero labels to the homepage section subheads. */
.sbtp-interior-c .page-hero .eyebrow{font-size:16px}

/* Leave breathing room below the signup/footer block. */
.shared-footer,.home .shared-footer{margin-bottom:32px;border-radius:0 0 28px 28px}
@media(max-width:480px){.shared-footer,.home .shared-footer{margin-bottom:20px;border-radius:0 0 24px 24px}}

/* Compact overview banner aligned to the shared homepage content grid. */
.sbtp-interior-c .page-hero{padding-block:36px}
.sbtp-interior-c .page-hero .wrap{width:calc(100% - var(--sbtp-gutter)*2);max-width:var(--sbtp-width);margin-inline:auto}
.sbtp-interior-c .page-hero .eyebrow{margin-bottom:16px}
.sbtp-interior-c .page-hero h1{margin-bottom:0;max-width:none;width:100%}
@media(max-width:480px){.sbtp-interior-c .page-hero{padding-block:28px}}

/* Match the homepage hero's outer inset without moving the text alignment. */
.sbtp-interior-c .page-hero{margin-inline:16px}
.sbtp-interior-c .page-hero .wrap{width:calc(100% - var(--sbtp-gutter)*2 + 32px)}
@media(max-width:480px){.sbtp-interior-c .page-hero{margin-inline:8px}.sbtp-interior-c .page-hero .wrap{width:calc(100% - var(--sbtp-gutter)*2 + 16px)}}

/* Restore the signup/footer block's flat, flush bottom edge. */
.shared-footer,.home .shared-footer{margin-bottom:0;border-radius:0}

/* Shared atmospheric treatment for interior banners and economic opportunities. */
.page-hero{isolation:isolate;background:#123d4b}
.page-hero .hero-emblem{display:none}
.impact-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.65}
@media(prefers-reduced-motion:reduce){.impact-canvas{opacity:.35}}

/* Breathing room before the footer section; keep the combined block connected. */
.home-signup,.home .home-signup{margin-top:48px}
.shared-footer,.home .shared-footer{margin-top:48px}
.home-signup+.shared-footer{margin-top:0}
@media(max-width:480px){.home-signup,.home .home-signup{margin-top:32px}.shared-footer,.home .shared-footer{margin-top:32px}.home-signup+.shared-footer{margin-top:0}}

/* Project Overview: five clear stories with paired headings and explanations. */
.overview-documents{display:flex;flex-wrap:wrap;gap:20px;margin-top:28px}
.overview-documents>div{display:flex;flex-direction:column;gap:8px}
body .overview-document{display:flex;align-items:center;justify-content:flex-start;gap:12px;background:#ffffff12;border-color:#b1cbd1;color:#fff;cursor:default;opacity:1}
body .overview-document:hover{background:#ffffff12;transform:none}
.overview-document .preview-icon{width:23px;height:23px;flex-shrink:0}
.overview-documents>div>span{font-size:13px;color:#cedfe3;padding-left:2px}
.overview-story{padding:72px 0}
.overview-story:nth-child(even){background:#f4f7f7;border-radius:0;margin-inline:0}

.overview-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.overview-story-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:#e2eff2;color:#176780;margin-bottom:24px}
.overview-story-icon .preview-icon{width:36px;height:36px}
.overview-story:nth-child(even) .overview-story-icon{background:#e1ece6;color:#33675b}
.project-overview-page .overview-story h2{font-size:clamp(29px,3vw,42px);line-height:1.2;letter-spacing:-.025em;margin-bottom:28px}
.overview-story-copy>p{font-size:19px;line-height:1.8;color:#486068;margin:0}
.overview-story-copy .overview-source{font-size:13px;line-height:1.65;margin-top:24px;padding-top:20px;border-top:1px solid #d5e2e5}
@media(max-width:1000px){.overview-story-grid{gap:36px}.overview-story-copy>p{font-size:18px}}
@media(max-width:760px){.overview-story{padding-block:48px}.overview-story-grid{grid-template-columns:1fr;gap:28px}.overview-story-heading .button{margin-top:0}}
@media(max-width:480px){.overview-documents{flex-direction:column}.overview-documents .button{width:100%}}
body .page-hero .button.opportunity-report{display:inline-flex;align-items:center;justify-content:flex-start;gap:12px;background:#fff;color:#203f49;border-color:#fff}
body .page-hero .button.opportunity-report:hover{background:#edf4f5;color:#203f49}
.opportunity-report .preview-icon{width:24px;height:24px;flex-shrink:0}

/* Solid, consistent document actions instead of translucent backgrounds. */
body .overview-documents .overview-document{background:#33675b;color:#fff;border-color:#82b4a4;opacity:1}
body .overview-documents .overview-document:hover{background:#33675b;color:#fff}
body .overview-documents>div:first-child .overview-document{background:#fff;color:#203f49;border-color:#fff}
body .overview-documents>div:first-child .overview-document:hover{background:#fff;color:#203f49}
body .overview-story .button{background:#33675b;color:#fff;border-color:#82b4a4}
body .overview-story .button:hover{background:#285347}
body .page-hero .button.opportunity-report{background:#fff;color:#203f49;border-color:#fff}
body .page-hero .button.opportunity-report:hover{background:#edf4f5;color:#203f49}

.overview-story-copy > .button{margin-top:24px}

/* Keep optional page descriptions spaced below the shared title. */
.sbtp-interior-c .page-hero .page-intro{margin-top:24px;margin-bottom:0;max-width:none;width:100%}

/* Page-specific icon palettes. */
.project-overview-page{--page-icon-color:#176780;--page-icon-surface:#e2eff2}
.project-opportunities-page{--page-icon-color:#33675b;--page-icon-surface:#e1ece6}
:is(.project-overview-page,.project-opportunities-page) #main .page-content .preview-icon{color:var(--page-icon-color)}
:is(.project-overview-page,.project-opportunities-page) #main :is(.overview-story-icon,.card-icon,.impact-icon){color:var(--page-icon-color);background:var(--page-icon-surface)}

/* Opportunities follow the Overview rhythm, with room for benefit breakdowns. */
.project-opportunities-page .opportunity-story h2{font-size:clamp(29px,3vw,42px);line-height:1.2;letter-spacing:-.025em;margin-bottom:0}
.opportunity-story .overview-story-grid{align-items:start}
.opportunity-label{font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#33675b;margin:0 0 16px}
.opportunity-figure{font-size:clamp(56px,6vw,82px);line-height:1.08;letter-spacing:-.015em;font-weight:800;color:#33675b;margin-bottom:14px}
.overview-story-copy .opportunity-metric{font-size:18px;line-height:1.5;font-weight:700;color:#203f49;margin-bottom:24px}
.opportunity-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:44px}
.opportunity-breakdown:has(>article:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
.opportunity-breakdown article{min-width:0;border:1px solid #d5e2dc;border-radius:22px;padding:28px 24px;background:#f4f7f5;box-shadow:0 6px 20px #173f4706}
.opportunity-story:nth-child(even) .opportunity-breakdown article{background:#fff}
.opportunity-card-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:15px;background:#e1ece6;color:#33675b;margin-bottom:20px}
.opportunity-card-icon .preview-icon{width:28px;height:28px}
.opportunity-breakdown h3{font-size:22px;line-height:1.3;margin:0 0 12px}
.opportunity-breakdown p{font-size:17px;line-height:1.75;color:#486068;margin:0}
.opportunity-note,.opportunity-sources p{font-size:15px;line-height:1.7;color:#486068}
.opportunity-note{margin:28px 0 0}
.opportunity-sources{padding-block:32px 12px;border-top:1px solid #d5e2e5;display:flex;align-items:center;gap:36px}
.opportunity-sources p{flex:1;margin:0}
.opportunity-sources .button{flex-shrink:0;background:#33675b;color:white}
@media(max-width:1000px){.opportunity-breakdown,.opportunity-breakdown:has(>article:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.opportunity-sources{align-items:flex-start;flex-direction:column;gap:24px}}
@media(max-width:480px){.opportunity-breakdown,.opportunity-breakdown:has(>article:nth-child(4)){grid-template-columns:1fr}.opportunity-breakdown{margin-top:32px}}

/* Match the homepage cards' brand border and gentle hover lift. */
.opportunity-breakdown article{position:relative;transition:transform .22s ease,box-shadow .22s ease}
.opportunity-breakdown article::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:2px;background:linear-gradient(125deg,#1383ae 0%,#389d99 50%,#6db448 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity .22s ease}
@media(hover:hover){.opportunity-breakdown article:hover{transform:translateY(-4px);box-shadow:0 12px 30px #17678012}.opportunity-breakdown article:hover::before{opacity:1}}
.opportunity-breakdown article:focus-within::before{opacity:1}
@media(prefers-reduced-motion:reduce){.opportunity-breakdown article,.opportunity-breakdown article::before{transition:none}.opportunity-breakdown article:hover{transform:none}}

.opportunity-section-action{display:flex;justify-content:flex-end;margin-top:28px}

.opportunity-overview-callout{margin-top:48px;padding-block:56px;background:#f4f7f7}
.opportunity-overview-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px}
.opportunity-overview-callout h2{font-size:clamp(28px,3vw,40px);line-height:1.2;margin:0 0 18px}
.opportunity-overview-callout p:not(.opportunity-label){font-size:18px;line-height:1.7;color:#486068;margin:0;max-width:760px}
body .opportunity-overview-callout .button{background:#33675b;color:#fff;border-color:#82b4a4}
body .opportunity-overview-callout .button:hover{background:#285347}
@media(max-width:760px){.opportunity-overview-callout{padding-block:40px;margin-top:32px}.opportunity-overview-inner{grid-template-columns:1fr;gap:28px}.opportunity-overview-inner>.button{justify-self:start}}

.opportunity-section-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;margin-top:28px}
.opportunity-section-footer .opportunity-note,.opportunity-section-footer .opportunity-section-action{margin-top:0}
@media(max-width:760px){.opportunity-section-footer{grid-template-columns:1fr;gap:24px}}

/* Compact overview invitation, aligned with the benefit cards. */
.opportunity-overview-callout{margin-top:0;padding-block:8px 24px;background:transparent}
.opportunity-overview-inner{grid-template-columns:64px minmax(0,1fr) auto;gap:28px;padding:32px;border:1px solid #d5e2dc;border-radius:22px;background:#f4f7f5;box-sizing:border-box}
.overview-callout-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:#e1ece6;color:#33675b}
.opportunity-overview-callout h2{font-size:clamp(25px,2.5vw,32px);margin-bottom:10px}
.opportunity-overview-callout p:not(.opportunity-label){font-size:17px;line-height:1.65}
@media(max-width:1000px){.opportunity-overview-inner{grid-template-columns:64px minmax(0,1fr)}.opportunity-overview-inner>.button{grid-column:2;justify-self:start}}
@media(max-width:480px){.opportunity-overview-inner{grid-template-columns:1fr;padding:24px;gap:22px}.opportunity-overview-inner>.button{grid-column:1}}

body .opportunity-overview-link{background:#33675b;color:#fff;border-color:#82b4a4}
body .opportunity-overview-link:hover{background:#285347;color:#fff}

body .page-hero .button.application-download,
body .page-hero .button.opportunity-overview-link{background:#33675b;color:#fff;border-color:#82b4a4;opacity:1}
body .page-hero .button.application-download:hover,
body .page-hero .button.opportunity-overview-link:hover{background:#285347;color:#fff}

body .opportunity-overview-link{display:inline-flex;align-items:center;justify-content:flex-start;gap:12px}
.opportunity-overview-link .preview-icon{width:24px;height:24px;flex-shrink:0}

.faq-toolbar{display:flex;justify-content:flex-end;margin-bottom:28px}
body .faq-toolbar .faq-toggle-all{background:#33675b;color:#fff;border-color:#82b4a4}
body .faq-toolbar .faq-toggle-all:hover{background:#285347}
.sbtp-interior-c .faq-sidebar nav a{padding:12px 14px;border-left:3px solid transparent;transition:background .2s ease,color .2s ease}
.sbtp-interior-c .faq-sidebar nav a[aria-current="location"]{color:#176780;background:#e2eff2;border-left-color:#176780;font-weight:800;border-radius:0 8px 8px 0}
.faq-sidebar nav a::after{content:none}
@media(prefers-reduced-motion:reduce){.faq-sidebar nav a{transition:none}}

.faq-sidebar .faq-toolbar{justify-content:stretch;margin-bottom:26px}
.faq-sidebar .faq-toggle-all{width:100%;justify-content:center;padding-inline:12px}
@media(min-width:801px){.faq-sidebar{max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}.sbtp-interior-c .faq-sidebar nav a{padding-block:9px}}

/* FAQ closing callout echoes the homepage economic section. */
.sbtp-interior-c .faq-layout .callout{padding:36px;border:1px solid #40616a;border-radius:22px;color:#fff;background:radial-gradient(ellipse at 18% 26%,rgba(24,140,180,.25),transparent 65%),radial-gradient(ellipse at 82% 62%,rgba(57,152,115,.23),transparent 65%),#123d4b}
.sbtp-interior-c .faq-layout .callout h3{color:#fff}
.sbtp-interior-c .faq-layout .callout p{color:#dce9ec}
body .faq-layout .callout .button{background:#fff;color:#203f49;border-color:#fff}
body .faq-layout .callout .button:hover{background:#edf4f5;color:#203f49;border-color:#edf4f5}
@media(max-width:480px){.sbtp-interior-c .faq-layout .callout{padding:26px 24px}}

#shared-nav a.nav-updates-button{padding:13px 20px;background:#33675b;color:#fff;border:1px solid #82b4a4;border-radius:12px;text-decoration:none;transition:background .2s ease}
#shared-nav a.nav-updates-button:hover,#shared-nav a.nav-updates-button[aria-current]{background:#285347;text-decoration:none}
@media(min-width:1001px) and (max-width:1250px){#shared-nav ul{gap:18px}.shared-header .sbtp-official-logo{width:240px}.shared-header-inner{gap:20px}}
@media(max-width:1000px){#shared-nav a.nav-updates-button{display:inline-flex;margin-top:12px}}

.privacy-policy-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;align-items:start}
.privacy-toc{position:sticky;top:130px}
.privacy-toc .eyebrow{margin-bottom:16px}
.privacy-toc a{display:block;padding:10px 0;border-bottom:1px solid #d5e2e5;font-size:15px;line-height:1.5}
.privacy-toc a:hover{color:#176780;text-decoration:underline}
.privacy-policy-copy{max-width:850px;font-size:18px;line-height:1.8}
.privacy-policy-copy section{margin-top:42px;scroll-margin-top:20px}
.sbtp-interior-c .privacy-policy-copy h2{font-size:30px;line-height:1.25;letter-spacing:-.015em;margin-bottom:18px}
.privacy-policy-copy li{margin-bottom:10px}
.privacy-policy-copy a:not(.button){color:#176780;text-decoration:underline;text-underline-offset:3px}
.privacy-date{font-size:15px;color:#486068}
.privacy-contact{margin-top:32px;padding:28px;border:1px solid #d5e2e5;border-radius:22px;background:#f4f7f7}
body .privacy-contact .button{background:#33675b;color:#fff;border-color:#82b4a4}
@media(max-width:850px){.privacy-policy-layout{grid-template-columns:1fr;gap:36px}.privacy-toc{position:static}.privacy-toc a{display:inline-block;margin-right:20px}.privacy-policy-copy{font-size:17px}}

body .contact-faq-button{background:#33675b;color:#fff;border-color:#82b4a4}
body .contact-faq-button:hover{background:#285347}

.contact-page-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:28px}
.contact-page-actions .button{min-width:220px;justify-content:space-between}

body .contact-page-actions .button:nth-child(1){background:#176780;color:#fff;border-color:#608894}
body .contact-page-actions .button:nth-child(1):hover{background:#125369}
body .contact-page-actions .button:nth-child(2){background:#33675b;color:#fff;border-color:#82b4a4}
body .contact-page-actions .button:nth-child(2):hover{background:#285347}
body .contact-page-actions .button:nth-child(3){background:#fff;color:#203f49;border-color:#608894}
body .contact-page-actions .button:nth-child(3):hover{background:#edf4f5}

body .contact-page-actions .button{justify-content:flex-start;gap:12px}
.contact-page-actions .button .preview-icon{width:24px;height:24px;flex-shrink:0}
.contact-page-actions .button span{font-size:inherit;line-height:inherit}

#shared-nav a.nav-updates-button{text-transform:none}

.privacy-toc a{padding:10px 14px;border-left:3px solid transparent;transition:background .2s ease,color .2s ease}
.privacy-toc a[aria-current="location"]{background:#e2eff2;color:#176780;border-left-color:#176780;border-radius:0 8px 8px 0;font-weight:800}
@media(min-width:851px){.privacy-toc{max-height:calc(100dvh - 150px);overflow-y:auto}}
@media(prefers-reduced-motion:reduce){.privacy-toc a{transition:none}}

.sbtp-interior-c .gform_wrapper .sbtp-sms-consent{padding:20px;border:1px solid #d5e2e5;border-radius:14px;background:#fff}
.sbtp-interior-c .gform_wrapper .sbtp-sms-consent .gchoice{display:flex;align-items:flex-start;gap:12px}
.sbtp-interior-c .gform_wrapper .sbtp-sms-consent input[type=checkbox]{flex-shrink:0;margin-top:5px}
.sbtp-interior-c .gform_wrapper .sbtp-sms-consent label{font-size:14px;line-height:1.65;font-weight:400}
.sbtp-interior-c .gform_wrapper .sbtp-sms-consent a{text-decoration:underline;text-underline-offset:3px}

.sbtp-interior-c .gform_wrapper .sbtp-sms-consent{padding:0;border:0;border-radius:0;background:transparent}

/* Rounded navigation highlights with the site's brand border. */
#shared-nav a:not(.nav-updates-button){position:relative;isolation:isolate;text-decoration:none;transition:color .2s ease}
#shared-nav a:not(.nav-updates-button)::before{content:'';position:absolute;inset:4px -9px;border-radius:10px;background:#edf4f3;z-index:-1;opacity:0;transition:opacity .2s ease}
#shared-nav a:not(.nav-updates-button)::after{content:'';position:absolute;inset:4px -9px;border-radius:10px;padding:1px;background:linear-gradient(125deg,#1383ae,#389d99 50%,#6db448);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity .2s ease}
#shared-nav a:not(.nav-updates-button):is(:hover,:focus-visible,[aria-current]){text-decoration:none;color:#176780}
#shared-nav a:not(.nav-updates-button):is(:hover,:focus-visible,[aria-current])::before,
#shared-nav a:not(.nav-updates-button):is(:hover,:focus-visible,[aria-current])::after{opacity:1}
@media(max-width:1000px){#shared-nav a:not(.nav-updates-button){padding-inline:14px}#shared-nav a:not(.nav-updates-button)::before,#shared-nav a:not(.nav-updates-button)::after{inset:3px 0}}
@media(prefers-reduced-motion:reduce){#shared-nav a,#shared-nav a::before,#shared-nav a::after{transition:none}}

/* Text navigation; reserve the button treatment for Get Updates. */
#shared-nav a:not(.nav-updates-button)::before,#shared-nav a:not(.nav-updates-button)::after{display:none}
#shared-nav a:not(.nav-updates-button):is(:hover,:focus-visible,[aria-current]){color:#176780;text-decoration:none;background:transparent}

body.sbtp-design-preview .impact-actions .button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 22px;line-height:1.4;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
body.sbtp-design-preview .impact-actions .impact-benefits-button:hover{background:#285347;opacity:1}
@media(hover:hover){body.sbtp-design-preview .impact-actions .button:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){body.sbtp-design-preview .impact-actions .button{transition:none}body.sbtp-design-preview .impact-actions .button:hover{transform:none}}

body.sbtp-design-preview .impact-actions .button{justify-content:center;gap:12px}
body.sbtp-design-preview .impact-actions .button .preview-icon{width:24px;height:24px;flex-shrink:0;color:inherit}

/* Mobile layouts: give inset heroes their own breathing room. */
@media(max-width:850px){
  .home .concept-hero-content,
  .sbtp-interior-c .page-hero .wrap{width:calc(100% - 48px);margin-inline:auto}
  .home .concept-hero{min-height:0}
  .home .concept-hero-content{padding-block:56px 64px}
  .sbtp-interior-c .page-hero{padding-block:40px}
  .opportunity-breakdown,
  .opportunity-breakdown:has(>article:nth-child(4)){grid-template-columns:minmax(0,1fr);gap:20px}
  .privacy-toc{display:none}
  .privacy-policy-layout{grid-template-columns:minmax(0,1fr);gap:0}
  .sbtp-interior-c .faq-layout{grid-template-columns:minmax(0,1fr);gap:28px}
  .faq-sidebar{position:static;max-height:none;overflow:visible}
  .faq-sidebar nav,.faq-sidebar>.eyebrow{display:none}
  .faq-sidebar .faq-toolbar{margin-bottom:0}
}
@media(max-width:480px){
  .home .concept-hero h1{font-size:clamp(36px,10.8vw,52px);line-height:1.06}
  .home .concept-hero-content{padding-block:44px 48px}
  .sbtp-interior-c .page-hero{padding-block:32px}
  .sbtp-interior-c .page-hero h1{font-size:clamp(32px,9.5vw,43px);line-height:1.12}
  .sbtp-interior-c .page-hero .button{white-space:normal;text-align:left;min-width:0}
}
@media(max-width:850px){
  .home .concept-hero,
  .sbtp-interior-c .page-hero{margin-inline:0;border-radius:0;width:100%}
}

/* The menu icon follows the same expanded state as the navigation. */
.shared-menu-icon{position:relative;display:block;width:26px;height:20px}
.shared-menu-icon>span{position:absolute;left:0;width:26px;height:2px;border-radius:2px;background:currentColor;transform-origin:center;transition:transform .25s ease,opacity .18s ease}
.shared-menu-icon>span:nth-child(1){top:0}
.shared-menu-icon>span:nth-child(2){top:9px}
.shared-menu-icon>span:nth-child(3){top:18px}
.shared-menu-toggle[aria-expanded="true"] .shared-menu-icon>span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.shared-menu-toggle[aria-expanded="true"] .shared-menu-icon>span:nth-child(2){opacity:0;transform:scaleX(0)}
.shared-menu-toggle[aria-expanded="true"] .shared-menu-icon>span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
@media(max-width:1000px){.shared-menu-toggle{justify-content:center;min-width:44px;min-height:44px;padding:9px;flex-shrink:0}}
@media(prefers-reduced-motion:reduce){.shared-menu-icon>span{transition:none}}

/* Animate the dropdown's natural height instead of switching display. */
@media(max-width:1000px){
  #shared-nav{display:grid;grid-template-rows:0fr;padding-block:0;max-height:calc(100dvh - 85px);visibility:hidden;opacity:0;pointer-events:none;overflow:hidden;border-bottom-color:transparent;box-shadow:none;transition:grid-template-rows .3s ease,padding .3s ease,opacity .2s ease,visibility 0s .3s}
  #shared-nav.open{display:grid;grid-template-rows:1fr;padding-block:20px;visibility:visible;opacity:1;pointer-events:auto;border-bottom-color:#d5e2e5;box-shadow:0 15px 25px #112c3b1a;transition:grid-template-rows .3s ease,padding .3s ease,opacity .2s ease,visibility 0s}
  #shared-nav ul{min-height:0;overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:480px){#shared-nav{max-height:calc(100dvh - 79px)}}
@media(prefers-reduced-motion:reduce){#shared-nav,#shared-nav.open{transition:none}}

/* Keep the footer's enclosing panel when the signup strip is omitted. */
.shared-footer.shared-footer-standalone{background:#eaf1f2;border-radius:28px 28px 0 0;padding-top:54px}
@media(max-width:600px){.shared-footer.shared-footer-standalone{padding-top:36px}}
@media(max-width:480px){.shared-footer.shared-footer-standalone{border-radius:24px 24px 0 0}}

/* Hero actions size to their labels and wrap naturally when needed. */
.home.sbtp-design-preview .hero-links{display:flex;flex-wrap:wrap;align-items:center;width:auto;max-width:none;gap:12px}
.home.sbtp-design-preview .hero-links .concept-button{width:auto;flex:0 0 auto;max-width:100%;padding-inline:22px}

/* Contact and updates actions retain their rows without a fixed width. */
body .contact-page-actions .button{width:auto;min-width:0;max-width:100%;flex:0 0 auto}

/* Keep the contact and updates actions inline, wrapping on small screens. */
.contact-page-actions{flex-direction:row;flex-wrap:wrap;align-items:center}

/* A small downward cue for the hero's in-page link. */
@keyframes sbtp-arrow-bounce{
  0%,65%,100%{transform:translateY(0)}
  76%{transform:translateY(5px)}
  86%{transform:translateY(0)}
  93%{transform:translateY(3px)}
}
.home .hero-links a[href="#about-the-project"] .preview-icon{animation:sbtp-arrow-bounce 2.8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.home .hero-links a[href="#about-the-project"] .preview-icon{animation:none}}

/* Move directional button arrows without shifting the label or button. */
:is(.button,.concept-button) :is(.button-arrow-right,.button-arrow-diagonal){display:inline-block;transition:transform .24s ease}
:is(.button,.concept-button):is(:hover,:focus-visible) .button-arrow-right{transform:translateX(5px)}
:is(.button,.concept-button):is(:hover,:focus-visible) .button-arrow-diagonal{transform:translate(4px,-4px)}
@media(prefers-reduced-motion:reduce){
 :is(.button,.concept-button) :is(.button-arrow-right,.button-arrow-diagonal){transition:none}
 :is(.button,.concept-button):is(:hover,:focus-visible) :is(.button-arrow-right,.button-arrow-diagonal){transform:none}
}

/* Soften the local aerial photograph without altering the source image. */
.home .concept-hero-photo{overflow:hidden}
.home .concept-hero-photo img{filter:none;transform:scale(1.02);object-position:50% 58%}
.home .concept-hero-photo::after{content:'';position:absolute;inset:0;pointer-events:none;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);-webkit-mask-image:linear-gradient(to right,#000 0%,#0008 35%,transparent 75%);mask-image:linear-gradient(to right,#000 0%,#0008 35%,transparent 75%)}
