/* Service areas: shared Clients banner and native blocks, scoped to this phase. */
.cw-areas {background:#201d22; margin-block-start:0; color:#fff8fc;}
.cw-areas > * {margin-block-start:0;}
.cw-areas .choctaw-portfolio__banner {background:var(--choctaw-banner-gradient),url('../images/portfolio-banner.webp') center/cover;}
.cw-areas .choctaw-portfolio__banner h1 {max-width:23ch;text-shadow:0 0 32px #ff339929;}
.cw-areas .choctaw-portfolio__banner p:not(.choctaw-portfolio__eyebrow) {max-width:65ch;color:#ecdae5;line-height:1.7;margin-block:1.3rem 1.6rem;}
.cw-areas .choctaw-portfolio__banner nav {font-family:var(--wp--preset--font-family--plus-jakarta-sans);}
.cw-area-wrap {width:min(100% - 2 * clamp(1rem,4vw,4rem),83rem);margin-inline:auto;}
.cw-areas :is(section,[id]) {scroll-margin-top:7rem;}
.cw-area-story {padding-block:clamp(2.5rem,5vw,5rem);max-width:66rem;}
.cw-areas h2 {text-shadow:0 0 28px #ff33991a;margin-block:0 1.5rem;}
.cw-area-story h2 {font-size:clamp(2rem,4vw,3.75rem);max-width:25ch;}
.cw-area-story p:not(.choctaw-portfolio__eyebrow) {max-width:72ch;color:#dbcbd5;line-height:1.85;}
.cw-areas a:focus-visible {outline:3px solid #ffb0cb;outline-offset:5px;}
.cw-areas .wp-block-buttons {gap:1rem;margin-block-start:1.8rem;}
.cw-areas .wp-block-button__link {border-radius:999px;padding:.9rem 1.5rem;font-weight:700;font-size:.95rem;}
.cw-areas .cw-area-primary .wp-block-button__link {background:linear-gradient(120deg,#ed167f,#a627a8);color:white;border:1px solid #ff79bc;}
.cw-areas .is-style-outline .wp-block-button__link {background:transparent;color:#fff8fc;border:1px solid #b786a5;}
.cw-areas .wp-block-button__link:hover {filter:brightness(1.15);}
.cw-area-directory {padding-block:clamp(2.5rem,5vw,5rem);border-top:1px solid #674258;}
.cw-area-section-head {max-width:60ch;margin-bottom:2rem;}
.cw-area-section-head > p:last-child {color:#dbcbd5;line-height:1.8;}
.cw-area-grid {list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.cw-area-card {margin:0;position:relative;border:1px solid #674258;border-radius:16px;background:linear-gradient(135deg,#392a36,#262126);transition:transform 220ms ease,border-color 220ms ease;}
.cw-area-card:hover {transform:translateY(-3px);border-color:#ff3399;}
.cw-area-card a {display:flex;flex-direction:column;gap:.6rem;padding:1.5rem 2.6rem 1.5rem 1.5rem;color:#fff8fc;text-decoration:none;height:100%;box-sizing:border-box;}
.cw-area-card__name {font-family:var(--wp--preset--font-family--space-grotesk);font-weight:700;font-size:1.4rem;}
.cw-area-card__counts {color:#ffb0cb;font-size:.8rem;font-weight:650;}
.cw-area-card__project {color:#d1beca;font-size:.85rem;line-height:1.6;}
.cw-area-card__arrow {position:absolute;right:1rem;top:1.5rem;color:#ff79bc;}
.cw-area-photo {margin:0 0 3rem;border-radius:20px;overflow:hidden;max-height:28rem;}
.cw-area-photo img {width:100%;height:auto;max-height:28rem;object-fit:cover;display:block;}
.cw-area-projects {padding-block:2rem 4rem;}
.cw-area-project-group {margin-top:2rem;}
.cw-area-project-group > h3 {font-size:1.5rem;color:#ffb0cb;}
.cw-area-note {color:#d1beca;max-width:75ch;line-height:1.8;margin-bottom:1.5rem;}
.cw-areas .choctaw-portfolio__grid {grid-template-columns:repeat(3,minmax(0,1fr));}
.cw-areas .choctaw-client-card h3 {font-size:1.35rem;line-height:1.3;}
.cw-areas .choctaw-client-card__image img {aspect-ratio:16/9;object-fit:cover;}
.cw-areas .choctaw-client-card p {font-size:.95rem;line-height:1.7;}
.cw-area-services {border-top:1px solid #674258;padding-block:3rem 4rem;}
.cw-area-services > p:not(.choctaw-portfolio__eyebrow) {color:#dbcbd5;max-width:70ch;line-height:1.8;}
.cw-area-service-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem;}
.cw-area-service {border-top:2px solid #ff3399;padding-top:1.3rem;}
.cw-area-service h3 {font-size:1.3rem;}
.cw-area-service h3 a {color:#fff8fc;text-decoration:none;}
.cw-area-service p {color:#d1beca;line-height:1.8;}
.cw-area-close {padding:clamp(1.5rem,5vw,4rem);margin:1rem 0 4rem;border:1px solid #884569;border-radius:24px;background:radial-gradient(ellipse at top left,#6b214b88,transparent 70%),linear-gradient(135deg,#352132,#171518);}
.cw-area-close h2 {max-width:22ch;}
.cw-area-close p:not(.choctaw-portfolio__eyebrow) {max-width:65ch;line-height:1.8;color:#dbcbd5;}
@media(min-width:1000px) {.cw-area-grid {grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:850px) {.cw-area-grid,.cw-areas .choctaw-portfolio__grid {grid-template-columns:repeat(2,minmax(0,1fr));}.cw-area-service-grid {grid-template-columns:1fr;gap:1rem;}}
@media(max-width:540px) {.cw-area-grid,.cw-areas .choctaw-portfolio__grid {grid-template-columns:1fr;}.cw-areas .choctaw-portfolio__banner h1 {font-size:2.55rem;overflow-wrap:anywhere;}.cw-area-card a {padding-block:1.25rem;}.cw-area-close {border-radius:16px;}}
@keyframes cw-area-enter {from {opacity:0;transform:translateY(10px);}to {opacity:1;transform:translateY(0);}}
@media(prefers-reduced-motion:no-preference) {.cw-areas .cw-entered {animation:cw-area-enter 380ms ease-out both;}}
@media(prefers-reduced-motion:reduce) {.cw-areas * {animation:none!important;transition:none!important;scroll-behavior:auto!important;}.cw-areas :is(.cw-area-card,.choctaw-client-card):hover,.cw-areas .choctaw-client-card:focus-within {transform:none;}}
/* A city with one project gets a complete case-study row on wide screens. */
@media(min-width:851px) {
 .cw-areas .choctaw-portfolio__grid:has(> li:only-child) {grid-template-columns:minmax(0,1fr);}
 .cw-areas .choctaw-portfolio__grid > li:only-child .choctaw-client-card:has(.choctaw-client-card__image) {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);}
 .cw-areas .choctaw-portfolio__grid > li:only-child .choctaw-client-card__image {height:100%;}
 .cw-areas .choctaw-portfolio__grid > li:only-child .choctaw-client-card__image img {width:100%;height:100%;max-height:27rem;object-fit:cover;}
 .cw-areas .choctaw-portfolio__grid > li:only-child .choctaw-client-card__body {padding:clamp(1.5rem,3vw,3rem);justify-content:center;}
}
/* Static portfolio map in the overview introduction. */
.cw-area-story--map {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:clamp(2rem,4vw,4rem);align-items:center;max-width:none;}
.cw-area-story--map > * {min-width:0;margin-block:0;}
.cw-area-story--map h2 {font-size:clamp(2rem,3.6vw,3.5rem);}
.cw-area-story--map .cw-area-map {width:100%;margin:0;}
.cw-area-map img {display:block;width:100%;height:auto;}
.cw-area-map .wp-element-caption {margin-top:1rem;color:#d1beca;font-size:.8rem;line-height:1.7;text-align:left;}
@media(max-width:1050px) {.cw-area-story--map {grid-template-columns:1fr;}.cw-area-story--map .cw-area-map {max-width:52rem;}.cw-area-story--map .cw-area-story__copy {max-width:46rem;}}
/* City introductions pair editable local copy with a static regional map. */
.cw-city-intro {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);align-items:center;gap:clamp(2rem,4vw,4rem);padding-block:clamp(2.5rem,5vw,5rem);}
.cw-city-intro > * {min-width:0;margin-block:0;}
.cw-city-intro .cw-area-story {padding-block:0;}
.cw-city-intro .cw-area-story h2 {font-size:clamp(2rem,3vw,3rem);}
.cw-city-map {margin:0;width:100%;}
.cw-city-map img {width:100%;height:auto;display:block;}
.cw-city-map figcaption {margin-top:.8rem;font-size:.78rem;line-height:1.7;color:#d1beca;}
.cw-city-map__credits {display:block;margin-top:.3rem;font-size:.7rem;color:#b99eaf;}
.cw-city-map__credits a {color:inherit;text-underline-offset:3px;}
@media(max-width:1100px) {.cw-city-intro {grid-template-columns:1fr;}.cw-city-intro .cw-city-map {max-width:58rem;}}
.cw-city-intro:not(:has(.cw-city-map)) {display:block;}
