/* Advertising-led typography and shared editorial pages. */
body{font-size:18px}.navigation{font-size:15px;gap:25px}.button,.text-button{font-size:16px}.button-small{font-size:14px}.eyebrow,.micro{font-size:12px;line-height:1.5;letter-spacing:1.4px}.hero{padding-top:65px;padding-bottom:55px;gap:50px}.hero h1{font-size:clamp(58px,6vw,88px);line-height:1.02}.hero .eyebrow{font-size:12px}.hero-lead{font-size:23px;line-height:1.55;margin-top:28px}.hero-visual{height:540px}.hero-buttons{align-items:flex-start;gap:18px}.hero-buttons .button,.hero-buttons .text-button{font-size:16px}.pilot-note{font-size:14px}.hero-floating strong{font-size:26px}.hero-floating .micro{font-size:11px}.hero-floating div>span:last-child:not(.micro){font-size:14px}.image-label,.image-note{font-size:11px}.industries{font-size:16px;gap:16px}.section{padding-block:88px}h2{font-size:clamp(40px,4.3vw,62px);line-height:1.08}.section-intro{font-size:18px;max-width:330px}.path-card{padding:38px}.path-card h3{font-size:42px;line-height:1.1}.path-card>p{font-size:19px;line-height:1.6}.path-card .micro{font-size:12px}.path-link{font-size:17px}.flow-tab{font-size:17px;padding:18px 12px}.flow-copy h3{font-size:42px;max-width:430px}.flow-copy [role=tabpanel]>p{font-size:19px;max-width:430px;line-height:1.6}.flow-steps{font-size:16px;gap:15px}.flow-steps li>span{font-size:13px;min-width:27px;height:27px}.flow-note{font-size:13px;max-width:430px}.flow-index{font-size:13px}.network{height:430px}.network-node{width:136px;font-size:15px;min-height:80px}.network-center{width:158px;height:158px}.network-center strong{font-size:20px}.network-center small{font-size:10px}.animation-toggle{font-size:12px}.flow-layout{gap:55px}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.explore-card{position:relative;border-top:1px solid #bac9ac;padding:30px 28px 60px 0;transition:color .2s}.explore-card:hover{color:#66852e}.explore-card h3{font-size:34px;line-height:1.15;margin-bottom:16px}.explore-card p{font-size:18px;line-height:1.6}.card-arrow{position:absolute;right:10px;bottom:10px;font-size:32px}.city-teaser{border-top:1px solid var(--line)}.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.city-grid>a{position:relative;background:#edf2e6;border:1px solid #dbe3d2;border-radius:10px;padding:25px 45px 25px 25px;transition:background .2s}.city-grid>a:hover{background:#dfeacb}.city-grid span{display:block;font-size:27px;letter-spacing:-.7px}.city-grid small{font-size:14px;color:var(--muted)}.city-grid b{position:absolute;right:23px;top:26px;font-size:23px;font-weight:400}.region-note{font-size:15px;line-height:1.7;color:var(--muted);margin-top:24px}.join-strip{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:center;padding:65px;border-radius:16px;background:var(--green);color:#fff;margin-block:50px 90px}.join-strip .eyebrow{color:#d0e4b5}.join-strip .button{background:#dcf0b4;color:var(--green)}.join-strip>div:last-child>p{font-size:15px;line-height:1.7;margin-top:20px}.join-strip p a{text-decoration:underline;text-underline-offset:4px}.footer-main>p,.footer-main>a:last-child{font-size:15px}.footer-bottom{font-size:13px;gap:20px}.footer-links{display:flex;flex-wrap:wrap;gap:15px 26px;margin-bottom:25px;font-size:15px}.footer-links a{text-decoration:underline;text-underline-offset:4px}.cookie-settings{font:inherit;cursor:pointer}.footer-links button{background:none;border:0;padding:0;color:inherit;text-decoration:underline;text-underline-offset:4px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;margin-top:28px;color:var(--muted)}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.sub-hero{padding-block:65px 70px}.sub-hero h1{font-size:clamp(55px,6vw,85px);max-width:1000px;line-height:1.06;letter-spacing:-3px}.sub-hero h1 em{font-style:normal;color:#6c8551}.sub-hero .hero-lead{max-width:850px}.sub-hero+.section{padding-top:30px}.city-directory{padding-bottom:35px}.regional-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding-bottom:45px}.regional-story h2{font-size:43px;margin-bottom:25px}.regional-story>p{font-size:19px;line-height:1.75}.regional-story h3{font-size:26px;margin-top:35px;margin-bottom:12px}.regional-story>.region-note{font-size:14px}.regional-tip{display:flex;gap:22px;padding:25px;border-left:3px solid #7b9b51;background:#eef3e8;margin-top:27px}.regional-tip p{font-size:18px;line-height:1.7}.regional-tip>span{font-size:32px}.regional-paths{display:grid;gap:20px;align-content:start}.regional-paths>a{padding:32px;background:var(--green);color:white;border-radius:13px}.regional-paths>a:nth-child(2){background:#e5eddb;color:var(--green)}.regional-paths h3{font-size:34px;line-height:1.15;margin-block:17px}.regional-paths p{font-size:18px;line-height:1.6}.regional-paths>a>span:last-child{display:block;font-size:30px;text-align:right;margin-top:20px}.regional-paths .eyebrow{color:inherit}.city-checklist{border-top:1px solid var(--line)}.city-checklist ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:40px;font-size:21px;line-height:1.5}.city-checklist b{display:block;color:#728d50;font-size:16px;font-weight:400;margin-bottom:15px}.privacy-copy{max-width:850px;padding-bottom:80px}.privacy-copy h2{font-size:40px;margin-bottom:30px}.privacy-copy h3{font-size:28px;margin-block:35px 14px}.privacy-copy p{font-size:18px;line-height:1.8;margin-bottom:20px}.privacy-copy a{text-decoration:underline;overflow-wrap:anywhere}.cookie-banner{position:fixed;z-index:100;bottom:20px;left:20px;right:20px;max-width:1060px;margin:auto;background:#fff;border:1px solid #bacaa8;box-shadow:0 12px 70px #123c3540;border-radius:14px;padding:28px 32px;display:grid;grid-template-columns:1.6fr 1fr;gap:30px;align-items:center}.cookie-banner[hidden]{display:none}.cookie-banner .eyebrow{margin-bottom:9px;font-size:11px}.cookie-banner h2{font-size:28px;margin-bottom:10px;letter-spacing:-.8px}.cookie-banner p{font-size:15px;line-height:1.6;margin:0;color:#4b6054}.cookie-banner a{text-decoration:underline}.cookie-actions{display:grid;gap:10px}.cookie-actions .button{justify-content:center;width:100%;font-size:16px;padding:15px}.cookie-actions .button-outline{background:#fff;color:var(--green);border:1px solid #93a57e}.cookie-actions>p{font-size:12px;text-align:center}.form-grid label,.message-label,.chips-fieldset legend,.role-fieldset legend{font-size:16px}.form-grid input,.message-label textarea{font-size:17px}.role-options label>span,.chips label>span{font-size:14px}.preview-note{font-size:14px}.contact-copy>p:not(.eyebrow){font-size:20px}.contact-aside{font-size:16px}.form-panel{padding:32px}.summary-content{font-size:16px}.how-steps h3{font-size:30px}.how-steps p{font-size:18px}.how-number{font-size:16px}.faq-list summary{font-size:21px}.faq-list details p{font-size:18px}.service-intro>p{font-size:20px;max-width:450px}.timeline h4{font-size:24px}.timeline p{font-size:17px;line-height:1.6}.timeline li{min-height:230px;padding:25px}.cycle-note,.calc-note{font-size:14px}.calculator-toggle{font-size:18px}.calculator-content .calc-fields label{font-size:16px}.portal-tab strong{font-size:25px}.portal-tab span{font-size:17px}.portal-toolbar{font-size:15px}.portal-toolbar>span{font-size:12px}.portal-subtitle{font-size:14px}.mock-row strong{font-size:16px}.mock-row small{font-size:13px}.mock-row>span:last-child{font-size:12px}.mock-tags span,.mock-profile small,.mock-note,.portal-caption{font-size:13px}.portal-integration{font-size:16px}.mock-profile strong{font-size:21px}.portal-status{font-size:13px}.portal-body h4{font-size:29px}
@media(max-width:1100px){.hero{gap:28px}.hero .eyebrow{font-size:10px}.hero-buttons{flex-direction:column}.header-join{display:none}.hero-visual{height:500px}.network-node{width:110px;font-size:13px}.network-center{width:130px;height:130px}.network-center strong{font-size:17px}.network-center small{font-size:8px}.flow-layout{gap:35px}.flow-copy h3{font-size:36px}.flow-tab{font-size:15px}.flow-steps{font-size:14px}.explore-card h3{font-size:29px}.portal-layout{grid-template-columns:1fr}.portal-tabs{grid-template-columns:repeat(3,1fr)}.portal-preview{max-width:760px;width:100%;justify-self:center}.regional-layout{gap:35px}.join-strip{padding:40px}.contact-section{grid-template-columns:1fr}.contact-copy{position:static}.contact-aside{display:none}}
@media(max-width:800px){.navigation{font-size:17px}.hero{grid-template-columns:1fr}.hero h1{font-size:76px}.hero-visual{height:410px}.hero .eyebrow{font-size:12px}.hero-buttons{flex-direction:row;flex-wrap:wrap;align-items:center}.hero-floating{left:20px;right:20px}.hero-floating .micro{font-size:11px}.hero-floating strong{font-size:25px}.hero-floating div>span:last-child:not(.micro){font-size:14px}.hero-lead{font-size:23px}.flow-layout{grid-template-columns:1fr}.network{max-width:600px;width:100%;justify-self:center}.network-node{width:135px;font-size:15px}.network-center{width:160px;height:160px}.network-center strong{font-size:20px}.network-center small{font-size:10px}.flow-copy h3,.flow-copy [role=tabpanel]>p{max-width:none}.flow-steps{font-size:17px}.flow-note{max-width:none}.paths{grid-template-columns:1fr}.city-grid{grid-template-columns:repeat(2,1fr)}.explore-grid{grid-template-columns:1fr}.explore-card{padding:25px 50px 25px 0}.card-arrow{bottom:25px}.join-strip{grid-template-columns:1fr;padding:35px}.regional-layout{grid-template-columns:1fr}.city-checklist ol{grid-template-columns:1fr}.cookie-banner{grid-template-columns:1fr 280px;gap:20px;padding:22px}.cookie-banner h2{font-size:25px}.cookie-banner p{font-size:14px}.section{padding-block:65px}.path-card h3{font-size:40px}.sub-hero{padding-block:45px 55px}.portal-tab strong{font-size:20px}.timeline h4{font-size:23px}}
@media(max-width:600px){.hero{padding-top:25px;padding-bottom:32px;gap:28px}.hero h1{font-size:clamp(52px,14vw,76px)}.hero .eyebrow{font-size:10px}.hero-lead{font-size:21px;line-height:1.6}.hero-buttons{flex-direction:column;align-items:flex-start;gap:20px}.hero-buttons .button,.hero-buttons .text-button{font-size:16px}.pilot-note{font-size:13px;line-height:1.5}.hero-visual{height:330px}.hero-floating{padding:20px;left:14px;right:14px;bottom:23px}.hero-floating strong{font-size:23px}.hero-floating .micro{font-size:9px}.hero-floating div>span:last-child:not(.micro){font-size:12px}.floating-symbol{display:none}.industries{font-size:14px;gap:13px 20px;padding:25px 0}.section{padding-block:55px}.section-heading .section-intro{font-size:18px}h2{font-size:40px}.eyebrow,.micro{font-size:11px}.flow-controls{grid-template-columns:1fr 1fr}.flow-tab{font-size:14px;padding:15px 8px}.network{height:350px}.network-node{width:93px;min-height:75px;font-size:12px}.network-center{width:120px;height:120px}.network-center strong{font-size:15px}.network-center small{font-size:8px}.animation-toggle{font-size:11px;bottom:-10px}.flow-copy{margin-top:15px}.flow-copy h3{font-size:35px}.flow-copy [role=tabpanel]>p{font-size:18px}.flow-steps{font-size:14px;gap:10px}.flow-steps li{font-size:14px}.flow-note{font-size:12px}.path-card{padding:28px}.path-card h3{font-size:37px}.path-card>p{font-size:18px}.path-card .micro{font-size:11px}.path-link{font-size:16px}.city-grid{grid-template-columns:1fr 1fr;gap:10px}.city-grid>a{padding:20px 15px}.city-grid span{font-size:23px}.city-grid small{font-size:12px}.city-grid b{display:none}.join-strip{padding:30px 25px;margin-block:30px 60px}.join-strip h2{font-size:38px}.join-strip .button{font-size:15px;padding:16px;gap:10px}.join-strip>div:last-child>p{font-size:14px;overflow-wrap:anywhere}.footer-main>p,.footer-main>a:last-child{font-size:14px}.footer-bottom{font-size:12px}.footer-links{font-size:14px;gap:14px 20px}.sub-hero h1{font-size:50px;letter-spacing:-2px;overflow-wrap:normal}.sub-hero .hero-lead{font-size:20px}.breadcrumbs{font-size:13px}.regional-story h2{font-size:35px}.regional-story>p{font-size:18px}.regional-paths>a{padding:27px}.regional-paths h3{font-size:32px}.regional-tip{padding:20px;gap:15px}.cookie-banner{left:12px;right:12px;bottom:12px;padding:20px;grid-template-columns:1fr;gap:15px;max-height:calc(100dvh - 24px);overflow:auto}.cookie-banner h2{font-size:25px}.cookie-banner p{font-size:14px}.cookie-actions{grid-template-columns:1fr 1fr;gap:8px}.cookie-actions .button{font-size:14px;padding:13px 8px;gap:5px;min-height:50px}.cookie-actions>p{grid-column:1/-1;font-size:11px}.cookie-banner .eyebrow{font-size:10px}.form-panel{padding:22px}.role-options label>span{font-size:12px}.form-grid label{font-size:15px}.chips label>span{font-size:13px}.form-grid input{font-size:17px}.contact-copy h2{font-size:45px}.contact-copy>p:not(.eyebrow){font-size:19px}.service-intro>p{font-size:19px}.timeline{grid-template-columns:1fr}.timeline li{min-height:0;padding:24px;flex-direction:row;gap:20px}.timeline li:not(:last-child):before{display:none}.timeline p{font-size:17px;max-width:none}.timeline h4{font-size:24px}.timeline>li>.icon{display:none}.calculator-toggle{font-size:17px}.calculator-content .calc-fields label{font-size:15px}.portal-tabs{gap:5px}.portal-tab{padding:15px 8px}.portal-tab strong{font-size:16px}.portal-toolbar{flex-wrap:wrap;font-size:13px}.portal-toolbar>span{font-size:11px}.mock-row{flex-wrap:wrap;gap:9px}.mock-row-icon{display:none}.mock-row strong{font-size:15px}.mock-row small{font-size:12px}.mock-row>span:last-child{font-size:11px;margin-left:0}.portal-preview{padding:12px}.portal-body{padding:16px}.how-steps h3{font-size:29px}.how-steps p{font-size:18px}.faq-list summary{font-size:19px}.faq-list details p{font-size:17px}.privacy-copy h2{font-size:34px}}
.contact-copy h1{font-size:clamp(45px,4.8vw,66px);line-height:1.08;letter-spacing:-2px;margin-bottom:25px}
/* City photos support the message; they never determine the hero height. */
.city-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 16px;align-items:start}.city-card{min-width:0}.city-card-link{display:block;border:1px solid #dbe3d2;border-radius:10px;background:#edf2e6;overflow:hidden;transition:background .2s}.city-card-link:hover{background:#e0eacb}.city-card-image{height:112px;background:#e4e9df;overflow:hidden}.city-card-image img{display:block;width:100%;height:100%;object-fit:cover}.city-card-image img.photo-portrait{object-fit:contain}.city-card-copy{position:relative;padding:14px 30px 14px 15px}.city-card-copy h3{font-size:23px;line-height:1.15;margin:0 0 5px;overflow-wrap:anywhere}.city-card-copy small{display:block;font-size:12px}.city-card-copy b{top:13px;right:12px;font-size:19px}.photo-credit{font-size:10px;line-height:1.5;color:#52634f;margin:6px 0 0;overflow-wrap:anywhere}.photo-credit a{text-decoration:underline;text-underline-offset:2px}.photo-credit .photo-change{display:inline;font-size:inherit;letter-spacing:normal}.city-grid .photo-credit{font-size:10px}.city-directory-intro{padding-block:30px 32px}.city-directory-intro h1{font-size:clamp(38px,4vw,56px);line-height:1.1}.city-directory-intro .hero-lead{font-size:19px;margin-top:17px}.city-directory-intro .eyebrow{margin-bottom:16px}
.city-hero{position:relative;isolation:isolate;display:block;min-height:420px;padding-block:48px 58px;margin-bottom:38px;overflow:hidden;border-radius:14px;background:#f1f4ed}.city-hero-copy{position:relative;z-index:2;max-width:760px;padding-inline:32px;pointer-events:none}.city-hero-copy a{pointer-events:auto}.city-hero h1{font-size:clamp(48px,5.3vw,72px);letter-spacing:-2px;overflow-wrap:anywhere}.city-hero h1 em{display:block;font-size:.72em;line-height:1.12;margin-top:12px}.city-hero .hero-lead{font-size:21px;line-height:1.6;margin-top:24px;max-width:650px}.city-hero .text-button{margin-top:24px}.city-hero-photo{position:absolute;inset:0;z-index:0;margin:0;pointer-events:none}.city-hero-photo>img{position:absolute;right:0;top:0;width:55%;height:100%;object-fit:contain;opacity:.70}.city-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f1f4ed 35%,#f1f4eddd 52%,#f1f4ed00 85%);pointer-events:none}.city-hero-photo figcaption{position:absolute;z-index:3;right:14px;bottom:10px;max-width:44%;text-align:right;pointer-events:auto;background:#f1f4ede8;padding:3px 6px;border-radius:4px}.landmark-caption{display:inline;font-size:10px;color:#52634f}.city-hero-photo .photo-credit{margin:0;font-size:10px}
@media(max-width:1000px){.city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.city-hero-copy{max-width:680px}.city-hero-photo>img{opacity:.46}.city-hero-photo:after{background:linear-gradient(90deg,#f1f4ed 20%,#f1f4edcc 52%,#f1f4ed22 90%)}}
@media(max-width:600px){.city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.city-card-image{height:88px}.city-card-copy{padding:12px 10px}.city-card-copy h3{font-size:19px;letter-spacing:-.5px}.city-card-copy small{font-size:11px}.city-card-copy b{display:none}.city-directory-intro{padding-block:22px 26px}.city-directory-intro h1{font-size:38px;letter-spacing:-1.5px}.city-directory-intro .hero-lead{font-size:18px}.city-hero{min-height:0;padding-block:28px 68px;margin-bottom:24px}.city-hero-copy{padding-inline:18px}.city-hero h1{font-size:clamp(36px,10.3vw,56px);letter-spacing:-1.5px}.city-hero h1 em{font-size:.79em}.city-hero .eyebrow{font-size:10px}.city-hero .hero-lead{font-size:18px;line-height:1.6;margin-top:20px}.city-hero .text-button{font-size:15px;margin-top:20px}.city-hero-photo>img{width:100%;opacity:.24;object-position:right center}.city-hero-photo:after{background:linear-gradient(90deg,#f1f4edb3,#f1f4ed40)}.city-hero-photo figcaption{left:18px;right:18px;bottom:10px;max-width:none;text-align:left;background:none;padding:0}.photo-credit,.city-grid .photo-credit{font-size:10px}}
@media(prefers-reduced-motion:reduce){.city-card-link{transition:none}}

/* Compact, keyboard-accessible photo credits with a no-JS details fallback. */
.footer-main{padding-bottom:28px}.footer-links{padding-top:8px;padding-bottom:26px}
.city-card{position:relative}.photo-info{position:absolute;z-index:4;right:8px;top:8px}.photo-info summary{display:grid;place-items:center;width:32px;height:32px;list-style:none;cursor:pointer;border:1px solid #143f3530;border-radius:50%;background:#fffffff0;color:#143f35;box-shadow:0 2px 10px #143f351a;font:600 18px/1 Georgia,serif}.photo-info summary::-webkit-details-marker{display:none}.photo-info summary:hover{background:#fff}.photo-info summary:focus-visible,.photo-dialog button:focus-visible{outline:3px solid #63813f;outline-offset:3px}.photo-info-content{font-size:16px;line-height:1.65;color:#344e43}.photo-info-content h2{font-size:28px;line-height:1.2;letter-spacing:-.7px;margin:0 0 22px}.photo-info-content p{margin:0 0 14px}.photo-info-content a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}.photo-info-content .photo-change{font-size:14px;color:#52634f}.photo-info-content .text-button{font-size:15px;margin-top:10px}.photo-info>.photo-info-content{position:absolute;top:40px;right:0;width:min(290px,80vw);background:#fff;border:1px solid #dbe3d2;border-radius:12px;padding:22px;box-shadow:0 8px 30px #143f3526}.city-hero-photo figcaption{inset:auto 12px 12px auto;max-width:none;background:none;padding:0}.city-hero-photo .photo-info{position:relative;top:auto;right:auto;pointer-events:auto}.city-hero-photo .photo-info>.photo-info-content{top:auto;bottom:40px}.photo-dialog{border:1px solid #dbe3d2;border-radius:16px;padding:48px 30px 30px;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;background:#fbfcf8;color:#143f35;box-shadow:0 24px 80px #143f3540;overflow:auto}.photo-dialog::backdrop{background:#102f2766;backdrop-filter:blur(3px)}.photo-dialog-close{position:absolute;top:8px;right:8px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:#143f35;font-size:28px;cursor:pointer}.photo-dialog-close:hover{background:#e7eddf}body:has(.photo-dialog[open]){overflow:hidden}
@media(max-width:600px){.footer-main{padding-bottom:24px}.footer-links{padding-top:8px;padding-bottom:24px}.photo-info summary{width:34px;height:34px}.photo-dialog{padding:48px 24px 24px}.photo-info-content h2{font-size:25px}.city-hero{padding-bottom:48px}}

/* Without dialog support/JS, expanded credits stay in normal flow, never clipped. */
html:not(.photo-dialog-ready) .photo-info{position:relative;inset:auto;margin-top:8px;z-index:auto}html:not(.photo-dialog-ready) .photo-info summary{margin-left:auto}html:not(.photo-dialog-ready) .photo-info>.photo-info-content{position:static;inset:auto;width:auto;margin-top:10px;box-shadow:none}html:not(.photo-dialog-ready) .city-hero-photo{position:static}html:not(.photo-dialog-ready) .city-hero-photo figcaption{position:relative;inset:auto;max-width:none;margin:12px 18px 0}html:not(.photo-dialog-ready) .city-hero-photo .photo-info-content{background:#fbfcf8}
