
    /* Batch 12 quality rework — shared usability, ten materially different editorial systems. */
    .r12-city{--r12-accent:#e58a32;--r12-accent2:#7a9da9;--r12-night:#120d09;background:#050505;color:#fff;overflow:hidden}
    .r12-city .wrap{width:min(1160px,calc(100% - 40px))}.r12-section{padding:92px 0;position:relative}.r12-head{max-width:850px;margin-bottom:38px}.r12-head>span,.r12-kicker,.r12-cta>div>span{display:inline-flex;align-items:center;gap:10px;color:var(--r12-accent);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.r12-head>span:before,.r12-kicker:before{content:"";width:30px;height:3px;background:currentColor}.r12-head h2{font-size:clamp(2.25rem,4.8vw,4.7rem);line-height:1.02;letter-spacing:-.055em;margin:14px 0 18px}.r12-head p,.r12-longcopy p{color:#c6cbc4}.r12-longcopy{max-width:900px}.r12-longcopy p{font-size:1rem;margin:0 0 20px}.r12-longcopy p:first-child{font-size:1.18rem;color:#fff}.r12-hero{position:relative;padding:76px 0 68px;background:var(--r12-night);border-bottom:1px solid #292929}.r12-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center}.r12-hero h1{font-size:clamp(3rem,6vw,6rem);line-height:.95;letter-spacing:-.065em;margin:18px 0 24px}.r12-hero h1 em{font-style:normal;color:var(--r12-accent)}.r12-copy>p{color:#ced2cc;font-size:1.06rem;max-width:720px}.r12-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:28px 0}.r12-actions>a:last-child{color:var(--r12-accent);font-weight:800;font-size:.84rem}.r12-hero dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0 0}.r12-hero dl div{border-top:1px solid #3b3b3b;padding-top:13px}.r12-hero dt{font-size:.65rem;color:#9ca199;text-transform:uppercase;letter-spacing:.1em}.r12-hero dd{margin:4px 0 0;font-weight:800}.r12-image{margin:0;position:relative;min-height:500px;background:#111;overflow:hidden}.r12-image img{width:100%;height:500px;object-fit:cover;filter:saturate(.82) contrast(1.05);transition:transform .55s ease,filter .4s ease}.r12-image:hover img{transform:scale(1.025);filter:saturate(1)}.r12-image figcaption{position:absolute;left:14px;bottom:14px;background:#050505;color:#fff;padding:8px 11px;border-left:4px solid var(--r12-accent);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.r12-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#2b2b2b;border:1px solid #2b2b2b}.r12-area{padding:30px;background:#090909}.r12-area>span,.r12-service-grid article>span,.r12-trade-grid article>span{color:var(--r12-accent);font-weight:800;font-size:.73rem;letter-spacing:.09em;text-transform:uppercase}.r12-area h3,.r12-service-grid h3,.r12-trade-grid h3,.r12-entity-grid h3,.r12-season-grid h3{font-size:1.35rem;line-height:1.18;margin:11px 0 15px}.r12-area p,.r12-service-grid p,.r12-trade-grid p,.r12-entity-grid p,.r12-season-grid p{color:#c3c8c0;font-size:.88rem;margin:0 0 14px}.r12-entity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.r12-entity-grid article{padding:26px;border-top:5px solid var(--r12-accent);background:#0c0c0c}.r12-entity-grid b{display:block;color:var(--r12-accent2);font-size:1.7rem}.r12-season-rule{height:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0 0 28px}.r12-season-rule i{background:var(--r12-accent);transform-origin:left;animation:r12grow .8s both}.r12-season-rule i:nth-child(2){opacity:.78;animation-delay:.1s}.r12-season-rule i:nth-child(3){opacity:.56;animation-delay:.2s}.r12-season-rule i:nth-child(4){opacity:.34;animation-delay:.3s}@keyframes r12grow{from{transform:scaleX(0)}to{transform:none}}.r12-season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.r12-season-grid article{padding:24px;background:#0e0e0e;border:1px solid #2c2c2c}.r12-season-grid b{color:var(--r12-accent);font-size:1.7rem}.r12-split{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.r12-score{display:grid;gap:9px;margin-top:30px}.r12-score i{display:block;width:var(--w);height:8px;background:var(--r12-accent)}.r12-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.r12-service-grid article{padding:28px;background:#0b0b0b;border:1px solid #292929}.r12-service-grid a,.r12-trade-grid a{color:var(--r12-accent);font-size:.78rem;font-weight:800}.r12-trade-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.r12-trade-grid article{padding:30px;background:#090909;border:1px solid #2c2c2c}.r12-trade-grid article:last-child{grid-column:1/-1}.r12-faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}.r12-faq details{border-bottom:1px solid #343434}.r12-faq summary{list-style:none;cursor:pointer;padding:20px 42px 20px 0;font-weight:800;position:relative}.r12-faq summary:after{content:"+";position:absolute;right:5px;color:var(--r12-accent);font-size:1.4rem}.r12-faq details[open] summary:after{content:"−"}.r12-faq details p{color:#c2c7bf;margin:-4px 0 22px}.r12-sources{padding:34px 0;border-block:1px solid #292929;background:#070707}.r12-sources .wrap{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.r12-sources p{color:#989d95;font-size:.75rem}.r12-sources ul{margin:0;padding-left:20px}.r12-sources a{color:var(--r12-accent);font-size:.78rem;font-weight:800;text-decoration:underline}.r12-cta{padding:88px 0;background:var(--r12-night)}.r12-cta .wrap{max-width:980px}.r12-cta h2{font-size:clamp(2.8rem,6vw,6rem);line-height:.95;letter-spacing:-.065em;margin:15px 0 22px}.r12-cta p{max-width:730px;color:#c2c8c0}.r12-cta .wrap>div{display:flex;gap:20px;align-items:center;margin-top:28px}.r12-cta .wrap>div>a:last-child{color:var(--r12-accent);font-weight:800}

    /* 01 Birmingham — industrial split with structural orange bars. */
    .r12-steel .r12-hero{background:repeating-linear-gradient(90deg,#120d09 0 84px,#1d130c 84px 86px)}.r12-steel .r12-image{transform:skewY(-2deg);clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}.r12-steel .r12-market{border-top:10px solid var(--r12-accent)}.r12-steel .r12-area-grid{grid-template-columns:1.2fr .8fr}.r12-steel .r12-area:nth-child(4n+1){grid-column:1/-1;border-left:9px solid var(--r12-accent)}.r12-steel .r12-entity-grid article{transform:skewY(-1deg)}.r12-steel .r12-trades{background:linear-gradient(135deg,#111 0 48%,#080808 48%)}
    /* 02 Montgomery — photo first, capitol arch, alternating editorial bands. */
    .r12-capitolriver .r12-hero-grid{grid-template-columns:.95fr 1.05fr}.r12-capitolriver .r12-image{order:-1;border-radius:260px 260px 0 0}.r12-capitolriver .r12-entities{background:#100d09}.r12-capitolriver .r12-market .r12-longcopy{column-count:2;column-gap:42px}.r12-capitolriver .r12-area-grid{display:block;background:none;border:0}.r12-capitolriver .r12-area{max-width:78%;margin-bottom:16px;border-left:4px solid var(--r12-accent)}.r12-capitolriver .r12-area:nth-child(even){margin-left:auto;border-left:0;border-right:4px solid var(--r12-accent);text-align:right}.r12-capitolriver .r12-service-grid{grid-template-columns:1fr 1fr}.r12-capitolriver .r12-service-grid article:nth-child(3n){grid-column:1/-1}
    /* 03 Grand Rapids — furniture catalog with framed modules and serif heads. */
    .r12-furniture .r12-hero h1,.r12-furniture .r12-head h2{font-family:Georgia,serif;letter-spacing:-.04em}.r12-furniture .r12-image{border:18px solid #2c211a;outline:1px solid var(--r12-accent);outline-offset:8px}.r12-furniture .r12-area-grid{grid-template-columns:repeat(3,1fr);gap:16px;background:none;border:0}.r12-furniture .r12-area{border-top:5px solid var(--r12-accent);box-shadow:inset 0 0 0 1px #2c2926}.r12-furniture .r12-season-grid{grid-template-columns:1fr 1fr}.r12-furniture .r12-season-grid article{min-height:280px}.r12-furniture .r12-services{background:#100d0a}.r12-furniture .r12-trade-grid article{border-radius:0 52px 0 0}
    /* 04 Peoria — desert diagonal and heat bars. */
    .r12-sonoran .r12-hero{background:linear-gradient(145deg,#1c0d08 0 60%,#402015 60%)}.r12-sonoran .r12-image{clip-path:polygon(14% 0,100% 0,100% 86%,0 100%,0 18%)}.r12-sonoran .r12-season-rule i{transform:skewX(-18deg)}.r12-sonoran .r12-season-grid{grid-template-columns:2fr 1fr 1fr}.r12-sonoran .r12-season-grid article:first-child{grid-row:span 2}.r12-sonoran .r12-season-grid article:last-child{grid-column:2/-1}.r12-sonoran .r12-area-grid{grid-template-columns:repeat(5,1fr);gap:10px;background:none;border:0}.r12-sonoran .r12-area{grid-column:span 2;border-top:4px solid var(--r12-accent)}.r12-sonoran .r12-area:nth-child(4n){grid-column:span 3}.r12-sonoran .r12-trade-grid{grid-template-columns:repeat(3,1fr)}.r12-sonoran .r12-trade-grid article:last-child{grid-column:2/3}
    /* 05 Providence — narrow harbor chart, curved cards and vertical entity current. */
    .r12-harbor .r12-hero-grid{grid-template-columns:.78fr 1.22fr}.r12-harbor .r12-image{border-radius:52% 48% 12px 12px/24% 24% 12px 12px}.r12-harbor .r12-market .wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px}.r12-harbor .r12-area-grid{border-radius:42px 0 42px 0;overflow:hidden}.r12-harbor .r12-entity-grid{grid-template-columns:1fr}.r12-harbor .r12-entity-grid article{display:grid;grid-template-columns:64px 180px 1fr;gap:20px;align-items:start;border-top:0;border-left:5px solid var(--r12-accent)}.r12-harbor .r12-entity-grid article p:last-child{grid-column:3}.r12-harbor .r12-season-grid article{border-radius:120px 120px 0 0;padding-top:48px}.r12-harbor .r12-services{background:#061719}
    /* 06 Knoxville — mountain silhouette and staggered notes. */
    .r12-smoky .r12-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(155deg,transparent 0 45%,rgba(79,138,98,.22) 46% 55%,transparent 56%)}.r12-smoky .r12-image{clip-path:polygon(0 18%,20% 5%,43% 17%,68% 0,100% 18%,100% 100%,0 100%)}.r12-smoky .r12-season-grid{display:block}.r12-smoky .r12-season-grid article{width:82%;margin:0 0 16px;border-left:6px solid var(--r12-accent)}.r12-smoky .r12-season-grid article:nth-child(even){margin-left:auto}.r12-smoky .r12-entity-grid{grid-template-columns:1fr 1fr}.r12-smoky .r12-area:nth-child(3n){background:#0d1510}.r12-smoky .r12-trade-grid article:nth-child(odd){transform:translateY(18px)}
    /* 07 Grand Prairie — full-width image, news-board stats and storm blocks. */
    .r12-prairiestorm .r12-hero-grid{grid-template-columns:1fr}.r12-prairiestorm .r12-image{order:-1;min-height:360px}.r12-prairiestorm .r12-image img{height:360px}.r12-prairiestorm .r12-copy{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.r12-prairiestorm .r12-copy .breadcrumb,.r12-prairiestorm .r12-copy .r12-kicker,.r12-prairiestorm .r12-copy dl{grid-column:1/-1}.r12-prairiestorm .r12-competition{border-block:10px solid var(--r12-accent)}.r12-prairiestorm .r12-season-grid{grid-template-columns:repeat(2,1fr)}.r12-prairiestorm .r12-season-grid article{min-height:260px}.r12-prairiestorm .r12-area-grid{grid-template-columns:repeat(3,1fr)}.r12-prairiestorm .r12-area:nth-child(1),.r12-prairiestorm .r12-area:nth-child(10){grid-column:span 2}
    /* 08 Shreveport — river current, offset hero and case-file timeline. */
    .r12-redriver .r12-image{margin:48px 0 -118px;box-shadow:20px 20px 0 #2b0e0a}.r12-redriver .r12-entities{padding-top:150px}.r12-redriver .r12-area-grid{display:block;background:none;border:0}.r12-redriver .r12-area{margin-left:70px;border-left:6px solid var(--r12-accent);position:relative}.r12-redriver .r12-area:before{content:"";position:absolute;left:-42px;top:30px;width:32px;height:2px;background:var(--r12-accent)}.r12-redriver .r12-area:nth-child(even){margin-left:0;margin-right:70px;border-left:0;border-right:6px solid var(--r12-accent)}.r12-redriver .r12-area:nth-child(even):before{left:auto;right:-42px}.r12-redriver .r12-trade-grid{display:block}.r12-redriver .r12-trade-grid article{margin-bottom:12px;border-left:8px solid var(--r12-accent)}.r12-redriver .r12-season-rule{transform:skewY(-2deg)}
    /* 09 Brownsville — twin accents, resaca curves and tiled trade pathway. */
    .r12-gulfborder .r12-hero{background:linear-gradient(115deg,#041718 0 63%,#26110c 63%)}.r12-gulfborder .r12-image{border-radius:190px 12px 190px 12px}.r12-gulfborder .r12-area-grid{gap:14px;background:none;border:0}.r12-gulfborder .r12-area{border-radius:56px 8px 56px 8px;border:1px solid #254746}.r12-gulfborder .r12-trade-grid{grid-template-columns:repeat(3,1fr)}.r12-gulfborder .r12-trade-grid article{border-radius:0 48px 0 48px}.r12-gulfborder .r12-trade-grid article:last-child{grid-column:2/3}.r12-gulfborder .r12-season-grid article:nth-child(even){border-color:var(--r12-accent2)}.r12-gulfborder .r12-entity-grid article:nth-child(even){border-top-color:var(--r12-accent2)}
    /* 10 Overland Park — garden-plan order, fine rules and modular cards. */
    .r12-prairiegarden .r12-hero-grid{grid-template-columns:1.14fr .86fr}.r12-prairiegarden .r12-image{padding:16px;border:1px solid var(--r12-accent)}.r12-prairiegarden .r12-area-grid{grid-template-columns:repeat(5,1fr);gap:14px;background:none;border:0}.r12-prairiegarden .r12-area{grid-column:span 2;border-top:5px solid var(--r12-accent)}.r12-prairiegarden .r12-area:nth-child(4n){grid-column:span 3}.r12-prairiegarden .r12-service-grid{grid-template-columns:repeat(2,1fr)}.r12-prairiegarden .r12-service-grid article{border-top:5px solid var(--r12-accent)}.r12-prairiegarden .r12-entity-grid{gap:1px;background:#2b2b2b}.r12-prairiegarden .r12-entity-grid article{border-top:0}.r12-prairiegarden .r12-season-rule i{clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}

    @media(max-width:900px){.r12-hero-grid,.r12-split,.r12-faq-grid,.r12-harbor .r12-market .wrap{grid-template-columns:1fr}.r12-image{order:-1!important;transform:none!important;margin:0!important;clip-path:none!important;border-radius:0!important;min-height:390px}.r12-image img{height:390px}.r12-copy{display:block!important}.r12-entity-grid,.r12-service-grid,.r12-furniture .r12-area-grid,.r12-sonoran .r12-area-grid,.r12-prairiestorm .r12-area-grid,.r12-prairiegarden .r12-area-grid{grid-template-columns:1fr 1fr}.r12-season-grid,.r12-sonoran .r12-season-grid,.r12-gulfborder .r12-trade-grid,.r12-sonoran .r12-trade-grid{grid-template-columns:1fr 1fr}.r12-sonoran .r12-season-grid article,.r12-sonoran .r12-area,.r12-prairiestorm .r12-area,.r12-prairiegarden .r12-area,.r12-gulfborder .r12-trade-grid article:last-child,.r12-sonoran .r12-trade-grid article:last-child{grid-column:auto;grid-row:auto}.r12-capitolriver .r12-market .r12-longcopy{column-count:1}.r12-harbor .r12-entity-grid article{display:block}.r12-harbor .r12-entity-grid article p:last-child{grid-column:auto}.r12-redriver .r12-entities{padding-top:92px}.r12-smoky .r12-trade-grid article:nth-child(odd){transform:none}}
    @media(max-width:620px){.r12-city .wrap{width:min(100% - 28px,1160px)}.r12-hero{padding:42px 0 52px}.r12-hero h1{font-size:2.85rem}.r12-image,.r12-image img{height:260px;min-height:260px}.r12-hero dl{grid-template-columns:1fr}.r12-section{padding:66px 0}.r12-head h2{font-size:2.35rem}.r12-area-grid,.r12-entity-grid,.r12-season-grid,.r12-service-grid,.r12-trade-grid,.r12-furniture .r12-area-grid,.r12-sonoran .r12-area-grid,.r12-prairiestorm .r12-area-grid,.r12-prairiegarden .r12-area-grid,.r12-gulfborder .r12-trade-grid,.r12-sonoran .r12-trade-grid{display:grid;grid-template-columns:1fr}.r12-area,.r12-service-grid article,.r12-trade-grid article,.r12-entity-grid article{padding:22px;grid-column:auto!important}.r12-trade-grid article:last-child{grid-column:auto}.r12-capitolriver .r12-area,.r12-smoky .r12-season-grid article{max-width:100%;width:100%;margin-left:0!important;text-align:left!important;border-right:0!important;border-left:4px solid var(--r12-accent)!important}.r12-redriver .r12-area{margin:0 0 12px!important;border-right:0!important;border-left:5px solid var(--r12-accent)!important}.r12-redriver .r12-area:before{display:none}.r12-sources .wrap{grid-template-columns:1fr}.r12-cta .wrap>div{display:grid}.r12-cta .btn{width:100%}}
    @media(prefers-reduced-motion:reduce){.r12-season-rule i{animation:none}.r12-image img{transition:none}}
  