.city-projects { margin-bottom:3rem; }
.city-projects__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1.25rem; }
.city-projects__item { margin:0; overflow:hidden; border:1px solid #e0ddd3; border-radius:.65rem; background:#fff; }
.city-projects__item a { display:block; }
.city-projects__item a:focus-visible { outline:3px solid #ffc928; outline-offset:-3px; }
.city-projects__item img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.city-projects__item figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; padding:1rem; }
.city-projects__item figcaption span { color:#505760; }
.city-projects__link { display:inline-flex; align-items:center; gap:.45rem; margin-top:1.2rem; padding:.72rem 1rem; border-radius:.45rem; background:#17683f; color:#fff; font-size:.84rem; font-weight:800; text-decoration:none; transition:background .18s ease,transform .18s ease; }.city-projects__link:hover { background:#125634; transform:translateY(-1px); }
.city-intro { margin-bottom:2.5rem; padding:2rem; border:1px solid #e0ddd3; border-radius:.8rem; background:#fff; box-shadow:0 10px 28px rgba(23,25,29,.05); }.city-intro h2 { margin:.45rem 0 .7rem; }.city-coverage { margin-top:1.45rem; }.city-coverage__title { display:flex; align-items:center; gap:.5rem; margin:0 0 .7rem !important; color:#ffc928 !important; font-size:.72rem !important; font-weight:900 !important; letter-spacing:.1em; text-transform:uppercase; }.city-coverage__title i { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:#fff0c2; color:#ffc928; font-size:.7rem; }.city-neighborhoods { display:flex; flex-wrap:wrap; gap:.65rem; margin:0; padding:0; list-style:none; }.city-neighborhoods li { padding:.57rem 1rem; border:1px solid #ddd8cf; border-radius:999px; background:#fff; box-shadow:0 2px 5px rgba(23,25,29,.04); color:#46505a; font-size:.8rem; font-weight:800; }.city-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:.6rem; }.city-section-heading h2 { margin:.3rem 0 0; }.city-section-heading>a { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; min-height:42px; padding:.65rem 1rem; border:1px solid #ffc928; border-radius:.42rem; background:#fff; box-shadow:0 5px 14px rgba(255,201,40,.1); color:#ffc928; font-size:.78rem; font-weight:900; letter-spacing:.015em; text-decoration:none; transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease; }.city-section-heading>a i { font-size:.72rem; transition:transform .18s ease; }.city-section-heading>a:hover { background:#ffc928; box-shadow:0 9px 18px rgba(255,201,40,.2); color:#fff; transform:translateY(-2px); }.city-section-heading>a:hover i { transform:translateX(3px); }.city-section-heading>a:focus-visible { outline:3px solid #17191d; outline-offset:3px; }.city-map__link { color:#ffc928; font-size:.84rem; font-weight:800; text-decoration:none; }.city-disclosure { margin:0 0 1.15rem; color:#6b7179 !important; font-size:.78rem; }.city-projects__item img { transition:transform .35s ease; }.city-projects__item:hover img { transform:scale(1.035); }
.city-process { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:2.5rem 0; }.city-process article { position:relative; overflow:hidden; padding:1.55rem; border:1px solid rgba(255,201,40,.2); border-radius:.7rem; background:linear-gradient(145deg,#20242a,#121417); color:#fff; box-shadow:0 10px 22px rgba(12,14,17,.14); }.city-process article::after { position:absolute; top:0; left:0; width:100%; height:3px; background:#ffc928; content:""; }.city-process i { display:grid; width:44px; height:44px; place-items:center; border-radius:50%; background:#FFC928; color:#111215; font-size:1rem; }.city-process h3 { margin:1rem 0 .55rem; color:#fff; font-size:1.1rem; line-height:1.25; }.seo-content .city-process p { margin:0; color:#f4f6f8; font-size:.96rem; font-weight:600; line-height:1.7; }.city-map { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); overflow:hidden; margin:2.5rem 0; border:1px solid #ded9cd; border-radius:.8rem; background:#fff; box-shadow:0 10px 28px rgba(23,25,29,.07); }.city-map__copy { padding:2rem; }.city-map__copy h2 { margin:.5rem 0 .7rem; }.city-map iframe { width:100%; min-height:320px; border:0; }.city-faq { margin:2.5rem 0 0; padding:2rem; border-radius:.8rem; background:linear-gradient(135deg,#fffaf0,#fff); border:1px solid #ffc928; }.city-faq h2 { margin:.45rem 0 1.1rem; }.city-faq__list { display:grid; gap:.65rem; }.city-faq details { border:1px solid #e0d8c5; border-radius:.45rem; background:#fff; }.city-faq summary { padding:1rem 1.15rem; color:#242629; font-weight:800; cursor:pointer; }.city-faq details p { padding:0 1.15rem 1rem; margin:0; }.city-video { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,420px); gap:1.5rem; align-items:center; min-height:350px; margin:2.5rem 0; padding:1.7rem; border:1px solid rgba(255,201,40,.35); border-radius:.8rem; background:linear-gradient(135deg,#17191d,#242014); color:#fff; }.city-video h2 { margin:.45rem 0 .7rem; }.city-video p:not(.seo-eyebrow) { color:#d2d5d8; }.city-video video { display:block; width:100%; height:320px; border-radius:.55rem; background:#000; box-shadow:0 12px 28px rgba(0,0,0,.28); object-fit:cover; object-position:center; }.city-video__gallery-link { display:inline-flex; align-items:center; gap:.6rem; min-height:42px; margin-top:1rem; padding:.65rem 1rem; border:1px solid #ffc928; border-radius:.38rem; background:#ffc928; color:#1c1706; font-size:.78rem; font-weight:900; text-decoration:none; transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease; }.city-video__gallery-link i { transition:transform .18s ease; }.city-video__gallery-link:hover { background:transparent; box-shadow:0 7px 18px rgba(0,0,0,.2); color:#ffc928; transform:translateY(-2px); }.city-video__gallery-link:hover i { transform:translateX(3px); }.city-video__gallery-link:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.city-service-carousel { margin-top:3.5rem; padding-top:2rem; border-top:1px solid #ded9cd; }.city-service-carousel__heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }.city-service-carousel__heading h2 { margin:.35rem 0 0; }.city-service-carousel__controls { display:flex; gap:.5rem; }.city-service-carousel__controls button { display:grid; width:38px; height:38px; place-items:center; border:1px solid #ffc928; border-radius:50%; background:#fff; color:#ffc928; cursor:pointer; font-weight:900; transition:.18s ease; }.city-service-carousel__controls button span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }.city-service-carousel__controls button:hover { border-color:#ffc928; background:#ffc928; color:#fff; transform:translateY(-1px); }.city-service-carousel__track { display:flex; gap:.7rem; overflow-x:auto; padding:.2rem .1rem .85rem; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }.city-service-carousel__track::-webkit-scrollbar { display:none; }.city-area-card { display:inline-flex; flex:0 0 auto; align-items:center; gap:.48rem; min-height:42px; padding:.6rem .9rem; border:1px solid #d8d1c2; border-radius:999px; background:#fff; color:#343a40; font-size:.8rem; font-weight:800; text-decoration:none; scroll-snap-align:start; transition:.18s ease; }.city-area-card i { color:#ffc928; }.city-area-card:hover { border-color:#ffc928; background:#fff5d7; color:#171204; transform:translateY(-1px); }.city-area-card.is-current { border-color:#ffc928; background:#17191d; color:#fff; pointer-events:none; }.city-area-card.is-current i { color:#ffc928; }
.seo-page { background:linear-gradient(180deg,#f7f5ef 0%,#fff 64%,#f0eee6 100%); }
.seo-page .header { position:relative; background:#0c0d0f; }
.seo-wrap { width:min(1120px,90%); margin-inline:auto; }
.seo-hero { position:relative; isolation:isolate; overflow:hidden; padding:2.5rem 0 5rem; background:radial-gradient(circle at 78% 28%,rgba(255,201,40,.23),transparent 28rem),linear-gradient(120deg,#0b0c0e,#202227); color:#fff; border-bottom:5px solid var(--gold); }
.seo-hero::after { position:absolute; z-index:-1; right:-7rem; bottom:-9rem; width:28rem; height:28rem; border:1px solid rgba(255,255,255,.12); border-radius:50%; content:""; }
.seo-breadcrumb { display:inline-flex; align-items:center; flex-wrap:wrap; gap:.55rem; margin-bottom:2.25rem; padding:.48rem .7rem; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(255,255,255,.07); box-shadow:0 8px 20px rgba(0,0,0,.16); color:#c6c7c9; font-size:.76rem; font-weight:700; backdrop-filter:blur(8px); }
.seo-breadcrumb a { display:inline-flex; align-items:center; gap:.42rem; color:#fff; text-decoration:none; transition:color .18s ease; }.seo-breadcrumb a:hover { color:var(--gold); }.seo-breadcrumb>a:first-child { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; background:var(--gold); color:#171204; }.seo-breadcrumb>a:first-child span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }.seo-breadcrumb>i { color:rgba(255,255,255,.42); font-size:.58rem; }.seo-breadcrumb [aria-current="page"] { max-width:18ch; overflow:hidden; color:#ffc928; text-overflow:ellipsis; white-space:nowrap; }
.seo-eyebrow { color:var(--gold); font-size:.75rem; letter-spacing:.16em; font-weight:800; }
.seo-hero h1 { max-width:900px; margin:1rem 0 1.5rem; font-family:var(--display); font-size:clamp(2rem,4.8vw,4rem); line-height:1.12; letter-spacing:-.04em; }
.seo-hero p:not(.seo-eyebrow) { max-width:780px; color:#d1d2d4; font-size:1.12rem; line-height:1.8; }
.seo-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem; margin-top:2rem; font-weight:700; }
.seo-call-button { display:inline-flex; align-items:center; gap:.55rem; min-height:46px; padding:.72rem 1rem; border:1px solid rgba(255,255,255,.58); border-radius:.35rem; background:rgba(255,255,255,.06); color:#fff; font-size:.86rem; text-decoration:none; transition:.2s ease; }.seo-call-button i { color:var(--gold); }.seo-call-button:hover { border-color:#fff; background:#fff; color:#17191d; }
.seo-content { padding-block:4.5rem; }
.seo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.seo-section { padding:1.8rem; background:rgba(255,255,255,.88); border:1px solid #e0ddd3; border-radius:.65rem; box-shadow:0 10px 30px rgba(23,25,29,.06); }
.seo-content h2 { font-family:var(--display); font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.3; margin-bottom:1rem; }
.seo-content p { color:#505760; line-height:1.85; }
.city-garage { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2rem; margin-top:1.6rem; padding:2rem; border:1px solid rgba(255,201,40,.45); border-radius:.65rem; background:linear-gradient(125deg,#fff9e7,#fff); box-shadow:0 10px 28px rgba(23,25,29,.07); }
.city-garage h2 { margin-bottom:.65rem; }
.city-garage__actions { display:grid; gap:.65rem; min-width:190px; }
.city-garage__actions a { padding:.75rem 1rem; border:1px solid #ffc928; border-radius:.3rem; color:#171204; font-size:.78rem; font-weight:800; text-align:center; text-decoration:none; text-transform:uppercase; }
.city-garage__actions a:last-child { background:#17191d; border-color:#17191d; color:#fff; }
.city-garage__actions a:hover { background:#ffc928; border-color:#ffc928; color:#171204; }
.seo-faq { margin-top:3.5rem; padding:2.25rem; background:#181a1e; color:#fff; border-left:4px solid var(--gold); border-radius:.4rem; box-shadow:0 14px 34px rgba(23,25,29,.13); }
.seo-faq p { color:#d3d5d8; }
.seo-faq a { display:inline-block; margin-top:1rem; font-weight:700; }
.seo-related { margin-top:4rem; }
.seo-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.seo-card { display:flex; min-height:130px; flex-direction:column; justify-content:center; gap:.65rem; padding:1.4rem; border:1px solid #d8d6ce; text-decoration:none; background:white; border-radius:.5rem; box-shadow:0 8px 22px rgba(23,25,29,.05); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.seo-card span { color:#505760; font-size:.88rem; line-height:1.5; }
.seo-card:hover { border-color:#ffc928; box-shadow:0 14px 28px rgba(23,25,29,.12); transform:translateY(-3px); }
.seo-card:focus-visible { outline:3px solid #ffc928; outline-offset:3px; }
.city-guide { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:2rem; align-items:start; margin-top:2.4rem; padding:2rem; border:1px solid #e0ddd3; border-radius:.8rem; background:#fff; box-shadow:0 10px 28px rgba(23,25,29,.05); }.city-guide__intro h2 { margin:.55rem 0 .8rem; }.city-guide__intro p:not(.seo-eyebrow) { margin:0; }.city-guide__steps { display:grid; gap:.75rem; }.city-guide__steps article { display:grid; grid-template-columns:42px minmax(0,1fr); gap:.8rem; padding:.85rem; border-radius:.55rem; background:#faf8f2; }.city-guide__steps article>i { display:grid; width:42px; height:42px; place-items:center; border-radius:.5rem; background:#fff0c4; color:#ffc928; }.city-guide__steps h3 { margin:.1rem 0 .25rem; font-size:.93rem; }.city-guide__steps p { margin:0; font-size:.8rem; line-height:1.55; }.city-system-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin-top:1.25rem; }.city-system-links a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.7rem; padding:1rem; border:1px solid #ded9cd; border-radius:.65rem; background:#fff; color:#1a1c1f; text-decoration:none; transition:.2s ease; }.city-system-links>a>i:first-child { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#f4efe2; color:#ffc928; }.city-system-links span { display:grid; gap:.15rem; }.city-system-links small { color:#687078; font-size:.72rem; }.city-system-links>a>i:last-child { color:#ffc928; font-size:.75rem; }.city-system-links a:hover { border-color:#ffc928; transform:translateY(-2px); box-shadow:0 10px 22px rgba(23,25,29,.09); }.city-nearby { margin-top:3rem; padding-top:1.5rem; border-top:1px solid #ded9cd; }.city-nearby h2 { margin-bottom:.85rem; }.city-nearby div { display:flex; flex-wrap:wrap; gap:.55rem; }.city-nearby a { padding:.5rem .75rem; border:1px solid #d9d4c8; border-radius:999px; color:#4d5359; font-size:.78rem; font-weight:700; text-decoration:none; }.city-nearby a:hover { border-color:#ffc928; color:#171204; background:#fff5d4; }
.locations-directory { width:min(1180px,90%); margin:0 auto; padding:clamp(4rem,8vw,6.5rem) 0; }
.locations-directory__intro { max-width:none; margin-bottom:2rem; }
.locations-directory__eyebrow { margin-bottom:.55rem; color:#ffc928; font-size:.72rem; font-weight:900; letter-spacing:.16em; }
.locations-directory h2 { margin-bottom:.75rem; font-family:var(--display); font-size:clamp(1.8rem,3vw,2.75rem); letter-spacing:-.04em; }
.locations-directory__intro>p:last-child { color:#5c626a; line-height:1.7; }
.locations-directory__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.location-card { display:grid; grid-template-columns:auto 1fr auto; align-items:center; min-height:94px; gap:.9rem; padding:1.15rem 1.2rem; border:1px solid #dcd8cc; border-radius:.6rem; background:#fff; color:#17191d; text-decoration:none; box-shadow:0 7px 20px rgba(22,24,27,.05); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.location-card>i:first-child { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#f3efe2; color:#ffc928; }
.location-card span { display:grid; gap:.2rem; }
.location-card strong { font-family:var(--display); font-size:.92rem; }
.location-card small { color:#6b7179; font-size:.76rem; }
.location-card>i:last-child { color:#ffc928; font-size:.8rem; }
.location-card--guide { border-color:rgba(255,201,40,.45); background:linear-gradient(135deg,#fffdf5,#fff); }
.location-card:hover { border-color:#ffc928; box-shadow:0 13px 25px rgba(22,24,27,.12); transform:translateY(-3px); }
.location-card:focus-visible { outline:3px solid #ffc928; outline-offset:3px; }
@media(max-width:820px) { .seo-grid,.city-guide { grid-template-columns:1fr; } .city-garage { grid-template-columns:1fr; } .city-garage__actions { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:850px) { .locations-directory__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .seo-grid,.seo-cards,.locations-directory__grid,.city-garage__actions,.city-system-links { grid-template-columns:1fr; } .seo-hero { padding-bottom:3rem; } .seo-content { padding-block:2.5rem; } .seo-faq { padding:1.4rem; } .seo-page .top-bar-container { flex-wrap:wrap; justify-content:center; gap:.5rem; } .city-guide { padding:1.25rem; } }
@media(max-width:700px) { .city-neighborhoods { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .city-process,.city-map,.city-video { grid-template-columns:1fr; }.city-map iframe { min-height:260px; }.city-section-heading { align-items:flex-start; flex-direction:column; }.city-intro,.city-faq,.city-map__copy { padding:1.35rem; }.city-video { min-height:0; padding:1.25rem; }.city-video video { height:min(62vw,330px); } }
@media(max-width:700px) { .city-service-carousel { margin-top:2.5rem; }.city-service-carousel__heading { align-items:flex-end; }.city-service-carousel__controls button { width:34px; height:34px; } }

.city-system-links a { grid-template-columns:76px minmax(0,1fr) auto; min-height:92px; gap:.8rem; padding:.5rem .9rem .5rem .5rem; }.city-system-links a::before { display:block; width:76px; height:76px; border-radius:.45rem; background-position:center; background-size:cover; content:''; }.city-system-links a:nth-child(1)::before { background-image:url('assets/images/home/finishes/flake-epoxy-garage.png'); }.city-system-links a:nth-child(2)::before { background-image:url('assets/images/home/finishes/solid-epoxy-garage.png'); }.city-system-links a:nth-child(3)::before { background-image:url('assets/images/home/finishes/metallic-epoxy-garage-hero.png'); }.city-system-links>a>i:first-child { display:none; }

.locations-directory__carousel { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; }.locations-directory__grid { display:flex; gap:1.25rem; overflow-x:auto; padding:.5rem .2rem 1rem; scroll-behavior:smooth; scrollbar-width:none; scroll-snap-type:x mandatory; }.locations-directory__grid::-webkit-scrollbar { display:none; }.location-card { flex:0 0 min(220px,70vw); grid-template-columns:1fr; min-height:0; padding:0; overflow:hidden; border:0; border-radius:50%; aspect-ratio:1; place-content:center; background:radial-gradient(circle at 35% 25%,#fffdf7,#f0eadc); box-shadow:inset 0 0 0 1px #ffc928,0 10px 24px rgba(22,24,27,.08); color:#17191d; scroll-snap-align:start; text-align:center; }.location-card>i:first-child { width:50px; height:50px; margin:0 auto .65rem; background:#fff3cf; color:#ffc928; font-size:1.15rem; }.location-card span { gap:.28rem; }.location-card strong { font-size:1.05rem; }.location-card small { padding-inline:1.2rem; line-height:1.35; }.location-card>i:last-child { display:none; }.location-card:hover { transform:translateY(-4px); box-shadow:inset 0 0 0 2px #ffc928,0 15px 28px rgba(22,24,27,.14); }.locations-directory__control { display:grid; width:44px; height:44px; place-items:center; border:1px solid #ffc928; border-radius:50%; background:#fff; color:#ffc928; cursor:pointer; font-size:.9rem; transition:.2s ease; }.locations-directory__control:hover { border-color:#ffc928; background:#ffc928; color:#fff; }@media(max-width:700px){.locations-directory__carousel{grid-template-columns:34px minmax(0,1fr) 34px;gap:.45rem}.locations-directory__control{display:grid;width:34px;height:34px;font-size:.72rem}.locations-directory__grid{justify-content:center;padding:.35rem 0 .8rem;gap:.75rem;scroll-padding-inline:calc((100% - 168px)/2)}.location-card{flex-basis:min(168px,100%);scroll-snap-align:center}.location-card>i:first-child{width:42px;height:42px;margin-bottom:.5rem;font-size:1rem}.location-card strong{font-size:.9rem}.location-card small{padding-inline:.75rem;font-size:.68rem}}

/* Desktop location carousel: show complete circular city cards at each stop. */
@media (min-width: 701px) {
    .locations-directory__grid {
        padding: .5rem 0 1rem;
        scroll-padding-inline: 0;
    }

    .locations-directory__grid .location-card {
        flex-basis: calc((100% - 3.75rem) / 4);
    }
}

/* Tablet widths need fewer cards so each circle keeps its text readable. */
@media (min-width: 701px) and (max-width: 1050px) {
    .locations-directory__carousel {
        gap: .7rem;
    }

    .locations-directory__grid {
        gap: 1rem;
    }

    .locations-directory__grid .location-card {
        flex-basis: calc((100% - 2rem) / 3);
    }

    .location-card strong {
        font-size: .95rem;
    }

    .location-card small {
        font-size: .7rem;
        padding-inline: .75rem;
    }
}

/* Wide desktops: five slightly smaller circles keep the directory compact. */
@media (min-width: 1200px) {
    .locations-directory__grid .location-card {
        flex-basis: calc((100% - 5rem) / 5);
    }
}

/* On small screens, fade the neighboring cards rather than clipping them abruptly. */
@media (max-width: 700px) {
    .locations-directory__grid {
        -webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0,0,0,.2) 7%, #000 18%, #000 82%, rgba(0,0,0,.2) 93%, transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, rgba(0,0,0,.2) 7%, #000 18%, #000 82%, rgba(0,0,0,.2) 93%, transparent 100%);
    }
}

/* Refined city carousel: keep the circular system, with cleaner brand hierarchy. */
.locations-directory__grid { padding-block:.8rem 1.15rem; }
.location-card {
    border:1px solid rgba(255,201,40,.72);
    background:#fff;
    box-shadow:0 10px 24px rgba(22,24,27,.06),inset 0 1px 0 rgba(255,255,255,.9);
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;
}
.location-card>i:first-child {
    width:auto;
    height:auto;
    border:0;
    background:transparent;
    box-shadow:none;
    color:#ffc928;
    font-size:1.35rem;
}
.location-card span { align-items:center; }
.location-card { place-items:center; align-content:center; }
.location-card span { width:100%; justify-items:center; text-align:center; }
.location-card strong { display:grid; justify-items:center; color:#111215; font-size:1.1rem; letter-spacing:-.02em; }
.location-card strong::after { width:28px; height:2px; margin:.55rem auto .15rem; border-radius:99px; background:#ffc928; content:''; }
.location-card small { max-width:150px; color:#68717b; font-weight:600; }
.location-card:hover {
    border-color:#ffc928;
    background:#fff;
    box-shadow:0 16px 30px rgba(22,24,27,.12),inset 0 0 0 1px #ffc928;
    transform:translateY(-6px);
}
.location-card:focus-visible { outline:3px solid #111215; outline-offset:4px; }
.locations-directory__control {
    border:0;
    background:#ffc928;
    box-shadow:0 7px 16px rgba(22,24,27,.11);
    color:#111215;
}
.locations-directory__control:hover { background:#111215; box-shadow:0 10px 20px rgba(22,24,27,.18); color:#ffc928; transform:translateY(-2px); }
.locations-directory__control:focus-visible { outline:3px solid #111215; outline-offset:3px; }

/* The outlined video link fills with the brand color on hover. */
.city-video__gallery-link { background:transparent; color:#ffc928; }
.city-video__gallery-link:hover { background:#ffc928; box-shadow:0 7px 18px rgba(255,201,40,.2); color:#111215; }
.city-video .seo-eyebrow { color:#ffc928; font-weight:900; opacity:1; text-shadow:0 1px 10px rgba(255,201,40,.22); }

/* Local FAQ cards: a compact, readable accordion with brand feedback. */
.city-faq__list { gap:.8rem; }
.city-faq details { overflow:hidden; border-color:#e2dac8; border-radius:.6rem; box-shadow:0 2px 8px rgba(24,24,24,.025); transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.city-faq details:hover { border-color:#d6bd67; box-shadow:0 8px 18px rgba(24,24,24,.06); transform:translateY(-1px); }
.city-faq summary { display:flex; align-items:center; gap:.75rem; min-height:58px; padding:.85rem 1rem; list-style:none; }
.city-faq summary::-webkit-details-marker { display:none; }
.city-faq summary::before { display:grid; width:1.65rem; height:1.65rem; flex:0 0 1.65rem; place-items:center; border-radius:50%; background:#FFC928; color:#111215; content:'+'; font-size:1.05rem; font-weight:900; line-height:1; }
.city-faq details[open] { border-color:#ffc928; }
.city-faq details[open] summary { background:#fffaf0; }
.city-faq details[open] summary::before { background:#ffc928; color:#111215; content:'−'; }
.city-faq details p { margin:0; padding:0 1rem 1rem 3.4rem; color:#59616a; line-height:1.65; }

/* Keep local-page accents on the exact brand palette. */
.city-coverage__title { color:#ffc928 !important; }
.city-coverage__title i { background:#FFC928; color:#111215; }
.city-section-heading>a { border-color:#ffc928; color:#ffc928; }
.city-section-heading>a:hover { background:#ffc928; color:#111215; }
