/* DCU 2.0 city experience (v2). Contrast: white on #C2410C = 5.2:1; white on #17406f = 9.9:1. */
.dcu2.v2{--navy:#17406f;--blue:#1F6FB5;--org:#C2410C;--ink:#1B2430;--mut:#55606b;--line:#d9e0e8;--bg:#eef3f9;max-width:1180px;margin:0 auto;padding:0 12px 40px;color:var(--ink)}
.v2 h1,.v2 h2,.v2 h3{line-height:1.15;margin:0}
.v2 .ico{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex:none}
.v2 .sr{position:absolute;left:-9999px}
/* pillar bar */
.v2 .pbar{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:var(--navy);padding:8px;border-radius:10px;margin:10px 0}
.v2 .pbar a{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:600;font-size:.88rem;min-height:44px;padding:4px 8px;border-radius:8px}
.v2 .pbar a:hover{background:rgba(255,255,255,.12)}
/* hero */
.v2 .chero{position:relative;overflow:hidden;border-radius:14px;background:linear-gradient(135deg,#17406f 0%,#2a6fb3 55%,#6fb0e0 100%) center/cover;color:#fff;padding:22px 18px 26px;display:grid;gap:16px;min-height:240px;align-content:end}
.v2 .mtn{position:absolute;inset:auto 0 0 0;height:60%;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' preserveAspectRatio='none'%3E%3Cpath d='M0 200V120l90-50 70 30 110-80 90 70 80-40 120 90 100-60 90 40 110-90 100 80 90-30 100 50 50-20v140z' fill='%23ffffff' fill-opacity='.18'/%3E%3Cpath d='M0 200v-50l120-60 80 40 110-70 100 80 90-30 140 70 110-50 100 40 120-80 130 90V200z' fill='%230f2d52' fill-opacity='.55'/%3E%3Cpath d='M0 200v-20l140-50 100 40 120-40 110 50 130-60 120 40 140-30 110 50 100-20 130 40V200z' fill='%230b2342' fill-opacity='.8'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
.v2 .cid{position:relative;display:flex;gap:16px;align-items:center}
.v2 .cmark{flex:none;background:#fff;color:var(--navy);font:800 1.05rem/1.1 Georgia,serif;border-radius:12px;padding:14px 12px;text-align:center;min-width:92px;max-width:120px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.v2 .clogo{width:110px;height:auto;flex:none;background:#fff;border-radius:12px;padding:6px}
.v2 .chero h1{font-size:2rem;color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.45)}
.v2 .chero p{margin:6px 0 0;color:#fff!important;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.v2 .chero .crumbs{font-size:.8rem;margin:0 0 4px}.v2 .chero .crumbs a{color:#fff;display:inline-block;min-height:0;padding:0}
.v2 .insider{position:relative;background:#fff;color:var(--ink);border-radius:12px;padding:14px;box-shadow:0 4px 16px rgba(0,0,0,.25)}
.v2 .insider b{display:flex;align-items:center;gap:8px;font-size:1.05rem}.v2 .insider p{color:var(--mut)!important;text-shadow:none!important;margin:6px 0 10px;font-size:.9rem}
.v2 .btn.cta{background:var(--org);color:#fff;border-radius:8px;display:inline-block;min-height:44px;line-height:44px;padding:0 18px;text-decoration:none;font-weight:700;box-sizing:border-box}
/* sponsor slots */
.v2 .slot{position:relative;display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 14px 14px;text-decoration:none;color:var(--ink);text-align:center;box-sizing:border-box}
.v2 .slot .tag{position:absolute;top:0;left:0;background:var(--org);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:12px 0 8px 0}
.v2 .slot.open{border:2px dashed #9db4cc;background:#f6f9fd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:86px}
.v2 .slot.open b{font-size:1rem;color:var(--navy)}.v2 .slot .go{font-size:.85rem;color:var(--blue);font-weight:700}
.v2 .slot-city,.v2 .slot-county{margin:14px 0}.v2 .slot-city.open,.v2 .slot-county.open{min-height:100px}
/* icon tiles */
.v2 .itiles{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 4px;margin:14px 0}
.v2 .itiles a{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.78rem;text-align:center;padding:6px 2px;min-height:44px}
/* discovery trio */
.v2 .trio{display:grid;gap:12px;margin:14px 0}
.v2 .trio>div{border-radius:12px;padding:16px}
.v2 .mn{background:var(--navy);color:#fff}.v2 .mn h2,.v2 .mn p{color:#fff!important}.v2 .mn h2{display:flex;gap:10px;align-items:center;font-size:1.3rem}
.v2 .mn summary{list-style:none}.v2 .mn form{display:flex;gap:6px;margin:10px 0}
.v2 .mn input[type=search]{flex:1;min-width:0;min-height:44px;border:0;border-radius:8px;padding:0 12px;font:inherit}
.v2 .mn button{border:0;background:none;padding:0;cursor:pointer;min-width:44px;min-height:44px}
.v2 .mnchips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:6px 0 0}
.v2 .mnchips a{display:inline-block;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:11px 12px;text-decoration:none;font-size:.88rem;min-height:44px;box-sizing:border-box}
.v2 .wh,.v2 .tnn{background:#fff;border:1px solid var(--line)}
.v2 .wh h2,.v2 .tnn h2{display:flex;gap:8px;align-items:center;font-size:1.1rem;margin-bottom:6px}
.v2 .hl{list-style:none;margin:8px 0;padding:0;display:grid;gap:2px}
.v2 .hl li{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:baseline;padding:6px 0;border-top:1px solid var(--line)}
.v2 .hl small{grid-column:2;color:var(--mut)}.v2 .hl .k{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--blue)}
.v2 .hl a{display:inline-block;min-height:44px;padding:11px 0;box-sizing:border-box;color:var(--navy);font-weight:600}
.v2 .note{font-size:.78rem;color:var(--mut);margin:4px 0 0}
.v2 .tnn img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.v2 .tnn .btn{display:inline-block;background:var(--navy);color:#fff;border-radius:8px;padding:0 16px;line-height:44px;text-decoration:none;font-weight:700}
/* stories */
.v2 .sh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:20px 0 10px}.v2 .sh h2{font-size:1.4rem}.v2 .sh a{font-weight:600;color:var(--blue);display:inline-block;min-height:44px;line-height:44px}
.v2 .sgrid{display:grid;gap:12px}
.v2 .sc{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid}
.v2 .sc .im{display:block;background:#dfe7f0}.v2 .sc img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.v2 .sc .tx{padding:10px 12px 12px}.v2 .sc h3{font-size:1.02rem;margin:6px 0 4px}.v2 .sc h3 a{color:var(--ink);text-decoration:none;display:inline-block;min-height:44px;padding:4px 0}
.v2 .sc time{font-size:.8rem;color:var(--mut)}
.v2 .ptag{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:5px}
.v2 .sc.lead{position:relative;border:0}.v2 .sc.lead .tx{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(10,22,40,.88) 55%);padding:44px 16px 16px}
.v2 .sc.lead h3{font-size:1.5rem}.v2 .sc.lead h3 a,.v2 .sc.lead time{color:#fff}
.v2 .cube{display:grid}.v2 .cube .slot{height:100%;min-height:200px}
/* events */
.v2 .evwrap{display:grid;gap:14px;margin:8px 0}
.v2 .evl{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.v2 .evl li{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.v2 .dbadge{flex:none;width:52px;border-radius:8px;overflow:hidden;text-align:center;border:1px solid var(--line)}
.v2 .dbadge i{display:block;background:var(--org);color:#fff;font-style:normal;font-size:.68rem;font-weight:800;padding:2px 0;letter-spacing:.05em}.v2 .dbadge b{display:block;font-size:1.3rem;padding:2px 0}
.v2 .evl a{font-weight:700;color:var(--ink);text-decoration:none;display:inline-block;min-height:44px;line-height:1.25;padding:6px 0;box-sizing:border-box}.v2 .evl small{display:block;color:var(--mut)}
.v2 .contrib{background:var(--bg);border-radius:12px;padding:16px}.v2 .contrib form{display:grid;gap:8px}
.v2 .contrib input,.v2 .contrib textarea,.v2 .contrib button{font:inherit;padding:12px;border-radius:8px;border:1px solid #b8c0c9;min-height:44px;box-sizing:border-box}
.v2 .contrib button{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700}
/* hometown sponsors */
.v2 .hgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.v2 .hgrid .slot{min-height:92px}
/* explore tree */
.v2 .explore{margin-top:26px}.v2 .explore h2{font-size:1.4rem}.v2 .explore .sub{color:var(--mut);margin:4px 0 12px}
.v2 .pd{background:#fff;border:1px solid var(--line);border-left:6px solid var(--pc);border-radius:10px;margin:0 0 8px}
.v2 .pd summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:6px 12px;cursor:pointer;list-style:none}.v2 .pd summary b{font-size:1.1rem}.v2 .pd summary span:last-child{margin-left:auto;color:var(--mut);font-size:.85rem}
.v2 .pdb{padding:0 12px 12px}.v2 .resgroup{box-shadow:none}
.v2 a:focus-visible,.v2 summary:focus-visible,.v2 input:focus-visible,.v2 button:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
@media (min-width:700px){
 .v2 .pbar{grid-template-columns:repeat(6,1fr)}
 .v2 .chero{grid-template-columns:1fr minmax(260px,320px);align-items:end;padding:30px 28px;min-height:300px}.v2 .chero h1{font-size:2.8rem}
 .v2 .itiles{grid-template-columns:repeat(7,1fr);padding:14px 8px}.v2 .itiles a{font-size:.9rem}
 .v2 .trio{grid-template-columns:1.2fr 1fr 1fr}
 .v2 .sgrid{grid-template-columns:repeat(6,1fr)}.v2 .sc.lead{grid-column:span 4}.v2 .cube{grid-column:span 2}.v2 .sgrid .sc:not(.lead){grid-column:span 2}
 .v2 .sc.lead .im img{aspect-ratio:16/10;height:100%;min-height:300px}
 .v2 .evwrap{grid-template-columns:1.4fr 1fr}.v2 .hgrid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:699px){
 .v2 .sgrid .sc:not(.lead){grid-template-columns:116px 1fr;align-items:center}.v2 .sgrid .sc:not(.lead) img{aspect-ratio:1/1;height:100%}
 .v2 .sc.lead h3{font-size:1.25rem}.v2 .cube .slot{min-height:150px}
 .v2 .chero .crumbs{display:none}
}

.v2 .pbar .ico{box-shadow:0 0 0 2px rgba(255,255,255,.9)}
.v2 .chero .crumbs a{display:inline-block;padding:12px 0;margin:-12px 0;min-height:0}
.v2 .sc.lead .tx{position:static;background:#fff;padding:12px 16px 16px}.v2 .sc.lead h3{font-size:1.4rem}.v2 .sc.lead h3 a{color:var(--ink)}.v2 .sc.lead time{color:var(--mut)}
.v2 .sc.lead .im img{min-height:0;height:auto;aspect-ratio:16/9}
@media (max-width:699px){.v2 .pbar{display:flex;overflow-x:auto;gap:4px;-webkit-overflow-scrolling:touch}.v2 .pbar a{flex:none;scroll-snap-align:start;font-size:.9rem;white-space:nowrap}.v2 .insider{padding:12px}.v2 .insider p{display:none}.v2 .insider b{font-size:1rem}}
/* ---- county homepage + shared footer ---- */
.v2 .util{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0}
.v2 .usearch{display:flex;flex:1 1 280px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding-left:12px;min-width:0}
.v2 .usearch input{flex:1;min-width:0;border:0;min-height:44px;font:inherit;background:none}.v2 .usearch button{border:0;background:none;padding:2px;cursor:pointer;min-width:44px;min-height:44px}
.v2 .soc{list-style:none;display:flex;gap:8px;margin:0;padding:0}
.v2 .soc a{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;min-width:36px;min-height:36px;text-decoration:none}
.v2 .util .soc a{min-width:44px;min-height:44px;width:44px!important;height:44px!important}
.v2 .merch{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--navy);text-decoration:none;min-height:44px;padding:0 10px;border:2px solid var(--org);border-radius:10px;background:#fff}
.v2 .i8{grid-template-columns:repeat(4,1fr)}
.v2 .mn p.note2{font-size:.78rem;opacity:.85;margin-top:8px}
.v2 .mn form select{min-height:44px;border:0;border-radius:8px;padding:0 8px;font:inherit;max-width:150px}
.v2 .mn form{flex-wrap:wrap}.v2 .mn input[type=search]{flex:1 1 180px}
.v2 .cfilter{width:100%;min-height:48px;border:1px solid #b8c0c9;border-radius:10px;padding:0 14px;font:inherit;box-sizing:border-box;margin-bottom:10px}
.v2 .cgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.v2 .cgrid li[hidden]{display:none}
.v2 .cgrid a{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;text-decoration:none;color:var(--ink);min-height:56px;flex-wrap:wrap}
.v2 .cgrid .cm{flex:none;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.v2 .cgrid small{display:block;width:100%;color:var(--mut);margin-left:46px;margin-top:-6px;font-size:.72rem}
.v2 .cnone{color:var(--mut)}
.v2 .istrip{display:grid;gap:14px;background:var(--navy);color:#fff;border-radius:14px;padding:20px;margin:24px 0 0}
.v2 .istrip h2,.v2 .istrip p,.v2 .istrip a{color:#fff}.v2 .istrip h2{display:flex;gap:10px;align-items:center;font-size:1.4rem}.v2 .istrip a{display:inline-block;min-height:44px;line-height:44px;font-weight:700}
.v2 .iform{background:#fff;color:var(--ink);border-radius:12px;padding:14px}.v2 .iform label,.v2 .iform p{color:var(--ink)}.v2 .iform input[type=text],.v2 .iform input[type=email]{width:100%;min-height:44px;box-sizing:border-box;border:1px solid #b8c0c9;border-radius:8px;padding:0 10px;font:inherit}
.v2 .iform input[type=submit],.v2 .iform button{min-height:44px;background:var(--org);color:#fff;border:0;border-radius:8px;padding:0 20px;font-weight:700;cursor:pointer}
.v2 .dfoot{background:#0f2d52;color:#fff;border-radius:14px 14px 0 0;padding:24px 18px 14px;margin-top:0}
.v2 .dfoot h2{font-size:1rem;margin:0 0 8px;color:#fff}.v2 .dfoot a{color:#fff}
.v2 .fcols{display:grid;gap:22px}.v2 .fbrand img{max-width:220px;height:auto;background:#fff;border-radius:10px;padding:6px}.v2 .fword{font-weight:800;font-size:1.3rem;text-decoration:none}
.v2 .fl{list-style:none;margin:0;padding:0}.v2 .fl.cols2{columns:2}.v2 .fl a{display:inline-block;min-height:44px;line-height:44px;text-decoration:none}.v2 .fl a:hover{text-decoration:underline}
.v2 .zl li{padding:6px 0;line-height:1.6}.v2 .zl a{min-height:0;line-height:1.4;padding:11px 0;display:inline-block}.v2 .zn{font-size:.82rem;opacity:.85;margin:0 0 6px;color:#fff}
.v2 .fcopy{border-top:1px solid rgba(255,255,255,.2);margin:18px 0 0;padding-top:12px;font-size:.8rem;opacity:.9}
@media (min-width:700px){.v2 .i8{grid-template-columns:repeat(8,1fr)}.v2 .cgrid{grid-template-columns:repeat(5,1fr)}.v2 .istrip{grid-template-columns:1fr 1fr;align-items:center}.v2 .fcols{grid-template-columns:1.1fr 1.2fr .9fr 1.4fr}}
.v2 .fbrand>a{display:inline-block}.v2 .fbrand img{display:block}
@media (max-width:699px){.v2 .util .usearch{flex-basis:100%}.v2 .util .soc{gap:6px}.v2 .merch{flex:1 1 150px;justify-content:center;font-size:.85rem;padding:0 6px}}
/* ===== v0.6.0 refinement ===== */
/* compact house advertising */
.v2 .slot.open.house,.v2 .hstrip{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;min-height:0;padding:10px 14px;border:1px solid #cfe0f1;border-radius:10px;background:#eef5fc;text-align:left;text-decoration:none;color:var(--ink);box-sizing:border-box}
.v2 .slot.open.house .tag,.v2 .hstrip .tag{position:static;border-radius:6px;background:#2F5D8A;color:#fff;font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;white-space:nowrap}
.v2 .slot.open.house b,.v2 .hstrip b{flex:1 1 220px;font-size:.95rem;color:var(--navy)}
.v2 .slot.open.house .go,.v2 .hstrip .go{font-size:.85rem;font-weight:700;color:var(--blue);white-space:nowrap}
.v2 .slot-city,.v2 .slot-county{margin:10px 0}.v2 .slot-city.open,.v2 .slot-county.open{min-height:0}
.v2 .cube .slot.open.house{flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:150px;height:100%;gap:8px}
.v2 .hgrid .slot.open.house{flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:84px}
.v2 .hstrip{display:flex;margin:0}
/* hero */
.v2 .chero{min-height:210px;padding:20px 18px 22px}.v2 .chero .credit{position:absolute;right:10px;bottom:6px;color:#fff;font-size:.68rem;opacity:.9;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.v2 .btn.cta.hjoin{display:none}
/* mobile city chips (desktop has the city grid) */
.v2 .mcities{display:none}
/* news: equal cards, clamped headlines */
.v2 .sc h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:1rem}
.v2 .sc.lead h3{-webkit-line-clamp:3}
.v2 .sgrid .sc:not(.lead) .tx{display:flex;flex-direction:column}
.v2 .sc img{background:#dfe7f0}
/* events */
.v2 .evl{grid-template-columns:1fr}.v2 .evl li{padding:6px 12px;gap:10px}.v2 .evl small{font-size:.8rem}
.v2 .dbadge{width:48px}
/* city grid */
.v2 .cgrid a{min-height:52px}
/* Insider: compact, same Mailchimp form, consent + city options retained */
.v2 .istrip{padding:16px 18px;margin-top:20px;gap:10px}.v2 .istrip h2{font-size:1.2rem}.v2 .istrip>div:first-child p{margin:4px 0;font-size:.92rem}
.v2 .iform{padding:12px 14px}
.v2 .iform .mc4wp-form-fields{display:grid;grid-template-columns:1fr;gap:8px 12px}
.v2 .iform .mc4wp-form-fields>p{margin:0}.v2 .iform label{font-size:.85rem}
.v2 .iform fieldset{border:0;margin:0;padding:0;min-width:0}.v2 .iform legend{font-weight:700;font-size:.85rem;padding:0 0 4px}
.v2 .iform fieldset label{display:flex;align-items:center;gap:8px;min-height:36px}
.v2 .iform input[type=checkbox]{width:20px;height:20px;flex:none}
.v2 .iform details.icities{border:1px solid var(--line);border-radius:8px;padding:0 10px}
.v2 .iform details.icities summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;font-size:.9rem}
.v2 .iform details.icities fieldset{display:grid;grid-template-columns:repeat(2,1fr);gap:0 8px;padding-bottom:8px}.v2 .iform details.icities legend{display:none}
.v2 .iform .mc4wp-form-fields>p:last-child{margin-top:4px}
/* spacing */
.v2 .sh{margin:18px 0 8px}.v2 .trio{margin:12px 0}.v2 .itiles{margin:10px 0}
@media (min-width:700px){
 .v2 .chero{min-height:270px}
 .v2 .evl{grid-template-columns:1fr 1fr}
 .v2 .iform .mc4wp-form-fields{grid-template-columns:1fr 1fr}.v2 .iform .mc4wp-form-fields>fieldset,.v2 .iform .mc4wp-form-fields>details,.v2 .iform .mc4wp-form-fields>p:last-child{grid-column:1/-1}
 .v2 .iform details.icities fieldset{grid-template-columns:repeat(5,1fr)}
 .v2 .istrip{grid-template-columns:.8fr 1.4fr}
}
/* mobile: first screen = search, city access, compact hero, shortcuts */
@media (max-width:699px){
 .v2.home2{display:flex;flex-direction:column}.v2.home2>*{order:10}
 .v2.home2>.util{order:1;margin:4px 0}.v2.home2>.mcities{order:2}.v2.home2>.chero{order:3}.v2.home2>.itiles{order:4}.v2.home2>.pbarw{order:5}.v2.home2>.slot-county{order:6}
 .v2 .mcities{display:block;margin:0 0 8px}.v2 .mcities ul{list-style:none;margin:0;padding:0 0 4px;display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .v2 .mcities a{display:inline-flex;align-items:center;white-space:nowrap;min-height:44px;padding:0 14px;border-radius:99px;background:var(--navy);color:#fff;text-decoration:none;font-weight:600;font-size:.88rem;scroll-snap-align:start}
 .v2 .chero{min-height:150px;padding:14px 14px 16px;align-content:center;gap:10px}.v2 .chero h1{font-size:1.65rem}.v2 .chero p{font-size:.92rem}
 .v2 .chero .insider{display:none}.v2 .btn.cta.hjoin{display:inline-block;justify-self:start;position:relative}
 .v2.home2 .chero .mtn{height:45%}
 .v2 .itiles{padding:8px 2px}.v2 .itiles a{font-size:.74rem}.v2 .itiles .ico{width:48px!important;height:48px!important}
 .v2 .util{gap:8px}.v2 .usearch{min-height:48px}
 .v2 .pbar{margin:8px 0}
 .v2 .iform details.icities fieldset{grid-template-columns:1fr 1fr}
 .v2 .evl{grid-template-columns:1fr}
}
@media (max-width:359px){.v2 .itiles a{font-size:.68rem}.v2 .chero h1{font-size:1.45rem}.v2 .merch{font-size:.8rem}}

/* events: single-line venue; mobile utility row = search + merch (social lives in the footer on phones) */
.v2 .evl li>div{min-width:0}.v2 .evl small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:699px){.v2 .util .soc{display:none}.v2 .merch{flex:1 1 100%;justify-content:center;white-space:nowrap;font-size:.9rem}}

.v2 .evwrap>div,.v2 .evl,.v2 .evl li{min-width:0}
/* ===== v0.7.0: photo heroes, gallery, mobile fixes ===== */
.v2 .chero .hphoto{position:absolute;inset:0;margin:0;z-index:0}.v2 .chero .hphoto img{width:100%;height:100%;object-fit:cover;display:block}
.v2 .chero.has-photo{background:#0f2d52;min-height:300px}
.v2 .chero.has-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(8,24,46,.72) 0%,rgba(8,24,46,.35) 28%,rgba(8,24,46,0) 58%),linear-gradient(90deg,rgba(8,24,46,.38) 0%,rgba(8,24,46,0) 55%)}
.v2 .chero.has-photo .mtn{display:none}
.v2 .chero .cid,.v2 .chero .insider,.v2 .chero .btn.cta.hjoin{position:relative;z-index:2}
.v2 .chero .credit{z-index:2}
/* theme form margin caused the 40px gap between search and DavisMerch */
.v2 form.usearch,.v2 .util form{margin:0}
/* gallery */
.v2 .gal{margin:8px 0}.v2 .gl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.v2 .gl a{display:block;border-radius:10px;overflow:hidden;background:#dfe7f0;aspect-ratio:3/2}.v2 .gl img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.v2 .gl li:first-child{grid-column:1/-1}.v2 .gl li:first-child a{aspect-ratio:16/7}
.v2 .gcredit{font-size:.8rem;color:var(--mut);margin:6px 2px 0}
@media (prefers-reduced-motion:no-preference){.v2 .gl a:hover img{transform:scale(1.03)}}
@media (min-width:700px){
 .v2 .chero.has-photo{min-height:340px}
 .v2 .gl{grid-template-columns:repeat(4,1fr)}.v2 .gl li:first-child{grid-column:span 2;grid-row:span 2}.v2 .gl li:first-child a{aspect-ratio:auto;height:100%}
}
@media (max-width:699px){
 .v2 .chero.has-photo{min-height:170px}
 .v2 .chero .cmark{display:none}.v2 .chero .cid{gap:0}
 .v2 .chero h1{font-size:1.5rem}.v2 .chero p{font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .v2 .chero{padding:12px 14px 14px;min-height:150px;gap:8px}
}

/* v0.7.1: swipe rows no longer snap (proximity snapping pulled a keyboard-focused, partly visible item back out of view) */

/* v0.7.2: discoverable swipe on the six-pillar bar (phones only; desktop untouched). Overlays are decorative and never intercept touches. */
.v2 .pbarw{position:relative;margin:10px 0}.v2 .pbarw .pbar{margin:0}
.v2 .pbarw .pfade{display:none}
@media (max-width:699px){
 .v2 .pbarw{margin:8px 0}
 .v2 .pbarw .pfade{display:block;position:absolute;top:0;bottom:0;width:46px;pointer-events:none;opacity:0;transition:opacity .18s;z-index:3;border-radius:10px;background-repeat:no-repeat}
 .v2 .pbarw .pf-r{right:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E"),linear-gradient(90deg,rgba(23,64,111,0),rgba(23,64,111,.96) 62%);background-position:right 8px center,0 0;background-size:20px 20px,100% 100%}
 .v2 .pbarw .pf-l{left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E"),linear-gradient(270deg,rgba(23,64,111,0),rgba(23,64,111,.96) 62%);background-position:left 8px center,0 0;background-size:20px 20px,100% 100%}
 .v2 .pbarw.more-r .pf-r,.v2 .pbarw.more-l .pf-l{opacity:1}
}
@media (prefers-reduced-motion:reduce){.v2 .pbarw .pfade{transition:none}}
/* ---- 0.9 hub-parity city page (hub modules + DCU 2.0 additions). Scoped to .dcu2-hubp; the hub's own CSS is untouched. ---- */
.dcu2-hubp{background:#F7FAFC}
.dcu2-hubp .dcu-hb>.dcu-hb-hero+.dcu-hb-wrap{display:flex;flex-direction:column}
.dcu2-hubp .dcu-hb>.dcu-hb-hero+.dcu-hb-wrap>#today{order:-1;margin-top:20px}
.dcu2-hubp .dcu-hb>.dcu-hb-hero+.dcu-hb-wrap>*{min-width:0}
@media (max-width:600px){.dcu2-hubp #today{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dcu2-hubp #today a{padding:12px}}
/* gear: four live products in the hub's shop box */
.dcu2-hubp .dcu2-shop{border:1px solid #D5DCE8;border-radius:12px;padding:16px;background:#fff;margin-top:16px}
.dcu2-hubp .dcu2-shop h2{font-size:19px}
.dcu2-hubp .dcu2-shop>p{margin:4px 0 12px;font-size:14px;color:#4A5568}
.dcu2-hubp .dcu2-shop ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dcu2-hubp .dcu2-shop li a{display:block;text-decoration:none;color:#1A202C}
.dcu2-hubp .dcu2-shop img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:#eef2f7;border-radius:8px}
.dcu2-hubp .dcu2-shop .t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:600;line-height:1.3;margin:6px 0 2px}
.dcu2-hubp .dcu2-shop .pr{display:block;font-size:14px;font-weight:800;color:#1F4788}
.dcu2-hubp .dcu2-shop .all{display:block;text-align:center;margin-top:14px;padding:11px 14px;min-height:44px;box-sizing:border-box;background:#1F4788;color:#fff!important;border-radius:8px;text-decoration:none;font-weight:700;font-size:15px}
@media (max-width:900px){.dcu2-hubp .dcu2-shop ul{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:600px){.dcu2-hubp .dcu2-shop ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* civic summaries, under the council card */
.dcu2-hubp .dcu2-civic{margin-top:24px}
.dcu2-hubp .dcu2-civic .dcu-civ{max-width:none;margin:0;padding:22px;background:#fff;border:1px solid #D5DCE8;border-radius:14px}
.dcu2-hubp .dcu2-civic .dcu-civ h2{font-family:Montserrat,Inter,sans-serif;font-size:24px;color:#1A202C}
.dcu2-hubp .dcu2-civic .it{background:#F7FAFC}
@media (max-width:600px){.dcu2-hubp .dcu2-civic .dcu-civ{padding:16px}.dcu2-hubp .dcu2-civic .dcu-civ h2{font-size:21px}}
/* Insider on Facebook */
.dcu2-hubp .dcu2-fb{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:center;margin-top:16px;padding:20px 24px;background:#fff;border:1px solid #D5DCE8;border-radius:16px}
.dcu2-hubp .dcu2-fb>div{flex:1 1 300px}
.dcu2-hubp .dcu2-fb h2{font-size:20px}
.dcu2-hubp .dcu2-fb p{margin:6px 0 0;color:#4A5568}
.dcu2-hubp .dcu2-fb-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#1877F2}
.dcu2-hubp .dcu2-fb-btn{display:inline-block;min-height:44px;line-height:44px;padding:0 20px;border-radius:8px;background:#1F4788;color:#fff!important;font-weight:700;text-decoration:none;white-space:nowrap}
/* topic tree replaces the hub's short link row */
.dcu2-hubp.has-topics .dcu-hb-explore{display:none}
.dcu2-hubp .dcu2-topics.dcu2.v2{max-width:none;padding:0;margin:18px 0 0}
.dcu2-hubp .dcu2-topics-h{font-family:Montserrat,Inter,sans-serif;font-size:19px;font-weight:800;color:#1A202C}
.dcu2-hubp .dcu2-topics .sub{margin:4px 0 12px;color:#4A5568}
/* closing row: contributions + other cities */
.dcu2-hubp .dcu2-hubp-end.dcu2.v2{max-width:1240px;padding:0 24px 40px}
.dcu2-hubp .dcu2-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:28px;align-items:start}
.dcu2-hubp .dcu2-pair h2{font-family:Montserrat,Inter,sans-serif;font-size:20px;font-weight:800;color:#1A202C;margin:8px 0 6px}
.dcu2-hubp .dcu2-pair .contrib>p{margin:0 0 10px;color:#4A5568}
.dcu2-hubp .dcu2-pair .oc{background:#fff;border:1px solid #D5DCE8;border-radius:14px;padding:20px}
.dcu2-hubp .dcu2-pair .cities{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.dcu2-hubp .dcu2-pair .cities a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #D5DCE8;border-radius:999px;text-decoration:none;font-weight:600;color:#1F4788;background:#F7FAFC}
.dcu2-hubp .dcu2-pair .cities a[aria-current]{background:#1F4788;color:#fff}
@media (max-width:900px){.dcu2-hubp .dcu2-pair{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.dcu2-hubp .dcu2-hubp-end.dcu2.v2{padding:0 16px 32px}}
