* {
    box-sizing: border-box;
}

:root {
    --primary: #ef3f23;
    --primary-dark: #c92e16;
    --dark: #121212;
    --text: #262626;
    --muted: #717171;
    --border: #e7e7e7;
    --surface: #ffffff;
    --background: #f6f6f6;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--text);
    background: var(--background);
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
}

.container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.site-header {
    background: white;
    border-bottom: 1px solid var(--border);
}

.topbar {
    background: var(--dark);
    color: white;
}

.header-inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.brand {
    font-size: 32px;
    font-weight: 900;
    letter-spacing: -2px;
}

.brand span {
    color: var(--primary);
}

.city-label {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    opacity: .85;
}

.main-nav {
    background: white;
    overflow-x: auto;
}

.nav-inner {
    display: flex;
    gap: 30px;
    min-height: 48px;
    align-items: center;
    white-space: nowrap;
}

.nav-inner a {
    font-weight: 700;
    font-size: 14px;
}

.nav-inner a:hover {
    color: var(--primary);
}

.hero {
    background: white;
    border-bottom: 1px solid var(--border);
}

.hero-inner {
    padding: 38px 0 34px;
}

.eyebrow {
    color: var(--primary);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 8px;
}

.hero h1 {
    max-width: 760px;
    font-size: clamp(34px, 5vw, 58px);
    line-height: .98;
    letter-spacing: -2px;
    margin: 0;
}

.hero p {
    max-width: 720px;
    margin: 18px 0 0;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.55;
}

.section {
    padding: 42px 0;
}

.section + .section {
    padding-top: 10px;
}

.section-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.section-title {
    margin: 0;
    font-size: 28px;
    letter-spacing: -1px;
}

.section-link {
    color: var(--primary);
    font-size: 14px;
    font-weight: 800;
}

.grid {
    display: grid;
    gap: 18px;
}

.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

.card {
    background: white;
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
}

.card-body {
    padding: 18px;
}

.card-image,
.image-placeholder {
    aspect-ratio: 16 / 9;
    width: 100%;
    object-fit: cover;
    background:
        linear-gradient(
            135deg,
            #ededed,
            #d9d9d9
        );
}

.card-category {
    color: var(--primary);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.card-title {
    margin: 0;
    font-size: 20px;
    line-height: 1.15;
    letter-spacing: -.4px;
}

.card-title a:hover {
    color: var(--primary);
}

.card-text {
    color: var(--muted);
    line-height: 1.5;
    font-size: 14px;
}

.card-meta {
    margin-top: 14px;
    font-size: 12px;
    color: var(--muted);
}

.price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 12px 0;
}

.price-current {
    font-size: 25px;
    font-weight: 900;
    color: var(--primary);
}

.price-old {
    color: var(--muted);
    text-decoration: line-through;
}

.empty-state {
    background: white;
    border: 1px dashed #d5d5d5;
    border-radius: 12px;
    padding: 30px;
    color: var(--muted);
}

.list {
    display: grid;
    gap: 14px;
}

.list-item {
    background: white;
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 18px;
}

.list-item h2,
.list-item h3 {
    margin: 0 0 8px;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    color: white;
    font-weight: 800;
    border-radius: 8px;
    padding: 12px 18px;
}

.button:hover {
    background: var(--primary-dark);
}

.button-secondary {
    background: var(--dark);
}

.article {
    background: white;
}

.article-header {
    max-width: 850px;
    padding: 50px 0 25px;
}

.article-header h1 {
    margin: 0;
    font-size: clamp(36px, 5vw, 64px);
    letter-spacing: -2px;
    line-height: 1.02;
}

.article-deck {
    color: var(--muted);
    font-size: 21px;
    line-height: 1.5;
}

.article-body {
    max-width: 760px;
    padding-bottom: 60px;
    font-size: 19px;
    line-height: 1.75;
}

.article-body p {
    margin: 0 0 22px;
}

.business-header,
.offer-header,
.event-header {
    padding: 40px 0;
}

.detail-box {
    background: white;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 20px;
}

.tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tag {
    display: inline-flex;
    background: #f0f0f0;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 12px;
    font-weight: 700;
}

.pagination-wrapper {
    margin-top: 28px;
}

.site-footer {
    margin-top: 50px;
    background: var(--dark);
    color: white;
}

.footer-inner {
    min-height: 120px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    font-size: 14px;
}

.footer-inner strong {
    font-size: 24px;
}

@media (max-width: 900px) {
    .grid-3,
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .container {
        width: min(100% - 22px, 1180px);
    }

    .header-inner {
        min-height: 62px;
    }

    .brand {
        font-size: 28px;
    }

    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr;
    }

    .hero-inner {
        padding: 28px 0;
    }

    .section {
        padding: 30px 0;
    }

    .footer-inner {
        padding: 28px 0;
        align-items: flex-start;
        flex-direction: column;
    }
}


.article-hero {
    max-width: 980px;
    margin: 0 0 32px;
}

.article-hero img {
    width: 100%;
    max-height: 620px;
    object-fit: cover;
    border-radius: 12px;
    background: #efefef;
}

.article-hero figcaption {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 20px;
    margin-top: 9px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}

.article-hero figcaption small {
    color: var(--muted);
}

@media (max-width: 640px) {
    .article-hero {
        margin-bottom: 24px;
    }

    .article-hero img {
        border-radius: 8px;
    }

    .article-hero figcaption {
        display: grid;
    }
}


.card-image-credit {
    padding: 7px 10px;
    border-top: 1px solid var(--border);
    background: #fafafa;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.35;
}

.card-image-credit a,
.media-credit a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.card-image-credit a:hover,
.media-credit a:hover {
    color: var(--primary);
}


.card-image-credit {
    padding: 7px 10px;
    border-top: 1px solid var(--border);
    background: #fafafa;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.35;
}

.card-image-credit a,
.media-credit a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.card-image-credit a:hover,
.media-credit a:hover {
    color: var(--primary);
}


/* Panfleteria Digital */

.panfleteria-hero {
    padding-top: 64px;
    padding-bottom: 32px;
}

.panfleteria-hero h1 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(38px, 6vw, 72px);
    line-height: .98;
    letter-spacing: -2.5px;
}

.panfleteria-lead {
    max-width: 760px;
    margin: 24px 0 0;
    color: var(--muted);
    font-size: 20px;
    line-height: 1.55;
}

.panfleteria-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.panfleteria-steps article {
    padding: 24px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: white;
}

.panfleteria-steps article > span {
    display: inline-flex;
    margin-bottom: 22px;
    color: var(--accent);
    font-size: 12px;
    font-weight: 900;
}

.panfleteria-steps h2 {
    margin: 0 0 10px;
    font-size: 20px;
}

.panfleteria-steps p,
.panfleteria-note p {
    color: var(--muted);
    line-height: 1.6;
}

.panfleteria-note {
    margin-top: 18px;
}

@media (max-width: 900px) {
    .panfleteria-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 580px) {
    .panfleteria-steps {
        grid-template-columns: 1fr;
    }

    .panfleteria-lead {
        font-size: 17px;
    }
}


/* Guide commercial plan badges */

.guide-plan-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 6px 0 10px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}


/* Public portal & commercial MVP v2 */

:root {
    --ink: #151515;
    --soft-ink: #3c3c3c;
    --offer: #ffe600;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    box-shadow: 0 1px 0 rgba(0,0,0,.05);
}

.header-inner {
    min-height: 68px;
    gap: 18px;
}

.header-city {
    display: grid;
    gap: 2px;
    margin-right: auto;
    padding-left: 18px;
    border-left: 1px solid rgba(255,255,255,.2);
}

.header-city span {
    color: #aaa;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.header-city strong {
    font-size: 13px;
}

.header-commercial-link {
    padding: 9px 13px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.header-commercial-link:hover {
    background: #fff;
    color: #111;
}

.portal-kicker {
    background: #fff;
    border-bottom: 1px solid var(--border);
}

.portal-kicker-inner {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 0;
    font-size: 12px;
}

.portal-kicker-inner span {
    color: var(--primary);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.portal-kicker-inner strong {
    color: var(--muted);
}

.section-tight {
    padding: 30px 0;
}

.news-front-grid {
    display: grid;
    grid-template-columns: minmax(0,1.65fr) minmax(300px,.85fr);
    gap: 28px;
}

.lead-story {
    padding-right: 28px;
    border-right: 1px solid var(--border);
}

.story-media,
.news-index-lead-media,
.news-list-media,
.side-story-media {
    display: block;
    overflow: hidden;
    background: #e8e8e8;
}

.story-media {
    aspect-ratio: 16/9;
    margin-bottom: 18px;
}

.story-media img,
.news-index-lead-media img,
.news-list-media img,
.side-story-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.story-placeholder {
    width: 100%;
    height: 100%;
    min-height: 120px;
    background: linear-gradient(135deg,#dedede,#f2f2f2);
}

.news-label,
.section-overline {
    color: var(--primary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.lead-story h1 {
    margin: 8px 0 10px;
    font-size: clamp(30px,4vw,48px);
    line-height: 1.02;
    letter-spacing: -1.6px;
}

.lead-story p,
.news-index-lead p,
.news-list-item p {
    color: var(--muted);
    line-height: 1.55;
}

.lead-story time,
.side-story time,
.news-index-lead time,
.news-list-item time {
    color: #8a8a8a;
    font-size: 11px;
}

.news-side-list {
    display: grid;
}

.side-story {
    display: grid;
    grid-template-columns: 1fr 108px;
    gap: 14px;
    align-items: start;
    padding: 0 0 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--border);
}

.side-story h2 {
    margin: 6px 0 8px;
    font-size: 18px;
    line-height: 1.15;
}

.side-story-media {
    aspect-ratio: 1/1;
    border-radius: 4px;
}

.offer-strip {
    padding: 32px 0;
    background: #171717;
    color: #fff;
}

.offer-strip .section-title {
    color: #fff;
}

.offer-strip .section-overline,
.offer-strip .section-link {
    color: var(--offer);
}

.offer-strip-grid,
.offers-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 14px;
}

.offers-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px;
}

.offer-card {
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
    color: var(--ink);
}

.offer-card-large {
    border: 1px solid var(--border);
}

.offer-card-media {
    position: relative;
    display: block;
    aspect-ratio: 1/1;
    overflow: hidden;
    background: #eee;
}

.offer-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.offer-placeholder {
    display: grid;
    place-content: center;
    gap: 4px;
    width: 100%;
    height: 100%;
    min-height: 220px;
    padding: 24px;
    background:
        radial-gradient(circle at top right,#ff6a4d,transparent 45%),
        linear-gradient(135deg,#171717,#343434);
    color: #fff;
    text-align: center;
}

.offer-placeholder span {
    color: var(--offer);
    font-size: 22px;
    font-weight: 900;
}

.offer-card-body {
    padding: 15px;
}

.offer-advertiser {
    display: block;
    color: var(--primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.offer-card h2,
.offer-card h3 {
    margin: 7px 0 9px;
    font-size: 19px;
    line-height: 1.15;
}

.offer-card p {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.offer-card-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 7px;
}

.offer-card-price strong {
    font-size: 23px;
}

.offer-card-price span {
    color: var(--muted);
    font-size: 12px;
    text-decoration: line-through;
}

.discount-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 7px 9px;
    border-radius: 7px;
    background: var(--offer);
    color: #111;
    font-size: 13px;
    font-weight: 900;
}

.discount-badge-large {
    padding: 10px 12px;
    font-size: 18px;
}

.offer-card-footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: end;
    margin-top: 14px;
}

.offer-card-cta {
    color: var(--primary);
    font-size: 11px;
    font-weight: 900;
}

.news-card-grid,
.city-services-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
}

.news-card {
    padding: 20px 0;
    border-top: 3px solid #111;
}

.news-card h3 {
    margin: 8px 0;
    font-size: 21px;
    line-height: 1.18;
}

.news-card p {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.city-service-card {
    display: grid;
    gap: 8px;
    min-height: 190px;
    padding: 24px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}

.city-service-card span {
    color: var(--primary);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.city-service-card strong {
    font-size: 23px;
    line-height: 1.08;
}

.city-service-card small {
    align-self: end;
    color: var(--muted);
}

.city-service-card-commercial {
    background: #111;
    color: #fff;
    border-color: #111;
}

.city-service-card-commercial span {
    color: var(--offer);
}

.page-head,
.offers-hero {
    background: #fff;
    border-bottom: 1px solid var(--border);
}

.page-head-inner,
.offers-hero-inner {
    padding: 38px 0;
}

.page-head h1,
.offers-hero h1 {
    margin: 5px 0 10px;
    font-size: clamp(36px,5vw,56px);
    line-height: 1;
    letter-spacing: -2px;
}

.page-head p,
.offers-hero p {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.55;
}

.news-index-lead {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 26px;
    padding-bottom: 28px;
    border-bottom: 3px solid #111;
}

.news-index-lead-media,
.news-list-media {
    aspect-ratio: 16/9;
}

.news-index-lead h2 {
    margin: 8px 0 10px;
    font-size: clamp(28px,4vw,42px);
    line-height: 1.05;
}

.news-list-item {
    display: grid;
    grid-template-columns: 1fr 250px;
    gap: 28px;
    padding: 24px 0;
    border-bottom: 1px solid var(--border);
}

.news-list-item h2 {
    margin: 7px 0 8px;
    font-size: 24px;
    line-height: 1.12;
}

.offers-hero-inner {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: end;
}

.button-dark {
    background: #111;
}

.button-light {
    background: #fff;
    color: #111;
}

.offer-landing {
    padding: 34px 0 60px;
    background: #fff;
}

.offer-sponsored-label {
    margin-bottom: 14px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.offer-landing-grid {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr);
    gap: 42px;
}

.offer-landing-media {
    position: sticky;
    top: 132px;
    overflow: hidden;
    border-radius: 14px;
    background: #eee;
}

.offer-landing-media > img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.offer-placeholder-detail {
    min-height: 560px;
}

.offer-landing-content h1 {
    margin: 8px 0 14px;
    font-size: clamp(34px,5vw,56px);
    line-height: 1;
    letter-spacing: -1.7px;
}

.offer-lead {
    color: var(--muted);
    font-size: 18px;
    line-height: 1.55;
}

.offer-price-block {
    display: grid;
    gap: 3px;
    margin: 24px 0;
}

.offer-price-block > span {
    color: var(--muted);
    text-decoration: line-through;
}

.offer-price-block > strong {
    color: var(--primary);
    font-size: clamp(38px,5vw,54px);
}

.coupon-box {
    display: flex;
    gap: 10px;
    width: fit-content;
    margin: 18px 0;
    padding: 10px 13px;
    border: 1px dashed #bdbdbd;
    border-radius: 8px;
}

.offer-main-cta {
    width: 100%;
    min-height: 54px;
    font-size: 16px;
}

.offer-cta-note,
.offer-validity {
    color: var(--muted);
    font-size: 11px;
    line-height: 1.45;
}

.offer-description {
    max-width: 760px;
    margin-top: 52px;
    padding-top: 28px;
    border-top: 1px solid var(--border);
}

.offer-description-copy {
    color: var(--soft-ink);
    font-size: 16px;
    line-height: 1.7;
}

.offer-business-box {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin-top: 32px;
    padding: 22px;
    border-radius: 12px;
    background: #f3f3f3;
}

.commercial-hero {
    padding: 70px 0;
    background: #101010;
    color: #fff;
}

.commercial-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 50px;
    align-items: center;
}

.commercial-hero h1 {
    margin: 7px 0 18px;
    font-size: clamp(42px,6vw,72px);
    line-height: .97;
    letter-spacing: -2.5px;
}

.commercial-hero p {
    color: #c5c5c5;
    font-size: 18px;
    line-height: 1.6;
}

.commercial-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.commercial-primary-cta {
    background: var(--offer);
    color: #111;
}

.commercial-dashboard-preview {
    padding: 22px;
    border: 1px solid #333;
    border-radius: 16px;
    background: #181818;
}

.commercial-dashboard-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

.commercial-metric-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.commercial-metric-grid article {
    padding: 16px;
    border-radius: 10px;
    background: #242424;
}

.commercial-metric-grid span,
.commercial-metric-grid strong {
    display: block;
}

.commercial-metric-grid span {
    color: #9d9d9d;
    font-size: 10px;
}

.commercial-metric-grid strong {
    margin-top: 6px;
    font-size: 26px;
}

.commercial-dashboard-preview > p {
    color: #777;
    font-size: 10px;
}

.commercial-delivery-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 14px;
}

.commercial-delivery-grid article {
    min-height: 230px;
    padding: 23px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}

.commercial-delivery-grid article > span {
    color: var(--primary);
    font-size: 12px;
    font-weight: 900;
}

.commercial-delivery-grid h3 {
    margin: 24px 0 9px;
}

.commercial-flow-section {
    background: #e9e9e5;
}

.commercial-flow-grid {
    display: grid;
    grid-template-columns: .6fr 1.4fr;
    gap: 40px;
    align-items: center;
}

.commercial-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.commercial-flow span {
    padding: 12px 14px;
    border-radius: 999px;
    background: #fff;
    font-size: 12px;
    font-weight: 800;
}

.commercial-offer-box {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: center;
    padding: 34px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--border);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 40px;
}

.footer-brand {
    font-size: 28px;
}

.footer-brand span {
    color: var(--primary);
}

.footer-links {
    display: flex;
    gap: 18px;
    color: #ccc;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 980px) {
    .news-front-grid,
    .offer-landing-grid,
    .commercial-hero-grid,
    .commercial-flow-grid {
        grid-template-columns: 1fr;
    }

    .lead-story {
        padding-right: 0;
        border-right: 0;
    }

    .news-side-list {
        grid-template-columns: 1fr 1fr;
        gap: 18px;
    }

    .offer-strip-grid,
    .offers-grid,
    .commercial-delivery-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .offer-landing-media {
        position: static;
    }
}

@media (max-width: 720px) {
    .header-city {
        display: none;
    }

    .header-commercial-link {
        margin-left: auto;
        font-size: 10px;
    }

    .portal-kicker-inner {
        display: grid;
        gap: 4px;
    }

    .news-side-list,
    .offer-strip-grid,
    .offers-grid,
    .news-card-grid,
    .city-services-grid,
    .commercial-delivery-grid {
        grid-template-columns: 1fr;
    }

    .side-story {
        grid-template-columns: 1fr 92px;
    }

    .news-index-lead {
        grid-template-columns: 1fr;
    }

    .news-list-item {
        grid-template-columns: 1fr 110px;
        gap: 15px;
    }

    .news-list-item p {
        display: none;
    }

    .offers-hero-inner,
    .offer-business-box,
    .commercial-offer-box {
        align-items: flex-start;
        flex-direction: column;
    }

    .offer-placeholder-detail {
        min-height: 360px;
    }

    .commercial-hero {
        padding: 48px 0;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-links {
        flex-wrap: wrap;
    }
}


/* Article monetization */

.article-reading-grid {
    display: grid;
    grid-template-columns: minmax(0, 760px);
    gap: 44px;
    align-items: start;
    max-width: 1120px;
}

.article-reading-grid.has-sidebar {
    grid-template-columns: minmax(0, 760px) minmax(260px, 320px);
}

.article-reading-main {
    min-width: 0;
}

.article-monetization-sidebar {
    position: sticky;
    top: 24px;
}

.monetization-slot {
    width: 100%;
    margin: 28px 0;
    padding: 12px 0;
    clear: both;
}

.monetization-label {
    margin-bottom: 7px;
    color: #858585;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
}

.monetization-google {
    min-height: 90px;
    padding: 8px;
    border: 1px solid #ededed;
    border-radius: 4px;
    background: #fafafa;
}

.monetization-slot-article_top,
.monetization-slot-article_after_hero,
.monetization-slot-article_end {
    max-width: 970px;
}

.article-body .monetization-slot {
    margin: 36px 0;
}

.native-ad-card {
    display: grid;
    grid-template-columns: minmax(160px, 34%) 1fr;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: box-shadow .18s ease, transform .18s ease;
}

.native-ad-card:hover {
    box-shadow: 0 12px 32px rgba(16, 24, 40, .09);
    transform: translateY(-1px);
}

.native-ad-image {
    width: 100%;
    height: 100%;
    min-height: 150px;
    object-fit: cover;
    background: #f2f4f7;
}

.native-ad-content {
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 18px;
}

.native-ad-sponsor {
    color: #667085;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.native-ad-sponsor strong {
    color: #344054;
}

.native-ad-headline {
    color: #101828;
    font-size: 20px;
    line-height: 1.25;
}

.native-ad-content p {
    margin: 0;
    color: #667085;
    font-size: 13px;
    line-height: 1.5;
}

.native-ad-cta {
    justify-self: start;
    margin-top: 3px;
    padding: 8px 12px;
    border-radius: 7px;
    background: #111827;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

.monetization-device-mobile {
    display: none;
}

.article-monetization-sidebar .native-ad-card {
    grid-template-columns: 1fr;
}

.article-monetization-sidebar .native-ad-image {
    min-height: 170px;
}

.article-monetization-sidebar .native-ad-headline {
    font-size: 16px;
}

@media (max-width: 980px) {
    .article-reading-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .article-monetization-sidebar {
        position: static;
    }

    .monetization-device-desktop {
        display: none !important;
    }

    .monetization-device-mobile {
        display: block;
    }
}

@media (max-width: 640px) {
    .monetization-slot {
        margin: 24px 0;
    }

    .native-ad-card {
        grid-template-columns: 1fr;
    }

    .native-ad-image {
        min-height: 180px;
        max-height: 240px;
    }

    .native-ad-content {
        padding: 14px;
    }

    .native-ad-headline {
        font-size: 17px;
    }
}


/* =========================================================
   GO27 Public Portal Design v3
   Editorial density + local utility + mobile-first refinement
   ========================================================= */

:root {
    --go27-red: #ef3f23;
    --go27-red-dark: #c93219;
    --go27-yellow: #ffd900;
    --go27-ink: #111111;
    --go27-text: #262626;
    --go27-muted: #686868;
    --go27-line: #e5e5e5;
    --go27-soft: #f5f5f3;
    --go27-paper: #ffffff;
}

body {
    color: var(--go27-text);
    background: #f3f3f1;
    font-family:
        Arial,
        Helvetica,
        sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
    font-family:
        Arial,
        Helvetica,
        sans-serif;
}

.portal-header {
    position: sticky;
    top: 0;
    z-index: 60;
    border: 0;
    background: var(--go27-paper);
    box-shadow: 0 1px 0 rgba(0, 0, 0, .08);
}

.portal-brandbar {
    background: var(--go27-ink);
    color: #fff;
}

.portal-brandbar-inner {
    display: flex;
    align-items: center;
    min-height: 72px;
    gap: 18px;
}

.brand-go27 {
    display: inline-flex;
    align-items: baseline;
    flex: 0 0 auto;
    font-size: 36px;
    font-weight: 950;
    line-height: 1;
    letter-spacing: -2.8px;
}

.brand-go {
    color: #fff !important;
}

.brand-27 {
    color: var(--go27-red) !important;
}

.portal-city-lockup {
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 5px;
    align-items: baseline;
    margin-right: auto;
    padding-left: 18px;
    border-left: 1px solid rgba(255, 255, 255, .18);
}

.portal-city-lockup span {
    grid-column: 1 / -1;
    margin-bottom: 2px;
    color: #949494;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.portal-city-lockup strong {
    font-size: 14px;
}

.portal-city-lockup small {
    color: #aaa;
    font-size: 10px;
    font-weight: 800;
}

.portal-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.portal-header-guide,
.portal-header-commercial {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 13px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
}

.portal-header-guide {
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
}

.portal-header-commercial {
    background: var(--go27-red);
    color: #fff;
}

.portal-header-guide:hover {
    border-color: #fff;
}

.portal-header-commercial:hover {
    background: #ff5236;
}

.portal-nav {
    overflow-x: auto;
    background: #fff;
    border-bottom: 1px solid var(--go27-line);
    scrollbar-width: none;
}

.portal-nav::-webkit-scrollbar {
    display: none;
}

.portal-nav-inner {
    display: flex;
    align-items: stretch;
    min-height: 46px;
    gap: 2px;
    white-space: nowrap;
}

.portal-nav-inner a {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    color: #2d2d2d;
    font-size: 12px;
    font-weight: 800;
}

.portal-nav-inner a:first-child {
    padding-left: 0;
    padding-right: 18px;
}

.portal-nav-inner a:hover,
.portal-nav-inner a.active {
    color: var(--go27-red);
}

.portal-nav-inner a.active::after {
    position: absolute;
    right: 14px;
    bottom: 0;
    left: 14px;
    height: 3px;
    background: var(--go27-red);
    content: "";
}

.portal-nav-inner a:first-child.active::after {
    left: 0;
}

.portal-nav-commercial {
    margin-left: auto;
    color: #111 !important;
}

.city-dateline {
    background: var(--go27-paper);
    border-bottom: 1px solid var(--go27-line);
}

.city-dateline-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    min-height: 64px;
}

.city-dateline-inner > div:first-child {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 15px;
}

.city-dateline-inner > div:first-child span {
    color: var(--go27-red);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.city-dateline-inner > div:first-child strong {
    color: var(--go27-muted);
    font-size: 12px;
    font-weight: 700;
}

.city-dateline-links {
    display: flex;
    gap: 18px;
    font-size: 11px;
    font-weight: 800;
}

.city-dateline-links a:hover {
    color: var(--go27-red);
}

.home-lead,
.news-index-page,
.home-agenda,
.home-more-news,
.home-city-services {
    background: var(--go27-paper);
}

.home-lead {
    padding: 28px 0 32px;
}

.home-lead-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.72fr)
        minmax(300px, .88fr);
    gap: 30px;
}

.home-main-story {
    padding-right: 30px;
    border-right: 1px solid var(--go27-line);
}

.home-main-media {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #e9e9e7;
}

.home-main-media img,
.home-rail-media img,
.home-more-media img,
.news-index-feature-media img,
.news-index-row-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.home-main-media:hover img,
.home-rail-media:hover img,
.home-more-media:hover img,
.news-index-feature-media:hover img,
.news-index-row-media:hover img {
    transform: scale(1.015);
}

.portal-image-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    min-height: 180px;
    background:
        linear-gradient(
            135deg,
            #e9e9e7 0%,
            #f6f6f4 100%
        );
}

.portal-image-placeholder span {
    color: #c1c1bd;
    font-size: 26px;
    font-weight: 950;
    letter-spacing: -2px;
}

.portal-image-placeholder.compact {
    min-height: 90px;
}

.portal-image-placeholder.compact span {
    font-size: 20px;
}

.home-main-copy {
    padding-top: 17px;
}

.portal-label {
    color: var(--go27-red);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.home-main-copy h1 {
    max-width: 850px;
    margin: 7px 0 10px;
    color: var(--go27-ink);
    font-size: clamp(34px, 4.3vw, 54px);
    font-weight: 900;
    letter-spacing: -1.9px;
    line-height: 1.01;
}

.home-main-copy h1 a:hover,
.home-rail-story h2 a:hover,
.home-more-card h3 a:hover,
.news-index-feature h2 a:hover,
.news-index-row h2 a:hover {
    color: var(--go27-red);
}

.home-main-copy p {
    max-width: 790px;
    margin: 0 0 13px;
    color: var(--go27-muted);
    font-size: 16px;
    line-height: 1.5;
}

.home-main-copy time,
.home-rail-story time,
.home-more-card time,
.news-index-feature time,
.news-index-row time {
    color: #8a8a8a;
    font-size: 10px;
}

.home-news-rail {
    min-width: 0;
}

.home-rail-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 11px;
    border-bottom: 3px solid var(--go27-ink);
}

.home-rail-heading span {
    color: var(--go27-red);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-rail-heading strong {
    font-size: 18px;
    letter-spacing: -.4px;
}

.home-rail-story {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 106px;
    gap: 13px;
    align-items: start;
    padding: 15px 0;
    border-bottom: 1px solid var(--go27-line);
}

.home-rail-story h2 {
    margin: 5px 0 8px;
    color: var(--go27-ink);
    font-size: 17px;
    line-height: 1.13;
    letter-spacing: -.2px;
}

.home-rail-media {
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: 3px;
    background: #ececea;
}

.portal-inline-link {
    display: inline-flex;
    margin-top: 14px;
    color: var(--go27-red);
    font-size: 11px;
    font-weight: 900;
}

.local-shortcuts {
    padding: 0 0 30px;
    background: var(--go27-paper);
    border-bottom: 1px solid var(--go27-line);
}

.local-shortcuts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid var(--go27-line);
    background: #fff;
}

.local-shortcuts-grid > a {
    display: grid;
    gap: 5px;
    min-height: 118px;
    padding: 18px 20px;
    border-right: 1px solid var(--go27-line);
}

.local-shortcuts-grid > a:last-child {
    border-right: 0;
}

.local-shortcuts-grid > a:hover {
    background: #fafaf8;
}

.local-shortcuts-grid span {
    color: var(--go27-red);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.local-shortcuts-grid strong {
    color: var(--go27-ink);
    font-size: 18px;
    line-height: 1.1;
}

.local-shortcuts-grid small {
    align-self: end;
    color: var(--go27-muted);
    font-size: 11px;
    line-height: 1.4;
}

.portal-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 18px;
    padding-bottom: 10px;
    border-bottom: 3px solid var(--go27-ink);
}

.portal-section-heading > div > span {
    display: block;
    margin-bottom: 3px;
    color: var(--go27-red);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.portal-section-heading h2 {
    margin: 0;
    color: var(--go27-ink);
    font-size: 27px;
    line-height: 1.05;
    letter-spacing: -.8px;
}

.portal-section-heading > a {
    color: var(--go27-red);
    font-size: 11px;
    font-weight: 900;
}

.portal-section-heading-light {
    border-color: rgba(255, 255, 255, .7);
}

.portal-section-heading-light h2 {
    color: #fff;
}

.portal-section-heading-light > div > span,
.portal-section-heading-light > a {
    color: var(--go27-yellow);
}

.home-offers {
    padding: 30px 0 34px;
    background: #151515;
    color: #fff;
}

.home-offers-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
}

.home-offer-card {
    overflow: hidden;
    border-radius: 9px;
    background: #fff;
    color: var(--go27-ink);
}

.home-offer-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #eee;
}

.home-offer-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-offer-copy {
    padding: 13px;
}

.home-offer-copy > span {
    display: block;
    color: var(--go27-red);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.home-offer-copy h3 {
    margin: 6px 0 11px;
    font-size: 16px;
    line-height: 1.15;
}

.home-offer-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 7px;
}

.home-offer-price strong {
    font-size: 21px;
}

.home-offer-price small {
    color: #888;
    font-size: 10px;
    text-decoration: line-through;
}

.home-agenda,
.home-more-news,
.home-city-services {
    padding: 34px 0;
}

.home-agenda {
    border-bottom: 1px solid var(--go27-line);
}

.home-agenda-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border: 1px solid var(--go27-line);
}

.home-event-card {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 12px;
    min-height: 132px;
    padding: 16px;
    border-right: 1px solid var(--go27-line);
    background: #fff;
}

.home-event-card:last-child {
    border-right: 0;
}

.home-event-card:hover {
    background: #fafaf8;
}

.home-event-date {
    display: grid;
    align-content: center;
    align-self: start;
    min-height: 60px;
    border: 1px solid var(--go27-line);
    text-align: center;
}

.home-event-date strong {
    color: var(--go27-red);
    font-size: 25px;
    line-height: 1;
}

.home-event-date span {
    margin-top: 3px;
    color: var(--go27-muted);
    font-size: 9px;
    font-weight: 900;
}

.home-event-card h3 {
    margin: 6px 0 8px;
    color: var(--go27-ink);
    font-size: 16px;
    line-height: 1.15;
}

.home-event-card p {
    margin: 0;
    color: var(--go27-muted);
    font-size: 10px;
    line-height: 1.4;
}

.home-more-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.home-more-card {
    min-width: 0;
}

.home-more-media {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    margin-bottom: 13px;
    background: #ededeb;
}

.home-more-copy h3 {
    margin: 6px 0 8px;
    color: var(--go27-ink);
    font-size: 20px;
    line-height: 1.12;
}

.home-more-copy p {
    margin: 0 0 10px;
    color: var(--go27-muted);
    font-size: 12px;
    line-height: 1.5;
}

.home-city-services {
    padding-top: 12px;
    padding-bottom: 50px;
}

.home-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.home-service-card {
    display: grid;
    gap: 8px;
    min-height: 188px;
    padding: 23px;
    border: 1px solid var(--go27-line);
    background: #fff;
}

.home-service-card:hover {
    border-color: #bdbdbd;
}

.home-service-card > span {
    color: var(--go27-red);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.home-service-card > strong {
    max-width: 280px;
    color: var(--go27-ink);
    font-size: 22px;
    line-height: 1.08;
}

.home-service-card > small {
    align-self: end;
    color: var(--go27-muted);
    font-size: 11px;
    line-height: 1.45;
}

.home-service-card.commercial {
    border-color: var(--go27-ink);
    background: var(--go27-ink);
    color: #fff;
}

.home-service-card.commercial > span {
    color: var(--go27-yellow);
}

.home-service-card.commercial > strong {
    color: #fff;
}

.home-service-card.commercial > small {
    color: #bbb;
}

/* News index v3 */

.news-page-head {
    background: #fff;
    border-bottom: 1px solid var(--go27-line);
}

.news-page-head-inner {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    padding: 34px 0 28px;
}

.news-page-head-inner > div > span {
    color: var(--go27-red);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.news-page-head h1 {
    margin: 4px 0 6px;
    color: var(--go27-ink);
    font-size: clamp(42px, 6vw, 64px);
    line-height: .95;
    letter-spacing: -2.5px;
}

.news-page-head p {
    max-width: 650px;
    margin: 0;
    color: var(--go27-muted);
    font-size: 15px;
    line-height: 1.5;
}

.news-page-guide-link {
    display: inline-flex;
    padding: 10px 13px;
    border: 1px solid var(--go27-line);
    color: var(--go27-ink);
    font-size: 10px;
    font-weight: 900;
}

.news-page-guide-link:hover {
    border-color: var(--go27-red);
    color: var(--go27-red);
}

.news-index-page {
    padding: 30px 0 50px;
}

.news-index-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr);
    gap: 28px;
    padding-bottom: 28px;
    border-bottom: 3px solid var(--go27-ink);
}

.news-index-feature-media {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #ededeb;
}

.news-index-feature-copy {
    align-self: center;
}

.news-index-feature h2 {
    margin: 7px 0 10px;
    color: var(--go27-ink);
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.03;
    letter-spacing: -1.2px;
}

.news-index-feature p {
    margin: 0 0 12px;
    color: var(--go27-muted);
    font-size: 14px;
    line-height: 1.5;
}

.news-index-list {
    max-width: 980px;
}

.news-index-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 30px;
    align-items: center;
    padding: 23px 0;
    border-bottom: 1px solid var(--go27-line);
}

.news-index-row h2 {
    margin: 6px 0 8px;
    color: var(--go27-ink);
    font-size: 23px;
    line-height: 1.1;
    letter-spacing: -.45px;
}

.news-index-row p {
    max-width: 650px;
    margin: 0 0 10px;
    color: var(--go27-muted);
    font-size: 13px;
    line-height: 1.5;
}

.news-index-row-media {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #ededeb;
}

.portal-pagination {
    max-width: 980px;
    margin-top: 28px;
}

/* Article reading v3 */

.article-v3 {
    background: #fff;
}

.article-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    max-width: 920px;
    padding-top: 22px;
    color: #868686;
    font-size: 10px;
    font-weight: 700;
}

.article-breadcrumb a:hover {
    color: var(--go27-red);
}

.article-header-v3 {
    max-width: 920px;
    padding: 24px 0 22px;
}

.article-category-label {
    margin-bottom: 8px;
}

.article-header-v3 h1 {
    max-width: 920px;
    margin: 0;
    color: var(--go27-ink);
    font-size: clamp(40px, 5.7vw, 68px);
    font-weight: 900;
    line-height: .99;
    letter-spacing: -2.3px;
}

.article-header-v3 .article-deck {
    max-width: 850px;
    margin: 16px 0 20px;
    color: #5f5f5f;
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1.46;
}

.article-meta-v3 {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    padding-top: 15px;
    border-top: 1px solid var(--go27-line);
}

.article-meta-v3 > div {
    display: grid;
    gap: 2px;
}

.article-meta-v3 span {
    color: #8a8a8a;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.article-meta-v3 strong {
    color: #333;
    font-size: 11px;
}

.article-local-mark {
    margin-left: auto;
    text-align: right;
}

.article-local-mark span {
    color: var(--go27-red);
}

.article-hero-v3 {
    max-width: 1040px;
    margin: 4px 0 28px;
}

.article-hero-v3 img {
    max-height: 660px;
    border-radius: 0;
}

.article-hero-v3 figcaption {
    max-width: 940px;
    margin-top: 8px;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--go27-line);
    font-size: 10px;
}

.article-reading-grid-v3 {
    max-width: 1140px;
    gap: 48px;
}

.article-body-v3 {
    max-width: 740px;
    padding-top: 8px;
    color: #252525;
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-size: 19px;
    line-height: 1.76;
}

.article-body-v3 p {
    margin: 0 0 24px;
}

.article-body-v3 h2 {
    margin: 38px 0 14px;
    color: var(--go27-ink);
    font-family:
        Arial,
        Helvetica,
        sans-serif;
    font-size: 28px;
    line-height: 1.08;
    letter-spacing: -.7px;
}

.article-body-v3 strong {
    color: #151515;
}

.article-body-v3 blockquote {
    margin: 30px 0;
    padding: 3px 0 3px 20px;
    border-left: 4px solid var(--go27-red);
    color: #444;
    font-size: 21px;
    font-style: italic;
    line-height: 1.55;
}

.article-body-v3 ul,
.article-body-v3 ol {
    margin: 0 0 25px;
    padding-left: 25px;
}

.article-body-v3 li {
    margin-bottom: 8px;
}

.article-transparency {
    max-width: 740px;
    margin: 15px 0 28px;
    padding: 18px 19px;
    border: 1px solid var(--go27-line);
    border-left: 4px solid var(--go27-red);
    background: #fafaf8;
}

.article-transparency > span {
    display: block;
    margin-bottom: 4px;
    color: var(--go27-red);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.article-transparency > strong {
    display: block;
    color: var(--go27-ink);
    font-size: 14px;
}

.article-transparency p {
    margin: 7px 0 10px;
    color: var(--go27-muted);
    font-size: 11px;
    line-height: 1.5;
}

.article-transparency a {
    color: var(--go27-red);
    font-size: 10px;
    font-weight: 900;
}

.article-end-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 740px;
    margin: 25px 0 8px;
    padding-top: 18px;
    border-top: 1px solid var(--go27-line);
}

.article-end-links a {
    display: inline-flex;
    padding: 9px 11px;
    border: 1px solid var(--go27-line);
    font-size: 10px;
    font-weight: 900;
}

.article-end-links a:hover {
    border-color: var(--go27-red);
    color: var(--go27-red);
}

/* Footer v3 */

.portal-footer {
    margin-top: 0;
    background: #111;
    color: #fff;
}

.portal-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) .55fr .55fr;
    gap: 50px;
    padding: 42px 0 34px;
}

.portal-footer-brand p {
    max-width: 470px;
    margin: 12px 0 0;
    color: #9e9e9e;
    font-size: 12px;
    line-height: 1.55;
}

.portal-footer-column {
    display: grid;
    align-content: start;
    gap: 9px;
}

.portal-footer-column > span {
    margin-bottom: 3px;
    color: #777;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.portal-footer-column a {
    color: #e5e5e5;
    font-size: 11px;
    font-weight: 700;
}

.portal-footer-column a:hover {
    color: var(--go27-red);
}

.portal-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 0 22px;
    border-top: 1px solid #252525;
    color: #707070;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

/* Responsive v3 */

@media (max-width: 980px) {
    .home-lead-grid,
    .news-index-feature {
        grid-template-columns: 1fr;
    }

    .home-main-story {
        padding-right: 0;
        border-right: 0;
    }

    .home-news-rail {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0 18px;
        padding-top: 5px;
        border-top: 3px solid var(--go27-ink);
    }

    .home-rail-heading,
    .home-news-rail > .portal-inline-link {
        grid-column: 1 / -1;
    }

    .home-rail-heading {
        border-bottom-width: 1px;
    }

    .home-offers-grid,
    .home-agenda-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .home-event-card:nth-child(2) {
        border-right: 0;
    }

    .home-event-card:nth-child(-n+2) {
        border-bottom: 1px solid var(--go27-line);
    }

    .portal-footer-grid {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 28px;
    }
}

@media (max-width: 760px) {
    .container {
        width: min(100% - 24px, 1180px);
    }

    .portal-brandbar-inner {
        min-height: 62px;
    }

    .brand-go27 {
        font-size: 31px;
    }

    .portal-city-lockup {
        padding-left: 13px;
    }

    .portal-city-lockup span {
        display: none;
    }

    .portal-city-lockup strong {
        font-size: 12px;
    }

    .portal-header-guide {
        display: none;
    }

    .portal-header-commercial {
        min-height: 32px;
        padding: 0 10px;
        font-size: 9px;
    }

    .portal-nav-inner {
        min-height: 42px;
    }

    .portal-nav-inner a {
        padding: 0 12px;
        font-size: 11px;
    }

    .portal-nav-inner a:first-child {
        padding-left: 0;
        padding-right: 14px;
    }

    .city-dateline-inner {
        display: grid;
        gap: 8px;
        padding: 12px 0;
    }

    .city-dateline-links {
        overflow-x: auto;
        gap: 14px;
        padding-bottom: 2px;
        white-space: nowrap;
        scrollbar-width: none;
    }

    .home-lead {
        padding: 18px 0 24px;
    }

    .home-main-copy h1 {
        font-size: clamp(31px, 9vw, 44px);
        letter-spacing: -1.4px;
    }

    .home-main-copy p {
        font-size: 14px;
    }

    .home-news-rail {
        grid-template-columns: 1fr;
        margin-top: 22px;
        padding-top: 0;
    }

    .home-rail-heading,
    .home-news-rail > .portal-inline-link {
        grid-column: 1;
    }

    .home-rail-story {
        grid-template-columns: 1fr 92px;
    }

    .local-shortcuts-grid,
    .home-more-grid,
    .home-services-grid {
        grid-template-columns: 1fr;
    }

    .local-shortcuts-grid > a {
        min-height: 94px;
        border-right: 0;
        border-bottom: 1px solid var(--go27-line);
    }

    .local-shortcuts-grid > a:last-child {
        border-bottom: 0;
    }

    .home-offers-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 9px;
    }

    .home-offer-copy h3 {
        font-size: 14px;
    }

    .home-offer-price strong {
        font-size: 18px;
    }

    .home-agenda-grid {
        grid-template-columns: 1fr;
    }

    .home-event-card,
    .home-event-card:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid var(--go27-line);
    }

    .home-event-card:last-child {
        border-bottom: 0;
    }

    .portal-section-heading {
        align-items: flex-start;
    }

    .portal-section-heading h2 {
        font-size: 24px;
    }

    .home-more-card {
        display: grid;
        grid-template-columns: 118px 1fr;
        gap: 13px;
        padding-bottom: 16px;
        border-bottom: 1px solid var(--go27-line);
    }

    .home-more-media {
        margin-bottom: 0;
        aspect-ratio: 1 / 1;
    }

    .home-more-copy h3 {
        font-size: 17px;
    }

    .home-more-copy p {
        display: none;
    }

    .news-page-head-inner {
        display: grid;
        padding: 27px 0 23px;
    }

    .news-page-head h1 {
        font-size: 46px;
    }

    .news-page-guide-link {
        justify-self: start;
    }

    .news-index-page {
        padding-top: 18px;
    }

    .news-index-feature {
        gap: 15px;
    }

    .news-index-feature h2 {
        font-size: 31px;
    }

    .news-index-row {
        grid-template-columns: minmax(0, 1fr) 104px;
        gap: 14px;
        padding: 18px 0;
    }

    .news-index-row h2 {
        font-size: 18px;
    }

    .news-index-row p {
        display: none;
    }

    .news-index-row-media {
        aspect-ratio: 1 / 1;
    }

    .article-breadcrumb {
        padding-top: 16px;
    }

    .article-header-v3 {
        padding-top: 18px;
    }

    .article-header-v3 h1 {
        font-size: clamp(36px, 10.7vw, 52px);
        letter-spacing: -1.6px;
    }

    .article-header-v3 .article-deck {
        margin: 13px 0 17px;
        font-size: 18px;
    }

    .article-meta-v3 {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 11px;
    }

    .article-local-mark {
        grid-column: 1 / -1;
        margin-left: 0;
        text-align: left;
    }

    .article-hero-v3 {
        width: calc(100% + 24px);
        margin-left: -12px;
    }

    .article-hero-v3 img {
        border-radius: 0;
    }

    .article-hero-v3 figcaption {
        margin-right: 12px;
        margin-left: 12px;
    }

    .article-reading-grid-v3 {
        gap: 0;
    }

    .article-body-v3 {
        font-size: 18px;
        line-height: 1.7;
    }

    .article-body-v3 h2 {
        margin-top: 32px;
        font-size: 25px;
    }

    .article-body-v3 blockquote {
        margin: 25px 0;
        font-size: 19px;
    }

    .portal-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 28px 18px;
        padding-top: 34px;
    }

    .portal-footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .portal-city-lockup small {
        display: none;
    }

    .portal-header-actions {
        margin-left: auto;
    }

    .home-offers-grid {
        grid-template-columns: 1fr 1fr;
    }

    .home-offer-card {
        border-radius: 6px;
    }

    .home-offer-copy {
        padding: 10px;
    }

    .portal-section-heading {
        display: grid;
        gap: 8px;
    }

    .article-meta-v3 {
        grid-template-columns: 1fr;
    }

    .article-local-mark {
        grid-column: auto;
    }

    .portal-footer-grid {
        grid-template-columns: 1fr;
    }

    .portal-footer-brand {
        grid-column: auto;
    }
}


/* Reference-led newsroom shell: dense portal hierarchy with GO27 identity */
.portal-networkbar {
    background: #111;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.portal-networkbar-inner {
    min-height: 32px;
    display: flex;
    align-items: center;
    gap: 18px;
}

.portal-networkbar-inner > span + span {
    padding-left: 18px;
    border-left: 1px solid rgba(255,255,255,.2);
}

.portal-networkbar-tagline {
    margin-left: auto;
    font-weight: 500;
    opacity: .72;
}

.portal-brandbar {
    border-bottom: 0;
}

.portal-brandbar-inner {
    min-height: 88px;
}

.brand-go27 {
    font-size: clamp(34px, 4vw, 48px);
    letter-spacing: -2.5px;
}

.portal-city-lockup {
    padding-left: 20px;
    border-left: 1px solid var(--go27-line);
}

.portal-nav {
    box-shadow: 0 2px 7px rgba(0,0,0,.08);
}

.portal-nav-shell {
    min-height: 48px;
    display: flex;
    align-items: center;
}

.portal-nav-menu,
.portal-nav-search {
    width: 42px;
    flex: 0 0 42px;
    text-align: center;
    font-size: 20px;
    color: inherit;
    text-decoration: none;
}

.portal-nav-menu {
    border-right: 1px solid rgba(255,255,255,.18);
}

.portal-nav-search {
    margin-left: auto;
    border-left: 1px solid rgba(255,255,255,.18);
}

.portal-nav-inner {
    flex: 1;
    justify-content: center;
}

.portal-breaking-strip {
    border-bottom: 1px solid var(--go27-line);
    background: #fff;
}

.portal-breaking-inner {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 13px;
    overflow: hidden;
}

.portal-breaking-inner strong {
    flex: 0 0 auto;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .08em;
}

.portal-breaking-inner a {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--go27-text);
    text-decoration: none;
    font-weight: 700;
}

.home-lead {
    padding-top: 26px;
}

.home-lead-grid {
    align-items: start;
}

.home-main-story {
    border-bottom: 3px solid var(--go27-text);
    padding-bottom: 22px;
}

.home-main-copy h1 {
    max-width: 900px;
    letter-spacing: -1.5px;
}

.home-news-rail {
    border-top: 4px solid var(--go27-text);
}

.home-rail-heading {
    padding-top: 10px;
}

.home-rail-story {
    padding: 17px 0;
}

.portal-ad-band {
    padding: 18px 0 8px;
}

.portal-ad-placeholder {
    min-height: 104px;
    display: grid;
    place-items: center;
    border: 1px solid var(--go27-line);
    background: #f7f7f7;
    color: #8a8a8a;
}

.portal-ad-placeholder span {
    font-size: 9px;
    letter-spacing: .16em;
}

.portal-section-heading {
    border-top: 4px solid var(--go27-text);
    padding-top: 12px;
}

.news-page-head {
    border-bottom: 1px solid var(--go27-line);
}

.news-index-feature {
    padding-bottom: 28px;
    border-bottom: 3px solid var(--go27-text);
}

.news-index-list {
    border-top: 0;
}

.article-header-v3 {
    max-width: 1020px;
}

.article-header-v3 h1 {
    max-width: 1000px;
}

.article-header-v3 .article-deck {
    max-width: 850px;
}

.article-reading-main {
    max-width: 760px;
}

@media (max-width: 760px) {
    .portal-networkbar-tagline {
        display: none;
    }

    .portal-networkbar-inner {
        gap: 10px;
    }

    .portal-networkbar-inner > span + span {
        padding-left: 10px;
    }

    .portal-brandbar-inner {
        min-height: 70px;
    }

    .portal-nav-shell {
        padding: 0;
    }

    .portal-nav-menu,
    .portal-nav-search {
        width: 38px;
        flex-basis: 38px;
    }

    .portal-nav-inner {
        justify-content: flex-start;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .portal-nav-inner::-webkit-scrollbar {
        display: none;
    }

    .portal-breaking-inner {
        min-height: 38px;
    }

    .portal-ad-placeholder {
        min-height: 76px;
    }
}


/* Panfleteria / offer landing contact channels */
.offer-contact-channels {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--go27-line);
}

.offer-contact-title {
    display: block;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.offer-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.offer-channel-button {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border: 1px solid var(--go27-line);
    border-radius: 8px;
    background: #fff;
    color: var(--go27-text);
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.offer-channel-button:hover {
    border-color: currentColor;
}

.offer-channel-whatsapp,
.offer-channel-delivery {
    background: var(--go27-text);
    border-color: var(--go27-text);
    color: #fff;
}

@media (max-width: 560px) {
    .offer-contact-grid {
        grid-template-columns: 1fr;
    }

    .offer-channel-button {
        width: 100%;
    }
}


/* Guia GO27 — directory discovery foundation */
.guide-hero{position:relative;padding:88px 0 42px;background:linear-gradient(120deg,#15181d,#303740);color:#fff;overflow:hidden}
.guide-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 20%,rgba(239,63,35,.28),transparent 34%);pointer-events:none}
.guide-hero-inner{position:relative;z-index:1}
.guide-hero-copy{max-width:720px;margin:0 auto 28px;text-align:center}
.guide-hero-copy h1{margin:8px 0 12px;font-size:clamp(34px,5vw,58px);line-height:1.02}
.guide-hero-copy p{margin:0;color:#d9dde3;font-size:17px}
.guide-search{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;max-width:1120px;margin:0 auto;padding:10px;background:#fff;border-radius:10px;box-shadow:0 18px 48px rgba(0,0,0,.24)}
.guide-search label{display:grid;gap:4px;padding:4px 14px;border-right:1px solid #e6e8eb}
.guide-search label span{color:#7b8088;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.guide-search input,.guide-search select{width:100%;border:0;background:transparent;color:#24282d;outline:0;min-height:34px}
.guide-search-button{border:0;border-radius:7px;padding:0 24px;background:#ef3f23;color:#fff;font-weight:800;cursor:pointer}
.guide-category-shortcuts{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:24px}
.guide-category-shortcuts a{padding:9px 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:12px;font-weight:700;backdrop-filter:blur(6px)}
.guide-directory{background:#f6f7f8}
.guide-results-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.guide-clear-search{font-size:13px;font-weight:800;color:#ef3f23}
.guide-listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.guide-listing-card{overflow:hidden;border:1px solid #e5e7ea;border-radius:10px;background:#fff;box-shadow:0 5px 20px rgba(22,28,35,.05)}
.guide-listing-media{position:relative;display:grid;place-items:center;min-height:170px;background:linear-gradient(135deg,#343a43,#20242a);color:#fff}
.guide-listing-media>span{font-size:54px;font-weight:900;opacity:.3}
.guide-listing-media>strong{position:absolute;top:12px;left:12px;padding:6px 9px;border-radius:5px;background:#ef3f23;font-size:10px;text-transform:uppercase}
.guide-listing-body{padding:17px}
.guide-listing-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#ef3f23;font-size:11px;font-weight:800;text-transform:uppercase}
.guide-listing-meta em{font-style:normal;color:#7c8189}
.guide-listing-body h3{margin:8px 0;font-size:19px}
.guide-listing-body p{min-height:42px;margin:0 0 14px;color:#6d7279;font-size:13px;line-height:1.55}
.guide-listing-body footer{display:flex;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #eceef0;color:#7c8189;font-size:12px}
.guide-listing-body footer a{color:#24282d;font-weight:800}
.guide-business-cta{padding:34px 0;background:#ef3f23;color:#fff}
.guide-business-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.guide-business-cta span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.guide-business-cta h2{max-width:720px;margin:6px 0 0;font-size:25px}
.guide-business-cta a{flex:0 0 auto;padding:11px 18px;border-radius:6px;background:#fff;color:#222;font-weight:800}
@media(max-width:900px){.guide-hero{padding:58px 0 32px}.guide-search{grid-template-columns:1fr;padding:8px}.guide-search label{border-right:0;border-bottom:1px solid #e6e8eb;padding:8px 10px}.guide-search-button{min-height:48px}.guide-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.guide-hero-copy{text-align:left}.guide-hero-copy h1{font-size:36px}.guide-category-shortcuts{justify-content:flex-start}.guide-listing-grid{grid-template-columns:1fr}.guide-results-head,.guide-business-cta-inner{align-items:flex-start;flex-direction:column}.guide-listing-media{min-height:145px}}


/* Guia GO27 — directory experience inspired by TownHub structure */
.guide-th-hero{position:relative;min-height:570px;display:grid;align-items:center;overflow:hidden;background:linear-gradient(120deg,#1c2529,#31434a);color:#fff}
.guide-th-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(239,63,35,.26),transparent 35%),linear-gradient(120deg,rgba(0,0,0,.08),rgba(0,0,0,.35))}
.guide-th-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.02),rgba(0,0,0,.18))}
.guide-th-hero-inner{position:relative;z-index:2;padding:88px 0 66px;text-align:center}
.guide-th-kicker{margin-bottom:13px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.guide-th-hero h1{margin:0;font-size:clamp(44px,6vw,70px);line-height:1;letter-spacing:-2.5px}
.guide-th-hero> .container p,.guide-th-hero-inner>p{margin:17px auto 30px;max-width:650px;color:rgba(255,255,255,.82);font-size:18px}
.guide-th-search{display:grid;grid-template-columns:1.15fr .85fr .85fr auto;max-width:1040px;margin:0 auto;background:#fff;border-radius:7px;box-shadow:0 14px 38px rgba(0,0,0,.2);text-align:left}
.guide-th-search label{display:grid;gap:4px;padding:13px 17px;border-right:1px solid #eee}
.guide-th-search label span{color:#9a9a9a;font-size:10px;font-weight:800;text-transform:uppercase}
.guide-th-search input,.guide-th-search select{width:100%;border:0;outline:0;background:transparent;color:#333;font:inherit;font-size:13px}
.guide-th-search button{min-width:112px;border:0;border-radius:0 7px 7px 0;background:var(--primary);color:#fff;font-weight:900;cursor:pointer}
.guide-th-category-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin-top:27px;font-size:12px}
.guide-th-category-row>span{color:rgba(255,255,255,.68)}
.guide-th-category-row a{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(0,0,0,.13)}
.guide-th-category-row a:hover{background:#fff;color:#222}
.guide-th-section,.guide-th-categories{padding:58px 0}
.guide-th-section{background:#f7f7f8}
.guide-th-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}
.guide-th-section-head span{color:var(--primary);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.guide-th-section-head h2{margin:6px 0 0;font-size:30px;letter-spacing:-1px}
.guide-th-section-head>a{color:var(--primary);font-size:12px;font-weight:800}
.guide-th-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.guide-th-card{overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.065)}
.guide-th-card-media{position:relative;display:grid;place-items:center;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#3b4b52,#172126)}
.guide-th-card-letter{color:rgba(255,255,255,.22);font-size:88px;font-weight:900}
.guide-th-card-media em{position:absolute;left:14px;top:14px;padding:7px 10px;border-radius:4px;background:var(--primary);color:#fff;font-size:10px;font-style:normal;font-weight:900;text-transform:uppercase}
.guide-th-card-favorite{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;color:#333;font-size:18px}
.guide-th-card-body{padding:18px}
.guide-th-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--primary);font-size:10px;font-weight:900;text-transform:uppercase}
.guide-th-card-meta b{padding:4px 6px;border-radius:3px;background:#111;color:#fff;font-size:9px}
.guide-th-card h3{margin:8px 0;font-size:20px}
.guide-th-card p{min-height:40px;margin:0 0 15px;color:var(--muted);font-size:13px;line-height:1.5}
.guide-th-card footer{display:flex;justify-content:space-between;gap:12px;padding-top:13px;border-top:1px solid #eee;color:#8a8a8a;font-size:11px}
.guide-th-card footer a{color:var(--primary);font-weight:900}
.guide-th-categories{background:#fff}
.guide-th-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.guide-th-category-grid a{display:grid;gap:6px;min-height:145px;padding:22px;border:1px solid #e9e9e9;border-radius:8px;transition:.15s ease}
.guide-th-category-grid a:hover{transform:translateY(-2px);border-color:#ddd;box-shadow:0 7px 20px rgba(0,0,0,.06)}
.guide-th-category-grid b{color:var(--primary);font-size:25px}
.guide-th-category-grid strong{font-size:16px}
.guide-th-category-grid small{color:var(--muted)}
.guide-th-business-cta{padding:54px 0;background:#202a2f;color:#fff}
.guide-th-business-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.guide-th-business-cta span{color:var(--primary);font-size:11px;font-weight:900;text-transform:uppercase}
.guide-th-business-cta h2{margin:7px 0;font-size:30px}
.guide-th-business-cta p{margin:0;color:#b8bec1}
.guide-th-business-cta a{flex:0 0 auto;padding:14px 19px;border-radius:5px;background:var(--primary);font-size:13px;font-weight:900}
@media(max-width:900px){.guide-th-search{grid-template-columns:1fr 1fr}.guide-th-search button{min-height:54px;border-radius:0}.guide-th-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-th-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.guide-th-hero{min-height:auto}.guide-th-hero-inner{padding:58px 0 42px}.guide-th-hero h1{font-size:42px}.guide-th-search{grid-template-columns:1fr;text-align:left}.guide-th-search label{border-right:0;border-bottom:1px solid #eee}.guide-th-search button{border-radius:0 0 7px 7px}.guide-th-category-row{justify-content:flex-start}.guide-th-grid{grid-template-columns:1fr}.guide-th-category-grid{grid-template-columns:1fr 1fr}.guide-th-category-grid a{min-height:125px;padding:16px}.guide-th-business-cta-inner{align-items:flex-start;flex-direction:column}.guide-th-section,.guide-th-categories{padding:40px 0}}


/* Guia GO27 — TownHub-like mobile discovery hero */
.guide-th-tabs{display:flex;justify-content:center;gap:34px;margin:32px 0 13px}
.guide-th-tabs a{position:relative;padding:0 0 13px;color:rgba(255,255,255,.82);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.guide-th-tabs a.active{color:#4ec7ff}
.guide-th-tabs a.active:after{content:"";position:absolute;left:50%;bottom:0;width:7px;height:7px;transform:translate(-50%,50%) rotate(45deg);background:#fff}
@media(max-width:640px){
  .guide-th-hero{min-height:calc(100svh - 120px);align-items:start;background-image:linear-gradient(rgba(15,24,29,.48),rgba(10,17,21,.72)),url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1200&q=80');background-size:cover;background-position:center}
  .guide-th-hero:before,.guide-th-overlay{display:none}
  .guide-th-hero-inner{padding:28px 16px 48px}
  .guide-th-kicker{display:none}
  .guide-th-hero h1{max-width:590px;margin:0 auto;font-size:39px;line-height:1.08;letter-spacing:-1.4px;text-shadow:0 2px 12px rgba(0,0,0,.25)}
  .guide-th-hero-inner>p{margin:19px auto 24px;font-size:15px;line-height:1.45;font-weight:700;color:#fff}
  .guide-th-tabs{justify-content:space-between;gap:8px;margin:29px -2px 13px;overflow:hidden}
  .guide-th-tabs a{font-size:10px;letter-spacing:.11em;white-space:nowrap}
  .guide-th-search{position:relative;display:block;margin:0 -5px;padding:13px 18px 15px;border:10px solid rgba(255,255,255,.2);border-radius:20px;background:#fff;background-clip:padding-box;box-shadow:0 12px 28px rgba(0,0,0,.22)}
  .guide-th-search label{min-height:64px;display:flex;flex-direction:column;justify-content:center;padding:9px 4px;border:0;border-bottom:1px solid #e9e9e9}
  .guide-th-search label span{font-size:9px;color:#a2a2a2}
  .guide-th-search input,.guide-th-search select{min-height:30px;font-size:16px;color:#686868}
  .guide-th-search button{width:100%;min-height:54px;margin-top:14px;border-radius:5px;background:#3557a6;font-size:16px;font-weight:700}
  .guide-th-category-row{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:51px -7px 0;padding-top:25px}
  .guide-th-category-row:before{content:"";position:absolute;top:0;left:50%;width:82px;height:1px;transform:translateX(-50%);background:rgba(255,255,255,.5)}
  .guide-th-category-row>span{grid-column:1/-1;margin-bottom:5px;color:#fff;font-size:13px;font-weight:700}
  .guide-th-category-row a{display:flex;flex-direction:column;gap:7px;padding:0;border:0;border-radius:0;background:transparent;color:#fff;font-size:10px;line-height:1.2}
  .guide-th-category-row a:nth-of-type(n+6){display:none}
  .guide-th-category-row a b{color:#4ec7ff;font-size:25px;line-height:1}
  .guide-th-category-row a:hover{background:transparent;color:#fff}
}


/* Guia GO27 — mobile navigation based on approved TownHub composition */
.guide-mobile-nav{display:none}
@media(max-width:640px){
  body:has(.guide-th-hero) .portal-networkbar,
  body:has(.guide-th-hero) .portal-brandbar,
  body:has(.guide-th-hero) .portal-nav{display:none}
  body:has(.guide-th-hero) .site-header{position:relative;border:0;box-shadow:none}
  .guide-mobile-nav{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 58px 76px;min-height:88px;background:#35568f;color:#fff}
  .guide-mobile-logo{display:flex;align-items:center;gap:9px;padding:0 18px;background:#315184}
  .guide-mobile-logo-icon{font-size:30px;color:#4dc7ff}
  .guide-mobile-logo strong{font-size:21px;letter-spacing:-.5px}
  .guide-mobile-logo strong b{color:#4dc7ff}
  .guide-mobile-search{display:grid;place-items:center;background:#315184;color:#4dc7ff;font-size:31px}
  .guide-mobile-menu-button{display:grid;place-items:center;background:#3c619d;color:#fff;font-size:35px;cursor:pointer}
  .guide-mobile-menu-toggle{position:absolute;opacity:0;pointer-events:none}
  .guide-mobile-menu-panel{position:absolute;z-index:80;top:88px;right:0;display:none;width:min(280px,82vw);padding:9px;background:#fff;color:#222;box-shadow:0 15px 35px rgba(0,0,0,.2)}
  .guide-mobile-menu-panel a{display:block;padding:14px 13px;border-bottom:1px solid #eee;font-size:14px;font-weight:800}
  .guide-mobile-menu-toggle:checked + .guide-mobile-menu-panel{display:block}
}


/* Guia mobile nav correction — GO27 shell: menu + logo + search, left drawer */
.guide-mobile-menu-toggle,.guide-mobile-menu-backdrop{display:none}
@media(max-width:640px){
  .guide-mobile-nav{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;min-height:64px;background:#fff;color:#1f2328;border-bottom:1px solid #e5e7eb}
  .guide-mobile-menu-button,.guide-mobile-search{display:grid;place-items:center;width:auto;background:#fff;color:#1f2328;font-size:24px}
  .guide-mobile-menu-button{grid-column:1;border-right:1px solid #eceef1}
  .guide-mobile-logo{grid-column:2;display:flex;align-items:center;justify-content:flex-start;padding:0 15px;background:#fff}
  .guide-mobile-logo strong{font-size:24px;font-weight:900;letter-spacing:-1.7px;color:#111}
  .guide-mobile-logo strong span{color:var(--primary)}
  .guide-mobile-search{grid-column:3;border-left:1px solid #eceef1}
  .guide-mobile-menu-toggle{position:absolute;opacity:0;pointer-events:none}
  .guide-mobile-menu-panel{position:fixed;inset:0 auto 0 0;z-index:90;display:flex;flex-direction:column;width:min(310px,86vw);padding:20px 16px;background:#171717;color:#fff;transform:translateX(-102%);transition:transform .2s ease;box-shadow:18px 0 48px rgba(0,0,0,.24)}
  .guide-mobile-menu-head{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
  .guide-mobile-drawer-brand{font-size:29px;font-weight:900;letter-spacing:-2px}
  .guide-mobile-drawer-brand span{color:var(--primary)}
  .guide-mobile-menu-head label{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;color:#c6c8cc;font-size:26px;cursor:pointer}
  .guide-mobile-menu-panel nav{display:grid;gap:3px;padding-top:18px}
  .guide-mobile-menu-panel nav a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:7px;font-size:14px}
  .guide-mobile-menu-panel nav a.active{background:rgba(239,63,35,.16);color:#ff7b65;font-weight:800;box-shadow:inset 3px 0 0 var(--primary)}
  .guide-mobile-menu-panel nav a:hover{background:rgba(255,255,255,.055)}
  .guide-mobile-menu-backdrop{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.42)}
  .guide-mobile-menu-toggle:checked ~ .guide-mobile-menu-panel{transform:translateX(0)}
  .guide-mobile-menu-toggle:checked ~ .guide-mobile-menu-backdrop{display:block}
}

/* =========================================================
   GO27 — Portal Header 2026
   Quick links + main bar + global navigation drawer
   ========================================================= */

.portal-quickbar {
    background: #fff;
    border-bottom: 1px solid #e7e7e7;
}

.portal-quickbar-inner {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 28px;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
}

.portal-quickbar-inner::-webkit-scrollbar {
    display: none;
}

.portal-quickbar a {
    color: #555;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    transition: color .2s ease;
}

.portal-quickbar a:hover {
    color: var(--primary, #ef3f23);
}


/* Main header */

.portal-mainbar {
    position: relative;
    z-index: 80;
    background: var(--primary, #ef3f23);
    color: #fff;
}

.portal-mainbar-inner {
    position: relative;
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.portal-mainbar-inner-simple {
    justify-content: center;
}


/* Center logo */

.portal-main-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    text-decoration: none;
    font-size: 38px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -3px;
    white-space: nowrap;
}

.portal-main-logo span {
    font-weight: 300;
}

.portal-main-logo:hover {
    color: #fff;
}


/* Menu button */

.portal-menu-trigger {
    min-height: 74px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 0 22px 0 0;
    color: #fff;
    cursor: pointer;
    user-select: none;
}

.portal-menu-trigger strong,
.portal-search-trigger strong {
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .04em;
}

.portal-hamburger {
    width: 25px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.portal-hamburger i {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
}


/* Search */

.portal-search-trigger {
    min-height: 74px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 11px;
    padding-left: 22px;
    color: #fff;
    text-decoration: none;
}

.portal-search-trigger:hover {
    color: #fff;
}

.portal-search-icon {
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.portal-search-icon::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 2px;
    right: -6px;
    bottom: -3px;
    border-radius: 2px;
    background: currentColor;
    transform: rotate(45deg);
}


/* Drawer control */

.portal-menu-toggle {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.portal-menu-drawer {
    position: fixed;
    z-index: 1002;
    top: 0;
    bottom: 0;
    left: 0;
    width: min(390px, 88vw);
    background: #fff;
    box-shadow: 12px 0 40px rgba(0, 0, 0, .18);
    transform: translateX(-105%);
    transition: transform .28s ease;
    overflow-y: auto;
}

.portal-menu-drawer-head {
    min-height: 82px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--primary, #ef3f23);
}

.portal-drawer-logo {
    color: #fff;
    text-decoration: none;
    font-size: 34px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -3px;
}

.portal-drawer-logo span {
    font-weight: 300;
}

.portal-menu-drawer-head > label {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
}

.portal-menu-drawer nav {
    display: flex;
    flex-direction: column;
    padding: 14px 0 30px;
}

.portal-menu-drawer nav a {
    position: relative;
    padding: 16px 28px;
    border-bottom: 1px solid #ededed;
    color: #222;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
}

.portal-menu-drawer nav a:hover {
    color: var(--primary, #ef3f23);
    background: #f7f7f7;
}

.portal-menu-backdrop {
    position: fixed;
    z-index: 1001;
    inset: 0;
    display: block;
    background: rgba(0, 0, 0, .48);
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
    transition:
        opacity .28s ease,
        visibility .28s ease;
}

.portal-menu-toggle:checked ~ .portal-menu-drawer {
    transform: translateX(0);
}

.portal-menu-toggle:checked ~ .portal-menu-backdrop {
    opacity: 1;
    visibility: visible;
}


/* Disable previous public-header layers */

.portal-header > .portal-brandbar,
.portal-header > .portal-nav,
.portal-header > .guide-mobile-nav,
.portal-header > .guide-mobile-menu-panel,
.portal-header > .guide-mobile-menu-backdrop {
    display: none !important;
}


/* Mobile */

@media (max-width: 640px) {

    .portal-quickbar-inner {
        min-height: 34px;
        gap: 22px;
        padding-right: 18px;
    }

    .portal-quickbar a {
        font-size: 11px;
    }

    .portal-mainbar-inner {
        min-height: 62px;
    }

    .portal-main-logo {
        font-size: 32px;
    }

    .portal-menu-trigger,
    .portal-search-trigger {
        min-height: 62px;
        padding: 0;
    }

    .portal-menu-trigger strong,
    .portal-search-trigger strong {
        display: none;
    }

    .portal-hamburger {
        width: 24px;
    }

    .portal-search-icon {
        width: 19px;
        height: 19px;
        margin-right: 5px;
    }

    .portal-menu-drawer {
        width: min(340px, 88vw);
    }

    .portal-menu-drawer-head {
        min-height: 68px;
        padding: 0 20px;
    }

    .portal-drawer-logo {
        font-size: 30px;
    }

}


/* Very small screens */

@media (max-width: 380px) {

    .portal-main-logo {
        font-size: 29px;
    }

    .portal-quickbar-inner {
        gap: 18px;
    }

}

/* GO27 — ajuste fino do header mobile */
@media (max-width: 640px) {
    .portal-mainbar-inner {
        min-height: 54px;
    }

    .portal-menu-trigger,
    .portal-search-trigger {
        min-height: 54px;
    }

    .portal-main-logo {
        font-size: 30px;
    }
}

/* GO27 — advertising inventory */
.portal-ad-slot {
    background: #fff;
}

.portal-ad-slot-inner {
    min-height: 96px;
    padding-top: 10px;
    padding-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.portal-ad-label {
    color: #aaa;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 640px) {
    .portal-ad-slot-inner {
        min-height: 82px;
    }
}

/* Offer landing v2 — Panfleteria */
.offer-landing-v2{padding:0 0 64px;background:#f5f6f8}
.offer-hero{position:relative;min-height:min(78vh,760px);overflow:hidden;background:#161a22;color:#fff}
.offer-hero-image,.offer-hero-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.offer-hero-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#263246;font-size:30px}
.offer-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,20,.08) 10%,rgba(8,12,20,.38) 48%,rgba(8,12,20,.95) 100%)}
.offer-hero-inner{position:relative;z-index:2;min-height:min(78vh,760px);display:flex;flex-direction:column;justify-content:flex-end;padding-top:80px;padding-bottom:42px}
.offer-hero-copy{max-width:780px}.offer-hero-kicker{display:inline-flex;margin-bottom:12px;padding:7px 11px;border-radius:999px;background:var(--primary);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.offer-hero-copy h1{margin:0;font-size:clamp(42px,7vw,76px);line-height:.98;letter-spacing:-2px;color:#fff}.offer-hero-copy>p{max-width:700px;margin:12px 0 0;font-size:clamp(19px,3vw,28px);font-weight:700;line-height:1.15;color:#fff}
.offer-hero-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:18px}.offer-hero-price span{text-decoration:line-through;color:#d7d9de}.offer-hero-price strong{font-size:clamp(30px,5vw,46px);line-height:1;color:#fff}.offer-hero-price b{padding:6px 9px;border-radius:6px;background:#fff;color:#111;font-size:13px}
.offer-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.offer-hero-actions a{min-width:88px;display:grid;place-items:center;gap:5px;padding:10px 12px;border:1px solid rgba(255,255,255,.32);border-radius:10px;background:rgba(18,25,38,.58);backdrop-filter:blur(8px);color:#fff;text-decoration:none}.offer-hero-actions span{font-size:19px;font-weight:900}.offer-hero-actions small{font-size:10px;font-weight:800}
.offer-detail-shell{position:relative;margin-top:-18px;z-index:3}.offer-detail-card{max-width:900px;padding:30px;border-radius:14px;background:#fff;box-shadow:0 14px 38px rgba(19,28,45,.10)}.offer-detail-card h2{margin:4px 0 10px;font-size:clamp(28px,4vw,42px);line-height:1.05}.offer-detail-card .offer-main-cta{max-width:430px;margin-top:18px}.offer-detail-card .offer-validity{margin-top:12px}
.offer-landing-v2 .offer-description{max-width:900px;margin-top:34px;padding:30px;border:0;border-radius:14px;background:#fff}.offer-contact-channels-bottom{max-width:900px;margin-top:18px;padding:24px;border:0;border-radius:14px;background:#fff}.offer-landing-v2 .offer-business-box{max-width:900px;background:#fff;box-shadow:0 8px 24px rgba(19,28,45,.06)}
@media(max-width:720px){.offer-hero{min-height:calc(100svh - 112px);aspect-ratio:9/16}.offer-hero-inner{min-height:calc(100svh - 112px);padding-bottom:30px}.offer-hero-copy h1{font-size:42px;letter-spacing:-1.4px}.offer-hero-copy>p{font-size:20px}.offer-hero-actions{display:grid;grid-template-columns:repeat(4,1fr);width:100%}.offer-hero-actions a{min-width:0;padding:9px 5px}.offer-detail-shell{margin-top:0;padding-top:16px}.offer-detail-card,.offer-landing-v2 .offer-description,.offer-contact-channels-bottom{padding:20px;border-radius:10px}.offer-detail-card .offer-main-cta{max-width:none}}
/* Offer action controls */
.offer-hero-actions{gap:12px}
.offer-hero-actions a{min-width:94px;min-height:76px;padding:11px 13px;border-color:rgba(255,255,255,.42);border-radius:14px;background:rgba(12,18,28,.7);box-shadow:0 8px 24px rgba(0,0,0,.16);transition:.16s ease}
.offer-hero-actions a:hover{transform:translateY(-2px);background:rgba(255,255,255,.14);border-color:#fff}
.offer-action-icon{display:grid!important;place-items:center;width:30px;height:30px;border:1.5px solid currentColor;border-radius:50%;font-size:17px;font-weight:900;line-height:1}
.offer-hero-actions small{font-size:11px;line-height:1.1;white-space:nowrap}
.offer-main-cta{display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.offer-channel-button{min-height:52px;border-radius:10px;transition:.15s ease}
.offer-channel-button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(0,0,0,.08)}
@media(max-width:720px){.offer-hero-actions{gap:8px}.offer-hero-actions a{min-height:70px;border-radius:12px;padding:9px 3px}.offer-action-icon{width:27px;height:27px;font-size:15px}.offer-hero-actions small{font-size:9px}}
/* Offer actions v3 — inline icons */
.offer-hero-actions a{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:10px 14px}
.offer-action-icon{display:inline-flex!important;width:auto;height:auto;border:0!important;border-radius:0!important;font-size:19px;line-height:1}
.offer-action-icon i{width:1.15em;text-align:center}
.offer-hero-actions small{font-size:11px;line-height:1;font-weight:800}
@media(max-width:720px){
 .offer-hero-actions a{min-height:48px;padding:9px 7px;gap:5px}
 .offer-action-icon{width:auto;height:auto;font-size:17px}
 .offer-hero-actions small{font-size:9px}
}
/* Offer conversion panel v2 */
.offer-contact-channels-bottom{padding:28px}
.offer-contact-heading{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.offer-contact-heading-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#fff0e8;color:var(--primary);font-size:18px}
.offer-contact-title{display:block;font-size:20px;font-weight:900;line-height:1.1;color:#161a22}
.offer-contact-heading p{margin:5px 0 0;color:#687080;font-size:13px}
.offer-contact-grid{gap:10px}
.offer-channel-button{display:flex!important;align-items:center;gap:12px;padding:12px 14px!important;border:1px solid #e4e7ec!important;background:#fff!important;color:#1b2430!important;text-align:left;text-decoration:none}
.offer-channel-button>i:first-child{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:#f3f5f7;color:#384152;font-size:20px}
.offer-channel-button>span{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.offer-channel-button strong{font-size:14px;line-height:1.1;color:#1b2430}
.offer-channel-button small{font-size:11px;line-height:1.1;color:#7a8290}
.offer-channel-arrow{margin-left:auto;color:#a3a9b2;font-size:12px}
.offer-channel-whatsapp{border-color:#d7eee0!important}
.offer-channel-whatsapp>i:first-child{background:#e9f9ef;color:#168b45}
.offer-channel-instagram>i:first-child{background:#f8edf6;color:#b22b82}
.offer-channel-delivery>i:first-child{background:#fff0e8;color:#e84c12}
.offer-channel-website>i:first-child{background:#eaf1ff;color:#2864c7}
.offer-channel-maps>i:first-child{background:#fff4df;color:#d88700}
.offer-channel-button:hover{border-color:#cfd4dc!important;background:#fafbfc!important}
@media(max-width:720px){.offer-contact-channels-bottom{padding:20px}.offer-contact-grid{grid-template-columns:1fr}.offer-contact-heading{align-items:flex-start}.offer-contact-title{font-size:18px}.offer-channel-button{min-height:64px!important;padding:11px 12px!important}}
.offer-main-cta{gap:9px}
.offer-main-cta i{font-size:19px}

/* Panfleteria commercial landing v2 */
.panf-sales-hero{padding:78px 0;background:linear-gradient(135deg,#111 0%,#1b1b1b 58%,#29150d 100%)}
.panf-sales-hero .section-overline{color:#ff7a3d}
.panf-sales-hero .commercial-primary-cta,.panf-final-card .commercial-primary-cta,.panf-flow-card .commercial-primary-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--primary);color:#fff}
.panf-sales-hero .button-light{display:inline-flex;align-items:center;gap:8px}
.panf-hero-trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px;color:#d6d6d6;font-size:12px;font-weight:800}
.panf-hero-trust span{display:flex;align-items:center;gap:7px}
.panf-hero-trust i{color:#ff7a3d}
.panf-proof-strip{background:#fff;border-bottom:1px solid var(--border);box-shadow:0 8px 30px rgba(15,20,30,.04)}
.panf-proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.panf-proof-grid article{display:flex;align-items:center;gap:13px;min-height:112px;padding:22px;border-right:1px solid var(--border)}
.panf-proof-grid article:last-child{border-right:0}
.panf-proof-grid>article>i{font-size:23px;color:var(--primary)}
.panf-proof-grid strong,.panf-proof-grid span{display:block}
.panf-proof-grid strong{font-size:14px}
.panf-proof-grid span{margin-top:4px;color:#707783;font-size:11px;line-height:1.4}
.panf-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.panf-intro-copy>p{margin-top:0;font-size:17px;line-height:1.7;color:#5d6570}
.panf-check-list{display:grid;gap:17px;margin:25px 0 0;padding:0;list-style:none}
.panf-check-list li{display:flex;gap:12px;line-height:1.55;color:#515965}
.panf-check-list i{margin-top:4px;color:#18a558;font-size:18px}
.panf-check-list strong{color:#171b22}
.panf-compare-section{background:#f4f5f7}
.panf-section-heading{max-width:760px;margin-bottom:34px}
.panf-compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.panf-compare-grid article{padding:28px;border:1px solid #e2e5e9;border-radius:15px;background:#fff}
.panf-compare-grid article>i{font-size:25px;color:var(--primary)}
.panf-compare-grid h3{margin:24px 0 9px;font-size:18px}
.panf-compare-grid p{margin:0;color:#68707c;font-size:13px;line-height:1.6}
.panf-process-section{background:#fff}
.panf-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.panf-process-grid article{position:relative;padding:30px;border:1px solid var(--border);border-radius:16px;background:#fff}
.panf-process-grid article>span{position:absolute;top:25px;right:25px;color:#d8dce2;font-size:30px;font-weight:900}
.panf-process-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fff0e8;color:var(--primary);font-size:21px}
.panf-process-grid h3{margin:24px 0 9px;font-size:20px}
.panf-process-grid p{margin:0;color:#68707c;font-size:13px;line-height:1.65}
.panf-flow-section{padding-top:0}
.panf-flow-card{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px;border-radius:18px;background:#17191e;color:#fff}
.panf-flow-card h2{margin:7px 0 10px;font-size:clamp(25px,3vw,38px);line-height:1.15}
.panf-flow-card h2 i{margin:0 8px;color:#ff7a3d;font-size:.65em}
.panf-flow-card p{margin:0;color:#aeb4be}
.panf-flow-card .commercial-primary-cta{flex:0 0 auto}
.panf-final-section{background:#f4f5f7}
.panf-final-card{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:42px;border-radius:18px;background:#fff;border:1px solid var(--border)}
.panf-final-card>div{max-width:700px}
.panf-final-card h2{margin:8px 0 12px;font-size:clamp(28px,4vw,44px);line-height:1.05}
.panf-final-card p{margin:0;color:#68707c;line-height:1.6}
.panf-final-card .commercial-primary-cta{flex:0 0 auto}
@media(max-width:980px){.panf-proof-grid{grid-template-columns:repeat(2,1fr)}.panf-proof-grid article:nth-child(2){border-right:0}.panf-split{grid-template-columns:1fr;gap:28px}.panf-compare-grid{grid-template-columns:repeat(2,1fr)}.panf-process-grid{grid-template-columns:1fr}.panf-flow-card,.panf-final-card{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.panf-sales-hero{padding:50px 0}.panf-sales-hero h1{font-size:42px}.panf-sales-hero .commercial-hero-actions{display:grid}.panf-sales-hero .button{width:100%}.panf-hero-trust{gap:12px}.panf-proof-grid{grid-template-columns:1fr}.panf-proof-grid article{min-height:88px;border-right:0;border-bottom:1px solid var(--border);padding:17px 4px}.panf-proof-grid article:last-child{border-bottom:0}.panf-compare-grid{grid-template-columns:1fr}.panf-compare-grid article{padding:23px}.panf-flow-card,.panf-final-card{padding:26px 22px}.panf-flow-card .button,.panf-final-card .button{width:100%}.panf-flow-card h2 i{margin:0 3px}}

/* Panfleteria social delivery + packages */
.panf-social-delivery{background:#fff}
.panf-social-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.panf-social-lead{color:#606875;font-size:17px;line-height:1.7}
.panf-social-platforms{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.panf-social-platforms span{display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid #e1e4e8;border-radius:10px;font-size:13px;font-weight:900;background:#fff}
.panf-social-platforms .fa-facebook-f{color:#1877f2}.panf-social-platforms .fa-instagram{color:#c13584}
.panf-social-steps{display:grid;gap:10px}
.panf-social-steps article{display:flex;gap:15px;padding:18px;border:1px solid #e4e7eb;border-radius:13px;background:#fafbfc}
.panf-social-steps article>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#fff0e8;color:var(--primary);font-weight:900}
.panf-social-steps strong{font-size:14px}.panf-social-steps p{margin:4px 0 0;color:#69717d;font-size:12px;line-height:1.5}
.panf-packages-section{background:#f4f5f7}
.panf-packages-lead{max-width:720px;color:#68707c;line-height:1.65}
.panf-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.panf-package-grid article{position:relative;display:flex;flex-direction:column;padding:28px;border:1px solid #dfe3e8;border-radius:17px;background:#fff}
.panf-package-featured{border:2px solid var(--primary)!important;box-shadow:0 14px 35px rgba(30,38,50,.09)}
.panf-package-badge{position:absolute;top:18px;right:18px;padding:6px 9px;border-radius:999px;background:#fff0e8;color:var(--primary);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.panf-package-icon{display:grid;place-items:center;width:45px;height:45px;margin-bottom:21px;border-radius:12px;background:#f2f4f7;color:var(--primary);font-size:18px}
.panf-package-name{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#68707c}
.panf-package-views{display:block;margin-top:7px;font-size:25px;line-height:1.1;color:#171b22}
.panf-package-grid article>p{min-height:62px;color:#68707c;font-size:13px;line-height:1.55}
.panf-package-grid ul{display:grid;gap:10px;margin:12px 0 25px;padding:0;list-style:none}
.panf-package-grid li{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#404753}
.panf-package-grid li i{color:#18a558}
.panf-package-cta{display:flex!important;align-items:center;justify-content:center;gap:8px;margin-top:auto;background:#17191e;color:#fff}
.panf-package-featured .panf-package-cta{background:var(--primary)}
.panf-package-note{display:flex;align-items:flex-start;gap:8px;margin:18px 0 0;color:#777f8b;font-size:11px;line-height:1.5}
@media(max-width:980px){.panf-social-grid{grid-template-columns:1fr;gap:30px}.panf-package-grid{grid-template-columns:1fr}.panf-package-grid article>p{min-height:0}}
@media(max-width:720px){.panf-social-platforms span{flex:1;justify-content:center}.panf-package-grid article{padding:23px}}

/* Panfleteria FAQ */
.panf-faq-section{background:#fff}
.panf-faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}
.panf-faq-intro{position:sticky;top:110px}
.panf-faq-intro>p{color:#69717d;line-height:1.65}
.panf-faq-contact{display:inline-flex!important;align-items:center;gap:9px;margin-top:14px;background:#17191e;color:#fff}
.panf-faq-list{border-top:1px solid #dfe3e8}
.panf-faq-list details{border-bottom:1px solid #dfe3e8}
.panf-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 4px;cursor:pointer;list-style:none;color:#1b2028;font-size:15px;font-weight:900}
.panf-faq-list summary::-webkit-details-marker{display:none}
.panf-faq-list summary i{color:var(--primary);font-size:12px;transition:transform .18s ease}
.panf-faq-list details[open] summary i{transform:rotate(45deg)}
.panf-faq-list details p{margin:-5px 40px 22px 4px;color:#68707c;font-size:13px;line-height:1.7}
@media(max-width:980px){.panf-faq-layout{grid-template-columns:1fr;gap:28px}.panf-faq-intro{position:static}}
@media(max-width:720px){.panf-faq-list summary{padding:18px 2px;font-size:14px}.panf-faq-list details p{margin:-3px 25px 19px 2px}}
.panf-package-price{margin:10px 0 3px;color:#171b22;font-size:38px;font-weight:950;letter-spacing:-.045em;line-height:1}
.panf-package-price span{font-size:15px;vertical-align:top;line-height:1.7;letter-spacing:0}
.panf-package-featured .panf-package-price{color:var(--primary)}
.panf-package-notes{display:grid;gap:5px;margin-top:18px}
.panf-package-notes .panf-package-note{margin:0}
.panf-package-price{margin:12px 0 5px;color:#171b22;font-size:38px;font-weight:950;letter-spacing:-.04em;line-height:1}
.panf-package-price span{font-size:15px;vertical-align:top;line-height:1.8;letter-spacing:0}
.panf-package-condition{margin:10px 0 0;padding:14px 16px;border-radius:10px;background:#e9ebee;color:#656d78;font-size:11px;line-height:1.55}

/* Panfleteria pricing cards — tall rounded reference treatment */
.panf-packages-section{background:#e9eaec;padding-top:78px;padding-bottom:82px}
.panf-package-grid{gap:28px;max-width:1040px;margin:36px auto 0;align-items:stretch}
.panf-package-grid article{
    overflow:hidden;
    min-height:520px;
    padding:38px 30px 30px;
    border:0;
    border-radius:30px;
    background:#fff;
    box-shadow:0 12px 24px rgba(24,31,40,.14);
    text-align:center;
}
.panf-package-featured{
    border:0!important;
    box-shadow:0 16px 34px rgba(24,31,40,.18);
    transform:translateY(-10px);
}
.panf-package-badge{
    top:0;right:0;
    padding:9px 23px 9px 18px;
    border-radius:0 28px 0 18px;
    background:var(--primary);
    color:#fff;
    font-size:9px;
    letter-spacing:.08em;
}
.panf-package-icon{display:none}
.panf-package-name{
    display:block;
    margin-top:4px;
    color:#252a31;
    font-size:20px;
    font-weight:950;
    letter-spacing:.04em;
}
.panf-package-views{
    margin-top:7px;
    color:#9aa0a8;
    font-size:12px;
    font-weight:700;
    letter-spacing:0;
}
.panf-package-price{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:92px;
    margin:26px -12px 24px;
    border-radius:48px;
    background:linear-gradient(135deg,#ff3f1f,#ff6a21);
    color:#fff;
    font-size:46px;
    font-weight:950;
    letter-spacing:-.045em;
    box-shadow:0 8px 18px rgba(244,75,29,.18);
}
.panf-package-featured .panf-package-price{
    background:linear-gradient(135deg,#e93220,#ff5b21);
}
.panf-package-price span{
    margin-right:4px;
    color:#fff;
    font-size:19px;
    line-height:1;
    vertical-align:baseline;
}
.panf-package-grid article>p{
    min-height:58px;
    margin:0 4px 16px;
    color:#7b828c;
    font-size:12px;
    line-height:1.55;
}
.panf-package-grid ul{
    width:100%;
    max-width:235px;
    margin:4px auto 28px;
    gap:14px;
    text-align:left;
}
.panf-package-grid li{
    align-items:flex-start;
    color:#59616c;
    font-size:12px;
    font-weight:700;
}
.panf-package-grid li i{
    width:15px;
    padding-top:2px;
    color:var(--primary);
}
.panf-package-cta{
    width:auto;
    min-width:168px;
    align-self:center;
    padding:12px 20px!important;
    border-radius:999px!important;
    background:#ff5426;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.035em;
    box-shadow:0 7px 14px rgba(244,75,29,.17);
}
.panf-package-featured .panf-package-cta{background:#e93622}
.panf-package-note,.panf-package-condition{max-width:1040px;margin-left:auto;margin-right:auto}
@media(max-width:980px){
    .panf-package-grid{max-width:520px;gap:22px}
    .panf-package-featured{transform:none}
    .panf-package-grid article{min-height:auto}
}
@media(max-width:720px){
    .panf-packages-section{padding-top:55px;padding-bottom:58px}
    .panf-package-grid{margin-top:28px}
    .panf-package-grid article{padding:34px 24px 26px;border-radius:25px}
    .panf-package-price{min-height:82px;margin:23px -7px 22px;font-size:41px}
    .panf-package-badge{border-radius:0 24px 0 16px}
}

/* Panfleteria desktop UX refinement */
.panf-card-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:14px;border-radius:12px;background:#fff0e9;color:var(--primary);font-size:17px}
.panf-proof-grid .panf-card-icon{width:36px;height:36px;margin:0 auto 10px;border-radius:10px}
@media(min-width:1100px){
    .panf-sales-hero .container,.panf-proof-strip .container,.panf-social-delivery .container,.panf-intro .container,.panf-compare-section .container,.panf-process-section .container,.panf-flow-section .container,.panf-packages-section .container,.panf-faq-section .container,.panf-final-section .container{max-width:1180px}
    .panf-compare-grid{grid-template-columns:repeat(3,1fr);gap:18px}
    .panf-compare-grid article{min-height:190px;padding:26px}
    .panf-process-grid{grid-template-columns:repeat(3,1fr);gap:20px}
    .panf-process-grid article{padding:28px}
    .panf-social-grid{grid-template-columns:.82fr 1.18fr;gap:90px}
    .panf-social-steps{grid-template-columns:repeat(2,1fr)}
    .panf-social-steps article{min-height:138px}
}
.panf-faq-section{background:#fff;padding-top:72px;padding-bottom:78px}
.panf-faq-head{max-width:680px;margin:0 auto 34px;text-align:center}
.panf-faq-head>p{margin:8px 0 0;color:#737b86}
.panf-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:1040px;margin:0 auto}
.panf-faq-grid details{align-self:start;border:1px solid #e2e5e9;border-radius:14px;background:#fafbfc;overflow:hidden}
.panf-faq-grid summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 19px;cursor:pointer;list-style:none;color:#252a31;font-size:13px;font-weight:900}
.panf-faq-grid summary::-webkit-details-marker{display:none}
.panf-faq-grid summary span{display:flex;align-items:center;gap:10px}
.panf-faq-grid summary span i{width:18px;color:var(--primary);font-size:14px;text-align:center}
.panf-faq-grid summary>i{color:#9aa1aa;font-size:10px;transition:transform .18s ease}
.panf-faq-grid details[open]{background:#fff;border-color:#d5d9df;box-shadow:0 7px 18px rgba(27,34,44,.06)}
.panf-faq-grid details[open] summary>i{transform:rotate(45deg);color:var(--primary)}
.panf-faq-grid details p{margin:-1px 19px 18px 47px;color:#69717d;font-size:12px;line-height:1.65}
.panf-faq-footer{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px;color:#555d68;font-size:13px;font-weight:800}
.panf-faq-footer .panf-faq-contact{margin:0}
@media(max-width:760px){
    .panf-faq-grid{grid-template-columns:1fr}
    .panf-faq-section{padding-top:52px;padding-bottom:56px}
    .panf-faq-head{text-align:left;margin-bottom:24px}
    .panf-faq-footer{flex-direction:column;gap:10px}
}

/* Panfleteria mobile gutters + icon cleanup */
.panf-compare-grid article>.panf-card-icon+i{display:none}
@media(max-width:720px){
    .panf-sales-hero>.container,
    .panf-proof-strip>.container,
    .panf-social-delivery>.container,
    .panf-intro>.container,
    .panf-compare-section>.container,
    .panf-process-section>.container,
    .panf-flow-section>.container,
    .panf-packages-section>.container,
    .panf-faq-section>.container,
    .panf-final-section>.container{width:auto!important;max-width:none!important;margin-left:20px!important;margin-right:20px!important;padding-left:0!important;padding-right:0!important}
    .panf-compare-grid,.panf-process-grid,.panf-package-grid,.panf-faq-grid{width:100%;min-width:0}
    .panf-compare-grid article,.panf-process-grid article,.panf-package-grid article{box-sizing:border-box;width:100%;min-width:0}
    .panf-compare-grid article>.panf-card-icon{margin-bottom:18px}
    .panf-compare-grid h3{margin-top:0}
}

/* Panfleteria mobile spacing + icon deduplication */
@media(max-width:760px){
    .panf-sales-hero>.container,
    .panf-proof-strip>.container,
    .panf-social-delivery>.container,
    .panf-intro>.container,
    .panf-compare-section>.container,
    .panf-process-section>.container,
    .panf-flow-section>.container,
    .panf-packages-section>.container,
    .panf-faq-section>.container,
    .panf-final-section>.container{width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:20px!important;padding-right:20px!important}
    .panf-compare-grid{gap:14px}
    .panf-compare-grid article{min-height:0!important;padding:22px 20px!important;border-radius:18px}
    .panf-compare-grid article>.panf-card-icon{margin-bottom:16px}
    .panf-compare-grid article>i:first-child,
    .panf-compare-grid article>.panf-benefit-icon{display:none!important}
    .panf-process-grid{gap:14px}
    .panf-process-grid article{min-height:0!important;padding:24px 20px!important;border-radius:18px}
    .panf-social-steps article{padding:17px 16px}
    .panf-flow-card,.panf-final-card{margin-left:0;margin-right:0}
    .panf-package-grid{width:100%;margin-left:0;margin-right:0}
}

/* Panfleteria v4 — sApp-inspired landing structure */
.panf-sales-hero{position:relative;overflow:hidden;padding:110px 0 105px;background:linear-gradient(135deg,#fff 0%,#fff7f3 58%,#fff 100%)}
.panf-sales-hero:before,.panf-sales-hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.panf-sales-hero:before{width:420px;height:420px;right:-180px;top:-190px;background:rgba(244,59,31,.07)}
.panf-sales-hero:after{width:280px;height:280px;left:-160px;bottom:-160px;background:rgba(255,118,42,.07)}
.panf-sales-hero .commercial-hero-grid{position:relative;z-index:1;gap:90px;align-items:center}
.panf-hero-copy h1{max-width:650px;font-size:54px;line-height:1.05;letter-spacing:-.045em}
.panf-hero-copy>p{max-width:620px;font-size:17px;line-height:1.75;color:#6c7380}
.commercial-dashboard-preview{border:0;border-radius:22px;background:#fff;box-shadow:0 22px 60px rgba(27,34,44,.13);transform:rotate(1deg)}
.panf-proof-strip{padding:52px 0;background:#fff;border:0}
.panf-proof-grid{grid-template-columns:repeat(4,1fr);gap:36px}
.panf-proof-grid article{display:block!important;padding:0!important;border:0!important;text-align:center;background:transparent!important}
.panf-proof-grid article>i{display:grid!important;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:18px;background:#fff1eb;color:var(--primary);font-size:24px;box-shadow:0 8px 25px rgba(244,59,31,.08)}
.panf-proof-grid article strong{display:block;font-size:15px;margin-bottom:7px}
.panf-proof-grid article span{display:block;color:#818792;font-size:12px;line-height:1.55}
.panf-intro{padding:105px 0;background:#fafbfc}
.panf-split{gap:90px;align-items:center}
.panf-split>div:first-child{position:relative}
.panf-split>div:first-child:after{content:"GO27";display:block;margin-top:28px;font-size:88px;font-weight:950;line-height:.8;letter-spacing:-.07em;color:rgba(244,59,31,.08)}
.panf-intro-copy>p{font-size:16px;line-height:1.75;color:#6e7580}
.panf-check-list{gap:18px}
.panf-check-list li{align-items:flex-start}
.panf-check-list li>i{margin-top:3px;font-size:20px}
.panf-compare-section{padding:105px 0;background:#fff}
.panf-section-heading{max-width:720px;margin:0 auto 55px;text-align:center}
.panf-compare-grid{grid-template-columns:repeat(3,1fr)!important;gap:34px!important}
.panf-compare-grid article{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important;text-align:center}
.panf-compare-grid .panf-card-icon{width:66px;height:66px;margin:0 auto 20px;border-radius:19px;font-size:23px;box-shadow:0 8px 25px rgba(244,59,31,.08)}
.panf-compare-grid h3{font-size:17px;margin:0 0 10px}
.panf-compare-grid p{max-width:290px;margin:0 auto;color:#7b828d;font-size:13px;line-height:1.65}
.panf-social-delivery{padding:110px 0;background:#fafbfc}
.panf-social-grid{grid-template-columns:1fr 1fr!important;gap:95px!important}
.panf-social-steps{grid-template-columns:1fr!important;gap:18px!important}
.panf-social-steps article{min-height:0!important;padding:0!important;border:0!important;background:transparent!important}
.panf-social-steps article>span{width:52px;height:52px;flex:0 0 52px;border-radius:15px;background:#fff;color:var(--primary);box-shadow:0 7px 24px rgba(27,34,44,.09);font-size:16px}
.panf-social-steps strong{font-size:15px}.panf-social-steps p{font-size:13px}
.panf-process-section{padding:105px 0;background:#fff}
.panf-process-grid{position:relative;grid-template-columns:repeat(3,1fr)!important;gap:55px!important}
.panf-process-grid:before{content:"";position:absolute;top:43px;left:16%;right:16%;border-top:2px dashed #e2e5e9}
.panf-process-grid article{position:relative;z-index:1;padding:0!important;border:0!important;background:transparent!important;text-align:center}
.panf-process-grid article>span{position:absolute;right:22%;top:-4px;color:#e9ebef;font-size:38px;font-weight:950}
.panf-process-icon{position:relative;width:86px;height:86px;margin:0 auto 24px;border-radius:50%;background:#fff!important;color:var(--primary)!important;box-shadow:0 10px 32px rgba(27,34,44,.12);font-size:25px}
.panf-process-grid h3{font-size:17px}.panf-process-grid p{max-width:290px;margin:auto;color:#7b828d;font-size:13px;line-height:1.65}
.panf-packages-section{padding:105px 0;background:#fafbfc}
.panf-package-grid{max-width:930px;gap:24px}
.panf-package-grid article{min-height:0;padding:38px 30px 32px;border-radius:18px;box-shadow:0 10px 35px rgba(27,34,44,.08)}
.panf-package-featured{transform:translateY(-12px);box-shadow:0 16px 45px rgba(27,34,44,.13)}
.panf-package-price{min-height:0;margin:22px 0 20px;padding:0;background:none!important;box-shadow:none;color:var(--primary);font-size:46px}
.panf-package-price span{color:var(--primary);font-size:17px}
.panf-package-grid ul{margin-top:12px}
.panf-package-cta{box-shadow:none}
.panf-flow-section{padding:80px 0;background:#fff}
.panf-flow-card{border-radius:22px}
.panf-faq-section{padding:100px 0;background:#fafbfc}
.panf-faq-grid{max-width:900px;grid-template-columns:1fr}
.panf-faq-grid details{border:0;border-bottom:1px solid #e2e5e9;border-radius:0;background:transparent}
.panf-faq-grid details[open]{box-shadow:none;background:transparent}
.panf-faq-grid summary{padding:20px 4px}
.panf-faq-grid details p{margin:-2px 45px 20px 32px}
.panf-final-section{padding:100px 0;background:#fff}

/* light entrance motion inspired by modern app landings */
@keyframes panfFadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes panfFloat{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
.panf-hero-copy{animation:panfFadeUp .75s ease both}
.commercial-dashboard-preview{animation:panfFadeUp .85s .12s ease both,panfFloat 5s 1s ease-in-out infinite}
.panf-proof-grid article{animation:panfFadeUp .65s ease both}
.panf-proof-grid article:nth-child(2){animation-delay:.08s}.panf-proof-grid article:nth-child(3){animation-delay:.16s}.panf-proof-grid article:nth-child(4){animation-delay:.24s}
.panf-compare-grid article{animation:panfFadeUp .65s ease both}
.panf-compare-grid article:nth-child(2),.panf-compare-grid article:nth-child(5){animation-delay:.08s}
.panf-compare-grid article:nth-child(3),.panf-compare-grid article:nth-child(6){animation-delay:.16s}
@media(prefers-reduced-motion:reduce){.panf-hero-copy,.commercial-dashboard-preview,.panf-proof-grid article,.panf-compare-grid article{animation:none!important}}

@media(max-width:980px){
 .panf-sales-hero{padding:70px 0}.panf-hero-copy h1{font-size:42px}
 .panf-proof-grid{grid-template-columns:repeat(2,1fr);gap:34px 22px}
 .panf-compare-grid{grid-template-columns:repeat(2,1fr)!important}
 .panf-social-grid{grid-template-columns:1fr!important;gap:50px!important}
 .panf-process-grid{gap:28px!important}.panf-process-grid:before{display:none}
 .panf-package-featured{transform:none}
}
@media(max-width:760px){
 .panf-sales-hero{padding:54px 0 58px}.panf-hero-copy h1{font-size:37px}.panf-hero-copy>p{font-size:15px}
 .panf-proof-strip{padding:42px 0}.panf-proof-grid{gap:30px 18px}
 .panf-proof-grid article>i{width:54px;height:54px;border-radius:15px;font-size:20px}
 .panf-intro,.panf-compare-section,.panf-social-delivery,.panf-process-section,.panf-packages-section,.panf-faq-section,.panf-final-section{padding-top:68px;padding-bottom:68px}
 .panf-split{gap:30px}.panf-split>div:first-child:after{font-size:62px}
 .panf-section-heading{margin-bottom:38px;text-align:left}
 .panf-compare-grid{grid-template-columns:1fr!important;gap:38px!important}
 .panf-compare-grid article{text-align:left}.panf-compare-grid .panf-card-icon{margin:0 0 16px}.panf-compare-grid p{margin:0;max-width:none}
 .panf-process-grid{grid-template-columns:1fr!important;gap:48px!important}
 .panf-process-grid article>span{right:25%}
 .panf-package-grid article{padding:32px 24px}.panf-package-price{font-size:42px}
 .commercial-dashboard-preview{animation:panfFadeUp .85s .12s ease both}
}

/* Panfleteria v5 — desktop composition with phone product visual */
.panf-sales-hero{min-height:720px;display:flex;align-items:center;padding:82px 0;background:radial-gradient(circle at 78% 42%,rgba(244,59,31,.10),transparent 25%),linear-gradient(135deg,#fff 0%,#fff8f5 52%,#fff 100%)}
.panf-sales-hero .commercial-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(420px,.75fr);max-width:1180px}
.panf-hero-copy{max-width:680px}
.panf-hero-copy h1{font-size:58px;line-height:1.02}
.panf-phone-stage{position:relative;display:grid;place-items:center;min-height:570px}
.panf-phone{position:relative;z-index:3;width:278px;height:560px;padding:10px;border:7px solid #17191d;border-radius:43px;background:#17191d;box-shadow:0 38px 70px rgba(25,28,34,.24),0 8px 22px rgba(244,59,31,.12);transform:rotate(3deg)}
.panf-phone-speaker{position:absolute;z-index:5;top:9px;left:50%;width:82px;height:22px;border-radius:0 0 15px 15px;background:#17191d;transform:translateX(-50%)}
.panf-phone-screen{height:100%;overflow:hidden;border-radius:30px;background:#f7f8fa}
.panf-phone-status{display:flex;justify-content:space-between;padding:11px 18px 8px;background:#fff;color:#1d2025;font-size:8px;font-weight:900}
.panf-phone-status span:last-child{display:flex;gap:5px}
.panf-phone-appbar{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;background:linear-gradient(135deg,#f33b20,#ff5b24);color:#fff}
.panf-phone-appbar strong{font-size:22px;letter-spacing:-.07em}.panf-phone-appbar strong span{font-weight:400}.panf-phone-appbar i{font-size:13px}
.panf-phone-ad{min-height:225px;padding:33px 20px 20px;background:linear-gradient(145deg,#17191e 0%,#343941 100%);color:#fff}
.panf-phone-ad>span{display:inline-block;padding:5px 8px;border-radius:99px;background:#f44324;font-size:7px;font-weight:950;letter-spacing:.08em}
.panf-phone-ad small{display:block;margin-top:18px;color:#b9bec6;font-size:8px}.panf-phone-ad h3{max-width:190px;margin:7px 0 20px;font-size:24px;line-height:1.05;letter-spacing:-.035em}
.panf-phone-prices{display:flex;align-items:baseline;gap:10px}.panf-phone-prices del{color:#aeb4bd;font-size:10px}.panf-phone-prices strong{font-size:25px;color:#ff6240}
.panf-phone-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px;background:#fff}.panf-phone-actions span{padding:9px 5px;border:1px solid #eceef1;border-radius:9px;color:#414750;font-size:8px;font-weight:850;text-align:center}.panf-phone-actions i{color:#f44324;margin-right:3px}
.panf-phone-copy{display:flex;flex-direction:column;gap:4px;padding:12px 17px;color:#3d434b}.panf-phone-copy b{font-size:10px}.panf-phone-copy span{font-size:8px;line-height:1.45;color:#858b94}
.panf-phone-button{margin:5px 17px 0;padding:11px;border-radius:9px;background:#20b15a;color:#fff;font-size:8px;font-weight:950;text-align:center;letter-spacing:.02em}
.panf-phone-orbit{position:absolute;z-index:1;display:grid;place-items:center;border-radius:50%;color:#fff;box-shadow:0 12px 28px rgba(30,35,42,.14)}
.panf-phone-orbit-a{width:58px;height:58px;right:28px;top:92px;background:linear-gradient(145deg,#f83377,#7b45df);font-size:25px}.panf-phone-orbit-b{width:48px;height:48px;left:32px;bottom:98px;background:#1877f2;font-size:19px}
.panf-phone-chip{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;min-width:154px;padding:11px 14px;border-radius:12px;background:#fff;box-shadow:0 14px 35px rgba(28,34,43,.14);color:#31363e}
.panf-phone-chip>i{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#fff0ea;color:#f44324}.panf-phone-chip span{display:flex;flex-direction:column}.panf-phone-chip b{font-size:10px}.panf-phone-chip small{margin-top:2px;color:#9298a1;font-size:8px}
.panf-chip-top{left:-5px;top:115px}.panf-chip-bottom{right:-8px;bottom:110px}
.panf-intro .panf-split{grid-template-columns:.82fr 1.18fr;max-width:1060px}
.panf-intro .section-title{font-size:39px}
.panf-social-grid{max-width:1060px;margin:auto}
.panf-social-grid>div:first-child{align-self:center}
.panf-social-grid .section-title{font-size:38px}
.panf-flow-card,.panf-final-card{max-width:1060px;margin-left:auto;margin-right:auto}
.panf-package-notes{max-width:930px;margin:24px auto 0}
@keyframes panfPhoneFloat{0%,100%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-10px) rotate(3deg)}}
.panf-phone{animation:panfPhoneFloat 5.5s ease-in-out infinite}
.panf-phone-chip{animation:panfFadeUp .7s .45s ease both}
@media(prefers-reduced-motion:reduce){.panf-phone,.panf-phone-chip{animation:none!important}}
@media(max-width:980px){
 .panf-sales-hero{min-height:auto}.panf-sales-hero .commercial-hero-grid{grid-template-columns:1fr;gap:48px}
 .panf-hero-copy{max-width:720px}.panf-phone-stage{min-height:550px}
}
@media(max-width:760px){
 .panf-sales-hero .commercial-hero-grid{gap:34px}.panf-hero-copy h1{font-size:38px}
 .panf-phone-stage{min-height:505px;transform:scale(.9);margin:-20px 0}
 .panf-phone{width:258px;height:520px}
 .panf-chip-top{left:0}.panf-chip-bottom{right:0}
}
@media(max-width:390px){
 .panf-phone-stage{transform:scale(.82);margin:-45px -20px}
}

/* Panfleteria exact visual direction — generated GO27 concept */
.panf-design{font-family:inherit;color:#181b20;background:#fff}.panf-xhero{position:relative;overflow:hidden;padding:74px 0 36px;background:linear-gradient(100deg,#fff 0%,#fff8f4 55%,#edf8fb 100%)}
.panf-xhero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;max-width:1280px}.panf-xeyebrow{display:flex;align-items:center;gap:9px;margin-bottom:22px;color:#f43b1f;font-size:11px;font-weight:900;letter-spacing:.045em}.panf-xeyebrow>span{color:#a3a8ae;font-size:9px}.panf-xcopy h1{margin:0;font-size:48px;line-height:1.04;letter-spacing:-.045em}.panf-xcopy h1 em{color:#ff492c;font-style:normal}.panf-xcopy>p{max-width:650px;margin:18px 0 25px;color:#777e87;font-size:15px;line-height:1.65}.panf-xactions{display:flex;gap:14px;flex-wrap:wrap}.panf-xbtn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 23px;border-radius:999px;font-size:12px;font-weight:900;text-decoration:none}.panf-xbtn.primary{background:linear-gradient(135deg,#ff3c1f,#ff6b25);color:#fff;box-shadow:0 10px 24px rgba(255,67,31,.22)}.panf-xbtn.secondary{border:1px solid #d9dde1;background:#fff;color:#222}.panf-xtrust{display:flex;gap:25px;margin-top:20px;color:#8b9198;font-size:10px}.panf-xtrust span{display:flex;align-items:center;gap:7px}
.panf-phone-stage{position:relative;height:430px}.panf-blob{position:absolute;width:420px;height:420px;right:18px;top:8px;border-radius:48% 52% 44% 56%;background:linear-gradient(145deg,#ffe4d8,#fff1e8)}.panf-phone{position:absolute;z-index:2;width:245px;height:455px;right:110px;top:-12px;padding:10px;border:7px solid #17191c;border-radius:38px;background:#111;box-shadow:0 25px 45px rgba(20,26,32,.25);transform:rotate(-8deg);animation:panfPhoneFloat 5s ease-in-out infinite}.panf-phone-top{position:absolute;z-index:3;width:90px;height:18px;left:50%;top:5px;transform:translateX(-50%);border-radius:0 0 14px 14px;background:#17191c}.panf-phone-screen{height:100%;overflow:hidden;border-radius:25px;background:#fff}.panf-insta-head{display:flex;justify-content:space-between;padding:20px 14px 9px;font-size:13px}.panf-insta-user{display:flex;align-items:center;gap:8px;padding:5px 12px 8px;font-size:8px}.panf-insta-user small{display:block}.panf-avatar{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f43b1f;color:#fff;font-weight:900}.panf-adcreative{position:relative;height:225px;padding:25px 16px;background:radial-gradient(circle at 20% 20%,#b76a28,#45210d 60%,#241006);color:#fff}.panf-adcreative small{color:#ffc15b;font-size:8px;font-weight:900}.panf-adcreative>strong{display:block;margin-top:10px;font-size:25px;line-height:.95}.panf-adcreative>b{display:block;margin-top:12px;color:#ff8b20;font-size:18px;line-height:.95}.panf-adcreative>span{position:absolute;right:10px;bottom:16px;padding:8px;background:#f45a17;font-size:8px;font-weight:900}.panf-adcreative em{font-size:18px;font-style:normal}.panf-insta-icons{display:flex;gap:11px;padding:10px 12px;font-size:13px}.panf-insta-icons i:last-child{margin-left:auto}.panf-phone-screen>p{padding:0 12px;color:#555;font-size:7px;line-height:1.45}.panf-float{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:13px;background:#fff;box-shadow:0 10px 28px rgba(27,34,44,.14);font-size:9px;line-height:1.25}.panf-float>i{color:#f43b1f;font-size:18px}.panf-float.f1{left:5px;top:90px}.panf-float.f2{left:-15px;top:180px}.panf-float.f3{left:15px;top:280px}.panf-social-bubble{position:absolute;z-index:5;display:grid;place-items:center;border-radius:50%;color:#fff;box-shadow:0 10px 25px rgba(27,34,44,.16)}.panf-social-bubble.fb{width:64px;height:64px;right:20px;top:80px;background:#1877f2;font-size:31px}.panf-social-bubble.ig{width:58px;height:58px;right:-2px;top:145px;background:linear-gradient(145deg,#833ab4,#fd1d1d,#fcb045);font-size:27px}
.panf-xfeatures{padding:27px 0 32px;background:#fff;box-shadow:0 -8px 35px rgba(27,34,44,.035)}.panf-xfeature-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;max-width:1280px}.panf-xfeature-grid article{display:flex;gap:12px;align-items:flex-start}.panf-xfeature-grid article>i{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#fff0ea;color:#f43b1f}.panf-xfeature-grid strong,.panf-xfeature-grid span{display:block}.panf-xfeature-grid strong{font-size:11px}.panf-xfeature-grid span{margin-top:4px;color:#8b9198;font-size:9px;line-height:1.4}
.panf-xhow{padding:48px 0;background:#fbfcfd}.panf-xhow-grid{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:center;max-width:1280px}.panf-xhow-title small,.panf-xprice-title small{color:#f43b1f;font-size:9px;font-weight:950;letter-spacing:.07em}.panf-xhow-title h2,.panf-xprice-title h2{margin:8px 0 12px;font-size:31px;line-height:1.06;letter-spacing:-.04em}.panf-xhow-title p,.panf-xprice-title p{color:#858b93;font-size:11px;line-height:1.55}.panf-xsteps{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;gap:10px;align-items:center;padding:24px;border-radius:25px;background:#fff;box-shadow:0 10px 35px rgba(27,34,44,.055)}.panf-xsteps>span{color:#f43b1f;font-size:23px}.panf-xsteps article{position:relative}.panf-xsteps article>b{position:absolute;left:0;top:4px;color:#f43b1f;font-size:14px}.panf-xsteps article>i{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 16px;border-radius:50%;background:#fff0ea;color:#f43b1f;font-size:16px}.panf-xsteps h3{margin:0 0 5px;font-size:12px}.panf-xsteps p{margin:0;color:#8b9198;font-size:9px;line-height:1.45}
.panf-xpricing{padding:55px 0 65px;background:linear-gradient(180deg,#fff,#fafbfc)}.panf-xprice-layout{display:grid;grid-template-columns:280px 1fr;gap:42px;align-items:center;max-width:1280px}.panf-xcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.panf-xcards article{position:relative;padding:24px 24px 20px;border:1px solid #e4e7ea;border-radius:17px;background:#fff}.panf-xcards article.featured{border-color:#ff5a35;box-shadow:0 12px 30px rgba(244,59,31,.09)}.panf-xpopular{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:6px 17px;border-radius:999px;background:#f43b1f;color:#fff;font-size:7px;font-weight:950;white-space:nowrap}.panf-xplan{display:flex;justify-content:center;align-items:center;gap:10px}.panf-xplan>i{color:#f43b1f;font-size:18px}.panf-xplan strong,.panf-xplan span{display:block}.panf-xplan strong{font-size:12px}.panf-xplan span{color:#999fa6;font-size:8px}.panf-xamount{text-align:center;margin:8px 0 13px;font-size:30px;font-weight:950}.panf-xamount small{font-size:12px}.panf-xcards ul{padding:0;margin:0 0 16px;list-style:none}.panf-xcards li{position:relative;padding:3px 0 3px 18px;color:#676e77;font-size:9px}.panf-xcards li:before{content:"✓";position:absolute;left:0;color:#f43b1f;font-weight:950}.panf-xcards article>a{display:flex;justify-content:center;align-items:center;gap:9px;padding:9px;border-radius:999px;background:#fff1ec;color:#f43b1f;font-size:9px;font-weight:900;text-decoration:none}.panf-xcards .featured>a{background:linear-gradient(135deg,#ff3c1f,#ff6b25);color:#fff}
@keyframes panfPhoneFloat{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-8deg) translateY(-9px)}}@media(prefers-reduced-motion:reduce){.panf-phone{animation:none}}
@media(max-width:1000px){.panf-xhero-grid,.panf-xhow-grid,.panf-xprice-layout{grid-template-columns:1fr}.panf-phone-stage{max-width:570px;margin:20px auto 0;width:100%}.panf-xfeature-grid{grid-template-columns:repeat(3,1fr)}.panf-xhow-title,.panf-xprice-title{text-align:center;max-width:600px;margin:auto}.panf-xcards{max-width:850px;margin:auto}}
@media(max-width:700px){.panf-xhero{padding:48px 0 20px}.panf-xhero .container,.panf-xfeatures .container,.panf-xhow .container,.panf-xpricing .container{padding-left:20px!important;padding-right:20px!important}.panf-xeyebrow>span{display:none}.panf-xcopy h1{font-size:37px}.panf-xcopy h1 br{display:none}.panf-xcopy>p{font-size:14px}.panf-xactions{display:grid}.panf-xbtn{width:100%}.panf-xtrust{gap:10px;justify-content:space-between;font-size:8px}.panf-phone-stage{height:410px;transform:scale(.88);transform-origin:top center;margin-bottom:-45px}.panf-phone{right:50%;transform:translateX(50%) rotate(-8deg);animation:none}.panf-blob{right:50%;transform:translateX(50%)}.panf-float.f1{left:-18px}.panf-float.f2{left:-25px}.panf-float.f3{left:-10px}.panf-social-bubble.fb{right:-10px}.panf-social-bubble.ig{right:-25px}.panf-xfeature-grid{grid-template-columns:repeat(2,1fr);gap:24px 15px}.panf-xfeature-grid article{display:block;text-align:center}.panf-xfeature-grid article>i{margin:0 auto 9px}.panf-xhow{padding:50px 0}.panf-xhow-title,.panf-xprice-title{text-align:left}.panf-xsteps{grid-template-columns:1fr;gap:25px}.panf-xsteps>span{display:none}.panf-xsteps article{padding-left:55px}.panf-xsteps article>b{left:0;top:15px}.panf-xsteps article>i{position:absolute;left:0;top:0}.panf-xsteps h3,.panf-xsteps p{margin-left:8px}.panf-xcards{grid-template-columns:1fr;gap:24px}.panf-xpricing{padding:50px 0}.panf-xcards article{padding:28px}.panf-xamount{font-size:36px}}

/* Panfleteria approved layout refinements */
@media(max-width:700px){
  /* Benefits: icon on the left, copy on the right */
  .panf-xfeature-grid{grid-template-columns:1fr 1fr;gap:18px 14px}
  .panf-xfeature-grid article{display:grid;grid-template-columns:48px 1fr;gap:11px;align-items:center;text-align:left}
  .panf-xfeature-grid article>i{width:48px;height:48px;margin:0;border-radius:13px}
  .panf-xfeature-grid strong{font-size:12px;line-height:1.25}
  .panf-xfeature-grid span{font-size:9px;line-height:1.4}

  /* How it works: one independent white card per step */
  .panf-xsteps{padding:0;background:transparent;box-shadow:none;gap:14px}
  .panf-xsteps article{min-height:104px;padding:20px 18px 20px 78px;border:1px solid #eef0f2;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(27,34,44,.06)}
  .panf-xsteps article>b{left:auto;right:17px;top:14px;color:#e4e7ea;font-size:20px}
  .panf-xsteps article>i{left:18px;top:27px;width:46px;height:46px}
  .panf-xsteps h3,.panf-xsteps p{margin-left:0}
  .panf-xsteps h3{margin-top:7px;font-size:15px}
  .panf-xsteps p{font-size:11px;line-height:1.5}

  /* Pricing: cards fill the available mobile width */
  .panf-xprice-layout{display:block}
  .panf-xcards{display:grid;width:100%;max-width:none;margin:30px 0 0;gap:22px}
  .panf-xcards article{width:100%;max-width:none;min-height:0;padding:30px 26px 25px;border-radius:22px}
  .panf-xplan{justify-content:flex-start}
  .panf-xplan>i{font-size:24px}
  .panf-xplan strong{font-size:16px}
  .panf-xplan span{font-size:11px}
  .panf-xamount{text-align:left;margin:18px 0 20px;font-size:48px}
  .panf-xamount small{font-size:17px}
  .panf-xcards li{padding:6px 0 6px 25px;font-size:13px}
  .panf-xcards article>a{margin-top:16px;padding:14px;font-size:12px}
  .panf-xpopular{top:-13px;padding:7px 20px;font-size:8px}
}

/* Mobile hero typography: preserve visible word separation */
@media(max-width:700px){
  .panf-xcopy h1{
    font-size:36px;
    line-height:1.08;
    letter-spacing:-.025em;
    word-spacing:.12em;
    overflow-wrap:normal;
    word-break:normal;
  }
  .panf-xcopy h1 em{
    letter-spacing:-.02em;
    word-spacing:.12em;
  }
}
@media(max-width:390px){
  .panf-xcopy h1{
    font-size:34px;
    letter-spacing:-.018em;
    word-spacing:.14em;
  }
}

/* Hero H1 definitive spacing fix */
@media(max-width:700px){
  .panf-xcopy h1{
    letter-spacing:-.012em!important;
    word-spacing:.16em!important;
  }
}

/* Panfleteria local market proof */
.panf-market-proof{padding:22px 0 10px;background:#fff}
.panf-market-proof-card{display:grid;grid-template-columns:1.35fr .65fr;gap:44px;align-items:center;padding:34px 40px;border-radius:26px;background:#17191d;color:#fff}
.panf-market-proof-card small{display:block;margin-bottom:8px;color:#ff432e;font-size:11px;font-weight:900;letter-spacing:.12em}
.panf-market-proof-card h2{margin:0 0 9px;font-size:28px;line-height:1.08}
.panf-market-proof-card p{max-width:700px;margin:0;color:#b9bdc4;font-size:14px;line-height:1.6}
.panf-market-proof-card>strong{font-size:21px;line-height:1.35}
.panf-market-proof-card>strong em{color:#ff432e;font-style:normal}
@media(max-width:700px){
 .panf-market-proof{padding:16px 0}
 .panf-market-proof-card{grid-template-columns:1fr;gap:20px;padding:26px 22px;border-radius:22px}
 .panf-market-proof-card h2{font-size:25px}
 .panf-market-proof-card p{font-size:12px}
 .panf-market-proof-card>strong{padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:18px}
}

/* Estimated campaign delivery */
.panf-xestimate{display:flex;align-items:center;gap:10px;margin:4px 0 16px;padding:12px 13px;border-radius:13px;background:#f6f7f8}
.panf-xestimate>i{font-size:17px;color:#ff432e}
.panf-xestimate small{display:block;margin-bottom:2px;font-size:8px;font-weight:900;letter-spacing:.08em;color:#92979e}
.panf-xestimate strong{display:block;font-size:12px;line-height:1.3;color:#202328}
.panf-xestimate-note{grid-column:1/-1;margin:16px 0 0;text-align:center;font-size:10px;line-height:1.5;color:#8b9097}
.panf-xcards article.featured .panf-xestimate{background:#fff}
@media(max-width:700px){
 .panf-xestimate{margin:0 0 17px;padding:13px 14px}
 .panf-xestimate strong{font-size:13px}
 .panf-xestimate-note{margin:18px 4px 0;font-size:9px}
}

/* Plans: duration is the primary commercial hierarchy */
.panf-xduration{margin:18px 0 4px}
.panf-xduration strong{display:block;font-size:35px;font-weight:950;line-height:.95;letter-spacing:-.045em;color:#17191d}
.panf-xduration span{display:block;margin-top:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#ff432e}
.panf-xcards article.featured .panf-xduration strong{font-size:39px}
@media(max-width:700px){
 .panf-xduration{margin:20px 0 7px}
 .panf-xduration strong,.panf-xcards article.featured .panf-xduration strong{font-size:43px}
 .panf-xduration span{font-size:12px}
 .panf-xamount{margin-top:18px}
}

/* Plans duration refinement — integrated with original card hierarchy */
.panf-xduration,.panf-xcards article.featured .panf-xduration{display:inline-flex;align-items:center;gap:6px;margin:16px 0 2px;padding:8px 11px;border-radius:999px;background:#fff1ee;color:#e83b27}
.panf-xduration>i{font-size:11px}
.panf-xduration strong,.panf-xcards article.featured .panf-xduration strong{display:inline;font-size:13px;font-weight:900;line-height:1;letter-spacing:0;color:inherit}
.panf-xduration span{display:inline;margin:0;font-size:10px;font-weight:750;line-height:1;text-transform:none;letter-spacing:0;color:#7b7f85}
.panf-xcards article.featured .panf-xduration{background:#fff}
@media(max-width:700px){
 .panf-xduration,.panf-xcards article.featured .panf-xduration{margin:16px 0 4px;padding:9px 12px}
 .panf-xduration strong,.panf-xcards article.featured .panf-xduration strong{font-size:14px}
 .panf-xduration span{font-size:11px}
 .panf-xamount{margin-top:16px}
}

/* Keep plan name and duration visually grouped */
.panf-xduration,.panf-xcards article.featured .panf-xduration{margin-top:7px}
@media(max-width:700px){
 .panf-xduration,.panf-xcards article.featured .panf-xduration{margin-top:7px}
}

/* Featured R$197: same internal formatting as the other plans */
.panf-xcards article.featured{padding:24px 24px 20px}
.panf-xcards article.featured .panf-xplan{justify-content:center}
.panf-xcards article.featured .panf-xplan>i{font-size:18px}
.panf-xcards article.featured .panf-xplan strong{font-size:12px}
.panf-xcards article.featured .panf-xamount{font-size:30px}
@media(max-width:700px){
 .panf-xcards article.featured{padding:30px 26px 25px}
 .panf-xcards article.featured .panf-xplan{justify-content:flex-start}
 .panf-xcards article.featured .panf-xplan>i{font-size:24px}
 .panf-xcards article.featured .panf-xplan strong{font-size:16px}
 .panf-xcards article.featured .panf-xamount{font-size:48px}
}

/* Featured plan: same visual language as side cards */
.panf-xcards article.featured{
 background:#fff;
 border:1px solid #e4e7ea;
 box-shadow:none;
}
.panf-xcards article.featured .panf-xduration{
 background:#fff1ee;
}
.panf-xcards article.featured>a{
 background:#fff1ec;
 color:#f43b1f;
}
.panf-xcards article.featured .panf-xestimate{
 background:#f6f7f8;
}
.panf-xcards article.featured .panf-xpopular{
 background:#f43b1f;
 color:#fff;
}

/* Professional Canva hero artwork */
.panf-phone-stage-art{height:auto;min-height:0;display:flex;align-items:center;justify-content:center;transform:none!important;margin:0!important}
.panf-hero-phone-art{display:block;width:min(100%,650px);height:auto;border-radius:28px;box-shadow:0 28px 65px rgba(20,29,45,.16);object-fit:contain}
@media(max-width:700px){
 .panf-phone-stage-art{height:auto;min-height:0;margin:12px 0 0!important;transform:none!important}
 .panf-hero-phone-art{width:100%;border-radius:20px;box-shadow:0 20px 45px rgba(20,29,45,.14)}
}

/* Hero artwork: floating campaign signals */
.panf-phone-stage-art{position:relative;overflow:visible}
.panf-phone-stage-art .panf-float,.panf-phone-stage-art .panf-social-bubble{z-index:3}
@media(max-width:700px){
 .panf-phone-stage-art{padding:18px 8px 72px}
 .panf-phone-stage-art .panf-float{transform:scale(.78);transform-origin:center}
 .panf-phone-stage-art .f1{left:-6px;bottom:40px}
 .panf-phone-stage-art .f2{right:-5px;top:4px}
 .panf-phone-stage-art .f3{right:-5px;bottom:24px}
 .panf-phone-stage-art .panf-social-bubble{transform:scale(.78)}
}

/* Panfleteria hero artwork — compact mobile floating cards */
@media(max-width:700px){
 .panf-phone-stage-art{
  padding:0!important;
  margin:22px 0 8px!important;
  min-height:0!important;
 }
 .panf-phone-stage-art .panf-hero-phone-art{
  width:100%!important;
  border-radius:20px;
 }
 .panf-phone-stage-art .panf-float{
  width:auto!important;
  min-width:0!important;
  max-width:170px!important;
  padding:9px 11px!important;
  gap:8px!important;
  border-radius:12px!important;
  transform:none!important;
  font-size:10px!important;
  line-height:1.18!important;
  box-shadow:0 8px 22px rgba(20,29,45,.14)!important;
 }
 .panf-phone-stage-art .panf-float i{font-size:16px!important}
 .panf-phone-stage-art .panf-float span{font-size:10px!important;line-height:1.18!important}
 .panf-phone-stage-art .panf-float b{font-size:10px!important}
 .panf-phone-stage-art .f1{left:4px!important;bottom:14px!important;top:auto!important}
 .panf-phone-stage-art .f2{right:4px!important;top:10px!important;left:auto!important;bottom:auto!important}
 .panf-phone-stage-art .f3{right:4px!important;bottom:12px!important;left:auto!important;top:auto!important}
 .panf-phone-stage-art .panf-social-bubble{
  width:38px!important;height:38px!important;
  transform:none!important;font-size:18px!important;
  box-shadow:0 8px 20px rgba(20,29,45,.18)!important;
 }
 .panf-phone-stage-art .fb{right:-5px!important;top:42%!important}
 .panf-phone-stage-art .ig{right:-5px!important;top:62%!important}
}

/* Final transparent phone artwork */
.panf-phone-stage-art{min-height:560px;display:flex;align-items:center;justify-content:center}
.panf-phone-stage-art .panf-hero-phone-art{
 width:auto!important;
 max-width:100%!important;
 height:560px!important;
 object-fit:contain!important;
 border-radius:0!important;
 box-shadow:none!important;
}
@media(max-width:700px){
 .panf-phone-stage-art{height:430px!important;min-height:430px!important;margin:8px 0 0!important;padding:0!important}
 .panf-phone-stage-art .panf-hero-phone-art{width:auto!important;max-width:100%!important;height:420px!important}
}

/* Tight phone + balanced floating signals */
@media(max-width:700px){
 .panf-phone-stage-art{
  position:relative!important;
  height:455px!important;
  min-height:455px!important;
  margin:4px auto 8px!important;
  padding:0!important;
  overflow:visible!important;
 }
 .panf-phone-stage-art .panf-hero-phone-art{
  position:absolute!important;
  left:50%!important;top:8px!important;
  transform:translateX(-50%)!important;
  width:auto!important;height:430px!important;
  max-width:none!important;
 }
 .panf-phone-stage-art .panf-float{
  max-width:148px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
 }
 .panf-phone-stage-art .f2{right:4px!important;top:18px!important;left:auto!important}
 .panf-phone-stage-art .f1{left:4px!important;bottom:30px!important;top:auto!important}
 .panf-phone-stage-art .f3{right:4px!important;bottom:30px!important;top:auto!important}
 .panf-phone-stage-art .fb{right:8px!important;top:42%!important}
 .panf-phone-stage-art .ig{right:8px!important;top:57%!important}
}

/* Panfleteria desktop hero — copy + visual side by side */
@media(min-width:901px){
 .panf-xhero{padding:54px 0 42px!important}
 .panf-xhero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)!important;
  gap:54px!important;
  align-items:center!important;
 }
 .panf-xcopy{min-width:0!important}
 .panf-xcopy h1{max-width:760px!important}
 .panf-phone-stage-art{
  width:100%!important;
  min-height:570px!important;
  margin:0!important;
  justify-self:center!important;
 }
 .panf-phone-stage-art .panf-hero-phone-art{
  height:555px!important;
  width:auto!important;
  max-width:none!important;
 }
}

/* Desktop hero horizontal breathing room */
@media(min-width:901px){
 .panf-xhero .container{
  width:min(100% - 80px,1280px)!important;
  margin-inline:auto!important;
 }
 .panf-xhero-grid{gap:64px!important}
}
@media(min-width:1400px){
 .panf-xhero .container{width:min(100% - 120px,1320px)!important}
}

/* GO27 public layout standard — horizontal content rhythm */
@media(min-width:901px){
 .container{
  width:min(calc(100% - 80px),1280px)!important;
  margin-inline:auto!important;
 }
}
@media(min-width:1400px){
 .container{
  width:min(calc(100% - 120px),1320px)!important;
 }
}

/* Pricing estimate disclaimer — desktop readability */
@media(min-width:901px){
 .panf-xestimate-note{
  width:min(100%,620px)!important;
  margin:22px auto 0!important;
  text-align:center!important;
  font-size:10px!important;
  line-height:1.65!important;
 }
}

/* Panfleteria FAQ — focused desktop reading width */
@media(min-width:901px){
 .panf-faq-section>.container{max-width:860px!important}
 .panf-faq-head{
  max-width:680px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
 }
 .panf-faq-grid{
  width:100%!important;
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
 }
 .panf-faq-footer{max-width:820px;margin-left:auto;margin-right:auto}
}

/* Panfleteria FAQ — narrower final desktop measure */
@media(min-width:901px){
 .panf-faq-section>.container{max-width:740px!important}
 .panf-faq-head{max-width:600px!important}
 .panf-faq-grid{max-width:700px!important}
 .panf-faq-footer{max-width:700px!important}
}

/* Panfleteria pricing cards — left-aligned information */
.panf-xcards article{text-align:left!important}
.panf-xcards .panf-xplan{justify-content:flex-start!important;text-align:left!important}
.panf-xcards .panf-xamount{text-align:left!important}
.panf-xcards .panf-xduration{justify-content:flex-start!important;text-align:left!important}
.panf-xcards .panf-xestimate{text-align:left!important}
.panf-xcards ul{text-align:left!important}
.panf-xcards article>a{justify-content:flex-start!important;text-align:left!important;padding-left:18px!important}
.panf-xcards .panf-xpopular{text-align:center!important}

/* Panfleteria pricing CTA — WhatsApp-ready */
.panf-xcards article>a.panf-xwhatsapp{
 justify-content:center!important;
 padding-left:12px!important;
 gap:8px!important;
}
.panf-xcards article>a.panf-xwhatsapp .fa-whatsapp{font-size:15px}
.panf-xcards article>a.panf-xwhatsapp.is-pending{cursor:default}

/* Panfleteria pricing CTA — strong conversion emphasis */
.panf-xcards article>a.panf-xwhatsapp,
.panf-xcards .featured>a.panf-xwhatsapp{
 display:flex!important;
 width:100%!important;
 min-height:44px!important;
 align-items:center!important;
 justify-content:center!important;
 padding:12px 16px!important;
 border:0!important;
 border-radius:12px!important;
 background:#16a34a!important;
 color:#fff!important;
 font-size:11px!important;
 font-weight:900!important;
 letter-spacing:.01em!important;
 box-shadow:0 8px 18px rgba(22,163,74,.20)!important;
}
.panf-xcards article>a.panf-xwhatsapp .fa-whatsapp{
 font-size:18px!important;
 color:#fff!important;
}
.panf-xcards article>a.panf-xwhatsapp:hover{
 background:#12863d!important;
 transform:translateY(-1px);
 box-shadow:0 10px 22px rgba(22,163,74,.26)!important;
}
.panf-xcards article>a.panf-xwhatsapp.is-pending{opacity:1!important}

/* Offer desktop content — centered reading column below hero */
@media(min-width:901px){
 .offer-landing-v2 .offer-detail-shell{
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
 }
 .offer-landing-v2 .offer-detail-card,
 .offer-landing-v2 .offer-description,
 .offer-landing-v2 .offer-contact-channels-bottom,
 .offer-landing-v2 .offer-business-box{
  width:100%!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
 }
}

/* Offer desktop hero — centered 16:9 creative, slightly wider than content */
@media(min-width:901px){
 .offer-landing-v2{
  padding-top:28px;
  background:#f3f5f7;
 }
 .offer-landing-v2 .offer-hero{
  width:min(calc(100% - 80px),1040px)!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  margin:0 auto!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 18px 44px rgba(19,28,45,.12);
 }
 .offer-landing-v2 .offer-hero-image,
 .offer-landing-v2 .offer-hero-placeholder{
  object-fit:cover!important;
 }
 .offer-landing-v2 .offer-hero-inner{
  width:calc(100% - 60px)!important;
  min-height:100%!important;
  padding:32px 0 34px!important;
 }
 .offer-landing-v2 .offer-detail-shell{margin-top:-18px!important}
}
@media(min-width:1400px){
 .offer-landing-v2 .offer-hero{width:min(calc(100% - 120px),1040px)!important}
}

/* Offer desktop hero/detail transition — balanced breathing room */
@media(min-width:901px){
 .offer-landing-v2 .offer-hero-inner{
  padding-bottom:52px!important;
 }
 .offer-landing-v2 .offer-hero-actions{
  margin-bottom:10px!important;
 }
 .offer-landing-v2 .offer-detail-shell{
  margin-top:-10px!important;
 }
 .offer-landing-v2 .offer-detail-card{
  padding:38px 30px 30px!important;
 }
}

/* Offer desktop overlap — stronger depth with preserved breathing room */
@media(min-width:901px){
 .offer-landing-v2 .offer-hero-inner{
  padding-bottom:78px!important;
 }
 .offer-landing-v2 .offer-hero-actions{
  margin-bottom:16px!important;
 }
 .offer-landing-v2 .offer-detail-shell{
  margin-top:-46px!important;
 }
 .offer-landing-v2 .offer-detail-card{
  padding-top:48px!important;
 }
}

/* Offer inline advertising position — between summary and details */
.offer-inline-ad{
 width:100%;
 max-width:900px;
 margin:26px auto;
 text-align:center;
}
.offer-inline-ad>span{
 display:block;
 margin-bottom:8px;
 color:#9aa1aa;
 font-size:9px;
 font-weight:800;
 letter-spacing:.12em;
}
.offer-inline-ad-space{
 display:flex;
 min-height:90px;
 align-items:center;
 justify-content:center;
 border:1px dashed #d8dce2;
 border-radius:12px;
 background:#f8f9fa;
 color:#a0a6ae;
 font-size:11px;
 font-weight:700;
}
@media(max-width:720px){
 .offer-inline-ad{margin:20px auto}
 .offer-inline-ad-space{min-height:72px}
}

/* Offer inline ad — editorial divider pattern */
.offer-inline-ad{
 max-width:900px!important;
 margin:30px auto 28px!important;
}
.offer-inline-ad-label{
 display:block!important;
 margin:0 0 12px!important;
 color:#9aa1aa!important;
 font-size:9px!important;
 font-weight:800!important;
 letter-spacing:.14em!important;
 text-align:center!important;
}
.offer-inline-ad-space{
 width:min(100%,620px)!important;
 min-height:100px!important;
 margin:0 auto!important;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
}
.offer-inline-ad-continue{
 display:flex;
 align-items:center;
 gap:14px;
 width:100%;
 margin-top:24px;
 color:#9aa1aa;
 font-size:9px;
 font-weight:700;
 letter-spacing:.16em;
 white-space:nowrap;
}
.offer-inline-ad-continue::before,
.offer-inline-ad-continue::after{
 content:"";
 flex:1;
 height:1px;
 background:#d8dce2;
}
.offer-inline-ad-continue span{flex:0 0 auto}
@media(max-width:720px){
 .offer-inline-ad{margin:24px auto!important}
 .offer-inline-ad-space{min-height:80px!important}
 .offer-inline-ad-continue{gap:9px;margin-top:18px;font-size:7px;letter-spacing:.1em}
}

/* Offer inline ad — divider-only final state */
.offer-inline-ad{
 margin:28px auto!important;
}
.offer-inline-ad-label,
.offer-inline-ad-space{
 display:none!important;
}
.offer-inline-ad-continue{
 margin-top:0!important;
}
.offer-inline-ad-bottom-line{
 width:100%;
 height:1px;
 margin-top:24px;
 background:#d8dce2;
}
@media(max-width:720px){
 .offer-inline-ad-bottom-line{margin-top:18px}
}

/* Panfleteria hero — offer demo CTA */
.panf-demo-offer-btn{
 border-color:#d9dde4!important;
 background:#fff!important;
 color:#1d2735!important;
}
.panf-demo-offer-btn:hover{
 border-color:#aeb5c0!important;
 background:#f7f8fa!important;
}

/* Offer creative — mobile-first portrait presentation */
@media(max-width:720px){
 .offer-landing-v2 .offer-hero{
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:9/16!important;
  border-radius:0!important;
 }
 .offer-landing-v2 .offer-hero-image{
  object-fit:cover!important;
  object-position:center center!important;
 }
 .offer-landing-v2 .offer-hero-inner{
  min-height:0!important;
  height:100%!important;
 }
}
@media(min-width:901px){
 .offer-landing-v2 .offer-hero{
  width:min(calc(100% - 80px),620px)!important;
  aspect-ratio:9/16!important;
  max-height:820px!important;
 }
 .offer-landing-v2 .offer-hero-image{
  object-fit:cover!important;
  object-position:center center!important;
 }
}

/* Offer hero v5 — blurred full-width backdrop + portrait creative */
.offer-landing-v2{position:relative}
.offer-landing-v2 .offer-hero{
 isolation:isolate;
 overflow:visible!important;
 background:#171b22!important;
}
.offer-landing-v2 .offer-hero::before{
 content:"";
 position:absolute;
 z-index:-2;
 inset:-44px calc((100vw - 100%)/-2) -70px;
 background-image:var(--offer-hero-bg);
 background-size:cover;
 background-position:center;
 filter:blur(26px) saturate(.82);
 transform:scale(1.06);
 opacity:.72;
}
.offer-landing-v2 .offer-hero::after{
 content:"";
 position:absolute;
 z-index:-1;
 inset:-44px calc((100vw - 100%)/-2) -70px;
 background:linear-gradient(180deg,rgba(12,17,24,.36),rgba(12,17,24,.62));
 backdrop-filter:blur(3px);
}
@media(min-width:901px){
 .offer-landing-v2 .offer-hero{
  width:min(calc(100% - 80px),680px)!important;
  border-radius:20px!important;
  box-shadow:0 24px 60px rgba(15,23,42,.25)!important;
 }
 .offer-landing-v2 .offer-detail-shell{
  max-width:1040px!important;
 }
 .offer-landing-v2 .offer-detail-card,
 .offer-landing-v2 .offer-inline-ad{
  max-width:940px!important;
 }
 .offer-landing-v2 .offer-description,
 .offer-landing-v2 .offer-contact-channels-bottom,
 .offer-landing-v2 .offer-business-box{
  max-width:900px!important;
 }
}
@media(max-width:720px){
 .offer-landing-v2{padding-top:18px!important}
 .offer-landing-v2 .offer-hero{
  width:calc(100% - 28px)!important;
  border-radius:18px!important;
  overflow:visible!important;
  box-shadow:0 18px 42px rgba(15,23,42,.28)!important;
 }
 .offer-landing-v2 .offer-hero::before,
 .offer-landing-v2 .offer-hero::after{
  inset:-28px -28px -48px!important;
 }
 .offer-landing-v2 .offer-hero-image{
  border-radius:18px!important;
 }
 .offer-landing-v2 .offer-detail-shell{
  width:calc(100% - 42px)!important;
 }
}

/* Offer showcase v6 — reference-inspired split hero */
.offer-showcase{position:relative;overflow:hidden;background:#090a0d;color:#fff;padding:46px 0 54px}
.offer-showcase-bg{position:absolute;inset:-34px;background-image:var(--offer-hero-bg);background-size:cover;background-position:center;filter:blur(24px) saturate(.8);transform:scale(1.08);opacity:.42}
.offer-showcase::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,10,.94) 0%,rgba(5,7,10,.75) 47%,rgba(5,7,10,.48) 100%)}
.offer-showcase-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:64px;align-items:center}
.offer-showcase-copy{max-width:610px}
.offer-showcase-copy h1{margin:12px 0 12px;font-size:clamp(34px,4vw,58px);line-height:1.02;letter-spacing:-.04em;color:#fff}
.offer-showcase-copy>p{max-width:560px;margin:0 0 20px;color:rgba(255,255,255,.84);font-size:16px;line-height:1.55}
.offer-showcase-meta{display:grid;gap:10px;margin:18px 0 22px;font-size:14px;font-weight:750}
.offer-showcase-meta span{display:flex;align-items:center;gap:10px}
.offer-showcase-meta i{width:18px;text-align:center}
.offer-showcase-cta{display:inline-flex!important;min-width:280px;justify-content:center!important}
.offer-showcase-media{position:relative;width:100%;aspect-ratio:16/9;border:1px solid rgba(255,255,255,.25);border-radius:16px;overflow:hidden;box-shadow:0 24px 55px rgba(0,0,0,.34)}
.offer-showcase-media img{width:100%;height:100%;display:block;object-fit:cover}
.offer-showcase .offer-hero-actions{margin-top:16px}
.offer-showcase .offer-hero-actions a{background:rgba(9,12,17,.72);backdrop-filter:blur(10px)}
.offer-landing-v2 .offer-detail-shell{margin-top:0!important;padding-top:28px!important}
@media(max-width:900px){
 .offer-showcase{padding:30px 0 34px}
 .offer-showcase-grid{grid-template-columns:1fr;gap:24px}
 .offer-showcase-copy{max-width:none}
 .offer-showcase-media{grid-row:2;aspect-ratio:9/16;max-height:70vh;width:min(100%,430px);margin:0 auto}
 .offer-showcase-copy h1{font-size:36px}
}
@media(max-width:720px){
 .offer-showcase{padding-top:24px}
 .offer-showcase-grid{width:calc(100% - 32px)!important}
 .offer-showcase-copy h1{font-size:32px}
 .offer-showcase-copy>p{font-size:14px}
 .offer-showcase-cta{width:100%;min-width:0}
 .offer-showcase-media{width:100%;max-height:none}
 .offer-landing-v2 .offer-detail-shell{width:calc(100% - 32px)!important;padding-top:20px!important}
}

/* Offer showcase v7 — compact, subtle desktop composition */
@media(min-width:901px){
 .offer-showcase{padding:32px 0 36px!important}
 .offer-showcase-grid{
  grid-template-columns:minmax(0,.96fr) minmax(360px,.82fr)!important;
  gap:54px!important;
  max-width:1220px!important;
 }
 .offer-showcase-copy{max-width:540px!important}
 .offer-showcase-copy .offer-hero-kicker{
  padding:6px 10px!important;
  font-size:9px!important;
 }
 .offer-showcase-copy h1{
  margin:10px 0 8px!important;
  font-size:42px!important;
  line-height:1.04!important;
  max-width:520px!important;
 }
 .offer-showcase-copy>p{
  max-width:500px!important;
  margin-bottom:14px!important;
  font-size:14px!important;
  line-height:1.45!important;
 }
 .offer-showcase .offer-hero-price{
  margin-top:12px!important;
  gap:10px!important;
 }
 .offer-showcase .offer-hero-price span{font-size:13px!important}
 .offer-showcase .offer-hero-price strong{font-size:34px!important}
 .offer-showcase .offer-hero-price b{font-size:10px!important;padding:5px 8px!important}
 .offer-showcase-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px 22px!important;
  margin:12px 0 16px!important;
  font-size:12px!important;
 }
 .offer-showcase-cta{
  width:auto!important;
  min-width:220px!important;
  min-height:42px!important;
  padding:10px 18px!important;
  font-size:12px!important;
 }
 .offer-showcase .offer-hero-actions{
  gap:8px!important;
  margin-top:12px!important;
 }
 .offer-showcase .offer-hero-actions a{
  min-height:38px!important;
  padding:7px 12px!important;
  gap:6px!important;
  border-radius:9px!important;
 }
 .offer-showcase .offer-action-icon{font-size:15px!important}
 .offer-showcase .offer-hero-actions small{font-size:9px!important}
 .offer-showcase-media{
  max-width:520px!important;
  justify-self:end!important;
  border-radius:14px!important;
 }
}

/* Offer content v8 — mockup structure */
.offer-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start;max-width:940px;margin:0 auto}
.offer-content-grid .offer-description-main{max-width:none!important;margin:0!important}
.offer-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:22px;border-radius:10px;background:#f5f7f9;overflow:hidden}
.offer-facts>div{display:flex;gap:12px;align-items:center;min-height:82px;padding:14px;border-right:1px solid #e3e7eb}
.offer-facts>div:last-child{border-right:0}
.offer-facts i{font-size:24px;color:#68717d}
.offer-facts span{display:grid;gap:3px}
.offer-facts strong{font-size:11px;color:#1c2530}
.offer-facts small{font-size:10px;line-height:1.35;color:#68717d}
.offer-place-card{padding:18px;border:1px solid #e7eaee;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(20,29,43,.05)}
.offer-place-head{display:flex;gap:12px;align-items:center;padding-bottom:16px}
.offer-place-icon{display:flex;width:46px;height:46px;flex:0 0 46px;align-items:center;justify-content:center;border-radius:50%;background:#111827;color:#fff;font-size:17px}
.offer-place-head>div{display:grid;gap:4px}
.offer-place-head strong{font-size:14px;color:#17202c}
.offer-place-head small{font-size:10px;color:#77808b}
.offer-place-map{display:flex;align-items:center;gap:10px;padding:14px;border-radius:9px;background:#f4f7f9;color:#1b2530;text-decoration:none}
.offer-place-map>i:first-child{font-size:21px;color:#e53935}
.offer-place-map span{display:grid;gap:2px;flex:1}
.offer-place-map strong{font-size:11px}
.offer-place-map small{font-size:9px;color:#65707c}
.offer-place-map>i:last-child{font-size:9px}
.offer-place-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
.offer-place-actions a{display:flex;min-height:44px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:8px;background:#f6f7f8;color:#202936;text-decoration:none;font-size:9px;font-weight:800}
.offer-place-actions i{font-size:14px}
.offer-place-note{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #eceff2;color:#818994;font-size:9px;line-height:1.4}
@media(max-width:900px){
 .offer-content-grid{grid-template-columns:1fr;max-width:700px}
 .offer-place-card{order:2}
}
@media(max-width:600px){
 .offer-facts{grid-template-columns:1fr}
 .offer-facts>div{min-height:66px;border-right:0;border-bottom:1px solid #e3e7eb}
 .offer-facts>div:last-child{border-bottom:0}
}

/* Offer showcase v9 — clearly visible blurred photographic backdrop */
.offer-showcase{
 background:#0a0d12!important;
}
.offer-showcase-bg{
 inset:-48px!important;
 background-size:cover!important;
 background-position:center center!important;
 background-repeat:no-repeat!important;
 filter:blur(20px) saturate(1.05)!important;
 transform:scale(1.09)!important;
 opacity:.82!important;
}
.offer-showcase::after{
 background:
  linear-gradient(
   90deg,
   rgba(5,7,10,.82) 0%,
   rgba(5,7,10,.68) 42%,
   rgba(5,7,10,.38) 100%
  )!important;
}
@media(max-width:900px){
 .offer-showcase-bg{
  filter:blur(18px) saturate(1.04)!important;
  opacity:.74!important;
 }
 .offer-showcase::after{
  background:linear-gradient(
   180deg,
   rgba(5,7,10,.74) 0%,
   rgba(5,7,10,.55) 58%,
   rgba(5,7,10,.42) 100%
  )!important;
 }
}

/* Offer showcase v10 — sharper background behind product card */
.offer-showcase-bg{
 filter:blur(7px) saturate(1.06)!important;
 transform:scale(1.035)!important;
 opacity:.92!important;
}
.offer-showcase::after{
 background:linear-gradient(
  90deg,
  rgba(5,7,10,.86) 0%,
  rgba(5,7,10,.70) 38%,
  rgba(5,7,10,.30) 72%,
  rgba(5,7,10,.18) 100%
 )!important;
}
@media(max-width:900px){
 .offer-showcase-bg{
  filter:blur(9px) saturate(1.04)!important;
  transform:scale(1.045)!important;
  opacity:.88!important;
 }
 .offer-showcase::after{
  background:linear-gradient(
   180deg,
   rgba(5,7,10,.76) 0%,
   rgba(5,7,10,.58) 55%,
   rgba(5,7,10,.34) 100%
  )!important;
 }
}

/* Offer showcase v11 — slightly sharper background */
.offer-showcase-bg{
 filter:blur(4px) saturate(1.06)!important;
}
@media(max-width:900px){
 .offer-showcase-bg{
  filter:blur(6px) saturate(1.04)!important;
 }
}

/* Offer content v12 — narrower desktop information column */
@media(min-width:901px){
 .offer-landing-v2 .offer-detail-shell{
  max-width:920px!important;
 }
 .offer-content-grid{
  max-width:860px!important;
  grid-template-columns:minmax(0,1fr) 290px!important;
  gap:12px!important;
 }
 .offer-content-grid .offer-description-main{
  padding:24px!important;
 }
 .offer-place-card{
  padding:16px!important;
 }
}

/* Offer layout v13 — align hero width with information area */
@media(min-width:901px){
 .offer-showcase-grid{
  max-width:920px!important;
 }
}

/* Offer hero v14 — refined copy and controls */
@media(min-width:901px){
 .offer-showcase{
  padding:28px 0 30px!important;
 }
 .offer-showcase-grid{
  gap:42px!important;
 }
 .offer-showcase-copy{
  max-width:410px!important;
 }
 .offer-showcase-copy .offer-hero-kicker{
  padding:5px 9px!important;
  font-size:8px!important;
  letter-spacing:.11em!important;
 }
 .offer-showcase-copy h1{
  max-width:400px!important;
  margin:8px 0 6px!important;
  font-size:32px!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
 }
 .offer-showcase-copy>p{
  max-width:390px!important;
  margin:0 0 12px!important;
  font-size:13px!important;
  line-height:1.42!important;
 }
 .offer-showcase .offer-hero-price{
  margin-top:9px!important;
  gap:8px!important;
 }
 .offer-showcase .offer-hero-price span{
  font-size:11px!important;
 }
 .offer-showcase .offer-hero-price strong{
  font-size:29px!important;
 }
 .offer-showcase .offer-hero-price b{
  padding:4px 7px!important;
  font-size:9px!important;
 }
 .offer-showcase-meta{
  gap:8px 16px!important;
  margin:10px 0 13px!important;
  font-size:10px!important;
 }
 .offer-showcase-meta i{
  width:14px!important;
  font-size:11px!important;
 }
 .offer-showcase-cta{
  min-width:190px!important;
  min-height:38px!important;
  padding:8px 14px!important;
  font-size:11px!important;
  border-radius:9px!important;
 }
 .offer-showcase .offer-hero-actions{
  gap:6px!important;
  margin-top:9px!important;
 }
 .offer-showcase .offer-hero-actions a{
  min-height:34px!important;
  padding:6px 10px!important;
  gap:5px!important;
  border-radius:8px!important;
 }
 .offer-showcase .offer-action-icon{
  font-size:13px!important;
 }
 .offer-showcase .offer-hero-actions small{
  font-size:8px!important;
 }
}

/* Panfleteria how-it-works v2 — desktop readability */
@media(min-width:1001px){
 .panf-xhow{
  padding:62px 0!important;
 }
 .panf-xhow-grid{
  grid-template-columns:250px minmax(0,1fr)!important;
  gap:38px!important;
  align-items:center!important;
 }
 .panf-xhow-title small{
  font-size:10px!important;
  letter-spacing:.11em!important;
 }
 .panf-xhow-title h2{
  margin:10px 0 14px!important;
  font-size:34px!important;
  line-height:1.04!important;
 }
 .panf-xhow-title p{
  max-width:235px!important;
  font-size:12px!important;
  line-height:1.6!important;
 }
 .panf-xsteps{
  grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr!important;
  gap:12px!important;
  min-height:178px!important;
  padding:30px 28px!important;
  border-radius:26px!important;
 }
 .panf-xsteps>span{
  font-size:25px!important;
 }
 .panf-xsteps article{
  min-width:0!important;
  padding-top:2px!important;
 }
 .panf-xsteps article>b{
  top:0!important;
  font-size:16px!important;
 }
 .panf-xsteps article>i{
  width:48px!important;
  height:48px!important;
  margin:0 auto 18px!important;
  font-size:18px!important;
 }
 .panf-xsteps h3{
  margin:0 0 8px!important;
  font-size:14px!important;
  line-height:1.3!important;
 }
 .panf-xsteps p{
  max-width:180px!important;
  font-size:10.5px!important;
  line-height:1.55!important;
 }
}

/* Panfleteria how-it-works v3 — number beside icon */
@media(min-width:1001px){
 .panf-xsteps article{
  display:grid!important;
  grid-template-columns:auto auto 1fr!important;
  grid-template-areas:
   "num icon ."
   "title title title"
   "copy copy copy"!important;
  column-gap:10px!important;
  row-gap:5px!important;
  align-items:center!important;
  padding-top:0!important;
 }
 .panf-xsteps article>b{
  position:static!important;
  grid-area:num!important;
  align-self:center!important;
  font-size:15px!important;
  line-height:1!important;
 }
 .panf-xsteps article>i{
  position:static!important;
  grid-area:icon!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  font-size:16px!important;
 }
 .panf-xsteps h3{
  grid-area:title!important;
  margin:4px 0 2px!important;
 }
 .panf-xsteps p{
  grid-area:copy!important;
  margin:0!important;
 }
}

/* Panfleteria benefits v2 — desktop stacked icons + larger type */
@media(min-width:1001px){
 .panf-xfeatures{
  padding:26px 0 30px!important;
 }
 .panf-xfeature-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:start!important;
 }
 .panf-xfeature-grid article{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:9px!important;
  text-align:left!important;
 }
 .panf-xfeature-grid article>i{
  width:46px!important;
  height:46px!important;
  margin:0 0 3px!important;
  border-radius:13px!important;
  font-size:18px!important;
 }
 .panf-xfeature-grid article>div{
  display:grid!important;
  gap:5px!important;
 }
 .panf-xfeature-grid strong{
  font-size:14px!important;
  line-height:1.25!important;
 }
 .panf-xfeature-grid span{
  font-size:11px!important;
  line-height:1.45!important;
 }
}

/* Panfleteria section headings v1 — unified visual hierarchy */
.panf-design .panf-xhow-title small,
.panf-design .panf-xprice-title small,
.panf-faq-section .section-overline,
.panf-final-section .section-overline{
 display:block!important;
 margin:0 0 10px!important;
 color:#f43b1f!important;
 font-size:11px!important;
 line-height:1.2!important;
 font-weight:950!important;
 letter-spacing:.12em!important;
 text-transform:uppercase!important;
}
.panf-design .panf-xhow-title h2,
.panf-design .panf-xprice-title h2,
.panf-faq-section .panf-faq-head .section-title,
.panf-final-section .panf-final-card h2{
 margin:0!important;
 color:#171b22!important;
 font-size:36px!important;
 line-height:1.08!important;
 font-weight:900!important;
 letter-spacing:-.035em!important;
}
.panf-design .panf-xhow-title p,
.panf-design .panf-xprice-title p,
.panf-faq-section .panf-faq-head>p,
.panf-final-section .panf-final-card p{
 margin:12px 0 0!important;
 color:#737b86!important;
 font-size:14px!important;
 line-height:1.6!important;
}
@media(min-width:901px){
 .panf-faq-section .panf-faq-head{
  max-width:680px!important;
  margin:0 auto 34px!important;
  text-align:center!important;
 }
 .panf-faq-section .panf-faq-head .section-title{
  font-size:38px!important;
 }
 .panf-faq-section .panf-faq-head>p{
  max-width:570px!important;
  margin-left:auto!important;
  margin-right:auto!important;
 }
}
@media(max-width:700px){
 .panf-design .panf-xhow-title h2,
 .panf-design .panf-xprice-title h2,
 .panf-faq-section .panf-faq-head .section-title,
 .panf-final-section .panf-final-card h2{
  font-size:30px!important;
 }
 .panf-design .panf-xhow-title p,
 .panf-design .panf-xprice-title p,
 .panf-faq-section .panf-faq-head>p,
 .panf-final-section .panf-final-card p{
  font-size:13px!important;
 }
}

/* GO27 public typography — global Inter system */
:root{
 --go27-font-sans:"Inter",Arial,Helvetica,sans-serif;
}
html,
body,
button,
input,
select,
textarea{
 font-family:var(--go27-font-sans)!important;
}
body{
 font-feature-settings:"liga" 1,"kern" 1;
 -webkit-font-smoothing:antialiased;
 text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,
strong,b,
.portal-header,
.section-title,
.article-body-v3,
.article-body-v3 h2{
 font-family:var(--go27-font-sans)!important;
}
.article-body-v3{
 font-size:18px;
 line-height:1.72;
 letter-spacing:-.005em;
}

/* GO27 public typography v2 — unified heading strength */
:root{
 --go27-title-weight:700;
}
h1,h2,h3,h4,h5,h6,
.section-title,
.panf-xcopy h1,
.panf-xhow-title h2,
.panf-xprice-title h2,
.panf-faq-head .section-title,
.panf-final-card h2,
.offer-showcase-copy h1,
.offer-description h2,
.offer-place-card h2,
.article-body-v3 h2{
 font-weight:var(--go27-title-weight)!important;
}

/* Offer demo v15 — Google Maps establishment card */
.offer-google-demo{display:grid;gap:12px}
.offer-google-place-head{display:flex;align-items:center;gap:11px}
.offer-google-place-logo{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:#101827;color:#fff;font-size:17px}
.offer-google-place-head>div{display:grid;gap:2px;min-width:0}
.offer-google-place-head strong{font-size:13px;line-height:1.25;color:#15202d}
.offer-google-place-head small{font-size:9.5px;color:#747e89}
.offer-google-demo-label{width:max-content;margin-top:2px;padding:3px 6px;border-radius:999px;background:#fff1ec;color:#f04a2e;font-size:7px;font-weight:800;letter-spacing:.08em}
.offer-google-address{display:flex;align-items:flex-start;gap:9px;color:#586370;font-size:10px;line-height:1.45}
.offer-google-address>i{margin-top:2px;color:#202936;font-size:13px}
.offer-google-map-frame{height:128px;overflow:hidden;border:1px solid #e8ebee;border-radius:9px;background:#f3f5f7}
.offer-google-map-frame iframe{display:block;width:100%;height:100%;border:0}
.offer-google-open-map{display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border-radius:8px;background:#f5f7f9;color:#3677d9;font-size:9.5px;font-weight:700;text-decoration:none}
.offer-google-open-map i{font-size:12px}
.offer-google-hours{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:start;padding-top:12px;border-top:1px solid #eceff2}
.offer-google-hours>i{margin-top:1px;color:#202936;font-size:14px}
.offer-google-hours>div{display:grid;gap:3px}
.offer-google-hours strong{font-size:9.5px;color:#29323d}
.offer-google-hours small{font-size:8.5px;line-height:1.35;color:#747e89}
.offer-google-status{align-self:center;padding:4px 7px;border-radius:999px;background:#edf6ff;color:#3478c8;font-size:7.5px;font-weight:700}
@media(max-width:600px){
 .offer-google-map-frame{height:190px}
 .offer-google-place-head strong{font-size:14px}
 .offer-google-address{font-size:11px}
}

/* Offer demo v16 — restore contact buttons below Google card */
.offer-google-actions{
 margin-top:0!important;
 padding-top:12px;
 border-top:1px solid #eceff2;
}

/* Offer Google card v17 — live Places data */
.offer-google-rating{
 display:flex;
 align-items:center;
 gap:5px;
 color:#59636f;
 font-size:9px;
 line-height:1.35;
}
.offer-google-rating>i{
 color:#f5b301;
 font-size:12px;
}
.offer-google-rating strong{
 color:#27313d;
 font-size:11px;
}
.offer-google-rating.is-demo{
 padding:7px 9px;
 border-radius:8px;
 background:#fafafa;
 color:#858d96;
}
.offer-google-status.is-open{
 background:#dcfce7;
 color:#15803d;
}
.offer-google-status.is-closed{
 background:#fee2e2;
 color:#b91c1c;
}

/* Article header v4 — G1/Folha Vitória inspired editorial hierarchy */
.article-header-v4{
 max-width:1000px!important;
 padding:30px 0 30px!important;
}
.article-header-v4 h1{
 max-width:980px!important;
 margin:0!important;
 color:#202124!important;
 font-size:clamp(42px,5vw,60px)!important;
 font-weight:700!important;
 line-height:1.06!important;
 letter-spacing:-.045em!important;
}
.article-header-v4 .article-deck{
 max-width:900px!important;
 margin:20px 0 24px!important;
 color:#5f6368!important;
 font-size:clamp(18px,1.8vw,21px)!important;
 font-weight:400!important;
 line-height:1.46!important;
 letter-spacing:-.01em!important;
}
.article-byline-v4{
 display:flex;
 flex-wrap:wrap;
 gap:4px;
 align-items:baseline;
 margin-top:2px;
 color:#303134;
 font-size:12.5px;
 line-height:1.5;
}
.article-byline-v4 span{
 color:#5f6368;
 font-weight:400;
}
.article-byline-v4 strong{
 color:#303134;
 font-size:12.5px!important;
 font-weight:600!important;
}
.article-date-v4{
 display:flex;
 flex-wrap:wrap;
 gap:6px;
 align-items:center;
 margin-top:5px;
 color:#777b80;
 font-size:11.5px;
 line-height:1.45;
}
.article-date-v4 time{
 color:inherit;
}
.article-date-divider{
 color:#b1b4b8;
}
@media(max-width:760px){
 .article-header-v4{
  padding:22px 0 24px!important;
 }
 .article-header-v4 h1{
  font-size:clamp(34px,9.6vw,46px)!important;
  line-height:1.06!important;
  letter-spacing:-.04em!important;
 }
 .article-header-v4 .article-deck{
  margin:15px 0 20px!important;
  font-size:18px!important;
  line-height:1.45!important;
 }
 .article-byline-v4,
 .article-byline-v4 strong{
  font-size:12px!important;
 }
 .article-date-v4{
  margin-top:6px;
  font-size:11px;
 }
}

/* Article header v5 — closer to G1 scale */
.article-header-v4 h1{
 font-size:clamp(38px,4.4vw,54px)!important;
 line-height:1.08!important;
 letter-spacing:-.035em!important;
}
.article-header-v4 .article-deck{
 max-width:880px!important;
 margin:17px 0 21px!important;
 font-size:19px!important;
 line-height:1.48!important;
}
.article-byline-v4,
.article-byline-v4 strong{
 font-size:12px!important;
}
.article-date-v4{
 margin-top:4px!important;
 font-size:11px!important;
}

@media(max-width:760px){
 .article-header-v4{
  padding:20px 0 22px!important;
 }
 .article-header-v4 h1{
  font-size:32px!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
 }
 .article-header-v4 .article-deck{
  margin:14px 0 19px!important;
  font-size:17px!important;
  line-height:1.48!important;
 }
 .article-byline-v4,
 .article-byline-v4 strong{
  font-size:11.5px!important;
 }
 .article-date-v4{
  margin-top:5px!important;
  font-size:10.5px!important;
 }
}
@media(max-width:420px){
 .article-header-v4 h1{
  font-size:30px!important;
 }
 .article-header-v4 .article-deck{
  font-size:16.5px!important;
 }
}

/* Article share v4 — directly below publication/update metadata */
.article-share-v4{
 display:flex;
 align-items:center;
 gap:18px;
 margin-top:24px;
}
.article-share-v4 a{
 text-decoration:none;
}
.article-share-whatsapp{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:10px;
 min-height:48px;
 padding:0 22px;
 border:2px solid #3347d8;
 border-radius:14px;
 color:#3347d8;
 font-size:15px;
 font-weight:700;
 line-height:1;
}
.article-share-whatsapp i{
 font-size:24px;
}
.article-share-icon{
 display:grid;
 place-items:center;
 width:48px;
 height:48px;
 color:#3347d8;
 font-size:24px;
 line-height:1;
}
.article-share-v4 a:hover{
 opacity:.78;
}
@media(max-width:760px){
 .article-share-v4{
  gap:10px;
  margin-top:20px;
 }
 .article-share-whatsapp{
  min-height:44px;
  padding:0 15px;
  border-radius:12px;
  font-size:13px;
 }
 .article-share-whatsapp i{
  font-size:21px;
 }
 .article-share-icon{
  width:42px;
  height:42px;
  font-size:21px;
 }
}
@media(max-width:420px){
 .article-share-v4{
  gap:6px;
 }
 .article-share-whatsapp{
  padding:0 12px;
 }
 .article-share-whatsapp span{
  font-size:12px;
 }
 .article-share-icon{
  width:36px;
  height:42px;
  font-size:19px;
 }
}

/* Article mobile v6 — consistent horizontal page gutter */
@media(max-width:760px){
 .article-v3 > .container{
  width:100%!important;
  max-width:none!important;
  padding-left:20px!important;
  padding-right:20px!important;
  margin-left:auto!important;
  margin-right:auto!important;
 }
 .article-hero-v3{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
 }
 .article-hero-v3 img{
  width:100%!important;
  border-radius:12px!important;
 }
 .article-hero-v3 figcaption{
  margin-left:0!important;
  margin-right:0!important;
 }
 .article-reading-grid-v3,
 .article-reading-main,
 .article-body-v3{
  width:100%!important;
  max-width:100%!important;
 }
}

/* Article share v5 — full-width horizontal distribution */
.article-share-v4{
 display:grid!important;
 grid-template-columns:minmax(180px,2.2fr) repeat(4,minmax(48px,1fr))!important;
 gap:14px!important;
 width:100%!important;
 max-width:100%!important;
 align-items:center!important;
}
.article-share-whatsapp,
.article-share-icon{
 width:100%!important;
}
.article-share-whatsapp{
 justify-content:center!important;
 min-height:52px!important;
}
.article-share-icon{
 min-height:52px!important;
 height:52px!important;
}

@media(max-width:760px){
 .article-share-v4{
  grid-template-columns:minmax(145px,1.8fr) repeat(4,minmax(38px,1fr))!important;
  gap:8px!important;
  width:100%!important;
 }
 .article-share-whatsapp{
  min-height:48px!important;
  padding:0 12px!important;
  border-radius:13px!important;
  font-size:12px!important;
 }
 .article-share-whatsapp i{
  font-size:20px!important;
 }
 .article-share-icon{
  min-height:48px!important;
  height:48px!important;
  width:100%!important;
  font-size:20px!important;
 }
}

@media(max-width:420px){
 .article-share-v4{
  grid-template-columns:minmax(132px,1.65fr) repeat(4,minmax(34px,1fr))!important;
  gap:5px!important;
 }
 .article-share-whatsapp{
  padding:0 9px!important;
  gap:7px!important;
 }
 .article-share-whatsapp span{
  font-size:11px!important;
 }
 .article-share-icon{
  font-size:18px!important;
 }
}

/* Article editorial flow v7 */
.article-body-v3 .monetization-slot{
 margin:36px 0!important;
}
.article-inline-heading{
 margin:0 0 14px;
 color:#23272d;
 font-size:18px;
 font-weight:700;
 line-height:1.2;
}
.article-related-inline{
 margin:34px 0;
 padding:20px 0;
 border-top:1px solid #e4e7eb;
 border-bottom:1px solid #e4e7eb;
}
.article-related-inline-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:16px;
}
.article-related-inline-card{
 display:grid;
 grid-template-columns:96px minmax(0,1fr);
 gap:12px;
 align-items:center;
 color:#20242a;
 text-decoration:none;
}
.article-related-inline-card img,
.article-related-inline-placeholder{
 width:96px;
 height:72px;
 border-radius:9px;
 object-fit:cover;
 background:#f0f2f5;
}
.article-related-inline-placeholder{
 display:grid;
 place-items:center;
 color:#9aa1aa;
 font-size:13px;
 font-weight:800;
}
.article-related-inline-card strong{
 font-size:14px;
 line-height:1.34;
 font-weight:700;
}
.article-community-cta{
 display:grid;
 grid-template-columns:52px minmax(0,1fr) auto;
 gap:14px;
 align-items:center;
 margin:36px 0;
 padding:18px;
 border:1px solid #dce7df;
 border-radius:16px;
 background:#f7fbf8;
}
.article-community-icon{
 display:grid;
 place-items:center;
 width:52px;
 height:52px;
 border-radius:50%;
 background:#25d366;
 color:#fff;
 font-size:26px;
}
.article-community-copy{
 display:grid;
 gap:3px;
}
.article-community-copy>span{
 color:#168b46;
 font-size:10px;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.article-community-copy>strong{
 color:#17211b;
 font-size:16px;
 font-weight:700;
}
.article-community-copy>p{
 margin:0!important;
 color:#66706a;
 font-size:12px;
 line-height:1.45;
}
.article-community-cta>a{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:40px;
 padding:0 14px;
 border-radius:10px;
 background:#25d366;
 color:#fff;
 font-size:11px;
 font-weight:700;
 text-decoration:none;
 white-space:nowrap;
}
.article-author-card{
 display:grid;
 grid-template-columns:84px minmax(0,1fr);
 gap:18px;
 margin-top:42px;
 padding:22px 0;
 border-top:1px solid #e2e5e9;
 border-bottom:1px solid #e2e5e9;
}
.article-author-photo{
 width:84px;
 height:84px;
 border-radius:50%;
 object-fit:cover;
 background:#eef1f4;
}
.article-author-initials{
 display:grid;
 place-items:center;
 color:#6c7480;
 font-size:28px;
 font-weight:700;
}
.article-author-copy{
 display:grid;
 gap:5px;
}
.article-author-copy>span{
 color:#8a919a;
 font-size:9px;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.article-author-copy>strong{
 color:#20242a;
 font-size:17px;
 font-weight:700;
}
.article-author-copy>p{
 max-width:560px;
 margin:0!important;
 color:#68717c;
 font-size:12.5px;
 line-height:1.5;
}
.article-author-social{
 display:flex;
 flex-wrap:wrap;
 gap:8px;
 margin-top:7px;
}
.article-author-social a{
 display:inline-flex;
 align-items:center;
 gap:6px;
 min-height:34px;
 padding:0 11px;
 border:1px solid #dfe3e8;
 border-radius:9px;
 color:#303844;
 font-size:10px;
 font-weight:700;
 text-decoration:none;
}
.article-share-final{
 margin-top:34px;
}
.article-share-final .article-share-v4{
 margin-top:0!important;
}
.article-topics{
 margin-top:34px;
 padding-top:20px;
 border-top:1px solid #e4e7eb;
}
.article-topic-links{
 display:flex;
 flex-wrap:wrap;
 gap:8px;
}
.article-topic-links a{
 display:inline-flex;
 align-items:center;
 min-height:32px;
 padding:0 12px;
 border-radius:999px;
 background:#f1f3f5;
 color:#37404b;
 font-size:10.5px;
 font-weight:700;
 text-decoration:none;
}
.article-topic-links a:hover{
 background:#e7eaee;
}
@media(max-width:760px){
 .article-body-v3 .monetization-slot{
  margin:30px 0!important;
 }
 .article-inline-heading{
  margin-bottom:12px;
  font-size:16px;
 }
 .article-related-inline{
  margin:30px 0;
  padding:18px 0;
 }
 .article-related-inline-grid{
  grid-template-columns:1fr;
  gap:12px;
 }
 .article-related-inline-card{
  grid-template-columns:88px minmax(0,1fr);
 }
 .article-related-inline-card img,
 .article-related-inline-placeholder{
  width:88px;
  height:66px;
 }
 .article-related-inline-card strong{
  font-size:13px;
 }
 .article-community-cta{
  grid-template-columns:46px minmax(0,1fr);
  margin:30px 0;
  padding:15px;
 }
 .article-community-icon{
  width:46px;
  height:46px;
  font-size:23px;
 }
 .article-community-copy>strong{
  font-size:14px;
 }
 .article-community-copy>p{
  font-size:11px;
 }
 .article-community-cta>a{
  grid-column:1 / -1;
  min-height:40px;
  width:100%;
 }
 .article-author-card{
  grid-template-columns:64px minmax(0,1fr);
  gap:14px;
  margin-top:34px;
  padding:20px 0;
 }
 .article-author-photo{
  width:64px;
  height:64px;
 }
 .article-author-initials{
  font-size:22px;
 }
 .article-author-copy>strong{
  font-size:15px;
 }
 .article-author-copy>p{
  font-size:11.5px;
 }
 .article-share-final,
 .article-topics{
  margin-top:28px;
 }
}

/* Article editorial flow v7 */
.article-body-v3 > .monetization-slot,
.article-body-v3 > .article-related-inline,
.article-body-v3 > .article-community-cta{
 margin:34px 0;
 font-family:var(--go27-font-sans)!important;
}

.article-body-v3 > .monetization-slot{
 padding:22px 0;
 border-top:1px solid #e7e9ec;
 border-bottom:1px solid #e7e9ec;
}

.article-body-v3 > .monetization-slot .monetization-label{
 margin-bottom:10px;
 color:#8a8f96;
 font-size:9px;
 font-weight:700;
 letter-spacing:.1em;
 text-transform:uppercase;
}

.article-inline-heading{
 margin-bottom:14px;
 color:#202124;
 font-size:18px;
 font-weight:700;
 line-height:1.2;
}

.article-related-inline{
 padding:20px 0;
 border-top:2px solid #202124;
 border-bottom:1px solid #e3e6e9;
}

.article-related-inline-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:18px;
}

.article-related-inline-card{
 display:grid;
 grid-template-columns:92px minmax(0,1fr);
 gap:12px;
 align-items:center;
 color:#202124;
 text-decoration:none;
}

.article-related-inline-card img,
.article-related-inline-placeholder{
 width:92px;
 height:72px;
 border-radius:8px;
 object-fit:cover;
 background:#f1f3f5;
}

.article-related-inline-placeholder{
 display:grid;
 place-items:center;
 color:#ef432d;
 font-size:13px;
 font-weight:800;
}

.article-related-inline-card strong{
 font-size:13px;
 font-weight:700!important;
 line-height:1.32;
}

.article-community-cta{
 display:grid;
 grid-template-columns:50px minmax(0,1fr) auto;
 gap:14px;
 align-items:center;
 padding:20px;
 border:1px solid #dfe5e3;
 border-radius:14px;
 background:#f7fbf9;
}

.article-community-icon{
 display:grid;
 place-items:center;
 width:50px;
 height:50px;
 border-radius:50%;
 background:#25d366;
 color:#fff;
 font-size:25px;
}

.article-community-copy{
 display:grid;
 gap:3px;
}

.article-community-copy>span{
 color:#5f6b66;
 font-size:9px;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}

.article-community-copy>strong{
 color:#18211d;
 font-size:16px;
 font-weight:700!important;
}

.article-community-copy>p{
 margin:0!important;
 color:#6d7672;
 font-size:11px!important;
 line-height:1.45!important;
}

.article-community-cta>a{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:38px;
 padding:0 14px;
 border-radius:9px;
 background:#1fae56;
 color:#fff;
 font-size:11px;
 font-weight:700;
 text-decoration:none;
 white-space:nowrap;
}

.article-author-card{
 display:grid;
 grid-template-columns:82px minmax(0,1fr);
 gap:18px;
 margin-top:42px;
 padding:22px 0;
 border-top:1px solid #dfe2e5;
 border-bottom:1px solid #dfe2e5;
}

.article-author-photo{
 width:82px;
 height:82px;
 border-radius:50%;
 object-fit:cover;
}

.article-author-initials{
 display:grid;
 place-items:center;
 background:#202124;
 color:#fff;
 font-size:28px;
 font-weight:700;
}

.article-author-copy{
 display:grid;
 gap:5px;
}

.article-author-copy>span{
 color:#8a8f95;
 font-size:9px;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}

.article-author-copy>strong{
 color:#202124;
 font-size:18px;
 font-weight:700!important;
}

.article-author-copy>p{
 max-width:580px;
 margin:0!important;
 color:#666d74;
 font-size:12px!important;
 line-height:1.5!important;
}

.article-author-social{
 display:flex;
 flex-wrap:wrap;
 gap:8px;
 margin-top:8px;
}

.article-author-social a{
 display:inline-flex;
 align-items:center;
 gap:7px;
 min-height:34px;
 padding:0 11px;
 border:1px solid #d9dde2;
 border-radius:8px;
 color:#303640;
 font-size:10px;
 font-weight:700;
 text-decoration:none;
}

.article-share-final{
 margin-top:30px;
 padding-bottom:28px;
 border-bottom:1px solid #e2e5e8;
}

.article-share-final .article-share-v4{
 margin-top:0!important;
}

.article-topics{
 margin-top:26px;
 padding-bottom:26px;
 border-bottom:1px solid #e2e5e8;
}

.article-topic-links{
 display:flex;
 flex-wrap:wrap;
 gap:8px;
}

.article-topic-links a{
 display:inline-flex;
 align-items:center;
 min-height:32px;
 padding:0 11px;
 border-radius:999px;
 background:#f2f3f5;
 color:#30343a;
 font-size:10px;
 font-weight:700;
 text-decoration:none;
}

@media(max-width:760px){
 .article-body-v3 > .monetization-slot,
 .article-body-v3 > .article-related-inline,
 .article-body-v3 > .article-community-cta{
  margin:28px 0;
 }

 .article-related-inline-grid{
  grid-template-columns:1fr;
  gap:13px;
 }

 .article-related-inline-card{
  grid-template-columns:88px minmax(0,1fr);
 }

 .article-related-inline-card img,
 .article-related-inline-placeholder{
  width:88px;
  height:68px;
 }

 .article-community-cta{
  grid-template-columns:44px minmax(0,1fr);
  padding:16px;
 }

 .article-community-icon{
  width:44px;
  height:44px;
  font-size:22px;
 }

 .article-community-copy>strong{
  font-size:14px;
 }

 .article-community-cta>a{
  grid-column:1 / -1;
  width:100%;
  min-height:40px;
 }

 .article-author-card{
  grid-template-columns:64px minmax(0,1fr);
  gap:14px;
  margin-top:34px;
  padding:20px 0;
 }

 .article-author-photo{
  width:64px;
  height:64px;
 }

 .article-author-initials{
  font-size:23px;
 }

 .article-author-copy>strong{
  font-size:16px;
 }

 .article-author-social{
  grid-column:1 / -1;
 }

 .article-author-social a{
  flex:1 1 auto;
  justify-content:center;
 }

 .article-share-final{
  margin-top:26px;
 }

 .article-inline-heading{
  font-size:16px;
 }
}

/* Article footer v8 — Folha Vitória inspired */
.article-follow-go27{
 margin-top:28px;
}
.article-follow-go27 a{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:14px;
 width:100%;
 min-height:64px;
 padding:12px 18px;
 border-radius:12px;
 background:linear-gradient(90deg,#a92dac 0%,#c035a4 100%);
 color:#fff;
 font-size:17px;
 font-weight:500;
 text-decoration:none;
}
.article-follow-go27 i{
 font-size:30px;
}

.article-share-final{
 margin-top:30px!important;
 padding:0 0 28px!important;
 border-bottom:1px solid #e4e7ea!important;
}
.article-share-heading{
 display:grid;
 grid-template-columns:minmax(30px,1fr) auto minmax(30px,1fr);
 gap:14px;
 align-items:center;
 margin-bottom:18px;
}
.article-share-heading>span{
 height:1px;
 background:#e0e3e6;
}
.article-share-heading strong{
 color:#50555b;
 font-size:14px;
 font-weight:500!important;
 white-space:nowrap;
}

.article-share-final .article-share-v4{
 display:grid!important;
 grid-template-columns:repeat(5,1fr)!important;
 gap:0!important;
 width:100%!important;
 margin:0!important;
}
.article-share-final .article-share-whatsapp,
.article-share-final .article-share-icon{
 display:grid!important;
 place-items:center!important;
 width:100%!important;
 min-width:0!important;
 height:46px!important;
 min-height:46px!important;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
 color:#334ee8!important;
}
.article-share-final .article-share-whatsapp span{
 display:none!important;
}
.article-share-final .article-share-whatsapp i,
.article-share-final .article-share-icon i{
 font-size:24px!important;
}

.article-topics{
 margin-top:26px!important;
 padding-bottom:28px!important;
 border-bottom:1px solid #e4e7ea!important;
}
.article-topics .article-inline-heading{
 margin-bottom:14px!important;
 color:#334ee8!important;
 font-size:18px!important;
 font-weight:700!important;
}
.article-topic-links{
 display:flex!important;
 flex-wrap:wrap!important;
 gap:8px!important;
}
.article-topic-links a{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 min-height:34px!important;
 padding:0 12px!important;
 border:1.5px solid #334ee8!important;
 border-radius:10px!important;
 background:#fff!important;
 color:#334ee8!important;
 font-size:12px!important;
 font-weight:700!important;
 text-decoration:none!important;
}

@media(max-width:760px){
 .article-follow-go27{
  margin-top:24px;
 }
 .article-follow-go27 a{
  min-height:58px;
  border-radius:10px;
  font-size:15px;
 }
 .article-follow-go27 i{
  font-size:27px;
 }

 .article-share-heading{
  gap:10px;
  margin-bottom:15px;
 }
 .article-share-heading strong{
  font-size:13px;
 }
 .article-share-final .article-share-whatsapp,
 .article-share-final .article-share-icon{
  height:44px!important;
  min-height:44px!important;
 }
 .article-share-final .article-share-whatsapp i,
 .article-share-final .article-share-icon i{
  font-size:22px!important;
 }

 .article-topics .article-inline-heading{
  font-size:17px!important;
 }
 .article-topic-links a{
  min-height:33px!important;
  padding:0 11px!important;
  font-size:11.5px!important;
  border-radius:9px!important;
 }
}

/* Article post-author actions v8 — Folha Vitória inspired */
.article-follow-instagram{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:12px;
 width:100%;
 min-height:58px;
 margin-top:26px;
 padding:0 20px;
 border-radius:12px;
 background:linear-gradient(135deg,#c13584,#a832b8);
 color:#fff;
 font-size:16px;
 font-weight:500;
 text-decoration:none;
}
.article-follow-instagram i{
 font-size:26px;
}

.article-share-final{
 margin-top:28px!important;
 padding-bottom:24px!important;
 border-bottom:1px solid #e2e5e8!important;
}

.article-share-divider{
 display:grid;
 grid-template-columns:1fr auto 1fr;
 gap:14px;
 align-items:center;
 margin-bottom:18px;
 color:#454a50;
 font-size:14px;
 font-weight:400;
 text-align:center;
}
.article-share-divider::before,
.article-share-divider::after{
 content:"";
 height:1px;
 background:#e1e4e7;
}
.article-share-divider span{
 white-space:nowrap;
}

.article-share-v6{
 display:grid!important;
 grid-template-columns:repeat(5,1fr)!important;
 gap:16px!important;
 width:100%!important;
 margin:0!important;
}
.article-share-v6 .article-share-icon{
 display:grid!important;
 place-items:center!important;
 width:100%!important;
 height:48px!important;
 min-height:48px!important;
 color:#3148e8!important;
 font-size:23px!important;
 text-decoration:none!important;
}

.article-topics{
 margin-top:28px!important;
 padding-bottom:28px!important;
 border-bottom:1px solid #e2e5e8!important;
}
.article-topics-title{
 margin-bottom:14px;
 color:#3148e8;
 font-size:20px;
 font-weight:700;
 line-height:1.2;
}
.article-topic-links{
 display:flex!important;
 flex-wrap:wrap!important;
 gap:9px!important;
}
.article-topic-links a{
 min-height:36px!important;
 padding:0 13px!important;
 border:1.5px solid #3148e8!important;
 border-radius:10px!important;
 background:#fff!important;
 color:#3148e8!important;
 font-size:12px!important;
 font-weight:700!important;
 text-decoration:none!important;
}

@media(max-width:760px){
 .article-follow-instagram{
  min-height:56px;
  margin-top:24px;
  border-radius:11px;
  font-size:15px;
 }
 .article-follow-instagram i{
  font-size:24px;
 }

 .article-share-divider{
  gap:10px;
  margin-bottom:14px;
  font-size:13px;
 }

 .article-share-v6{
  grid-template-columns:repeat(5,1fr)!important;
  gap:10px!important;
 }
 .article-share-v6 .article-share-icon{
  height:44px!important;
  min-height:44px!important;
  font-size:21px!important;
 }

 .article-topics-title{
  font-size:18px;
 }
 .article-topic-links{
  gap:8px!important;
 }
 .article-topic-links a{
  min-height:34px!important;
  padding:0 11px!important;
  font-size:11.5px!important;
 }
}

/* Article top share v9 — directly below byline */
.article-share-top{
 margin-top:14px!important;
 margin-bottom:10px!important;
}

@media(max-width:760px){
 .article-share-top{
  grid-template-columns:minmax(140px,1.8fr) repeat(4,minmax(36px,1fr))!important;
  gap:7px!important;
  margin-top:14px!important;
  margin-bottom:8px!important;
 }
 .article-share-top .article-share-whatsapp{
  min-height:46px!important;
  padding:0 11px!important;
  border-radius:13px!important;
  justify-content:center!important;
 }
 .article-share-top .article-share-whatsapp i{
  font-size:20px!important;
 }
 .article-share-top .article-share-whatsapp span{
  font-size:11px!important;
 }
 .article-share-top .article-share-icon{
  height:46px!important;
  min-height:46px!important;
  font-size:20px!important;
 }
}

/* GO27 global footer v4 — reference-led editorial footer */
.portal-footer-v4{
 margin-top:0!important;
 padding:0!important;
 background:
  radial-gradient(circle at 20% 0%,rgba(239,67,45,.18),transparent 38%),
  linear-gradient(135deg,#17191d 0%,#0f1115 58%,#08090b 100%)!important;
 color:#fff!important;
}
.portal-footer-v4-inner{
 display:flex;
 flex-direction:column;
 align-items:center;
 padding-top:58px!important;
 padding-bottom:38px!important;
 text-align:center;
}
.portal-footer-v4-brand{
 display:flex;
 flex-direction:column;
 align-items:center;
}
.portal-footer-v4-logo{
 display:inline-flex;
 align-items:center;
 color:#fff;
 font-size:54px;
 line-height:.95;
 font-weight:900;
 letter-spacing:-.06em;
 text-decoration:none;
}
.portal-footer-v4-logo span{
 color:var(--go27-red);
}
.portal-footer-v4-brand small{
 margin-top:9px;
 color:#9fa4ac;
 font-size:10px;
 font-weight:700;
 letter-spacing:.1em;
 text-transform:uppercase;
}
.portal-footer-v4-brand p{
 max-width:520px;
 margin:15px auto 0;
 color:#b4b8bf;
 font-size:12px;
 line-height:1.55;
}
.portal-footer-v4-social{
 display:flex;
 justify-content:center;
 align-items:center;
 gap:24px;
 margin-top:28px;
}
.portal-footer-v4-social a{
 display:grid;
 place-items:center;
 width:42px;
 height:42px;
 color:#fff;
 font-size:22px;
 text-decoration:none;
 transition:transform .18s ease,color .18s ease;
}
.portal-footer-v4-social a:hover{
 color:var(--go27-red);
 transform:translateY(-2px);
}
.portal-footer-v4-links{
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 gap:12px 32px;
 max-width:760px;
 margin-top:28px;
}
.portal-footer-v4-links a{
 color:#d7d9dd;
 font-size:12px;
 font-weight:500;
 text-decoration:none;
}
.portal-footer-v4-links a:hover{
 color:#fff;
}
.portal-footer-v4-bottom{
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 gap:8px 18px;
 width:100%;
 margin-top:34px;
 padding-top:20px;
 border-top:1px solid rgba(255,255,255,.1);
 color:#858a92;
 font-size:9.5px;
 line-height:1.5;
}
@media(max-width:760px){
 .portal-footer-v4-inner{
  padding-top:48px!important;
  padding-bottom:32px!important;
 }
 .portal-footer-v4-logo{
  font-size:48px;
 }
 .portal-footer-v4-brand p{
  max-width:310px;
  margin-top:13px;
  font-size:11.5px;
 }
 .portal-footer-v4-social{
  gap:26px;
  margin-top:24px;
 }
 .portal-footer-v4-social a{
  width:40px;
  height:40px;
  font-size:22px;
 }
 .portal-footer-v4-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 22px;
  width:min(100%,360px);
  margin-top:30px;
 }
 .portal-footer-v4-links a{
  font-size:12px;
 }
 .portal-footer-v4-bottom{
  display:grid;
  gap:5px;
  margin-top:30px;
  padding-top:18px;
  font-size:9px;
 }
}

/* Panfleteria mobile containment v13 — equal left/right gutter */
@media(max-width:700px){
 html,
 body{
  max-width:100%;
  overflow-x:hidden;
 }

 .panf-design,
 .panf-xhero,
 .panf-xhero-grid,
 .panf-xcopy,
 .panf-xactions,
 .panf-xtrust,
 .panf-phone-stage,
 .panf-phone-stage-art{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
 }

 .panf-xhero .container{
  width:100%!important;
  max-width:100%!important;
  padding-left:20px!important;
  padding-right:20px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
 }

 .panf-xcopy h1{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  box-sizing:border-box!important;
 }

 .panf-xcopy>p{
  width:100%!important;
  max-width:100%!important;
 }

 .panf-xactions{
  grid-template-columns:minmax(0,1fr)!important;
 }

 .panf-xbtn{
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
 }

 .panf-xtrust{
  max-width:100%!important;
  overflow:hidden!important;
 }

 .panf-xtrust span{
  min-width:0!important;
 }

 .panf-phone-stage-art{
  overflow:hidden!important;
 }
}

/* Panfleteria mobile title v14 — break only between words */
@media(max-width:700px){
 .panf-xcopy h1{
  font-size:34px!important;
  line-height:1.08!important;
  letter-spacing:-.018em!important;
  word-spacing:.04em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%!important;
 }

 .panf-xcopy h1 em{
  letter-spacing:-.012em!important;
  word-spacing:.04em!important;
 }
}

@media(max-width:390px){
 .panf-xcopy h1{
  font-size:32px!important;
  line-height:1.09!important;
  letter-spacing:-.015em!important;
  word-spacing:.035em!important;
 }
}

/* Guide Commercial landing v1 */
.guide-commercial-hero{
 padding:64px 0 58px;
 background:
  radial-gradient(circle at 85% 20%,rgba(239,67,45,.08),transparent 30%),
  linear-gradient(135deg,#fff 0%,#fff9f6 60%,#f5fafb 100%);
}
.guide-commercial-hero-grid{
 display:grid;
 grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
 gap:64px;
 align-items:center;
}
.guide-commercial-kicker{
 display:inline-flex;
 align-items:center;
 gap:8px;
 color:#ef432d;
 font-size:11px;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.guide-commercial-copy h1{
 max-width:720px;
 margin:14px 0 18px;
 color:#17191d;
 font-size:48px;
 line-height:1.04;
 letter-spacing:-.045em;
 font-weight:700;
}
.guide-commercial-copy h1 em{
 color:#ef432d;
 font-style:normal;
}
.guide-commercial-copy>p{
 max-width:680px;
 margin:0;
 color:#707780;
 font-size:15px;
 line-height:1.65;
}
.guide-commercial-analyzer{
 display:grid;
 gap:9px;
 margin-top:28px;
 padding:18px;
 border:1px solid #e5e8eb;
 border-radius:16px;
 background:#fff;
 box-shadow:0 14px 34px rgba(25,31,40,.06);
}
.guide-commercial-analyzer>label{
 color:#282d34;
 font-size:11px;
 font-weight:700;
}
.guide-commercial-analyzer-row{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 gap:8px;
}
.guide-commercial-analyzer input{
 width:100%;
 min-width:0;
 height:46px;
 padding:0 14px;
 border:1px solid #d9dde2;
 border-radius:10px;
 background:#fff;
 color:#222;
 font:inherit;
 font-size:12px;
}
.guide-commercial-analyzer button{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 min-height:46px;
 padding:0 16px;
 border:0;
 border-radius:10px;
 background:#ef432d;
 color:#fff;
 font:inherit;
 font-size:11px;
 font-weight:700;
 cursor:pointer;
}
.guide-commercial-analyzer>small{
 color:#9298a0;
 font-size:9.5px;
 line-height:1.45;
}
.guide-commercial-form-error{
 color:#b42318;
 font-size:10px;
 font-weight:600;
}
.guide-commercial-preview{
 overflow:hidden;
 border:1px solid #e5e8eb;
 border-radius:20px;
 background:#fff;
 box-shadow:0 24px 55px rgba(25,31,40,.10);
}
.guide-commercial-preview-browser{
 display:flex;
 align-items:center;
 gap:6px;
 min-height:42px;
 padding:0 14px;
 border-bottom:1px solid #eceef0;
 background:#f7f8f9;
}
.guide-commercial-preview-browser>span{
 width:7px;
 height:7px;
 border-radius:50%;
 background:#d7dbe0;
}
.guide-commercial-preview-browser small{
 margin-left:7px;
 color:#8b9199;
 font-size:8.5px;
}
.guide-commercial-preview-card{
 display:grid;
 gap:18px;
 padding:26px;
}
.guide-commercial-preview-head{
 display:flex;
 align-items:center;
 gap:12px;
}
.guide-commercial-preview-logo,
.guide-commercial-place-icon{
 display:grid;
 place-items:center;
 width:48px;
 height:48px;
 flex:0 0 48px;
 border-radius:13px;
 background:#fff0eb;
 color:#ef432d;
 font-size:18px;
}
.guide-commercial-preview-head>div:last-child{
 display:grid;
 gap:3px;
}
.guide-commercial-preview-head strong{
 color:#20242a;
 font-size:16px;
}
.guide-commercial-preview-head span{
 color:#858c94;
 font-size:10px;
}
.guide-commercial-preview-rating{
 display:flex;
 align-items:center;
 gap:7px;
 padding:12px 14px;
 border-radius:10px;
 background:#fafbfc;
 color:#737a82;
 font-size:10px;
}
.guide-commercial-preview-rating i{
 color:#f6b500;
}
.guide-commercial-preview-rating b{
 color:#242a31;
 font-size:14px;
}
.guide-commercial-preview-map{
 display:flex;
 align-items:center;
 gap:10px;
 min-height:115px;
 padding:20px;
 border-radius:12px;
 background:
  linear-gradient(135deg,rgba(229,238,241,.85),rgba(242,246,247,.95));
 color:#5b646d;
 font-size:11px;
}
.guide-commercial-preview-map i{
 color:#ef432d;
 font-size:24px;
}
.guide-commercial-preview-tags{
 display:flex;
 flex-wrap:wrap;
 gap:7px;
}
.guide-commercial-preview-tags span,
.guide-commercial-seo-badges span{
 display:inline-flex;
 align-items:center;
 gap:6px;
 min-height:27px;
 padding:0 9px;
 border-radius:999px;
 background:#f3f4f6;
 color:#555d66;
 font-size:8.5px;
 font-weight:700;
}
.guide-commercial-result-section{
 padding:52px 0;
 background:#fff;
}
.guide-commercial-api-note{
 display:grid;
 grid-template-columns:36px minmax(0,1fr);
 gap:13px;
 max-width:820px;
 margin:0 auto;
 padding:18px;
 border:1px solid #ffd7c8;
 border-radius:14px;
 background:#fff8f5;
 color:#6b4d42;
}
.guide-commercial-api-note>i{
 color:#ef432d;
 font-size:20px;
}
.guide-commercial-api-note div{
 display:grid;
 gap:5px;
}
.guide-commercial-api-note strong{
 color:#3e322d;
 font-size:12px;
}
.guide-commercial-api-note p,
.guide-commercial-api-note small{
 margin:0;
 font-size:10px;
 line-height:1.5;
}
.guide-commercial-section-head{
 max-width:700px;
 margin-bottom:28px;
}
.guide-commercial-section-head>span{
 display:block;
 margin-bottom:8px;
 color:#ef432d;
 font-size:10px;
 font-weight:800;
 letter-spacing:.1em;
 text-transform:uppercase;
}
.guide-commercial-section-head h2,
.guide-commercial-delivery h2,
.guide-commercial-seo-card h2,
.guide-commercial-final-card h2{
 margin:0;
 color:#1a1d22;
 font-size:34px;
 line-height:1.08;
 letter-spacing:-.035em;
 font-weight:700;
}
.guide-commercial-section-head p,
.guide-commercial-delivery>div:first-child>p,
.guide-commercial-seo-card p,
.guide-commercial-final-card p{
 margin:11px 0 0;
 color:#737b84;
 font-size:13px;
 line-height:1.6;
}
.guide-commercial-result-grid{
 display:grid;
 grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
 gap:18px;
}
.guide-commercial-place-result,
.guide-commercial-audit,
.guide-commercial-seo-preview{
 padding:22px;
 border:1px solid #e5e8eb;
 border-radius:15px;
 background:#fff;
}
.guide-commercial-place-top{
 display:flex;
 align-items:center;
 gap:11px;
}
.guide-commercial-place-top h3{
 margin:0;
 color:#1f242a;
 font-size:16px;
}
.guide-commercial-place-top p{
 margin:3px 0 0;
 color:#7e858d;
 font-size:10px;
}
.guide-commercial-place-rating,
.guide-commercial-place-line{
 display:flex;
 align-items:center;
 gap:8px;
 margin-top:14px;
 color:#606872;
 font-size:10px;
 line-height:1.45;
}
.guide-commercial-place-rating i{
 color:#f6b500;
}
.guide-commercial-place-rating strong{
 color:#252b31;
 font-size:13px;
}
.guide-commercial-place-line i{
 width:14px;
 color:#ef432d;
}
.guide-commercial-audit-score{
 display:flex;
 align-items:center;
 gap:14px;
 padding-bottom:16px;
 border-bottom:1px solid #eceef0;
}
.guide-commercial-audit-score>strong{
 color:#ef432d;
 font-size:30px;
}
.guide-commercial-audit-score>div{
 display:grid;
 gap:3px;
}
.guide-commercial-audit-score span{
 color:#24292f;
 font-size:11px;
 font-weight:700;
}
.guide-commercial-audit-score small{
 color:#8b929a;
 font-size:9px;
}
.guide-commercial-checklist{
 display:grid;
 gap:10px;
 margin-top:14px;
}
.guide-commercial-check{
 display:grid;
 grid-template-columns:28px minmax(0,1fr);
 gap:9px;
 align-items:start;
}
.guide-commercial-check>i{
 display:grid;
 place-items:center;
 width:28px;
 height:28px;
 border-radius:50%;
 font-size:10px;
}
.guide-commercial-check.ok>i{
 background:#e7f7ed;
 color:#168847;
}
.guide-commercial-check.improve>i{
 background:#fff1ec;
 color:#ef432d;
}
.guide-commercial-check strong{
 display:block;
 color:#2d3238;
 font-size:10px;
}
.guide-commercial-check p{
 margin:2px 0 0;
 color:#858c94;
 font-size:9px;
 line-height:1.45;
}
.guide-commercial-seo-preview{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 gap:22px;
 align-items:center;
 margin-top:18px;
 background:#fafbfc;
}
.guide-commercial-seo-preview>div:first-child{
 display:grid;
 gap:5px;
}
.guide-commercial-seo-preview>div:first-child>span{
 color:#ef432d;
 font-size:9px;
 font-weight:800;
 text-transform:uppercase;
 letter-spacing:.08em;
}
.guide-commercial-seo-preview h3{
 margin:0;
 color:#20242a;
 font-size:14px;
}
.guide-commercial-seo-preview p{
 margin:0;
 color:#777f87;
 font-size:10px;
 line-height:1.45;
}
.guide-commercial-seo-preview small{
 color:#2d7b4c;
 font-size:9px;
}
.guide-commercial-seo-badges{
 display:flex;
 flex-wrap:wrap;
 justify-content:flex-end;
 gap:6px;
 max-width:260px;
}
.guide-commercial-seo-badges i{
 color:#168847;
}
.guide-commercial-how{
 padding:62px 0;
 background:#f7f8fa;
}
.guide-commercial-steps{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:12px;
}
.guide-commercial-steps article{
 position:relative;
 min-height:210px;
 padding:22px;
 border:1px solid #e6e8eb;
 border-radius:14px;
 background:#fff;
}
.guide-commercial-steps article>b{
 position:absolute;
 top:18px;
 right:18px;
 color:#d4d7db;
 font-size:10px;
}
.guide-commercial-steps article>i{
 color:#ef432d;
 font-size:22px;
}
.guide-commercial-steps h3{
 margin:26px 0 7px;
 color:#24282d;
 font-size:14px;
}
.guide-commercial-steps p{
 margin:0;
 color:#858c94;
 font-size:10.5px;
 line-height:1.55;
}
.guide-commercial-delivery{
 padding:64px 0;
 background:#fff;
}
.guide-commercial-delivery-grid{
 display:grid;
 grid-template-columns:340px minmax(0,1fr);
 gap:56px;
 align-items:start;
}
.guide-commercial-delivery-list{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:10px;
}
.guide-commercial-delivery-list>div{
 display:grid;
 grid-template-columns:38px minmax(0,1fr);
 gap:2px 10px;
 min-height:96px;
 padding:16px;
 border:1px solid #e7e9ec;
 border-radius:12px;
}
.guide-commercial-delivery-list i{
 grid-row:1 / span 2;
 display:grid;
 place-items:center;
 width:38px;
 height:38px;
 border-radius:10px;
 background:#fff1ec;
 color:#ef432d;
 font-size:15px;
}
.guide-commercial-delivery-list strong{
 color:#262b31;
 font-size:11px;
}
.guide-commercial-delivery-list span{
 color:#858c94;
 font-size:9.5px;
 line-height:1.45;
}
.guide-commercial-seo{
 padding:58px 0;
 background:#17191d;
 color:#fff;
}
.guide-commercial-seo-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:46px;
 align-items:center;
}
.guide-commercial-seo-card>span{
 color:#ff5a3f;
 font-size:10px;
 font-weight:800;
 letter-spacing:.1em;
 text-transform:uppercase;
}
.guide-commercial-seo-card h2{
 margin-top:8px;
 color:#fff;
}
.guide-commercial-seo-card p{
 color:#aeb4bc;
}
.guide-commercial-search-example{
 display:grid;
 gap:7px;
 padding:22px;
 border:1px solid rgba(255,255,255,.12);
 border-radius:14px;
 background:#fff;
 color:#222;
}
.guide-commercial-search-example small{
 color:#8b929a;
 font-size:9px;
}
.guide-commercial-search-example strong{
 color:#2d5bd1;
 font-size:14px;
 line-height:1.3;
}
.guide-commercial-search-example span{
 color:#258247;
 font-size:9.5px;
}
.guide-commercial-search-example p{
 margin:0;
 color:#707780;
 font-size:10px;
 line-height:1.45;
}
.guide-commercial-final{
 padding:52px 0;
 background:#fff;
}
.guide-commercial-final-card{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 gap:30px;
 align-items:center;
 padding:34px;
 border-radius:20px;
 background:linear-gradient(135deg,#fff2ec,#f7fbfc);
}
.guide-commercial-final-card>div>span{
 display:block;
 margin-bottom:8px;
 color:#ef432d;
 font-size:10px;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.guide-commercial-final-card>a{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 min-height:44px;
 padding:0 17px;
 border-radius:10px;
 background:#ef432d;
 color:#fff;
 font-size:11px;
 font-weight:700;
 text-decoration:none;
 white-space:nowrap;
}
@media(max-width:900px){
 .guide-commercial-hero-grid,
 .guide-commercial-result-grid,
 .guide-commercial-delivery-grid,
 .guide-commercial-seo-grid{
  grid-template-columns:1fr;
 }
 .guide-commercial-preview{
  max-width:620px;
  width:100%;
  margin:0 auto;
 }
 .guide-commercial-steps{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }
 .guide-commercial-delivery-grid{
  gap:28px;
 }
}
@media(max-width:700px){
 .guide-commercial-hero{
  padding:42px 0 40px;
 }
 .guide-commercial-hero .container,
 .guide-commercial-result-section .container,
 .guide-commercial-how .container,
 .guide-commercial-delivery .container,
 .guide-commercial-seo .container,
 .guide-commercial-final .container{
  width:100%!important;
  max-width:100%!important;
  padding-left:20px!important;
  padding-right:20px!important;
  box-sizing:border-box!important;
 }
 .guide-commercial-copy h1{
  font-size:34px;
  line-height:1.07;
 }
 .guide-commercial-copy>p{
  font-size:13.5px;
 }
 .guide-commercial-analyzer{
  padding:14px;
 }
 .guide-commercial-analyzer-row{
  grid-template-columns:1fr;
 }
 .guide-commercial-analyzer button{
  width:100%;
 }
 .guide-commercial-preview-card{
  padding:20px;
 }
 .guide-commercial-section-head h2,
 .guide-commercial-delivery h2,
 .guide-commercial-seo-card h2,
 .guide-commercial-final-card h2{
  font-size:28px;
 }
 .guide-commercial-steps,
 .guide-commercial-delivery-list{
  grid-template-columns:1fr;
 }
 .guide-commercial-steps article{
  min-height:0;
 }
 .guide-commercial-seo-preview{
  grid-template-columns:1fr;
 }
 .guide-commercial-seo-badges{
  justify-content:flex-start;
  max-width:none;
 }
 .guide-commercial-final-card{
  grid-template-columns:1fr;
  padding:24px;
 }
 .guide-commercial-final-card>a{
  width:100%;
 }
}

/* Guide company page v1 — immersive business hero */
.guide-company-hero{
 position:relative;
 min-height:520px;
 overflow:hidden;
 background:
  radial-gradient(circle at 75% 20%,rgba(239,67,45,.20),transparent 38%),
  linear-gradient(135deg,#11151b,#202a36);
 color:#fff;
}
.guide-company-hero-bg{
 position:absolute;
 inset:0;
 background-image:
  linear-gradient(
   180deg,
   rgba(5,9,14,.18) 0%,
   rgba(5,9,14,.35) 38%,
   rgba(5,9,14,.88) 100%
  ),
  var(--guide-company-cover);
 background-size:cover;
 background-position:center;
}
.guide-company-hero.no-cover .guide-company-hero-bg{
 background-image:
  radial-gradient(circle at 78% 18%,rgba(239,67,45,.28),transparent 36%),
  linear-gradient(135deg,#1a2029,#0b0e13);
}
.guide-company-hero-inner{
 position:relative;
 z-index:2;
 min-height:520px;
 display:flex;
 align-items:flex-end;
 padding-top:70px!important;
 padding-bottom:42px!important;
}
.guide-company-identity{
 width:min(100%,820px);
}
.guide-company-kicker{
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 gap:8px;
 margin-bottom:12px;
}
.guide-company-kicker>span,
.guide-company-kicker>b{
 display:inline-flex;
 align-items:center;
 gap:5px;
 min-height:25px;
 padding:0 9px;
 border-radius:999px;
 background:rgba(255,255,255,.14);
 backdrop-filter:blur(10px);
 color:#fff;
 font-size:8.5px;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.guide-company-kicker>b{
 background:#ef432d;
}
.guide-company-kicker>b.is-google-connected{
 background:#19a95b;
}
.guide-company-identity h1{
 max-width:800px;
 margin:0;
 color:#fff;
 font-size:clamp(42px,5vw,68px);
 font-weight:700;
 line-height:.98;
 letter-spacing:-.045em;
 text-shadow:0 6px 24px rgba(0,0,0,.25);
}
.guide-company-meta{
 display:flex;
 flex-wrap:wrap;
 gap:10px 22px;
 margin-top:18px;
 color:rgba(255,255,255,.92);
 font-size:12px;
 line-height:1.45;
}
.guide-company-meta span{
 display:inline-flex;
 align-items:center;
 gap:7px;
}
.guide-company-meta i{
 color:#ff5a3f;
}
.guide-company-rating-row{
 display:flex;
 flex-wrap:wrap;
 gap:12px;
 align-items:center;
 margin-top:22px;
}
.guide-company-google-rating{
 display:flex;
 align-items:center;
 gap:13px;
 min-height:76px;
 padding:10px 18px 10px 10px;
 border:1px solid rgba(255,255,255,.25);
 border-radius:18px;
 background:rgba(255,255,255,.13);
 backdrop-filter:blur(15px);
 box-shadow:0 14px 34px rgba(0,0,0,.14);
}
.guide-company-rating-number{
 display:grid;
 place-items:center;
 width:58px;
 height:58px;
 flex:0 0 58px;
 border-radius:50%;
 background:#ef432d;
 color:#fff;
 font-size:21px;
 font-weight:800;
}
.guide-company-rating-number i{
 font-size:23px;
}
.guide-company-google-rating>div:last-child{
 display:grid;
 gap:5px;
}
.guide-company-stars{
 display:flex;
 gap:3px;
 color:#ffc928;
 font-size:13px;
}
.guide-company-google-rating>div:last-child>span{
 color:#fff;
 font-size:10px;
}
.guide-company-google-rating.is-pending{
 opacity:.92;
}
.guide-company-google-rating.is-pending .guide-company-stars{
 color:rgba(255,255,255,.62);
}
.guide-company-open-status{
 display:inline-flex;
 align-items:center;
 gap:7px;
 min-height:39px;
 padding:0 13px;
 border-radius:999px;
 border:1px solid rgba(255,255,255,.25);
 backdrop-filter:blur(12px);
 font-size:10px;
 font-weight:700;
}
.guide-company-open-status.is-open{
 background:#18c98c;
 color:#fff;
}
.guide-company-open-status.is-closed{
 background:rgba(36,41,48,.72);
 color:#fff;
}
.guide-company-actions{
 display:flex;
 flex-wrap:wrap;
 gap:8px;
 margin-top:22px;
}
.guide-company-action{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 min-height:42px;
 padding:0 14px;
 border:1px solid rgba(255,255,255,.28);
 border-radius:10px;
 background:rgba(255,255,255,.12);
 backdrop-filter:blur(12px);
 color:#fff;
 font-size:10.5px;
 font-weight:700;
 text-decoration:none;
}
.guide-company-action i{
 font-size:15px;
}
.guide-company-action.primary{
 border-color:#25d366;
 background:#25d366;
 color:#fff;
}
.guide-company-action:hover{
 background:rgba(255,255,255,.20);
 color:#fff;
}
.guide-company-action.primary:hover{
 background:#1fb758;
}
@media(max-width:760px){
 .guide-company-hero{
  min-height:610px;
 }
 .guide-company-hero-inner{
  min-height:610px;
  width:100%!important;
  max-width:100%!important;
  padding:52px 20px 28px!important;
  box-sizing:border-box!important;
 }
 .guide-company-identity{
  width:100%;
 }
 .guide-company-identity h1{
  max-width:100%;
  font-size:42px;
  line-height:1.01;
  letter-spacing:-.04em;
 }
 .guide-company-meta{
  display:grid;
  gap:8px;
  font-size:11px;
 }
 .guide-company-rating-row{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:18px;
 }
 .guide-company-google-rating{
  width:100%;
  min-height:72px;
  border-radius:16px;
 }
 .guide-company-open-status{
  width:max-content;
 }
 .guide-company-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;
  gap:8px;
  margin-top:18px;
 }
 .guide-company-action{
  width:100%;
  min-height:44px;
 }
}
@media(max-width:420px){
 .guide-company-hero{
  min-height:590px;
 }
 .guide-company-hero-inner{
  min-height:590px;
 }
 .guide-company-identity h1{
  font-size:38px;
 }
}

/* Guide company content v2 — contact, map and Google reviews */
.guide-company-content{
 padding:48px 0 62px;
 background:#fff;
}
.guide-company-content-grid{
 display:grid;
 grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
 gap:18px;
 align-items:start;
}
.guide-company-about-card,
.guide-company-contact-card,
.guide-company-map-section,
.guide-company-reviews{
 border:1px solid #e5e8eb;
 border-radius:16px;
 background:#fff;
 box-shadow:0 10px 28px rgba(22,29,37,.04);
}
.guide-company-about-card,
.guide-company-contact-card{
 padding:24px;
}
.guide-company-section-kicker{
 display:block;
 margin-bottom:7px;
 color:#ef432d;
 font-size:9px;
 font-weight:800;
 letter-spacing:.1em;
 text-transform:uppercase;
}
.guide-company-about-card h2,
.guide-company-contact-card h2,
.guide-company-map-copy h2,
.guide-company-reviews h2,
.guide-company-section-head h2{
 margin:0;
 color:#1d2228;
 font-size:24px;
 line-height:1.12;
 letter-spacing:-.025em;
}
.guide-company-about-card>p{
 max-width:720px;
 margin:12px 0 0;
 color:#737b84;
 font-size:12.5px;
 line-height:1.65;
}
.guide-company-contact-list{
 display:grid;
 gap:11px;
 margin-top:20px;
}
.guide-company-contact-list>div{
 display:grid;
 grid-template-columns:34px minmax(0,1fr);
 gap:10px;
 align-items:start;
}
.guide-company-contact-list>div>i{
 display:grid;
 place-items:center;
 width:34px;
 height:34px;
 border-radius:9px;
 background:#fff1ec;
 color:#ef432d;
 font-size:13px;
}
.guide-company-contact-list span{
 display:grid;
 gap:2px;
 color:#747c85;
 font-size:10.5px;
 line-height:1.45;
}
.guide-company-contact-list strong{
 color:#30363d;
 font-size:10.5px;
}
.guide-company-contact-actions{
 display:grid;
 gap:8px;
 margin-top:16px;
}
.guide-company-contact-button{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:9px;
 min-height:44px;
 padding:0 13px;
 border:1px solid #dfe3e7;
 border-radius:10px;
 background:#fff;
 color:#2e343b;
 font-size:10.5px;
 font-weight:700;
 text-decoration:none;
}
.guide-company-contact-button i{
 font-size:16px;
}
.guide-company-contact-button.whatsapp{
 border-color:#25d366;
 background:#25d366;
 color:#fff;
}
.guide-company-contact-button.instagram{
 border-color:#e4d5df;
 color:#b83280;
}
.guide-company-map-section{
 display:grid;
 grid-template-columns:300px minmax(0,1fr);
 gap:0;
 overflow:hidden;
 margin-top:22px;
}
.guide-company-map-copy{
 padding:24px;
}
.guide-company-map-copy p{
 margin:10px 0 16px;
 color:#757d85;
 font-size:11px;
 line-height:1.55;
}
.guide-company-map-copy>a{
 display:inline-flex;
 align-items:center;
 gap:8px;
 min-height:38px;
 padding:0 12px;
 border-radius:9px;
 background:#17191d;
 color:#fff;
 font-size:10px;
 font-weight:700;
 text-decoration:none;
}
.guide-company-map-frame{
 min-height:300px;
 background:#eef1f3;
}
.guide-company-map-frame iframe{
 display:block;
 width:100%;
 height:100%;
 min-height:300px;
 border:0;
}
.guide-company-offers{
 margin-top:34px;
}
.guide-company-section-head{
 margin-bottom:15px;
}
.guide-company-reviews{
 margin-top:38px;
 padding:24px;
}
.guide-company-reviews-head{
 display:flex;
 justify-content:space-between;
 gap:24px;
 align-items:flex-start;
}
.guide-company-reviews-score{
 display:flex;
 align-items:center;
 gap:11px;
 flex:0 0 auto;
}
.guide-company-reviews-score>strong{
 color:#20252b;
 font-size:34px;
 line-height:1;
}
.guide-company-reviews-score>div{
 display:grid;
 gap:4px;
}
.guide-company-reviews-score .guide-company-stars{
 color:#f6b500;
}
.guide-company-reviews-score span{
 color:#858c94;
 font-size:9.5px;
}
.guide-company-review-summary,
.guide-company-review-empty{
 display:grid;
 grid-template-columns:38px minmax(0,1fr);
 gap:11px;
 align-items:start;
 margin-top:20px;
 padding:16px;
 border-radius:12px;
 background:#f7f8fa;
}
.guide-company-review-summary>i,
.guide-company-review-empty>i{
 display:grid;
 place-items:center;
 width:38px;
 height:38px;
 border-radius:50%;
 background:#fff;
 color:#4285f4;
 font-size:18px;
}
.guide-company-review-summary>div,
.guide-company-review-empty>div{
 display:grid;
 gap:4px;
}
.guide-company-review-summary strong,
.guide-company-review-empty strong{
 color:#30363d;
 font-size:11px;
}
.guide-company-review-summary p,
.guide-company-review-empty p{
 margin:0;
 color:#7d858e;
 font-size:10px;
 line-height:1.5;
}
.guide-company-reviews-link{
 display:inline-flex;
 align-items:center;
 gap:8px;
 min-height:38px;
 margin-top:14px;
 padding:0 13px;
 border:1px solid #dfe3e7;
 border-radius:9px;
 background:#fff;
 color:#32383f;
 font-size:10px;
 font-weight:700;
 text-decoration:none;
}
.guide-company-reviews-link i{
 color:#4285f4;
}

@media(max-width:800px){
 .guide-company-content{
  padding:32px 0 44px;
 }
 .guide-company-content>.container{
  width:100%!important;
  max-width:100%!important;
  padding-left:20px!important;
  padding-right:20px!important;
  box-sizing:border-box!important;
 }
 .guide-company-content-grid{
  grid-template-columns:1fr;
 }
 .guide-company-about-card,
 .guide-company-contact-card,
 .guide-company-reviews{
  padding:18px;
 }
 .guide-company-about-card h2,
 .guide-company-contact-card h2,
 .guide-company-map-copy h2,
 .guide-company-reviews h2,
 .guide-company-section-head h2{
  font-size:21px;
 }
 .guide-company-map-section{
  grid-template-columns:1fr;
 }
 .guide-company-map-copy{
  padding:18px;
 }
 .guide-company-map-frame,
 .guide-company-map-frame iframe{
  min-height:250px;
 }
 .guide-company-reviews-head{
  display:grid;
  gap:16px;
 }
 .guide-company-reviews-score{
  justify-content:flex-start;
 }
}

/* Article desktop v10 — centered editorial column inspired by G1 */
@media(min-width:761px){
 .article-v3 > .container{
  width:min(calc(100% - 80px),1280px)!important;
  margin-inline:auto!important;
 }

 .article-breadcrumb{
  width:100%!important;
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
 }

 .article-header-v4{
  width:100%!important;
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
 }

 .article-header-v4 h1{
  max-width:820px!important;
 }

 .article-header-v4 .article-deck{
  max-width:800px!important;
 }

 .article-share-top{
  width:100%!important;
  max-width:820px!important;
 }

 .article-hero-v3{
  width:100%!important;
  max-width:920px!important;
  margin:10px auto 32px!important;
 }

 .article-hero-v3 img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:620px!important;
  object-fit:cover!important;
  border-radius:10px!important;
 }

 .article-hero-v3 figcaption{
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:auto!important;
 }

 .article-reading-grid-v3{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
 }

 .article-reading-grid-v3:not(.has-sidebar){
  grid-template-columns:minmax(0,760px)!important;
  max-width:760px!important;
 }

 .article-reading-grid-v3.has-sidebar{
  grid-template-columns:minmax(0,760px) minmax(260px,300px)!important;
  max-width:1100px!important;
  gap:40px!important;
 }

 .article-reading-main{
  width:100%!important;
  max-width:760px!important;
 }

 .article-body-v3{
  width:100%!important;
  max-width:760px!important;
 }
}

/* Article desktop v11 — tighter G1-like editorial width */
@media(min-width:761px){
 .article-breadcrumb,
 .article-header-v4,
 .article-share-top{
  max-width:720px!important;
 }

 .article-header-v4 h1{
  max-width:720px!important;
  font-size:clamp(34px,3.4vw,44px)!important;
  line-height:1.08!important;
  letter-spacing:-.032em!important;
 }

 .article-header-v4 .article-deck{
  max-width:680px!important;
  font-size:17.5px!important;
  line-height:1.48!important;
 }

 .article-hero-v3{
  max-width:820px!important;
 }

 .article-hero-v3 figcaption{
  max-width:820px!important;
 }

 .article-reading-grid-v3:not(.has-sidebar){
  grid-template-columns:minmax(0,680px)!important;
  max-width:680px!important;
 }

 .article-reading-grid-v3.has-sidebar{
  grid-template-columns:minmax(0,680px) minmax(260px,300px)!important;
  max-width:1020px!important;
  gap:40px!important;
 }

 .article-reading-main,
 .article-body-v3{
  max-width:680px!important;
 }
}

/* Article desktop v12 — image follows editorial width */
@media(min-width:761px){
 .article-header-v4 h1{
  font-size:clamp(32px,3vw,40px)!important;
  line-height:1.09!important;
  letter-spacing:-.028em!important;
 }

 .article-hero-v3,
 .article-hero-v3 figcaption{
  max-width:720px!important;
 }
}

/* Article top share v13 — compact after date */
@media(min-width:761px){
 .article-share-top{
  grid-template-columns:minmax(150px,1.65fr) repeat(4,minmax(40px,.7fr))!important;
  gap:8px!important;
  margin-top:12px!important;
  margin-bottom:6px!important;
 }

 .article-share-top .article-share-whatsapp{
  min-height:38px!important;
  padding:0 12px!important;
  border-width:1.5px!important;
  border-radius:10px!important;
  gap:7px!important;
  font-size:10px!important;
 }

 .article-share-top .article-share-whatsapp i{
  font-size:17px!important;
 }

 .article-share-top .article-share-whatsapp span{
  font-size:10px!important;
 }

 .article-share-top .article-share-icon{
  min-height:38px!important;
  height:38px!important;
  font-size:17px!important;
 }
}

@media(max-width:760px){
 .article-share-top{
  grid-template-columns:minmax(120px,1.55fr) repeat(4,minmax(32px,.7fr))!important;
  gap:5px!important;
  margin-top:11px!important;
  margin-bottom:5px!important;
 }

 .article-share-top .article-share-whatsapp{
  min-height:40px!important;
  padding:0 9px!important;
  border-radius:10px!important;
  gap:6px!important;
 }

 .article-share-top .article-share-whatsapp i{
  font-size:18px!important;
 }

 .article-share-top .article-share-whatsapp span{
  font-size:10px!important;
 }

 .article-share-top .article-share-icon{
  min-height:40px!important;
  height:40px!important;
  font-size:18px!important;
 }
}

/* Article desktop v14 — byline, date and share on one row */
@media(min-width:761px){
 .article-meta-share-row{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  gap:10px 14px;
  align-items:center;
  width:100%;
  max-width:720px;
  margin-top:2px;
 }

 .article-meta-share-row .article-byline-v4,
 .article-meta-share-row .article-date-v4{
  margin:0!important;
  white-space:nowrap;
 }

 .article-meta-share-row .article-share-top{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  grid-template-columns:minmax(126px,1.45fr) repeat(4,minmax(34px,.58fr))!important;
  gap:6px!important;
 }

 .article-meta-share-row .article-share-top .article-share-whatsapp{
  min-height:34px!important;
  padding:0 10px!important;
  border-radius:9px!important;
  gap:6px!important;
 }

 .article-meta-share-row .article-share-top .article-share-whatsapp i{
  font-size:15px!important;
 }

 .article-meta-share-row .article-share-top .article-share-whatsapp span{
  font-size:9.5px!important;
 }

 .article-meta-share-row .article-share-top .article-share-icon{
  min-height:34px!important;
  height:34px!important;
  font-size:15px!important;
 }
}

@media(max-width:760px){
 .article-meta-share-row{
  display:contents;
 }
}

/* Article desktop v15 — stacked date/update aligned with share */
@media(min-width:761px){
 .article-meta-share-row{
  grid-template-columns:auto auto minmax(0,1fr)!important;
  align-items:center!important;
 }

 .article-meta-share-row .article-byline-v4{
  align-self:center!important;
 }

 .article-meta-share-row .article-date-v4{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:1px!important;
  align-content:center!important;
  line-height:1.25!important;
 }

 .article-meta-share-row .article-date-v4 time,
 .article-meta-share-row .article-date-v4 > span:not(.article-date-divider){
  display:block!important;
  white-space:nowrap!important;
 }

 .article-meta-share-row .article-date-divider{
  display:none!important;
 }

 .article-meta-share-row .article-share-top{
  align-self:center!important;
 }
}

/* Article desktop v16 — date directly below byline */
@media(min-width:761px){
 .article-meta-share-row{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:18px!important;
  row-gap:2px!important;
  align-items:center!important;
 }

 .article-meta-share-row .article-byline-v4{
  grid-column:1!important;
  grid-row:1!important;
  margin:0!important;
 }

 .article-meta-share-row .article-date-v4{
  grid-column:1!important;
  grid-row:2!important;
  margin:0!important;
 }

 .article-meta-share-row .article-share-top{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  margin:0!important;
 }
}

/* Article desktop v17 — byline above date/update on one line */
@media(min-width:761px){
 .article-meta-share-row .article-date-v4{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:5px!important;
  white-space:nowrap!important;
  line-height:1.3!important;
 }

 .article-meta-share-row .article-date-v4 time{
  display:inline!important;
 }

 .article-meta-share-row .article-date-v4 time::before{
  content:"Data ";
  color:#777b80;
 }

 .article-meta-share-row .article-date-v4 > span:not(.article-date-divider){
  display:inline!important;
 }

 .article-meta-share-row .article-date-divider{
  display:inline!important;
  color:#b1b4b8!important;
 }
}

/* Article desktop v18 — remove "Data" label */
@media(min-width:761px){
 .article-meta-share-row .article-date-v4 time::before{
  content:none!important;
 }
}

/* Article desktop v19 — share actions aligned right */
@media(min-width:761px){
 .article-meta-share-row .article-share-top{
  width:auto!important;
  max-width:none!important;
  justify-self:end!important;
  grid-template-columns:126px repeat(4,34px)!important;
  gap:10px!important;
 }

 .article-meta-share-row .article-share-top .article-share-whatsapp,
 .article-meta-share-row .article-share-top .article-share-icon{
  width:100%!important;
 }
}

/* Article desktop v20 — divider after subtitle */
@media(min-width:761px){
 .article-header-v4 .article-deck{
  padding-bottom:16px!important;
  margin-bottom:14px!important;
  border-bottom:1px solid #e1e4e7!important;
 }
}

/* Home news mosaic v1 — image-led editorial cards */
.home-lead-mosaic{
 padding:26px 0 34px!important;
 background:var(--go27-paper);
}

.home-news-mosaic{
 display:grid;
 grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
 gap:18px;
 width:100%;
 min-height:610px;
}

.home-news-mosaic-left{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 grid-template-rows:minmax(0,1.42fr) minmax(0,.72fr);
 gap:18px;
 min-width:0;
}

.home-mosaic-card{
 position:relative;
 min-width:0;
 overflow:hidden;
 border-radius:14px;
 background:#1b1d20;
 box-shadow:0 8px 22px rgba(18,24,31,.08);
}

.home-mosaic-card.slot-c{
 grid-column:1 / -1;
}

.home-mosaic-card>a{
 position:relative;
 display:block;
 width:100%;
 height:100%;
 min-height:100%;
 overflow:hidden;
 color:#fff;
 text-decoration:none;
}

.home-mosaic-card img,
.home-mosaic-placeholder{
 position:absolute;
 inset:0;
 width:100%;
 height:100%;
 object-fit:cover;
 transition:transform .35s ease;
}

.home-mosaic-card:hover img{
 transform:scale(1.025);
}

.home-mosaic-placeholder{
 display:grid;
 place-items:center;
 background:
  radial-gradient(circle at 25% 20%,rgba(239,67,45,.35),transparent 30%),
  linear-gradient(135deg,#30353c,#17191d);
}

.home-mosaic-placeholder span{
 color:rgba(255,255,255,.85);
 font-size:34px;
 font-weight:900;
 letter-spacing:-.06em;
}

.home-mosaic-shade{
 position:absolute;
 inset:0;
 background:
  linear-gradient(
   180deg,
   rgba(6,8,10,.03) 16%,
   rgba(6,8,10,.13) 44%,
   rgba(6,8,10,.86) 100%
  );
 pointer-events:none;
}

.home-mosaic-copy{
 position:absolute;
 z-index:2;
 left:0;
 right:0;
 bottom:0;
 padding:20px;
}

.home-mosaic-meta{
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 gap:7px 12px;
 margin-bottom:7px;
 color:#fff;
 font-size:9px;
 font-weight:700;
 line-height:1.2;
}

.home-mosaic-meta>span{
 color:#ff654e;
 font-weight:850;
}

.home-mosaic-meta time{
 display:inline-flex;
 align-items:center;
 gap:5px;
 color:rgba(255,255,255,.84);
}

.home-mosaic-card h2,
.home-mosaic-card h1{
 margin:0;
 color:#fff;
 font-weight:750;
 letter-spacing:-.025em;
 text-shadow:0 2px 12px rgba(0,0,0,.22);
}

.home-mosaic-card h2{
 font-size:20px;
 line-height:1.08;
}

.home-mosaic-card.slot-c h2{
 max-width:620px;
 font-size:21px;
}

.home-mosaic-main .home-mosaic-copy{
 padding:30px;
}

.home-mosaic-main h1{
 max-width:700px;
 font-size:clamp(32px,3.45vw,48px);
 line-height:1.02;
 letter-spacing:-.04em;
}

.home-mosaic-main p{
 max-width:650px;
 margin:12px 0 0;
 color:rgba(255,255,255,.88);
 font-size:12px;
 line-height:1.48;
}

.home-news-mosaic.is-single{
 display:block;
 min-height:0;
}

.home-news-mosaic.is-single .home-mosaic-main{
 width:100%;
 min-height:520px;
}

.home-news-mosaic.has-one-support{
 grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
}

.home-news-mosaic.has-one-support .home-news-mosaic-left{
 display:block;
}

.home-news-mosaic.has-one-support .home-mosaic-card.slot-a{
 height:100%;
}

.home-news-mosaic.has-two-support .home-news-mosaic-left{
 grid-template-columns:1fr;
 grid-template-rows:repeat(2,minmax(0,1fr));
}

.home-news-mosaic.has-two-support .home-mosaic-card.slot-b{
 grid-column:auto;
}

@media(max-width:980px){
 .home-news-mosaic{
  min-height:540px;
 }

 .home-news-mosaic-left{
  gap:12px;
 }

 .home-news-mosaic{
  gap:12px;
 }

 .home-mosaic-copy{
  padding:16px;
 }

 .home-mosaic-card h2{
  font-size:17px;
 }

 .home-mosaic-main .home-mosaic-copy{
  padding:24px;
 }

 .home-mosaic-main h1{
  font-size:34px;
 }
}

@media(max-width:760px){
 .home-lead-mosaic{
  padding:18px 0 24px!important;
 }

 .home-lead-mosaic>.container{
  width:100%!important;
  max-width:100%!important;
  padding-left:16px!important;
  padding-right:16px!important;
  box-sizing:border-box!important;
 }

 .home-news-mosaic,
 .home-news-mosaic.has-one-support,
 .home-news-mosaic.has-two-support{
  display:flex;
  flex-direction:column;
  min-height:0;
  gap:12px;
 }

 .home-mosaic-main{
  order:-1;
  min-height:390px!important;
 }

 .home-news-mosaic-left{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:none!important;
  gap:12px!important;
 }

 .home-mosaic-card,
 .home-news-mosaic.has-one-support .home-mosaic-card.slot-a{
  grid-column:auto!important;
  min-height:230px;
  height:auto;
 }

 .home-mosaic-card>a{
  min-height:230px;
 }

 .home-mosaic-main>a{
  min-height:390px;
 }

 .home-mosaic-main .home-mosaic-copy{
  padding:20px;
 }

 .home-mosaic-main h1{
  font-size:30px;
  line-height:1.04;
 }

 .home-mosaic-main p{
  display:none;
 }

 .home-mosaic-card h2,
 .home-mosaic-card.slot-c h2{
  font-size:19px;
 }
}

@media(max-width:420px){
 .home-mosaic-main{
  min-height:350px!important;
 }

 .home-mosaic-main>a{
  min-height:350px;
 }

 .home-mosaic-main h1{
  font-size:27px;
 }

 .home-mosaic-card,
 .home-mosaic-card>a{
  min-height:210px;
 }
}

/* Guide company mobile v3 — smaller business name */
@media(max-width:760px){
 .guide-company-identity h1{
  max-width:560px!important;
  font-size:34px!important;
  line-height:1.02!important;
  letter-spacing:-.028em!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
 }
}

@media(max-width:420px){
 .guide-company-identity h1{
  font-size:31px!important;
  line-height:1.03!important;
  letter-spacing:-.024em!important;
 }
}

/* Elections 2026 v1 */
.elections-hero{
 padding:54px 0;
 background:
  radial-gradient(circle at 85% 20%,rgba(255,255,255,.12),transparent 30%),
  linear-gradient(135deg,#e92f21,#bd1f18);
 color:#fff;
}
.elections-hero-inner{
 display:grid;
 grid-template-columns:minmax(0,1fr) 300px;
 gap:54px;
 align-items:end;
}
.elections-kicker{
 display:inline-flex;
 align-items:center;
 gap:7px;
 color:#ef432d;
 font-size:10px;
 font-weight:800;
 letter-spacing:.09em;
 text-transform:uppercase;
}
.elections-hero .elections-kicker{
 color:#fff;
 opacity:.92;
}
.elections-hero h1,
.elections-list-hero h1{
 margin:10px 0 12px;
 font-size:48px;
 line-height:1.02;
 letter-spacing:-.04em;
 font-weight:760;
}
.elections-hero p{
 max-width:720px;
 margin:0;
 color:rgba(255,255,255,.86);
 font-size:14px;
 line-height:1.6;
}
.elections-source-card{
 display:grid;
 gap:7px;
 padding:18px;
 border:1px solid rgba(255,255,255,.28);
 border-radius:14px;
 background:rgba(255,255,255,.12);
 backdrop-filter:blur(12px);
}
.elections-source-card strong{
 font-size:12px;
}
.elections-source-card span{
 color:rgba(255,255,255,.84);
 font-size:9.5px;
}
.elections-source-card a{
 display:inline-flex;
 align-items:center;
 gap:6px;
 margin-top:5px;
 color:#fff;
 font-size:9.5px;
 font-weight:700;
 text-decoration:none;
}
.elections-office-nav{
 border-bottom:1px solid #e7e9ec;
 background:#fff;
}
.elections-office-nav-inner{
 display:grid;
 grid-template-columns:repeat(5,minmax(0,1fr));
}
.elections-office-nav a{
 display:grid;
 gap:3px;
 padding:16px 14px;
 border-right:1px solid #eceef1;
 color:#24292f;
 text-decoration:none;
}
.elections-office-nav a:last-child{
 border-right:0;
}
.elections-office-nav strong{
 font-size:10px;
}
.elections-office-nav span{
 color:#8b929a;
 font-size:8.5px;
}
.elections-content{
 padding:34px 0 60px;
 background:#f7f8fa;
}
.elections-neutral-note{
 display:flex;
 gap:9px;
 align-items:flex-start;
 padding:12px 14px;
 border:1px solid #e4e7eb;
 border-radius:10px;
 background:#fff;
 color:#69717a;
}
.elections-neutral-note i{
 margin-top:2px;
 color:#ef432d;
}
.elections-neutral-note p{
 margin:0;
 font-size:9.5px;
 line-height:1.5;
}
.elections-office-section{
 padding-top:34px;
 scroll-margin-top:120px;
}
.elections-section-head{
 display:flex;
 justify-content:space-between;
 gap:24px;
 align-items:flex-end;
 margin-bottom:15px;
}
.elections-section-head>div>span{
 color:#ef432d;
 font-size:9px;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.elections-section-head h2{
 margin:5px 0 4px;
 color:#20252b;
 font-size:28px;
 line-height:1.08;
 letter-spacing:-.03em;
}
.elections-section-head p{
 margin:0;
 color:#808890;
 font-size:10px;
}
.elections-section-head>a{
 display:inline-flex;
 align-items:center;
 gap:7px;
 color:#292f36;
 font-size:10px;
 font-weight:700;
 text-decoration:none;
}
.elections-candidate-grid{
 display:grid;
 grid-template-columns:repeat(6,minmax(0,1fr));
 gap:12px;
}
.elections-candidate-grid-full{
 grid-template-columns:repeat(5,minmax(0,1fr));
}
.elections-candidate-card{
 overflow:hidden;
 border:1px solid #e2e5e9;
 border-radius:13px;
 background:#fff;
 box-shadow:0 7px 20px rgba(23,29,37,.04);
}
.elections-candidate-card>a{
 display:block;
 height:100%;
 color:inherit;
 text-decoration:none;
}
.elections-candidate-photo{
 position:relative;
 aspect-ratio:4/5;
 overflow:hidden;
 background:linear-gradient(135deg,#eceff2,#dce1e6);
}
.elections-candidate-photo img{
 display:block;
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center top;
 transition:transform .25s ease;
}
.elections-candidate-card:hover img{
 transform:scale(1.025);
}
.elections-candidate-photo>span{
 position:absolute;
 inset:0;
 display:grid;
 place-items:center;
 color:#aab1b8;
 font-size:44px;
 font-weight:800;
}
.elections-candidate-copy{
 padding:12px;
}
.elections-candidate-copy>span{
 display:block;
 color:#ef432d;
 font-size:8.5px;
 font-weight:800;
 text-transform:uppercase;
}
.elections-candidate-copy h3{
 margin:4px 0 3px;
 color:#20252b;
 font-size:13px;
 line-height:1.14;
 letter-spacing:-.015em;
}
.elections-candidate-copy p{
 margin:0;
 color:#8a9198;
 font-size:8.5px;
}
.elections-list-hero{
 padding:38px 0 30px;
 border-bottom:1px solid #e6e8eb;
 background:#fff;
}
.elections-list-hero h1{
 color:#20252b;
 font-size:40px;
}
.elections-list-hero p{
 margin:0;
 color:#7a828b;
 font-size:11px;
}
.elections-back-link{
 display:inline-flex;
 align-items:center;
 gap:6px;
 margin-bottom:12px;
 color:inherit;
 font-size:9.5px;
 font-weight:700;
 text-decoration:none;
}
.elections-list-hero .elections-back-link{
 color:#606871;
}
.elections-pagination{
 margin-top:28px;
}
.election-candidate-hero{
 padding:44px 0;
 background:#171a1f;
 color:#fff;
}
.election-candidate-hero-grid{
 display:grid;
 grid-template-columns:220px minmax(0,1fr);
 gap:34px;
 align-items:center;
 max-width:980px!important;
}
.election-candidate-portrait{
 overflow:hidden;
 width:220px;
 aspect-ratio:4/5;
 border-radius:16px;
 background:#2b3037;
 box-shadow:0 20px 45px rgba(0,0,0,.25);
}
.election-candidate-portrait img{
 display:block;
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center top;
}
.election-candidate-portrait>span{
 display:grid;
 place-items:center;
 width:100%;
 height:100%;
 color:#848b94;
 font-size:68px;
 font-weight:800;
}
.election-candidate-hero-copy .elections-back-link{
 color:#c6ccd2;
}
.election-candidate-hero-copy .elections-kicker{
 color:#ff604a;
}
.election-candidate-hero-copy h1{
 max-width:700px;
 margin:9px 0 14px;
 color:#fff;
 font-size:48px;
 line-height:1;
 letter-spacing:-.04em;
}
.election-candidate-party{
 display:flex;
 align-items:center;
 gap:11px;
}
.election-candidate-party strong{
 display:grid;
 place-items:center;
 min-width:48px;
 height:38px;
 padding:0 10px;
 border-radius:9px;
 background:#ef432d;
 color:#fff;
 font-size:17px;
}
.election-candidate-party span{
 color:#d7dbe0;
 font-size:11px;
}
.election-candidate-status{
 display:flex;
 gap:7px;
 align-items:center;
 margin-top:14px;
 color:#c5cbd1;
 font-size:9px;
}
.election-candidate-status strong{
 color:#fff;
}
.election-source-line{
 display:flex;
 gap:8px;
 align-items:flex-start;
 max-width:650px;
 margin-top:18px;
 padding-top:14px;
 border-top:1px solid rgba(255,255,255,.12);
 color:#aeb5bd;
 font-size:9px;
 line-height:1.45;
}
.election-source-line i{
 color:#ff604a;
}
.election-candidate-content{
 padding:36px 0 60px;
 background:#f7f8fa;
}
.election-candidate-layout{
 display:grid;
 grid-template-columns:minmax(0,1fr) 300px;
 gap:20px;
 align-items:start;
 max-width:980px!important;
}
.election-candidate-layout main{
 display:grid;
 gap:16px;
}
.election-candidate-layout aside{
 display:grid;
 gap:16px;
}
.election-info-card{
 padding:22px;
 border:1px solid #e3e6e9;
 border-radius:14px;
 background:#fff;
}
.election-info-card h2{
 margin:5px 0 14px;
 color:#20252b;
 font-size:20px;
 line-height:1.15;
 letter-spacing:-.02em;
}
.election-data-list{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:0;
 margin:0;
 border-top:1px solid #eceef0;
}
.election-data-list>div{
 padding:12px 10px 12px 0;
 border-bottom:1px solid #eceef0;
}
.election-data-list dt{
 margin-bottom:3px;
 color:#8a9198;
 font-size:8px;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:.05em;
}
.election-data-list dd{
 margin:0;
 color:#30363d;
 font-size:10.5px;
 line-height:1.45;
}
.election-card-text{
 margin:0;
 color:#747c84;
 font-size:10.5px;
 line-height:1.55;
}
.election-primary-link{
 display:inline-flex;
 align-items:center;
 gap:7px;
 min-height:38px;
 margin-top:14px;
 padding:0 12px;
 border-radius:9px;
 background:#ef432d;
 color:#fff;
 font-size:9.5px;
 font-weight:700;
 text-decoration:none;
}
.election-assets-heading{
 display:flex;
 justify-content:space-between;
 gap:20px;
 align-items:end;
}
.election-assets-heading>strong{
 color:#20252b;
 font-size:18px;
 white-space:nowrap;
}
.election-assets-list{
 border-top:1px solid #eceef0;
}
.election-assets-list>div{
 display:flex;
 justify-content:space-between;
 gap:20px;
 padding:12px 0;
 border-bottom:1px solid #eceef0;
}
.election-assets-list strong{
 color:#30363d;
 font-size:9.5px;
}
.election-assets-list p{
 margin:3px 0 0;
 color:#818890;
 font-size:9px;
 line-height:1.45;
}
.election-assets-list>div>span{
 flex:0 0 auto;
 color:#282e35;
 font-size:10px;
 font-weight:700;
}
.election-social-list{
 display:grid;
 gap:7px;
}
.election-social-list a{
 display:flex;
 align-items:center;
 gap:8px;
 min-height:38px;
 padding:0 10px;
 border:1px solid #e4e7ea;
 border-radius:9px;
 color:#3c434b;
 font-size:9.5px;
 font-weight:650;
 text-decoration:none;
}
.election-social-list i{
 color:#ef432d;
}
.election-source-box{
 display:grid;
 grid-template-columns:24px minmax(0,1fr);
 gap:9px;
}
.election-source-box>i{
 margin-top:2px;
 color:#ef432d;
}
.election-source-box strong{
 color:#30363d;
 font-size:10.5px;
}
.election-source-box p{
 margin:4px 0 8px;
 color:#7b838b;
 font-size:9px;
 line-height:1.5;
}
.election-source-box a{
 color:#ef432d;
 font-size:9px;
 font-weight:700;
 text-decoration:none;
}
.election-related-news{
 display:grid;
 gap:8px;
}
.election-related-news a{
 display:grid;
 gap:3px;
 padding:10px 0;
 border-top:1px solid #eceef0;
 text-decoration:none;
}
.election-related-news span{
 color:#ef432d;
 font-size:8px;
 font-weight:800;
 text-transform:uppercase;
}
.election-related-news strong{
 color:#30363d;
 font-size:11px;
 line-height:1.35;
}

@media(max-width:1000px){
 .elections-candidate-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
 }
 .elections-candidate-grid-full{
  grid-template-columns:repeat(4,minmax(0,1fr));
 }
}
@media(max-width:760px){
 .elections-hero{
  padding:38px 0 34px;
 }
 .elections-hero .container,
 .elections-office-nav .container,
 .elections-content>.container,
 .elections-list-hero>.container,
 .election-candidate-hero>.container,
 .election-candidate-content>.container{
  width:100%!important;
  max-width:100%!important;
  padding-left:18px!important;
  padding-right:18px!important;
  box-sizing:border-box!important;
 }
 .elections-hero-inner{
  grid-template-columns:1fr;
  gap:24px;
 }
 .elections-hero h1{
  font-size:36px;
 }
 .elections-office-nav{
  overflow-x:auto;
 }
 .elections-office-nav-inner{
  display:flex;
  width:max-content!important;
  padding-left:0!important;
  padding-right:0!important;
 }
 .elections-office-nav a{
  min-width:145px;
 }
 .elections-section-head{
  align-items:flex-end;
 }
 .elections-candidate-grid,
 .elections-candidate-grid-full{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }
 .elections-candidate-copy h3{
  font-size:12px;
 }
 .elections-list-hero h1{
  font-size:32px;
 }
 .election-candidate-hero-grid{
  grid-template-columns:110px minmax(0,1fr);
  gap:18px;
 }
 .election-candidate-portrait{
  width:110px;
  border-radius:12px;
 }
 .election-candidate-hero-copy h1{
  font-size:31px;
 }
 .election-candidate-party{
  align-items:flex-start;
 }
 .election-candidate-party strong{
  min-width:42px;
  height:34px;
  font-size:15px;
 }
 .election-candidate-party span{
  font-size:9.5px;
  line-height:1.4;
 }
 .election-candidate-layout{
  grid-template-columns:1fr;
 }
 .election-data-list{
  grid-template-columns:1fr;
 }
}
@media(max-width:430px){
 .elections-candidate-grid,
 .elections-candidate-grid-full{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
 }
 .elections-candidate-copy{
  padding:10px;
 }
 .elections-candidate-copy h3{
  font-size:11.5px;
 }
 .election-candidate-hero-grid{
  grid-template-columns:92px minmax(0,1fr);
  gap:14px;
 }
 .election-candidate-portrait{
  width:92px;
 }
 .election-candidate-hero-copy h1{
  font-size:27px;
 }
}

/* Elections live/results v2 */
.elections-live{
 padding:24px 0 26px;
 background:#111419;
 color:#fff;
}
.elections-live-shell{
 overflow:hidden;
 border:1px solid rgba(255,255,255,.12);
 border-radius:16px;
 background:
  radial-gradient(circle at 85% 10%,rgba(239,67,45,.16),transparent 28%),
  #171a1f;
 box-shadow:0 16px 44px rgba(0,0,0,.18);
}
.elections-live-head{
 display:flex;
 justify-content:space-between;
 gap:28px;
 align-items:flex-start;
 padding:24px 24px 18px;
}
.elections-live-badge{
 display:inline-flex;
 align-items:center;
 gap:7px;
 color:#ff6650;
 font-size:9px;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.elections-live-badge i{
 font-size:7px;
}
.elections-live-head h2{
 margin:7px 0 6px;
 color:#fff;
 font-size:26px;
 line-height:1.08;
 letter-spacing:-.03em;
}
.elections-live-head p{
 max-width:650px;
 margin:0;
 color:#adb4bc;
 font-size:10.5px;
 line-height:1.55;
}
.elections-live-source{
 display:grid;
 gap:3px;
 flex:0 0 220px;
 padding:12px 14px;
 border:1px solid rgba(255,255,255,.10);
 border-radius:10px;
 background:rgba(255,255,255,.04);
}
.elections-live-source strong{
 color:#fff;
 font-size:9px;
}
.elections-live-source span{
 color:#9ea6af;
 font-size:8.5px;
}
.elections-live-source a{
 display:inline-flex;
 align-items:center;
 gap:5px;
 margin-top:4px;
 color:#ff6650;
 font-size:8.5px;
 font-weight:700;
 text-decoration:none;
}
.elections-countdown{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:1px;
 margin:0 24px 22px;
 overflow:hidden;
 border:1px solid rgba(255,255,255,.1);
 border-radius:12px;
 background:rgba(255,255,255,.1);
}
.elections-countdown>div{
 display:grid;
 place-items:center;
 gap:4px;
 min-height:98px;
 padding:12px;
 background:#1d2127;
}
.elections-countdown strong{
 color:#fff;
 font-size:34px;
 line-height:1;
 letter-spacing:-.04em;
 font-variant-numeric:tabular-nums;
}
.elections-countdown span{
 color:#929aa3;
 font-size:8px;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:.08em;
}
.elections-live-waiting{
 display:grid;
 grid-template-columns:36px minmax(0,1fr);
 gap:12px;
 align-items:start;
 margin:0 24px 22px;
 padding:16px;
 border:1px solid rgba(255,255,255,.1);
 border-radius:11px;
 background:rgba(255,255,255,.04);
}
.elections-live-waiting>i{
 display:grid;
 place-items:center;
 width:36px;
 height:36px;
 border-radius:50%;
 background:rgba(239,67,45,.14);
 color:#ff6650;
}
.elections-live-waiting strong{
 color:#fff;
 font-size:10.5px;
}
.elections-live-waiting p{
 margin:4px 0 0;
 color:#9fa7b0;
 font-size:9px;
 line-height:1.5;
}
.elections-results-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:14px;
 padding:0 24px 22px;
}
.elections-result-card{
 overflow:hidden;
 border:1px solid rgba(255,255,255,.1);
 border-radius:12px;
 background:#1b1f24;
}
.elections-result-card>header{
 display:flex;
 justify-content:space-between;
 gap:16px;
 align-items:flex-start;
 padding:16px 16px 12px;
}
.elections-result-card>header span{
 color:#ff6650;
 font-size:7.5px;
 font-weight:800;
 letter-spacing:.07em;
 text-transform:uppercase;
}
.elections-result-card h3{
 margin:4px 0 0;
 color:#fff;
 font-size:17px;
 line-height:1.1;
 letter-spacing:-.02em;
}
.elections-result-card>header>strong{
 color:#fff;
 font-size:20px;
 font-variant-numeric:tabular-nums;
}
.elections-result-progress{
 height:4px;
 margin:0 16px;
 overflow:hidden;
 border-radius:99px;
 background:#30353c;
}
.elections-result-progress span{
 display:block;
 height:100%;
 border-radius:inherit;
 background:#ef432d;
}
.elections-result-meta{
 display:flex;
 justify-content:space-between;
 gap:12px;
 padding:8px 16px 10px;
 color:#8f98a1;
 font-size:7.5px;
}
.elections-result-list{
 border-top:1px solid rgba(255,255,255,.08);
}
.elections-result-row{
 display:flex;
 justify-content:space-between;
 gap:14px;
 align-items:center;
 padding:10px 16px;
 border-bottom:1px solid rgba(255,255,255,.07);
}
.elections-result-row:last-child{
 border-bottom:0;
}
.elections-result-candidate{
 min-width:0;
 display:flex;
 align-items:center;
 gap:9px;
}
.elections-result-photo{
 width:34px;
 height:34px;
 flex:0 0 34px;
 border-radius:50%;
 object-fit:cover;
 object-position:center top;
 background:#30353c;
 border:1px solid rgba(255,255,255,.12);
}
.elections-result-photo-fallback{
 display:grid;
 place-items:center;
 color:#8f98a1;
 font-size:13px;
}
.elections-result-name{
 min-width:0;
 display:grid;
 gap:2px;
}
.elections-result-name strong{
 overflow:hidden;
 color:#f2f4f6;
 font-size:9.5px;
 line-height:1.25;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.elections-result-name span,
.elections-result-name small{
 color:#8f98a1;
 font-size:7.5px;
 line-height:1.25;
}
.elections-result-name small{
 color:#c8cdd2;
}
.elections-result-votes{
 flex:0 0 auto;
 display:grid;
 gap:2px;
 text-align:right;
}
.elections-result-votes strong{
 color:#fff;
 font-size:11px;
 font-variant-numeric:tabular-nums;
}
.elections-result-votes span{
 color:#8f98a1;
 font-size:7.5px;
}
.elections-live-foot{
 display:flex;
 justify-content:space-between;
 gap:20px;
 padding:12px 24px;
 border-top:1px solid rgba(255,255,255,.08);
 color:#78818a;
 font-size:7.5px;
 line-height:1.45;
}
.elections-live [hidden]{
 display:none!important;
}

@media(max-width:760px){
 .elections-live{
  padding:14px 0 18px;
 }
 .elections-live>.container{
  width:100%!important;
  max-width:100%!important;
  padding-left:14px!important;
  padding-right:14px!important;
  box-sizing:border-box!important;
 }
 .elections-live-head{
  display:grid;
  gap:16px;
  padding:18px 16px 14px;
 }
 .elections-live-head h2{
  font-size:23px;
 }
 .elections-live-source{
  width:100%;
  box-sizing:border-box;
 }
 .elections-countdown{
  margin:0 16px 16px;
 }
 .elections-countdown>div{
  min-height:78px;
  padding:8px 4px;
 }
 .elections-countdown strong{
  font-size:27px;
 }
 .elections-countdown span{
  font-size:6.5px;
 }
 .elections-live-waiting{
  margin:0 16px 16px;
 }
 .elections-results-grid{
  grid-template-columns:1fr;
  padding:0 16px 16px;
 }
 .elections-result-meta{
  display:grid;
  gap:3px;
 }
 .elections-live-foot{
  display:grid;
  gap:5px;
  padding:11px 16px;
 }
}

/* Elections SEO context v1 */
.elections-seo-guide{
 padding:34px 0 4px;
 background:#f7f8fa;
}
.elections-seo-guide-inner{
 display:grid;
 grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
 gap:34px;
 align-items:start;
}
.elections-seo-guide-copy h2{
 max-width:760px;
 margin:7px 0 12px;
 color:#20252b;
 font-size:28px;
 line-height:1.08;
 letter-spacing:-.03em;
}
.elections-seo-guide-copy p{
 max-width:780px;
 margin:0 0 9px;
 color:#68717a;
 font-size:10.5px;
 line-height:1.7;
}
.elections-seo-points{
 display:grid;
 gap:9px;
}
.elections-seo-points article{
 padding:14px;
 border:1px solid #e3e6e9;
 border-radius:11px;
 background:#fff;
}
.elections-seo-points strong{
 color:#252b31;
 font-size:10px;
}
.elections-seo-points p{
 margin:4px 0 0;
 color:#7b838b;
 font-size:9px;
 line-height:1.5;
}
@media(max-width:760px){
 .elections-seo-guide{
  padding:26px 0 2px;
 }
 .elections-seo-guide>.container{
  width:100%!important;
  max-width:100%!important;
  padding-left:18px!important;
  padding-right:18px!important;
  box-sizing:border-box!important;
 }
 .elections-seo-guide-inner{
  grid-template-columns:1fr;
  gap:18px;
 }
 .elections-seo-guide-copy h2{
  font-size:24px;
 }
}

/* Elections SEO content v1 */
.elections-seo-guide{
 margin-top:42px;
 padding:26px;
 border:1px solid #e1e5e9;
 border-radius:14px;
 background:#fff;
}
.elections-seo-guide>header{
 max-width:760px;
}
.elections-seo-guide>header>span{
 color:#ef432d;
 font-size:9px;
 font-weight:800;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.elections-seo-guide h2{
 margin:6px 0 8px;
 color:#20252b;
 font-size:26px;
 line-height:1.12;
 letter-spacing:-.03em;
}
.elections-seo-guide>header>p{
 margin:0;
 color:#747c84;
 font-size:10.5px;
 line-height:1.6;
}
.elections-seo-guide-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:1px;
 margin-top:22px;
 overflow:hidden;
 border:1px solid #e7eaed;
 border-radius:11px;
 background:#e7eaed;
}
.elections-seo-guide-grid article{
 padding:18px;
 background:#fafbfc;
}
.elections-seo-guide-grid h3{
 margin:0 0 6px;
 color:#2a3036;
 font-size:12px;
 line-height:1.3;
}
.elections-seo-guide-grid p{
 margin:0;
 color:#6f7780;
 font-size:9.5px;
 line-height:1.55;
}
.elections-seo-guide-grid strong{
 color:#343a40;
}
.elections-seo-sources{
 display:flex;
 flex-wrap:wrap;
 gap:8px 14px;
 align-items:center;
 margin-top:16px;
 color:#7b838b;
 font-size:8.5px;
}
.elections-seo-sources strong{
 color:#4c545c;
}
.elections-seo-sources a{
 color:#d93622;
 font-weight:700;
 text-decoration:none;
}
.election-social-text{
 display:flex;
 align-items:center;
 gap:8px;
 min-height:38px;
 padding:0 10px;
 border:1px solid #e4e7ea;
 border-radius:9px;
 color:#66707a;
 font-size:9px;
 overflow-wrap:anywhere;
}
.election-social-text i{
 color:#ef432d;
}

@media(max-width:760px){
 .elections-seo-guide{
  margin-top:28px;
  padding:20px 16px;
 }
 .elections-seo-guide h2{
  font-size:23px;
 }
 .elections-seo-guide-grid{
  grid-template-columns:1fr;
 }
}

/* GO27 global elections strip */
.go27-election-strip{display:block;width:100%;overflow:hidden;background:#102a43;color:#fff;text-decoration:none;border:0}
.go27-election-strip-inner{height:50px;display:flex;align-items:center;gap:18px;overflow:hidden}
.go27-election-brand{display:flex;align-items:baseline;gap:6px;flex:0 0 auto;white-space:nowrap;font-size:16px;line-height:1;font-weight:800;letter-spacing:.015em}
.go27-election-brand>span:first-child{font-weight:950;letter-spacing:-.055em;color:#ff4328}
.go27-election-brand>b{font-size:16px;font-weight:800}
.go27-election-divider{flex:0 0 1px;width:1px;height:22px;background:rgba(255,255,255,.28)}
.go27-election-marquee{position:relative;display:block;flex:1;min-width:0;overflow:hidden;white-space:nowrap}
.go27-election-marquee:before,.go27-election-marquee:after{content:"";position:absolute;z-index:2;top:0;width:28px;height:100%;pointer-events:none}
.go27-election-marquee:before{left:0;background:linear-gradient(90deg,#102a43,transparent)}
.go27-election-marquee:after{right:0;background:linear-gradient(270deg,#102a43,transparent)}
.go27-election-marquee-track{display:inline-flex;align-items:center;gap:28px;width:max-content;padding-left:100%;font-size:15px;font-weight:650;letter-spacing:.01em;animation:go27-election-marquee 15s linear infinite}
.go27-election-marquee-track i{font-style:normal;color:#ff4328}
.go27-election-strip:hover .go27-election-marquee-track{animation-play-state:paused}
@keyframes go27-election-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){
.go27-election-strip-inner{height:44px;gap:10px;padding-left:14px;padding-right:0}
.go27-election-brand{font-size:13px;gap:4px}
.go27-election-brand>b{font-size:13px}
.go27-election-divider{height:18px}
.go27-election-marquee-track{gap:22px;font-size:13px;animation-duration:13s}
.go27-election-marquee:before,.go27-election-marquee:after{width:18px}
}
@media(prefers-reduced-motion:reduce){.go27-election-marquee-track{animation:none;padding-left:0}}

/* Elections candidate directory + election news v3 */
.elections-candidates-compact{
 padding:36px 0 40px;
 background:#f4f6f8;
}
.elections-directory-head{
 max-width:860px;
 margin:0 auto 16px;
}
.elections-directory-head h2,
.elections-news-head h2{
 margin:6px 0 5px;
 color:#1f252b;
 font-size:28px;
 line-height:1.08;
 letter-spacing:-.03em;
}
.elections-directory-head p,
.elections-news-head p{
 margin:0;
 color:#737b84;
 font-size:10.5px;
 line-height:1.55;
}
.elections-directory-card{
 max-width:860px;
 margin:0 auto;
 overflow:hidden;
 border:1px solid #e0e4e8;
 border-radius:18px;
 background:#fff;
 box-shadow:0 16px 42px rgba(25,35,45,.07);
}
.elections-round-tabs{
 display:grid;
 grid-template-columns:1fr 1fr;
 padding:14px 14px 0;
 border-bottom:1px solid #e9ecef;
 background:#fff;
}
.elections-round-tabs span{
 display:grid;
 place-items:center;
 min-height:48px;
 border:1px solid transparent;
 border-bottom:0;
 border-radius:11px 11px 0 0;
 color:#9aa1a8;
 font-size:13px;
 font-weight:750;
}
.elections-round-tabs .is-active{
 border-color:#e1e5e9;
 background:#fff;
 color:#ef432d;
}
.elections-round-tabs .is-disabled{
 background:#fafbfc;
}
.elections-directory-controls{
 display:grid;
 grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
 gap:10px;
 padding:16px;
}
.elections-directory-controls label{
 display:grid;
 gap:5px;
}
.elections-directory-controls label>span{
 color:#7d858d;
 font-size:8px;
 font-weight:750;
 letter-spacing:.05em;
 text-transform:uppercase;
}
.elections-directory-controls select,
.elections-directory-search{
 width:100%;
 min-height:42px;
 border:1px solid #dce1e6;
 border-radius:10px;
 background:#fff;
 color:#252b31;
 font:inherit;
 box-sizing:border-box;
}
.elections-directory-controls select{
 padding:0 12px;
 font-size:10.5px;
 font-weight:700;
}
.elections-directory-search{
 display:flex;
 align-items:center;
 gap:8px;
 padding:0 11px;
}
.elections-directory-search i{
 flex:0 0 auto;
 color:#8d959d;
 font-size:11px;
}
.elections-directory-search input{
 width:100%;
 min-width:0;
 border:0;
 outline:0;
 background:transparent;
 color:#2d3339;
 font:inherit;
 font-size:10.5px;
}
.elections-directory-search input::placeholder{
 color:#a1a8af;
}
.elections-directory-panel{
 padding:0 16px 14px;
}
.elections-directory-panel[hidden]{
 display:none!important;
}
.elections-directory-panel-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 gap:18px;
 padding:12px 0;
 border-top:1px solid #edf0f2;
}
.elections-directory-panel-head>div{
 display:grid;
 gap:2px;
}
.elections-directory-panel-head strong{
 color:#242a30;
 font-size:13px;
}
.elections-directory-panel-head span{
 color:#8c949c;
 font-size:8.5px;
}
.elections-directory-panel-head>a,
.elections-directory-all,
.elections-news-head>a{
 display:inline-flex;
 align-items:center;
 gap:6px;
 color:#ef432d;
 font-size:9px;
 font-weight:750;
 text-decoration:none;
}
.elections-candidate-rows{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:7px;
}
.elections-candidate-row{
 display:flex;
 align-items:center;
 min-width:0;
 min-height:72px;
 border:1px solid #e6e9ec;
 border-radius:11px;
 background:#fff;
 overflow:hidden;
}
.elections-candidate-row[hidden]{
 display:none!important;
}
.elections-candidate-row-main{
 display:flex;
 align-items:center;
 gap:10px;
 min-width:0;
 flex:1 1 auto;
 padding:8px 4px 8px 9px;
 color:inherit;
 text-decoration:none;
}
.elections-candidate-row-photo{
 flex:0 0 50px;
 width:50px;
 height:50px;
 overflow:hidden;
 border-radius:50%;
 background:#edf0f3;
}
.elections-candidate-row-photo img{
 width:100%;
 height:100%;
 display:block;
 object-fit:cover;
 object-position:center top;
}
.elections-candidate-row-photo>span{
 display:grid;
 place-items:center;
 width:100%;
 height:100%;
 color:#9aa2aa;
 font-size:18px;
 font-weight:800;
}
.elections-candidate-row-copy{
 min-width:0;
 display:grid;
 gap:5px;
}
.elections-candidate-row-copy>strong{
 overflow:hidden;
 color:#22282e;
 font-size:10.5px;
 line-height:1.2;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.elections-candidate-row-copy>div{
 display:flex;
 align-items:center;
 gap:7px;
 min-width:0;
}
.elections-candidate-row-copy b{
 display:grid;
 place-items:center;
 min-width:29px;
 min-height:25px;
 padding:0 6px;
 border:1px solid #e0e4e8;
 border-radius:7px;
 color:#30363d;
 font-size:9px;
}
.elections-candidate-row-copy span{
 overflow:hidden;
 color:#818991;
 font-size:8.5px;
 font-weight:650;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.elections-candidate-row-action{
 flex:0 0 auto;
 margin-right:8px;
 padding:7px 9px;
 border:1px solid #ef432d;
 border-radius:8px;
 color:#ef432d;
 font-size:8px;
 font-weight:750;
 text-decoration:none;
 white-space:nowrap;
}
.elections-directory-all{
 margin-top:12px;
}
.elections-directory-no-results{
 margin:8px 0;
 padding:14px;
 border-radius:9px;
 background:#f7f8fa;
 color:#7e868e;
 font-size:9px;
 text-align:center;
}
.elections-directory-no-results[hidden]{
 display:none!important;
}
.elections-neutral-note-compact{
 margin:0 16px 16px;
 background:#f8f9fa;
}
.elections-news-section{
 padding:38px 0;
 border-top:1px solid #e6e9ec;
 background:#fff;
}
.elections-news-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 gap:24px;
 margin-bottom:16px;
}
.elections-news-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:12px;
}
.elections-news-card{
 overflow:hidden;
 border:1px solid #e2e6e9;
 border-radius:12px;
 background:#fff;
}
.elections-news-card>a{
 display:block;
 height:100%;
 color:inherit;
 text-decoration:none;
}
.elections-news-card-media{
 aspect-ratio:16/9;
 overflow:hidden;
 background:#eef1f3;
}
.elections-news-card-media img{
 display:block;
 width:100%;
 height:100%;
 object-fit:cover;
}
.elections-news-card-media>span{
 display:grid;
 place-items:center;
 width:100%;
 height:100%;
 color:#a1a8af;
 font-size:24px;
}
.elections-news-card-copy{
 padding:12px;
}
.elections-news-card-copy>span{
 color:#ef432d;
 font-size:8px;
 font-weight:800;
 letter-spacing:.06em;
 text-transform:uppercase;
}
.elections-news-card-copy h3{
 margin:5px 0 9px;
 color:#252b31;
 font-size:12px;
 line-height:1.28;
}
.elections-news-card-copy time{
 color:#9299a0;
 font-size:8px;
}
.elections-news-empty{
 display:flex;
 gap:12px;
 align-items:flex-start;
 padding:18px;
 border:1px dashed #d9dee3;
 border-radius:12px;
 background:#f8f9fa;
}
.elections-news-empty>i{
 display:grid;
 place-items:center;
 flex:0 0 38px;
 width:38px;
 height:38px;
 border-radius:50%;
 background:#fff;
 color:#ef432d;
}
.elections-news-empty strong{
 color:#30363d;
 font-size:10.5px;
}
.elections-news-empty p{
 margin:4px 0 0;
 color:#7d858d;
 font-size:9px;
 line-height:1.5;
}
.elections-office-list-section{
 padding:24px 0 54px;
 background:#f6f7f9;
}
.elections-office-list-shell{
 max-width:840px!important;
}
.elections-office-search-form{
 display:flex;
 gap:8px;
 align-items:center;
 margin-bottom:12px;
 padding:12px;
 border:1px solid #e1e5e8;
 border-radius:12px;
 background:#fff;
}
.elections-office-search-form .elections-directory-search{
 flex:1 1 auto;
}
.elections-office-search-form button{
 min-height:42px;
 padding:0 14px;
 border:0;
 border-radius:9px;
 background:#ef432d;
 color:#fff;
 font-size:9px;
 font-weight:750;
 cursor:pointer;
}
.elections-office-search-form>a{
 color:#737b83;
 font-size:8.5px;
 font-weight:700;
 text-decoration:none;
}
.elections-office-list-summary{
 display:flex;
 justify-content:space-between;
 gap:14px;
 margin-bottom:9px;
 color:#69717a;
}
.elections-office-list-summary span{
 font-size:9.5px;
 font-weight:700;
}
.elections-office-list-summary small{
 font-size:8.5px;
}
.elections-candidate-rows-full{
 grid-template-columns:1fr;
 gap:6px;
}
.elections-candidate-rows-full .elections-candidate-row{
 min-height:76px;
}
@media(max-width:760px){
 .elections-candidates-compact,
 .elections-news-section{
  padding:28px 0;
 }
 .elections-candidates-compact>.container,
 .elections-news-section>.container,
 .elections-office-list-section>.container{
  width:100%!important;
  max-width:100%!important;
  padding-left:14px!important;
  padding-right:14px!important;
  box-sizing:border-box!important;
 }
 .elections-directory-head h2,
 .elections-news-head h2{
  font-size:24px;
 }
 .elections-directory-card{
  border-radius:14px;
 }
 .elections-directory-controls{
  grid-template-columns:1fr;
  padding:13px;
 }
 .elections-directory-panel{
  padding:0 13px 13px;
 }
 .elections-candidate-rows{
  grid-template-columns:1fr;
 }
 .elections-candidate-row{
  min-height:68px;
 }
 .elections-candidate-row-photo{
  flex-basis:46px;
  width:46px;
  height:46px;
 }
 .elections-candidate-row-copy>strong{
  font-size:10.5px;
 }
 .elections-candidate-row-action{
  margin-right:7px;
  padding:7px 8px;
 }
 .elections-directory-panel-head{
  align-items:center;
 }
 .elections-neutral-note-compact{
  margin:0 13px 13px;
 }
 .elections-news-head{
  align-items:flex-end;
 }
 .elections-news-grid{
  grid-template-columns:1fr;
  gap:9px;
 }
 .elections-news-card>a{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
 }
 .elections-news-card-media{
  aspect-ratio:auto;
  min-height:96px;
 }
 .elections-office-search-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
 }
 .elections-office-search-form>a{
  grid-column:1/-1;
 }
 .elections-office-list-summary{
  display:grid;
  gap:2px;
 }
}
@media(max-width:390px){
 .elections-candidate-row-action{
  font-size:7.5px;
  padding:6px 7px;
 }
 .elections-candidate-row-photo{
  flex-basis:43px;
  width:43px;
  height:43px;
 }
 .elections-candidate-row-main{
  gap:8px;
  padding-left:7px;
 }
}

/* GO27 election editorial coverage */
.elections-news-grid-editorial .elections-news-card-copy p{margin:8px 0 12px;color:#65717d;font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.elections-news-pagination{margin-top:28px}
.article-body-v3 figure{margin:32px 0}
.article-body-v3 figure img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:14px}
.article-body-v3 figure figcaption{margin-top:8px;color:#6d747c;font-size:12px;line-height:1.45}
@media(max-width:700px){.article-body-v3 figure{margin:24px -4px}.article-body-v3 figure img{border-radius:10px}.elections-news-grid-editorial .elections-news-card-copy p{font-size:12px}}

/* Elections office picker refinement v4 */
.elections-office-picker{
 position:relative;
 display:grid;
 gap:5px;
 min-width:0;
}
.elections-office-picker-label{
 color:#7d858d;
 font-size:8px;
 font-weight:750;
 letter-spacing:.05em;
 text-transform:uppercase;
}
.elections-office-picker-trigger{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 width:100%;
 min-height:46px;
 padding:0 13px;
 border:1px solid #d9dee3;
 border-radius:11px;
 background:#fff;
 color:#252b31;
 font:inherit;
 font-size:11px;
 font-weight:750;
 text-align:left;
 cursor:pointer;
 box-sizing:border-box;
 transition:border-color .18s ease,box-shadow .18s ease;
}
.elections-office-picker-trigger:hover,
.elections-office-picker-trigger[aria-expanded="true"]{
 border-color:#ef432d;
 box-shadow:0 0 0 3px rgba(239,67,45,.08);
}
.elections-office-picker-trigger>span{
 min-width:0;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.elections-office-picker-trigger i{
 flex:0 0 auto;
 color:#ef432d;
 font-size:10px;
 transition:transform .18s ease;
}
.elections-office-picker-trigger[aria-expanded="true"] i{
 transform:rotate(180deg);
}
.elections-office-picker-menu{
 position:absolute;
 z-index:40;
 top:calc(100% + 7px);
 left:0;
 right:0;
 overflow:hidden;
 padding:5px;
 border:1px solid #dde2e6;
 border-radius:13px;
 background:#fff;
 box-shadow:0 18px 42px rgba(24,32,40,.16);
}
.elections-office-picker-menu[hidden]{
 display:none!important;
}
.elections-office-picker-option{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 width:100%;
 min-height:44px;
 padding:0 11px;
 border:0;
 border-radius:9px;
 background:transparent;
 color:#30363d;
 font:inherit;
 font-size:10.5px;
 font-weight:700;
 text-align:left;
 cursor:pointer;
}
.elections-office-picker-option+ .elections-office-picker-option{
 margin-top:2px;
}
.elections-office-picker-option:hover{
 background:#f5f6f7;
}
.elections-office-picker-option.is-active{
 background:#fff1ee;
 color:#d83422;
}
.elections-office-picker-option>span{
 min-width:0;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.elections-office-picker-option>i{
 flex:0 0 auto;
 color:#ef432d;
 font-size:9px;
 opacity:0;
}
.elections-office-picker-option.is-active>i{
 opacity:1;
}
@media(max-width:760px){
 .elections-directory-controls{
  overflow:visible;
 }
 .elections-directory-card{
  overflow:visible;
 }
 .elections-office-picker-trigger{
  min-height:48px;
  font-size:11.5px;
  border-radius:10px;
 }
 .elections-office-picker-menu{
  max-height:280px;
  overflow-y:auto;
  border-radius:12px;
 }
 .elections-office-picker-option{
  min-height:46px;
  font-size:11px;
 }
}

/* Elections office picker v4 */
.elections-office-picker{
 position:relative;
 display:grid;
 gap:5px;
}
.elections-office-picker-label{
 color:#7d858d;
 font-size:8px;
 font-weight:750;
 letter-spacing:.05em;
 text-transform:uppercase;
}
.elections-office-picker-trigger{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 width:100%;
 min-height:44px;
 padding:0 13px;
 border:1px solid #d9dfe5;
 border-radius:10px;
 background:#fff;
 color:#252b31;
 font:inherit;
 font-size:10.5px;
 font-weight:750;
 text-align:left;
 cursor:pointer;
}
.elections-office-picker-trigger i{
 flex:0 0 auto;
 color:#ef432d;
 font-size:10px;
 transition:transform .18s ease;
}
.elections-office-picker.is-open .elections-office-picker-trigger{
 border-color:#ef432d;
 box-shadow:0 0 0 3px rgba(239,67,45,.08);
}
.elections-office-picker.is-open .elections-office-picker-trigger i{
 transform:rotate(180deg);
}
.elections-office-picker-menu{
 position:absolute;
 z-index:30;
 top:calc(100% + 7px);
 left:0;
 right:0;
 overflow:hidden;
 border:1px solid #dfe4e8;
 border-radius:12px;
 background:#fff;
 box-shadow:0 16px 38px rgba(28,35,44,.16);
}
.elections-office-picker-menu[hidden]{
 display:none!important;
}
.elections-office-picker-option{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 width:100%;
 min-height:58px;
 padding:10px 13px;
 border:0;
 border-bottom:1px solid #edf0f2;
 background:#fff;
 color:#2b3137;
 font:inherit;
 text-align:left;
 cursor:pointer;
}
.elections-office-picker-option:last-child{
 border-bottom:0;
}
.elections-office-picker-option:hover,
.elections-office-picker-option.is-active{
 background:#fff7f5;
}
.elections-office-picker-option>span{
 display:flex;
 align-items:baseline;
 gap:6px;
 min-width:0;
}
.elections-office-picker-option strong{
 color:#252b31;
 font-size:10.5px;
 line-height:1.25;
}
.elections-office-picker-option small{
 color:#8a929a;
 font-size:8.5px;
 line-height:1.25;
}
.elections-office-picker-option i{
 flex:0 0 auto;
 color:transparent;
 font-size:10px;
}
.elections-office-picker-option.is-active i{
 color:#ef432d;
}
@media(max-width:760px){
 .elections-office-picker-trigger{
  min-height:48px;
  border-radius:11px;
  font-size:11.5px;
 }
 .elections-office-picker-menu{
  top:calc(100% + 6px);
  border-radius:13px;
 }
 .elections-office-picker-option{
  min-height:60px;
  padding:11px 13px;
 }
 .elections-office-picker-option strong{
  font-size:11.5px;
 }
 .elections-office-picker-option small{
  font-size:9px;
 }
}

/* Elections pagination v2 */
.elections-pagination{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:16px;
 margin-top:18px;
 padding:13px 14px;
 border:1px solid #e1e5e8;
 border-radius:11px;
 background:#fff;
}
.elections-pagination-summary{
 color:#747c84;
 font-size:9px;
 line-height:1.4;
}
.elections-pagination-summary strong{
 color:#2b3137;
 font-weight:750;
}
.elections-pagination-controls{
 display:flex;
 align-items:center;
 gap:9px;
}
.elections-page-arrow{
 display:inline-flex;
 align-items:center;
 gap:6px;
 min-height:34px;
 padding:0 10px;
 border:1px solid #dfe4e8;
 border-radius:8px;
 background:#fff;
 color:#343a40;
 font-size:8.5px;
 font-weight:700;
 text-decoration:none;
}
.elections-page-arrow i{
 font-size:8px;
}
.elections-page-arrow:hover{
 border-color:#ef432d;
 color:#ef432d;
}
.elections-page-arrow.is-disabled{
 opacity:.38;
 cursor:default;
}
.elections-page-numbers{
 display:flex;
 align-items:center;
 gap:4px;
}
.elections-page-numbers a,
.elections-page-numbers>span:not(.elections-page-ellipsis){
 display:grid;
 place-items:center;
 min-width:32px;
 height:32px;
 padding:0 6px;
 border:1px solid #e1e5e8;
 border-radius:8px;
 background:#fff;
 color:#394047;
 font-size:8.5px;
 font-weight:700;
 text-decoration:none;
 box-sizing:border-box;
}
.elections-page-numbers a:hover{
 border-color:#ef432d;
 color:#ef432d;
}
.elections-page-numbers .is-current{
 border-color:#ef432d!important;
 background:#ef432d!important;
 color:#fff!important;
}
.elections-page-ellipsis{
 display:grid;
 place-items:center;
 min-width:20px;
 color:#8a929a;
 font-size:9px;
}
.elections-pagination svg{
 display:none!important;
}

@media(max-width:760px){
 .elections-pagination{
  display:grid;
  gap:11px;
  padding:12px;
 }
 .elections-pagination-summary{
  text-align:center;
  font-size:9px;
 }
 .elections-pagination-controls{
  justify-content:space-between;
  gap:6px;
 }
 .elections-page-arrow{
  min-height:36px;
  padding:0 9px;
 }
 .elections-page-numbers{
  justify-content:center;
  flex:1 1 auto;
 }
 .elections-page-numbers a,
 .elections-page-numbers>span:not(.elections-page-ellipsis){
  min-width:30px;
  height:30px;
 }
}
@media(max-width:390px){
 .elections-page-arrow span{
  display:none;
 }
 .elections-page-arrow{
  width:34px;
  justify-content:center;
  padding:0;
 }
}

/* Elections office picker visibility fix v5 */
.elections-candidates-compact,
.elections-candidates-compact .container,
.elections-directory-card{
 overflow:visible!important;
}
.elections-directory-card{
 position:relative!important;
}
.elections-directory-controls{
 position:relative!important;
 z-index:80!important;
 overflow:visible!important;
}
.elections-office-picker{
 position:relative!important;
 z-index:120!important;
}
.elections-office-picker-menu{
 z-index:999!important;
 overflow-y:auto!important;
 max-height:320px!important;
}
.elections-directory-panels{
 position:relative!important;
 z-index:1!important;
}
.elections-directory-panel{
 position:relative!important;
 z-index:1!important;
}
.elections-directory-controls>label{
 position:relative!important;
 z-index:1!important;
}

@media(max-width:760px){
 .elections-office-picker-menu{
  left:0!important;
  right:0!important;
  width:auto!important;
  max-height:300px!important;
  box-shadow:0 18px 42px rgba(24,32,40,.22)!important;
 }
}

/* Elections server-rendered office selector v6 */
.elections-office-details{
 position:relative;
 display:block;
 z-index:120;
}
.elections-office-details>summary{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 width:100%;
 min-height:48px;
 padding:0 13px;
 border:1px solid #d9dee3;
 border-radius:11px;
 background:#fff;
 color:#252b31;
 font-size:11.5px;
 font-weight:750;
 cursor:pointer;
 list-style:none;
 box-sizing:border-box;
}
.elections-office-details>summary::-webkit-details-marker{
 display:none;
}
.elections-office-details>summary::marker{
 display:none;
 content:"";
}
.elections-office-details>summary i{
 flex:0 0 auto;
 color:#ef432d;
 font-size:10px;
 transition:transform .18s ease;
}
.elections-office-details[open]>summary{
 border-color:#ef432d;
 box-shadow:0 0 0 3px rgba(239,67,45,.08);
}
.elections-office-details[open]>summary i{
 transform:rotate(180deg);
}
.elections-office-details-menu{
 position:absolute;
 z-index:9999;
 top:calc(100% + 6px);
 left:0;
 right:0;
 overflow-y:auto;
 max-height:310px;
 padding:5px;
 border:1px solid #dde2e6;
 border-radius:12px;
 background:#fff;
 box-shadow:0 18px 42px rgba(24,32,40,.22);
}
.elections-office-details-menu>a{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 min-height:52px;
 padding:8px 11px;
 border-radius:9px;
 color:#30363d;
 text-decoration:none;
 box-sizing:border-box;
}
.elections-office-details-menu>a+a{
 margin-top:2px;
}
.elections-office-details-menu>a:hover,
.elections-office-details-menu>a.is-active{
 background:#fff1ee;
 color:#d83422;
}
.elections-office-details-menu>a>span{
 display:flex;
 align-items:baseline;
 gap:6px;
 min-width:0;
}
.elections-office-details-menu strong{
 font-size:11px;
 line-height:1.25;
}
.elections-office-details-menu small{
 color:#858e97;
 font-size:9px;
 line-height:1.25;
}
.elections-office-details-menu>a>i{
 flex:0 0 auto;
 color:#ef432d;
 font-size:9px;
}
.elections-directory-search-form{
 display:grid;
 gap:5px;
}
.elections-directory-search-form>span{
 color:#7d858d;
 font-size:8px;
 font-weight:750;
 letter-spacing:.05em;
 text-transform:uppercase;
}
.elections-directory-controls,
.elections-directory-card,
.elections-candidates-compact,
.elections-candidates-compact>.container{
 overflow:visible!important;
}
.elections-directory-controls{
 position:relative;
 z-index:80;
}

@media(max-width:760px){
 .elections-office-details-menu{
  max-height:300px;
 }
 .elections-office-details-menu>a{
  min-height:56px;
 }
 .elections-office-details-menu strong{
  font-size:11.5px;
 }
 .elections-office-details-menu small{
  font-size:9px;
 }
}

/* Elections visual identity — GO27 blue v7 */
:root{
 --go27-election-blue:#102a43;
 --go27-election-blue-2:#173f63;
 --go27-election-blue-soft:#eef4f8;
}

/* Main election hub */
.elections-hero{
 background:
  radial-gradient(circle at 85% 20%,rgba(255,255,255,.12),transparent 30%),
  linear-gradient(135deg,var(--go27-election-blue-2),var(--go27-election-blue))!important;
}
.elections-kicker,
.elections-section-head>div>span,
.elections-candidate-copy>span,
.elections-directory-panel-head>a,
.elections-directory-all,
.elections-news-head>a,
.elections-news-card-copy>span,
.election-related-news span,
.election-source-box>i,
.election-source-box a,
.election-social-list i{
 color:var(--go27-election-blue)!important;
}

/* Candidate profile hero */
.election-candidate-hero{
 padding:30px 0!important;
 background:
  radial-gradient(circle at 88% 18%,rgba(255,255,255,.08),transparent 32%),
  linear-gradient(135deg,var(--go27-election-blue-2),var(--go27-election-blue))!important;
}
.election-candidate-hero-grid{
 gap:26px!important;
}
.election-candidate-portrait{
 width:190px!important;
 border:1px solid rgba(255,255,255,.16)!important;
 box-shadow:0 14px 34px rgba(3,17,30,.22)!important;
}
.election-candidate-hero-copy .elections-kicker{
 color:#fff!important;
 opacity:.82;
}
.election-candidate-hero-copy h1{
 margin:7px 0 11px!important;
}
.election-candidate-party{
 gap:10px!important;
}
.election-candidate-party strong{
 background:#fff!important;
 color:var(--go27-election-blue)!important;
}
.election-candidate-party span{
 color:rgba(255,255,255,.90)!important;
}
.election-source-line-compact{
 max-width:620px!important;
 margin-top:9px!important;
 padding-top:0!important;
 border-top:0!important;
 color:rgba(255,255,255,.72)!important;
 font-size:8.5px!important;
 line-height:1.4!important;
}
.election-source-line-compact i{
 color:#fff!important;
 opacity:.82;
}
.election-candidate-status{
 margin-top:8px!important;
 color:rgba(255,255,255,.72)!important;
}

/* Information cards */
.election-info-card .elections-kicker{
 color:var(--go27-election-blue)!important;
}
.election-primary-link{
 background:var(--go27-election-blue)!important;
}
.election-source-box a{
 color:var(--go27-election-blue)!important;
}

/* Candidate directory */
.elections-round-tabs .is-active{
 color:var(--go27-election-blue)!important;
}
.elections-office-details>summary{
 border-color:#cfd9e2!important;
}
.elections-office-details>summary i{
 color:var(--go27-election-blue)!important;
}
.elections-office-details[open]>summary{
 border-color:var(--go27-election-blue)!important;
 box-shadow:0 0 0 3px rgba(16,42,67,.09)!important;
}
.elections-office-details-menu>a:hover,
.elections-office-details-menu>a.is-active{
 background:var(--go27-election-blue-soft)!important;
 color:var(--go27-election-blue)!important;
}
.elections-office-details-menu>a>i{
 color:var(--go27-election-blue)!important;
}
.elections-candidate-row-action{
 border-color:var(--go27-election-blue)!important;
 color:var(--go27-election-blue)!important;
}

/* Search/list page */
.elections-office-search-form button{
 background:var(--go27-election-blue)!important;
}
.elections-page-arrow:hover,
.elections-page-numbers a:hover{
 border-color:var(--go27-election-blue)!important;
 color:var(--go27-election-blue)!important;
}
.elections-page-numbers .is-current{
 border-color:var(--go27-election-blue)!important;
 background:var(--go27-election-blue)!important;
}

/* Live results */
.elections-live-badge,
.elections-live-source a{
 color:#9fc2dd!important;
}
.elections-result-progress span{
 background:#4b91c5!important;
}

/* Election news */
.elections-news-empty>i{
 color:var(--go27-election-blue)!important;
}

@media(max-width:760px){
 .election-candidate-hero{
  padding:22px 0 24px!important;
 }
 .election-candidate-hero-grid{
  grid-template-columns:86px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
 }
 .election-candidate-portrait{
  width:86px!important;
  border-radius:11px!important;
 }
 .election-candidate-hero-copy .elections-back-link{
  margin-bottom:6px!important;
 }
 .election-candidate-hero-copy h1{
  margin:5px 0 8px!important;
  font-size:26px!important;
  line-height:1.02!important;
 }
 .election-candidate-party strong{
  min-width:40px!important;
  height:32px!important;
  font-size:14px!important;
 }
 .election-candidate-party span{
  font-size:9px!important;
 }
 .election-source-line-compact{
  margin-top:7px!important;
  font-size:7.5px!important;
 }
 .election-candidate-status{
  margin-top:6px!important;
  font-size:7.5px!important;
 }
}

/* Candidate hero hierarchy correction v8 */
.election-candidate-hero-copy .elections-kicker{
 color:#ff604a!important;
 opacity:1!important;
}
.election-candidate-party{
 align-items:flex-start!important;
}
.election-candidate-party strong{
 flex:0 0 auto!important;
 background:#ef432d!important;
 color:#fff!important;
}
.election-candidate-party-meta{
 min-width:0;
 display:grid;
 gap:4px;
 padding-top:4px;
}
.election-candidate-party-name{
 display:block;
 color:rgba(255,255,255,.90)!important;
 font-size:11px!important;
 line-height:1.3;
}
.election-candidate-party-meta .election-source-line-compact{
 margin:0!important;
 padding:0!important;
 max-width:620px!important;
 border:0!important;
 gap:6px!important;
 align-items:flex-start!important;
 color:rgba(255,255,255,.66)!important;
 font-size:8px!important;
 line-height:1.35!important;
}
.election-candidate-party-meta .election-source-line-compact i{
 margin-top:1px;
 color:#ff604a!important;
 opacity:1!important;
 font-size:8px!important;
}

@media(max-width:760px){
 .election-candidate-party-meta{
  padding-top:2px;
  gap:3px;
 }
 .election-candidate-party-name{
  font-size:9px!important;
 }
 .election-candidate-party-meta .election-source-line-compact{
  font-size:6.8px!important;
  line-height:1.3!important;
 }
 .election-candidate-party-meta .election-source-line-compact i{
  font-size:7px!important;
 }
}

/* Elections calendar timeline v1 */
.elections-calendar{
 padding:44px 0 50px;
 border-top:1px solid #e3e8ec;
 border-bottom:8px solid var(--go27-election-blue);
 background:#f8fafb;
 overflow:hidden;
}
.elections-calendar-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 gap:28px;
 margin-bottom:26px;
}
.elections-calendar-head h2{
 margin:7px 0 8px;
 color:#20272e;
 font-size:34px;
 line-height:1.05;
 letter-spacing:-.035em;
}
.elections-calendar-head p{
 max-width:700px;
 margin:0;
 color:#78818a;
 font-size:11.5px;
 line-height:1.6;
}
.elections-calendar-head-actions{
 display:flex;
 align-items:center;
 gap:14px;
 flex:0 0 auto;
}
.elections-calendar-source{
 display:inline-flex;
 align-items:center;
 gap:6px;
 color:var(--go27-election-blue);
 font-size:9px;
 font-weight:750;
 text-decoration:none;
}
.elections-calendar-nav{
 display:flex;
 align-items:center;
 gap:6px;
}
.elections-calendar-nav button{
 display:grid;
 place-items:center;
 width:38px;
 height:38px;
 padding:0;
 border:1px solid #dce3e8;
 border-radius:50%;
 background:#fff;
 color:#20272e;
 cursor:pointer;
}
.elections-calendar-nav button:hover{
 border-color:var(--go27-election-blue);
 color:var(--go27-election-blue);
}
.elections-calendar-nav button:disabled{
 opacity:.28;
 cursor:default;
}
.elections-calendar-viewport{
 --calendar-side:max(28px,calc((100vw - 1280px)/2 + 40px));
 overflow-x:auto;
 overflow-y:hidden;
 padding:0 var(--calendar-side) 12px;
 scroll-padding-inline:var(--calendar-side);
 scroll-snap-type:x proximity;
 scrollbar-width:thin;
 scrollbar-color:#cbd4dc transparent;
}
.elections-calendar-track{
 display:flex;
 width:max-content;
}
.elections-calendar-event{
 position:relative;
 flex:0 0 326px;
 scroll-snap-align:start;
 transition:opacity .18s ease;
}
.elections-calendar-event.is-past{
 opacity:.48;
}
.elections-calendar-event.is-past:hover{
 opacity:.72;
}
.elections-calendar-date{
 display:flex;
 align-items:flex-end;
 gap:8px;
 min-height:86px;
 padding:0 18px 10px 20px;
 box-sizing:border-box;
}
.elections-calendar-date>strong{
 color:#20272e;
 font-size:44px;
 line-height:.9;
 letter-spacing:-.045em;
}
.elections-calendar-date>div{
 display:grid;
 gap:0;
 padding-bottom:1px;
}
.elections-calendar-date span{
 color:var(--go27-election-blue);
 font-size:14px;
 font-weight:850;
 line-height:1.05;
}
.elections-calendar-date small{
 color:#6f7881;
 font-size:11px;
 font-weight:800;
 line-height:1.15;
}
.elections-calendar-date em{
 margin-top:2px;
 color:#8d959d;
 font-size:8px;
 font-style:normal;
 font-weight:700;
}
.elections-calendar-date>b{
 align-self:center;
 margin-left:6px;
 padding:6px 10px;
 border-radius:999px;
 background:#dcebf5;
 color:var(--go27-election-blue);
 font-size:8px;
 font-weight:850;
 letter-spacing:.04em;
 white-space:nowrap;
}
.elections-calendar-date>mark{
 align-self:center;
 margin-left:auto;
 padding:5px 8px;
 border-radius:999px;
 background:#20d9bc;
 color:#053b43;
 font-size:7px;
 font-weight:850;
 text-transform:uppercase;
 letter-spacing:.05em;
 white-space:nowrap;
}
.elections-calendar-axis{
 position:relative;
 height:34px;
}
.elections-calendar-axis::before{
 content:"";
 position:absolute;
 left:0;
 right:0;
 top:15px;
 height:2px;
 background:#d9e1e7;
}
.elections-calendar-axis span{
 position:absolute;
 z-index:2;
 top:8px;
 left:22px;
 width:14px;
 height:14px;
 border:3px solid #f8fafb;
 border-radius:50%;
 background:#b9c5ce;
 box-shadow:0 0 0 2px #d9e1e7;
}
.elections-calendar-card{
 display:grid;
 grid-template-columns:42px minmax(0,1fr);
 gap:12px;
 min-height:220px;
 margin:0 18px 0 20px;
 padding:18px;
 border:1px solid #e1e7eb;
 border-radius:14px;
 background:#fff;
 box-sizing:border-box;
 box-shadow:0 8px 22px rgba(25,40,55,.035);
}
.elections-calendar-icon{
 display:grid;
 place-items:center;
 width:40px;
 height:40px;
 border-radius:50%;
 background:var(--go27-election-blue-soft);
 color:var(--go27-election-blue);
 font-size:14px;
}
.elections-calendar-card h3{
 margin:2px 0 9px;
 color:#303840;
 font-size:14px;
 line-height:1.2;
}
.elections-calendar-card p{
 margin:0;
 color:#77818a;
 font-size:10px;
 line-height:1.62;
}
.elections-calendar-event.is-next{
 opacity:1;
}
.elections-calendar-event.is-next .elections-calendar-date>strong,
.elections-calendar-event.is-next .elections-calendar-date span{
 color:var(--go27-election-blue);
}
.elections-calendar-event.is-next .elections-calendar-axis::before{
 background:var(--go27-election-blue);
}
.elections-calendar-event.is-next .elections-calendar-axis span{
 width:17px;
 height:17px;
 top:6px;
 left:20px;
 border-color:#dcebf5;
 background:#1596d2;
 box-shadow:0 0 0 5px rgba(16,42,67,.10);
}
.elections-calendar-event.is-next .elections-calendar-card{
 border-color:var(--go27-election-blue);
 background:linear-gradient(
  145deg,
  var(--go27-election-blue-2),
  var(--go27-election-blue)
 );
 box-shadow:0 18px 34px rgba(16,42,67,.18);
}
.elections-calendar-event.is-next .elections-calendar-icon{
 background:#20d9bc;
 color:#073a47;
}
.elections-calendar-event.is-next .elections-calendar-card h3{
 color:#fff;
}
.elections-calendar-event.is-next .elections-calendar-card p{
 color:rgba(255,255,255,.84);
}

@media(max-width:760px){
 .elections-calendar{
  padding:30px 0 34px;
  border-bottom-width:7px;
 }
 .elections-calendar>.container{
  width:100%!important;
  max-width:100%!important;
  padding-left:18px!important;
  padding-right:18px!important;
  box-sizing:border-box!important;
 }
 .elections-calendar-head{
  align-items:flex-end;
  margin-bottom:20px;
 }
 .elections-calendar-head h2{
  font-size:28px;
 }
 .elections-calendar-head p{
  font-size:10.5px;
 }
 .elections-calendar-source{
  display:none;
 }
 .elections-calendar-nav button{
  width:34px;
  height:34px;
 }
 .elections-calendar-viewport{
  --calendar-side:18px;
  padding-bottom:8px;
  scrollbar-width:none;
 }
 .elections-calendar-viewport::-webkit-scrollbar{
  display:none;
 }
 .elections-calendar-event{
  flex-basis:292px;
 }
 .elections-calendar-date{
  min-height:78px;
  padding:0 12px 9px 12px;
  gap:7px;
 }
 .elections-calendar-date>strong{
  font-size:40px;
 }
 .elections-calendar-date span{
  font-size:12px;
 }
 .elections-calendar-date small{
  font-size:9.5px;
 }
 .elections-calendar-date>b{
  margin-left:3px;
  padding:5px 8px;
  font-size:7px;
 }
 .elections-calendar-date>mark{
  padding:4px 6px;
  font-size:6px;
 }
 .elections-calendar-axis span{
  left:14px;
 }
 .elections-calendar-event.is-next .elections-calendar-axis span{
  left:12px;
 }
 .elections-calendar-card{
  grid-template-columns:38px minmax(0,1fr);
  min-height:214px;
  margin:0 12px;
  padding:16px;
 }
 .elections-calendar-icon{
  width:36px;
  height:36px;
  font-size:13px;
 }
 .elections-calendar-card h3{
  font-size:13px;
 }
 .elections-calendar-card p{
  font-size:9.5px;
 }
}

/* Elections AJAX candidate search v1 */
.elections-directory-search-form{
 position:relative;
 z-index:100;
}
.elections-ajax-search{
 position:relative;
 min-width:0;
}
.elections-ajax-search .elections-directory-search{
 position:relative;
 z-index:2;
}
.elections-ajax-spinner{
 flex:0 0 15px;
 width:15px;
 height:15px;
 border:2px solid #d6dde3;
 border-top-color:var(--go27-election-blue);
 border-radius:50%;
 animation:elections-search-spin .7s linear infinite;
}
.elections-ajax-spinner[hidden]{
 display:none!important;
}
@keyframes elections-search-spin{
 to{transform:rotate(360deg)}
}
.elections-ajax-results{
 position:absolute;
 z-index:1200;
 top:calc(100% + 6px);
 left:0;
 right:0;
 overflow:hidden;
 max-height:430px;
 border:1px solid #dce3e8;
 border-radius:12px;
 background:#fff;
 box-shadow:0 18px 42px rgba(24,32,40,.18);
}
.elections-ajax-results[hidden]{
 display:none!important;
}
.elections-ajax-result-list{
 overflow-y:auto;
 max-height:350px;
}
.elections-ajax-result{
 display:grid;
 grid-template-columns:44px minmax(0,1fr) auto;
 gap:10px;
 align-items:center;
 min-height:62px;
 padding:8px 10px;
 border-bottom:1px solid #edf0f2;
 color:inherit;
 text-decoration:none;
 box-sizing:border-box;
}
.elections-ajax-result:hover,
.elections-ajax-result:focus-visible{
 background:var(--go27-election-blue-soft);
 outline:0;
}
.elections-ajax-result-photo{
 display:grid;
 place-items:center;
 width:44px;
 height:44px;
 overflow:hidden;
 border-radius:50%;
 background:#edf1f4;
 color:#85909a;
 font-size:15px;
 font-weight:800;
}
.elections-ajax-result-photo img{
 display:block;
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center top;
}
.elections-ajax-result-copy{
 min-width:0;
 display:grid;
 gap:3px;
}
.elections-ajax-result-copy strong{
 overflow:hidden;
 color:#252b31;
 font-size:10.5px;
 line-height:1.2;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.elections-ajax-result-copy>span{
 color:#7f8992;
 font-size:8.5px;
 font-weight:650;
}
.elections-ajax-result-action{
 padding:6px 8px;
 border:1px solid var(--go27-election-blue);
 border-radius:7px;
 color:var(--go27-election-blue);
 font-size:7.5px;
 font-weight:750;
 white-space:nowrap;
}
.elections-ajax-all{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 min-height:42px;
 padding:0 12px;
 background:#f8fafb;
 color:var(--go27-election-blue);
 font-size:8.5px;
 font-weight:750;
 text-decoration:none;
}
.elections-ajax-state{
 padding:16px 12px;
 color:#78828b;
 font-size:9px;
 text-align:center;
}
.elections-directory-card,
.elections-directory-controls{
 overflow:visible!important;
}

@media(max-width:760px){
 .elections-ajax-results{
  max-height:390px;
  border-radius:11px;
 }
 .elections-ajax-result-list{
  max-height:310px;
 }
 .elections-ajax-result{
  grid-template-columns:42px minmax(0,1fr) auto;
  min-height:60px;
  padding:8px 9px;
 }
 .elections-ajax-result-photo{
  width:42px;
  height:42px;
 }
 .elections-ajax-result-copy strong{
  font-size:10px;
 }
 .elections-ajax-result-action{
  padding:6px 7px;
  font-size:7px;
 }
}

/* Candidate hero info + share correction v9 */
.election-candidate-party{
 display:flex!important;
 align-items:center!important;
 gap:12px!important;
}
.election-candidate-party-name{
 color:#fff!important;
 font-size:14px!important;
 line-height:1.25!important;
 font-weight:750!important;
 letter-spacing:.01em;
}
.election-source-below-number{
 margin-top:7px!important;
 padding:0!important;
 border:0!important;
 max-width:640px!important;
 display:flex!important;
 align-items:flex-start!important;
 gap:7px!important;
 color:rgba(255,255,255,.70)!important;
 font-size:8.5px!important;
 line-height:1.4!important;
}
.election-source-below-number i{
 flex:0 0 auto;
 margin-top:1px!important;
 color:#ff604a!important;
 font-size:8px!important;
}
.election-candidate-share{
 display:flex;
 align-items:center;
 gap:10px;
 margin-top:9px;
}
.election-candidate-share>span{
 color:rgba(255,255,255,.60);
 font-size:7.5px;
 font-weight:750;
 text-transform:uppercase;
 letter-spacing:.06em;
}
.election-candidate-share-buttons{
 display:flex;
 align-items:center;
 gap:6px;
}
.election-candidate-share-buttons a{
 display:grid;
 place-items:center;
 width:29px;
 height:29px;
 border:1px solid rgba(255,255,255,.24);
 border-radius:50%;
 background:rgba(255,255,255,.08);
 color:#fff;
 text-decoration:none;
 transition:.18s ease;
}
.election-candidate-share-buttons a:hover{
 background:#fff;
 color:var(--go27-election-blue);
 border-color:#fff;
}
.election-candidate-share-buttons i{
 font-size:11px;
}

@media(max-width:760px){
 .election-candidate-party{
  gap:9px!important;
 }
 .election-candidate-party-name{
  font-size:10.5px!important;
  line-height:1.2!important;
 }
 .election-source-below-number{
  margin-top:6px!important;
  font-size:6.8px!important;
  line-height:1.35!important;
 }
 .election-source-below-number i{
  font-size:7px!important;
 }
 .election-candidate-share{
  gap:7px;
  margin-top:7px;
 }
 .election-candidate-share>span{
  font-size:6.2px;
 }
 .election-candidate-share-buttons{
  gap:5px;
 }
 .election-candidate-share-buttons a{
  width:27px;
  height:27px;
 }
 .election-candidate-share-buttons i{
  font-size:10px;
 }
}

/* Candidate share sizing v10 */
.election-candidate-share{
 gap:12px!important;
 margin-top:11px!important;
}
.election-candidate-share>span{
 color:rgba(255,255,255,.82)!important;
 font-size:9px!important;
 font-weight:800!important;
 letter-spacing:.065em!important;
}
.election-candidate-share-buttons{
 gap:8px!important;
}
.election-candidate-share-buttons a{
 width:36px!important;
 height:36px!important;
 border-width:1px!important;
 background:rgba(255,255,255,.10)!important;
}
.election-candidate-share-buttons i{
 font-size:14px!important;
}

@media(max-width:760px){
 .election-candidate-share{
  gap:9px!important;
  margin-top:9px!important;
 }
 .election-candidate-share>span{
  font-size:7.8px!important;
 }
 .election-candidate-share-buttons{
  gap:7px!important;
 }
 .election-candidate-share-buttons a{
  width:34px!important;
  height:34px!important;
 }
 .election-candidate-share-buttons i{
  font-size:13px!important;
 }
}

/* Elections coverage transition v11 */
.elections-live{
 padding-top:30px!important;
}
.elections-coverage-intro{
 display:grid;
 grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
 gap:28px;
 align-items:end;
 padding:0 4px 22px;
}
.elections-coverage-kicker{
 display:inline-flex;
 align-items:center;
 gap:7px;
 color:#8fc4e8;
 font-size:9px;
 font-weight:850;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.elections-coverage-kicker i{
 font-size:10px;
}
.elections-coverage-copy h2{
 max-width:760px;
 margin:7px 0 8px;
 color:#fff;
 font-size:30px;
 line-height:1.06;
 letter-spacing:-.035em;
}
.elections-coverage-copy p{
 max-width:760px;
 margin:0;
 color:#aeb8c1;
 font-size:10.5px;
 line-height:1.65;
}
.elections-coverage-points{
 display:grid;
 grid-template-columns:1fr;
 gap:7px;
}
.elections-coverage-points span{
 display:flex;
 align-items:center;
 gap:9px;
 min-height:38px;
 padding:0 11px;
 border:1px solid rgba(255,255,255,.10);
 border-radius:9px;
 background:rgba(255,255,255,.035);
 color:#d7dde2;
 font-size:9px;
 font-weight:700;
}
.elections-coverage-points i{
 display:grid;
 place-items:center;
 width:22px;
 color:#8fc4e8;
 font-size:10px;
}
.elections-live-shell{
 position:relative;
}
.elections-live-shell::before{
 content:"";
 position:absolute;
 left:24px;
 top:-1px;
 width:78px;
 height:3px;
 border-radius:0 0 99px 99px;
 background:#ef432d;
}
.elections-live-head{
 padding-top:27px!important;
}
.elections-live-head h2{
 font-size:24px!important;
}
.elections-live-badge{
 color:#8fc4e8!important;
}

@media(max-width:760px){
 .elections-live{
  padding-top:22px!important;
 }
 .elections-coverage-intro{
  grid-template-columns:1fr;
  gap:16px;
  padding:0 2px 18px;
 }
 .elections-coverage-copy h2{
  margin-top:6px;
  font-size:25px;
  line-height:1.07;
 }
 .elections-coverage-copy p{
  font-size:10px;
  line-height:1.6;
 }
 .elections-coverage-points{
  grid-template-columns:1fr 1fr;
  gap:6px;
 }
 .elections-coverage-points span{
  min-height:36px;
  padding:0 9px;
  font-size:8px;
 }
 .elections-coverage-points span:last-child{
  grid-column:1 / -1;
 }
 .elections-live-shell::before{
  left:16px;
  width:64px;
 }
 .elections-live-head{
  padding-top:24px!important;
 }
 .elections-live-head h2{
  font-size:22px!important;
 }
}

/* Elections coverage compact card v12 */
.elections-coverage-card{
 display:grid;
 grid-template-columns:46px minmax(0,1fr);
 gap:14px;
 align-items:start;
 margin-bottom:14px;
 padding:18px 20px;
 border:1px solid rgba(255,255,255,.10);
 border-radius:14px;
 background:
  linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
 box-shadow:0 10px 28px rgba(0,0,0,.08);
}
.elections-coverage-card-icon{
 display:grid;
 place-items:center;
 width:46px;
 height:46px;
 border-radius:12px;
 background:rgba(143,196,232,.12);
 color:#8fc4e8;
 font-size:17px;
}
.elections-coverage-card-copy>span{
 display:block;
 margin-bottom:4px;
 color:#8fc4e8;
 font-size:8.5px;
 font-weight:850;
 letter-spacing:.07em;
 text-transform:uppercase;
}
.elections-coverage-card-copy h2{
 margin:0 0 6px;
 color:#fff;
 font-size:22px;
 line-height:1.06;
 letter-spacing:-.025em;
}
.elections-coverage-card-copy p{
 max-width:760px;
 margin:0;
 color:#aeb8c1;
 font-size:10px;
 line-height:1.55;
}
.elections-live-shell{
 margin-top:0!important;
}

@media(max-width:760px){
 .elections-coverage-card{
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  margin-bottom:12px;
  padding:14px 15px;
  border-radius:12px;
 }
 .elections-coverage-card-icon{
  width:38px;
  height:38px;
  border-radius:10px;
  font-size:14px;
 }
 .elections-coverage-card-copy>span{
  font-size:7px;
 }
 .elections-coverage-card-copy h2{
  font-size:19px;
  margin-bottom:5px;
 }
 .elections-coverage-card-copy p{
  font-size:9px;
  line-height:1.5;
 }
}

/* Elections coverage card final compact v13 */
.elections-coverage-card{
 grid-template-columns:40px minmax(0,1fr)!important;
 gap:11px!important;
 margin-bottom:12px!important;
 padding:14px 16px!important;
 border-radius:12px!important;
}
.elections-coverage-card-icon{
 width:40px!important;
 height:40px!important;
 border-radius:10px!important;
 font-size:15px!important;
}
.elections-coverage-card-copy>span{
 margin-bottom:2px!important;
 font-size:7.5px!important;
}
.elections-coverage-card-copy h2{
 margin:0 0 4px!important;
 font-size:19px!important;
}
.elections-coverage-card-copy p{
 max-width:680px!important;
 font-size:9px!important;
 line-height:1.45!important;
}
.elections-live-shell{
 margin-top:0!important;
}

@media(max-width:760px){
 .elections-coverage-card{
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:9px!important;
  margin-bottom:10px!important;
  padding:12px 13px!important;
 }
 .elections-coverage-card-icon{
  width:34px!important;
  height:34px!important;
  font-size:13px!important;
 }
 .elections-coverage-card-copy>span{
  font-size:6.6px!important;
 }
 .elections-coverage-card-copy h2{
  font-size:17px!important;
 }
 .elections-coverage-card-copy p{
  font-size:8.5px!important;
  line-height:1.42!important;
 }
}

/* Countdown card minimal v14 */
.elections-live-shell.is-countdown-phase .elections-live-badge,
.elections-live-shell.is-countdown-phase .elections-live-source,
.elections-live-shell.is-countdown-phase #elections-live-description,
.elections-live-shell.is-countdown-phase .elections-live-foot{
 display:none!important;
}
.elections-live-shell.is-countdown-phase .elections-live-head{
 display:block!important;
 padding:22px 24px 10px!important;
}
.elections-live-shell.is-countdown-phase .elections-live-head>div:first-child{
 max-width:760px;
}
.elections-live-shell.is-countdown-phase .elections-live-head h2{
 margin:0!important;
 color:#fff!important;
 font-size:23px!important;
 line-height:1.15!important;
 letter-spacing:-.025em!important;
}
.elections-live-shell.is-countdown-phase .elections-countdown{
 margin-top:2px!important;
 margin-bottom:22px!important;
}
.elections-live-shell.is-countdown-phase::before{
 background:#ef432d!important;
}

@media(max-width:760px){
 .elections-live-shell.is-countdown-phase .elections-live-head{
  padding:18px 16px 8px!important;
 }
 .elections-live-shell.is-countdown-phase .elections-live-head h2{
  font-size:20px!important;
  line-height:1.18!important;
 }
 .elections-live-shell.is-countdown-phase .elections-countdown{
  margin-top:2px!important;
  margin-bottom:16px!important;
 }
}

/* Elections integrated blue hero v15 */
.elections-hero-integrated{
 padding:34px 0 38px!important;
 background:
  radial-gradient(circle at 86% 12%,rgba(76,145,197,.22),transparent 34%),
  linear-gradient(135deg,var(--go27-election-blue-2),var(--go27-election-blue))!important;
 color:#fff;
}
.elections-hero-integrated>.container{
 position:relative;
}
.elections-hero-integrated-card{
 position:relative!important;
 overflow:visible!important;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
 box-shadow:none!important;
 color:#fff!important;
}
.elections-hero-integrated-card::before{
 display:none!important;
}
.elections-hero-integrated-copy{
 max-width:920px;
}
.elections-hero-integrated .elections-kicker{
 color:#ff604a!important;
 opacity:1!important;
}
.elections-hero-integrated h1{
 max-width:820px;
 margin:9px 0 12px!important;
 color:#fff!important;
 font-size:46px!important;
 line-height:1.02!important;
 letter-spacing:-.045em!important;
}
.elections-hero-integrated #elections-live-title{
 max-width:760px;
 margin:0 0 15px!important;
 color:#dce8f1!important;
 font-size:19px!important;
 line-height:1.3!important;
 font-weight:650!important;
 letter-spacing:-.015em!important;
}
.elections-hero-integrated .elections-hero-countdown{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:1px!important;
 max-width:760px!important;
 margin:0 0 18px!important;
 overflow:hidden!important;
 border:1px solid rgba(255,255,255,.18)!important;
 border-radius:13px!important;
 background:rgba(255,255,255,.14)!important;
}
.elections-hero-integrated .elections-hero-countdown>div{
 min-height:86px!important;
 padding:10px 8px!important;
 background:rgba(4,22,39,.22)!important;
}
.elections-hero-integrated .elections-hero-countdown strong{
 color:#fff!important;
 font-size:32px!important;
}
.elections-hero-integrated .elections-hero-countdown span{
 color:rgba(255,255,255,.66)!important;
 font-size:7.5px!important;
}
.elections-hero-description{
 max-width:790px!important;
 margin:0 0 17px!important;
 color:rgba(255,255,255,.78)!important;
 font-size:11px!important;
 line-height:1.62!important;
}
.elections-hero-source-card{
 display:grid!important;
 gap:4px!important;
 max-width:760px!important;
 margin:0!important;
 padding:14px 16px!important;
 border:1px solid rgba(255,255,255,.22)!important;
 border-radius:11px!important;
 background:rgba(255,255,255,.08)!important;
 box-shadow:none!important;
}
.elections-hero-source-card strong{
 color:#fff!important;
 font-size:10.5px!important;
}
.elections-hero-source-card span{
 color:rgba(255,255,255,.72)!important;
 font-size:8.8px!important;
}
.elections-hero-source-card a{
 display:inline-flex!important;
 align-items:center!important;
 gap:6px!important;
 width:max-content!important;
 margin-top:5px!important;
 color:#fff!important;
 font-size:8.8px!important;
 font-weight:750!important;
 text-decoration:none!important;
}
.elections-hero-integrated-card.is-countdown-phase .elections-live-foot{
 display:none!important;
}
.elections-hero-integrated-card.is-countdown-phase #elections-live-description,
.elections-hero-integrated-card.is-countdown-phase .elections-hero-source-card{
 display:block!important;
}
.elections-hero-integrated-card.is-countdown-phase .elections-hero-source-card{
 display:grid!important;
}
.elections-hero-integrated .elections-live-waiting{
 margin:18px 0 0!important;
}
.elections-hero-integrated .elections-results-grid{
 padding:22px 0 0!important;
}
.elections-hero-integrated .elections-live-foot{
 margin-top:18px!important;
 padding:12px 0 0!important;
}

@media(max-width:760px){
 .elections-hero-integrated{
  padding:28px 0 30px!important;
 }
 .elections-hero-integrated>.container{
  width:100%!important;
  max-width:100%!important;
  padding-left:24px!important;
  padding-right:24px!important;
  box-sizing:border-box!important;
 }
 .elections-hero-integrated h1{
  margin:8px 0 12px!important;
  font-size:39px!important;
  line-height:1.02!important;
 }
 .elections-hero-integrated #elections-live-title{
  margin-bottom:13px!important;
  font-size:16px!important;
  line-height:1.28!important;
 }
 .elections-hero-integrated .elections-hero-countdown{
  margin-bottom:15px!important;
  border-radius:11px!important;
 }
 .elections-hero-integrated .elections-hero-countdown>div{
  min-height:72px!important;
  padding:9px 4px!important;
 }
 .elections-hero-integrated .elections-hero-countdown strong{
  font-size:27px!important;
 }
 .elections-hero-integrated .elections-hero-countdown span{
  font-size:6.3px!important;
 }
 .elections-hero-description{
  margin-bottom:14px!important;
  font-size:10px!important;
  line-height:1.55!important;
 }
 .elections-hero-source-card{
  padding:13px 14px!important;
  border-radius:10px!important;
 }
 .elections-hero-source-card strong{
  font-size:10px!important;
 }
 .elections-hero-source-card span,
 .elections-hero-source-card a{
  font-size:8.2px!important;
 }
}

/* Elections hero artwork + GO27 emphasis v16 */
.elections-hero-integrated-card{
 min-height:520px!important;
 isolation:isolate;
}
.elections-hero-integrated-copy{
 position:relative;
 z-index:3;
 max-width:58%!important;
}
.elections-go27-word{
 display:inline-block;
 margin-inline:2px;
 color:#ff4935!important;
 font-size:1.24em!important;
 font-weight:900!important;
 line-height:.9;
 letter-spacing:-.035em;
}
.elections-hero-art{
 position:absolute;
 z-index:1;
 right:-54px;
 bottom:-42px;
 width:min(54%,650px);
 pointer-events:none;
 user-select:none;
}
.elections-hero-art::before{
 content:"";
 position:absolute;
 z-index:2;
 inset:0;
 background:linear-gradient(
  90deg,
  var(--go27-election-blue) 0%,
  rgba(16,42,67,.55) 13%,
  rgba(16,42,67,0) 36%
 );
 pointer-events:none;
}
.elections-hero-art img{
 position:relative;
 z-index:1;
 display:block;
 width:100%;
 height:auto;
 object-fit:contain;
 filter:drop-shadow(0 18px 34px rgba(0,0,0,.16));
}
.elections-hero-integrated .elections-hero-countdown,
.elections-hero-integrated .elections-hero-description,
.elections-hero-integrated .elections-hero-source-card{
 position:relative;
 z-index:4;
}
.elections-hero-integrated .elections-live-waiting,
.elections-hero-integrated .elections-results-grid,
.elections-hero-integrated .elections-live-foot{
 position:relative;
 z-index:4;
}

@media(max-width:900px){
 .elections-hero-integrated-card{
  min-height:0!important;
 }
 .elections-hero-integrated-copy{
  max-width:100%!important;
 }
 .elections-hero-art{
  right:-82px;
  bottom:72px;
  width:68%;
  opacity:.72;
 }
 .elections-hero-art::before{
  background:linear-gradient(
   90deg,
   var(--go27-election-blue) 0%,
   rgba(16,42,67,.72) 20%,
   rgba(16,42,67,.08) 58%,
   rgba(16,42,67,0) 100%
  );
 }
 .elections-hero-integrated .elections-hero-description{
  max-width:66%!important;
 }
 .elections-hero-integrated .elections-hero-source-card{
  max-width:66%!important;
 }
}

@media(max-width:600px){
 .elections-go27-word{
  font-size:1.32em!important;
 }
 .elections-hero-art{
  right:-98px;
  bottom:80px;
  width:78%;
  opacity:.66;
 }
 .elections-hero-integrated .elections-hero-description{
  max-width:65%!important;
 }
 .elections-hero-integrated .elections-hero-source-card{
  max-width:68%!important;
 }
}

/* Elections hero artwork final v17 */
.elections-hero-art{
 right:-28px!important;
 bottom:-38px!important;
 width:min(43%,470px)!important;
 opacity:.98!important;
}
.elections-hero-art::before{
 background:linear-gradient(
  90deg,
  var(--go27-election-blue) 0%,
  rgba(16,42,67,.80) 12%,
  rgba(16,42,67,.24) 32%,
  rgba(16,42,67,0) 58%
 )!important;
}
.elections-hero-art img{
 border-radius:0!important;
 filter:drop-shadow(0 18px 38px rgba(0,0,0,.18))!important;
}
.elections-go27-word{
 color:#ff4935!important;
 font-size:1.28em!important;
 font-weight:900!important;
}

@media(max-width:900px){
 .elections-hero-art{
  right:-105px!important;
  bottom:-12px!important;
  width:72%!important;
  opacity:.58!important;
 }
 .elections-hero-art::before{
  background:linear-gradient(
   90deg,
   var(--go27-election-blue) 0%,
   rgba(16,42,67,.76) 22%,
   rgba(16,42,67,.24) 55%,
   rgba(16,42,67,0) 100%
  )!important;
 }
}

@media(max-width:600px){
 .elections-hero-art{
  right:-128px!important;
  bottom:-4px!important;
  width:84%!important;
  opacity:.52!important;
 }
 .elections-go27-word{
  font-size:1.36em!important;
 }
}

/* Guide location card — same component used by offer Google place card */
.guide-company-location-card{display:block!important;padding:0!important;border:0!important;background:transparent!important}
.guide-company-location-card>.offer-place-card{width:100%;max-width:none;margin:0;padding:24px;border:1px solid #e3e7eb;border-radius:14px;background:#fff;box-shadow:0 8px 26px rgba(17,29,42,.06)}
.guide-company-location-card .offer-google-map-frame{height:360px}
@media(max-width:760px){.guide-company-location-card>.offer-place-card{padding:18px}.guide-company-location-card .offer-google-map-frame{height:280px}}

/* Guide offer showcase */
.guide-offer-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.guide-offer-showcase-card{overflow:hidden;border:1px solid #e3e7eb;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(17,29,42,.06)}
.guide-offer-showcase-media{position:relative;display:block;height:220px;overflow:hidden;background:#eef1f4;text-decoration:none}
.guide-offer-showcase-media img{display:block;width:100%;height:100%;object-fit:cover}
.guide-offer-showcase-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:34px;color:#87919b}
.guide-offer-showcase-rating{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(0,0,0,.12);color:#202936;font-size:13px}
.guide-offer-showcase-rating i{color:#f5b301}
.guide-offer-showcase-body{display:grid;gap:12px;padding:18px}
.guide-offer-showcase-business{display:flex;align-items:center;gap:7px;font-size:17px;color:#172333}
.guide-offer-verified{color:#2583e9;font-size:16px}
.guide-offer-showcase-address{display:flex;align-items:flex-start;gap:8px;margin:0;color:#68737e;font-size:13px;line-height:1.45}
.guide-offer-showcase-address i{margin-top:2px;color:#263442}
.guide-offer-showcase-button{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:9px;background:#f04a2e;color:#fff;font-size:14px;font-weight:800;text-decoration:none}
.guide-offer-showcase-button:hover{background:#d93f26;color:#fff}
@media(max-width:900px){.guide-offer-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.guide-offer-showcase-grid{grid-template-columns:1fr}.guide-offer-showcase-media{height:210px}}

/* Guide share card */
.guide-company-share-card{padding:26px;border:1px solid #e4e8ec;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(17,29,42,.05)}
.guide-company-share-card h2{margin:5px 0 22px;color:#172333}
.guide-company-share-actions{display:grid;grid-template-columns:2.2fr repeat(4,1fr);gap:12px;align-items:center}
.guide-company-share-actions a{display:flex;align-items:center;justify-content:center;min-height:58px;border-radius:10px;color:#3155cc;font-size:27px;text-decoration:none;transition:.18s ease}
.guide-company-share-actions a:hover{background:#f4f6fb;transform:translateY(-1px)}
.guide-company-share-actions .guide-share-whatsapp{gap:10px;border:2px solid #3155cc;font-size:20px}
.guide-company-share-actions .guide-share-whatsapp strong{font-size:15px}
@media(max-width:760px){.guide-company-share-card{padding:20px}.guide-company-share-actions{grid-template-columns:2fr repeat(4,1fr);gap:5px}.guide-company-share-actions a{min-height:50px;font-size:22px}.guide-company-share-actions .guide-share-whatsapp{gap:6px;font-size:21px}.guide-company-share-actions .guide-share-whatsapp strong{font-size:12px}}

/* Guide share buttons only — no surrounding card */
.guide-company-share-card{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}

/* Guide share buttons — compact orange variant */
.guide-company-share-actions{display:flex!important;grid-template-columns:none!important;justify-content:flex-start!important;gap:8px!important;align-items:center}
.guide-company-share-actions a{width:48px;min-width:48px;min-height:48px!important;color:#f04a2e!important;font-size:24px!important}
.guide-company-share-actions a:hover{background:#fff1ec!important;color:#df3f25!important}
.guide-company-share-actions .guide-share-whatsapp{width:auto;min-width:0;padding:0 15px;gap:8px!important;border-color:#f04a2e!important;color:#f04a2e!important;font-size:22px!important}
.guide-company-share-actions .guide-share-whatsapp strong{font-size:14px!important}
@media(max-width:760px){.guide-company-share-actions{gap:4px!important}.guide-company-share-actions a{width:42px;min-width:42px;min-height:44px!important;font-size:21px!important}.guide-company-share-actions .guide-share-whatsapp{width:auto;padding:0 10px}}

/* Guide share — WhatsApp button width adjustment */
.guide-company-share-actions .guide-share-whatsapp{width:165px!important;min-width:165px!important;padding:0 12px!important}
@media(max-width:760px){.guide-company-share-actions .guide-share-whatsapp{width:138px!important;min-width:138px!important;padding:0 8px!important}}

/* Guide share — wider WhatsApp + full-width mobile section */
.guide-company-share-actions .guide-share-whatsapp{width:205px!important;min-width:205px!important;padding-left:22px!important;padding-right:22px!important}
@media(max-width:760px){
 .guide-company-share-card{grid-column:1/-1!important;width:100%!important;max-width:none!important}
 .guide-company-share-actions{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) repeat(4,44px)!important;gap:5px!important}
 .guide-company-share-actions .guide-share-whatsapp{width:100%!important;min-width:0!important;padding-left:16px!important;padding-right:16px!important}
 .guide-company-share-actions a:not(.guide-share-whatsapp){width:44px!important;min-width:44px!important}
}

/* Offer page aligned to Guide company page */
.offer-guide-hero .guide-company-identity{max-width:820px}
.offer-guide-price{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0;color:#fff}
.offer-guide-price span{font-size:14px;text-decoration:line-through;opacity:.72}.offer-guide-price strong{font-size:34px;line-height:1}.offer-guide-price b{padding:5px 8px;border-radius:7px;background:#f04a2e;font-size:12px}
.offer-guide-summary{font-size:16px!important;font-weight:600}.offer-guide-description{margin-top:12px;color:#5f6974;line-height:1.7}
.offer-guide-business-link{display:flex;align-items:center;gap:12px;margin-top:24px;padding:18px 20px;border:1px solid #e3e7eb;border-radius:12px;background:#fff}.offer-guide-business-link span{font-size:11px;text-transform:uppercase;color:#87919b}.offer-guide-business-link strong{color:#172333}.offer-guide-business-link a{margin-left:auto;color:#f04a2e;font-weight:800;text-decoration:none}
@media(max-width:760px){.offer-guide-price strong{font-size:29px}.offer-guide-business-link{align-items:flex-start;flex-direction:column}.offer-guide-business-link a{margin-left:0}}

/* Guide business acquisition CTA */
.guide-company-join-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px;padding:30px 34px;border-radius:16px;background:#172333;color:#fff;overflow:hidden;position:relative}
.guide-company-join-cta:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-65px;top:-85px;background:rgba(240,74,46,.18)}
.guide-company-join-copy{position:relative;z-index:1;max-width:680px}.guide-company-join-copy>span{display:block;margin-bottom:7px;color:#f36a50;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.guide-company-join-copy h2{margin:0 0 8px;color:#fff;font-size:25px}.guide-company-join-copy p{margin:0;color:#c8d0d8;line-height:1.55;font-size:14px}
.guide-company-join-cta>a{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:10px;flex:0 0 auto;min-height:48px;padding:0 20px;border-radius:9px;background:#f04a2e;color:#fff;font-size:14px;font-weight:800;text-decoration:none}.guide-company-join-cta>a:hover{background:#d93f26;color:#fff}
@media(max-width:760px){.guide-company-join-cta{align-items:stretch;flex-direction:column;padding:24px 20px;gap:20px}.guide-company-join-copy h2{font-size:22px}.guide-company-join-cta>a{width:100%}}

/* Article share mobile — compact orange */
.article-share-top a{color:#f04a2e!important}
.article-share-top .article-share-whatsapp{border-color:#f04a2e!important;color:#f04a2e!important}
@media(max-width:760px){.article-share-top{justify-content:flex-start!important;gap:10px!important}.article-share-top .article-share-whatsapp{margin-right:2px!important}.article-share-top .article-share-icon{margin:0!important}}

/* Article share mobile v21 */
@media(max-width:760px){.article-share-v4.article-share-top{display:flex!important;justify-content:flex-start!important;gap:6px!important}.article-share-v4.article-share-top .article-share-whatsapp{flex:0 0 150px!important;width:150px!important;border-color:#f04a2e!important;color:#f04a2e!important}.article-share-v4.article-share-top .article-share-icon{flex:0 0 36px!important;width:36px!important;min-width:36px!important;color:#f04a2e!important}.article-share-v4.article-share-top i{color:#f04a2e!important}}

/* Article lower actions — GO27 orange */
.article-share-final .article-share-icon,
.article-share-final .article-share-whatsapp,
.article-share-v6 .article-share-icon,
.article-topics-title,
.article-topic-links a{color:#f04a2e!important}
.article-topic-links a{border-color:#f04a2e!important}
.article-share-final .article-share-whatsapp{border-color:#f04a2e!important}
.article-share-final .article-share-icon:hover,
.article-topic-links a:hover{color:#d93f26!important}

/* Elections live leaders board v2 */
.elections-result-card.is-featured{grid-column:1/-1}
.elections-leaders{margin:0 16px 14px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:linear-gradient(135deg,rgba(239,67,45,.08),rgba(255,255,255,.025))}
.elections-leaders-label{display:flex;align-items:center;gap:6px;margin-bottom:11px;color:#aab1b8;font-size:7.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.elections-leaders-label i{color:#ef432d}
.elections-leaders-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.elections-leader{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(12,15,18,.42)}
.elections-leader.is-leading{border-color:rgba(239,67,45,.38);background:rgba(239,67,45,.07)}
.elections-leader-rank{position:absolute;top:7px;right:8px;color:#7f8992;font-size:8px;font-weight:900}
.elections-leader.is-leading .elections-leader-rank{color:#ff6650}
.elections-leader-photo{width:58px;height:58px;overflow:hidden;border-radius:50%;background:#30353c;border:2px solid rgba(255,255,255,.12)}
.elections-leader.is-leading .elections-leader-photo{border-color:#ef432d}
.elections-leader-photo img,.elections-leader-photo-fallback{width:100%;height:100%}
.elections-leader-photo img{display:block;object-fit:cover;object-position:center top}
.elections-leader-photo-fallback{display:grid;place-items:center;color:#8f98a1;font-size:20px}
.elections-leader-info{min-width:0;display:grid;gap:2px}
.elections-leader-info>strong{overflow:hidden;color:#fff;font-size:12px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap;padding-right:20px}
.elections-leader-info>span,.elections-leader-info>small{color:#8f98a1;font-size:7.5px}
.elections-leader-info>b{margin-top:3px;color:#fff;font-size:22px;line-height:1;font-variant-numeric:tabular-nums}
.elections-leaders-compare{position:relative;height:5px;margin-top:12px;overflow:hidden;border-radius:99px;background:#505861}
.elections-leaders-compare>span{display:block;height:100%;border-radius:inherit;background:#ef432d}
.elections-result-card.is-featured .elections-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.elections-result-card.is-featured .elections-result-row:nth-child(odd){border-right:1px solid rgba(255,255,255,.07)}
@media(max-width:760px){
.elections-leaders{margin:0 16px 12px;padding:11px}
.elections-leaders-grid{gap:8px}
.elections-leader{grid-template-columns:44px minmax(0,1fr);gap:8px;padding:9px 7px}
.elections-leader-photo{width:44px;height:44px}
.elections-leader-info>strong{font-size:9px}
.elections-leader-info>b{font-size:17px}
.elections-leader-info>span,.elections-leader-info>small{font-size:6.5px}
.elections-result-card.is-featured .elections-result-list{grid-template-columns:1fr}
.elections-result-card.is-featured .elections-result-row:nth-child(odd){border-right:0}
}

/* Elections live visual guard v3 */
.elections-hero-integrated,
.elections-hero-integrated button,
.elections-hero-integrated input,
.elections-hero-integrated select{
 font-family:Inter,Arial,Helvetica,sans-serif;
}
.elections-hero-integrated-card,
.elections-results-grid,
.elections-result-card,
.elections-leaders,
.elections-leaders-grid,
.elections-leader,
.elections-result-row,
.elections-result-candidate,
.elections-result-name{
 min-width:0;
}
.elections-results-grid{
 width:100%;
}
.elections-result-card{
 width:100%;
}
.elections-result-card>header>div{
 min-width:0;
}
.elections-result-card h3{
 overflow-wrap:anywhere;
}
.elections-result-meta span{
 min-width:0;
 overflow-wrap:anywhere;
}
.elections-leader-info>strong,
.elections-result-name strong{
 max-width:100%;
}
@media(max-width:600px){
 .elections-leaders-grid{
  grid-template-columns:1fr;
 }
 .elections-leader{
  grid-template-columns:52px minmax(0,1fr);
 }
 .elections-leader-photo{
  width:52px;
  height:52px;
 }
 .elections-leader-info>strong{
  font-size:10px;
 }
 .elections-leader-info>b{
  font-size:19px;
 }
 .elections-result-row{
  gap:8px;
  padding-left:11px;
  padding-right:11px;
 }
 .elections-result-votes{
  max-width:38%;
 }
 .elections-result-votes span{
  white-space:normal;
 }
}
@media(max-width:390px){
 .elections-hero-integrated>.container{
  padding-left:16px!important;
  padding-right:16px!important;
 }
 .elections-result-card>header{
  gap:8px;
  padding-left:12px;
  padding-right:12px;
 }
 .elections-result-card>header>strong{
  font-size:17px;
 }
 .elections-result-card h3{
  font-size:15px;
 }
 .elections-result-progress{
  margin-left:12px;
  margin-right:12px;
 }
 .elections-result-meta{
  padding-left:12px;
  padding-right:12px;
 }
 .elections-leaders{
  margin-left:12px;
  margin-right:12px;
 }
}
.elections-countdown-label{display:block;margin-top:8px;color:rgba(255,255,255,.72);font-size:.64em;font-weight:700;letter-spacing:.01em}

.elections-result-card.is-waiting-tse{min-height:190px}
.elections-tse-waiting-state{display:flex;align-items:center;gap:14px;padding:24px 0 8px;color:rgba(255,255,255,.72)}
.elections-tse-waiting-state>i{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.06);font-size:18px}
.elections-tse-waiting-state strong{display:block;color:#fff;font-size:1rem;margin-bottom:4px}
.elections-tse-waiting-state span{display:block;font-size:.86rem;line-height:1.45}
n/*
/* Election live result inside existing candidate cards */
.elections-candidate-live-result{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;row-gap:1px;margin-left:auto;padding:0 12px;text-align:right;white-space:nowrap}
.elections-candidate-live-result b{grid-row:1/3;align-self:center;display:grid;place-items:center;min-width:34px;height:34px;padding:0 7px;border-radius:9px;background:#f1f4f7;color:#12263a;font-size:13px;font-weight:900}
.elections-candidate-live-result strong{color:#12263a;font-size:16px;line-height:1.1;font-weight:900}
.elections-candidate-live-result span{color:#7c8792;font-size:10px;font-weight:700}
@media(max-width:600px){.elections-candidate-live-result{padding:0 7px;column-gap:5px}.elections-candidate-live-result b{min-width:29px;height:29px;font-size:11px}.elections-candidate-live-result strong{font-size:14px}.elections-candidate-live-result span{font-size:9px}.elections-candidate-row-action{margin-left:2px}}

/* Election directory live board v4 */
.elections-directory-panel-head>div:first-child{min-width:0;flex:1}.elections-directory-panel-head [data-office-totalization]{display:inline-block;margin-top:6px;padding:5px 10px;border-radius:999px;background:#f1f4f8;color:#536276;font-size:11px;font-weight:800}.elections-office-live-progress{width:100%;height:8px;margin-top:14px;overflow:hidden;border-radius:999px;background:#f0f3f7}.elections-office-live-progress i{display:block;width:0;height:100%;border-radius:inherit;background:#ef432d;transition:width .35s ease}.elections-directory-panel-head [data-office-sections]{display:block;margin-top:7px;color:#65717d;font-size:11px;font-weight:600}.elections-candidate-row{position:relative;padding-bottom:14px!important;overflow:hidden}.elections-candidate-live-result{display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:center!important;gap:2px!important;margin-left:auto!important;padding:0 14px!important;text-align:right!important;white-space:nowrap!important}.elections-candidate-live-result strong{color:#12263a!important;font-size:18px!important;line-height:1!important;font-weight:900!important}.elections-candidate-live-result span{color:#6f7b87!important;font-size:10px!important;font-weight:600!important}.elections-candidate-vote-bar{position:absolute;left:112px;right:14px;bottom:8px;height:4px;overflow:hidden;border-radius:999px;background:#f0f3f7}.elections-candidate-vote-bar i{display:block;width:0;height:100%;border-radius:inherit;background:#ef432d;transition:width .35s ease}@media(max-width:600px){.elections-candidate-row{min-height:86px!important}.elections-candidate-row-main{padding-right:2px!important}.elections-candidate-live-result{padding:0 8px!important}.elections-candidate-live-result strong{font-size:16px!important}.elections-candidate-vote-bar{left:76px;right:10px}.elections-directory-panel-head [data-office-sections]{font-size:10px}}

/* Election compact post-vote hero v1 */
@media(min-width:761px){#elections-live .elections-hero-integrated-card:not(.is-countdown-phase){min-height:0!important;padding-top:26px!important;padding-bottom:26px!important}#elections-live .elections-hero-integrated-card:not(.is-countdown-phase) .elections-hero-integrated-copy{padding-top:0!important;padding-bottom:0!important}#elections-live .elections-hero-integrated-card:not(.is-countdown-phase) .elections-hero-art{max-height:245px!important;overflow:hidden!important}#elections-live .elections-hero-integrated-card:not(.is-countdown-phase) .elections-hero-art img{height:285px!important;width:auto!important;object-fit:contain!important;object-position:center bottom!important}}#elections-live .elections-hero-integrated-card:not(.is-countdown-phase) #elections-live-title{margin:10px 0 8px!important;font-size:clamp(28px,4vw,46px)!important;line-height:1.02!important}#elections-live .elections-hero-integrated-card:not(.is-countdown-phase) .elections-hero-description{max-width:650px!important;margin:0 0 16px!important;font-size:14px!important;line-height:1.5!important}#elections-live .elections-source-strip{display:flex!important;align-items:center!important;gap:10px!important;width:max-content!important;max-width:100%!important;padding:8px 12px!important;border-radius:10px!important}#elections-live .elections-source-strip strong,#elections-live .elections-source-strip span{margin:0!important;font-size:11px!important}#elections-live .elections-source-strip span:before{content:""";margin-right:10px;opacity:.55}@media(max-width:760px){#elections-live .elections-hero-integrated-card:not(.is-countdown-phase){min-height:0!important;padding-top:18px!important;padding-bottom:18px!important}#elections-live .elections-hero-integrated-card:not(.is-countdown-phase) .elections-hero-art{display:none!important}#elections-live .elections-hero-integrated-card:not(.is-countdown-phase) #elections-live-title{font-size:30px!important}}

/* Election live leader emphasis v1 */
.elections-candidate-row.is-live-leader{background:#fff8f6!important;border-color:#f2b7ae!important;box-shadow:0 5px 16px rgba(18,38,58,.07)!important}.elections-candidate-row.is-live-leader:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#ef432d}.elections-candidate-row.is-live-leader .elections-candidate-live-result strong{color:#d93420!important;font-size:20px!important}.elections-live-rank{display:inline-flex;align-items:center;margin-left:8px;padding:3px 7px;border-radius:999px;background:#ef432d;color:#fff;font-size:9px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.03em}.elections-candidate-row.is-live-leader .elections-candidate-vote-bar i{background:#d93420!important}@media(max-width:600px){.elections-candidate-row.is-live-leader .elections-candidate-live-result strong{font-size:18px!important}.elections-live-rank{margin-left:5px;padding:3px 6px;font-size:8px}}

/* Election candidate live stats v1 */
.election-candidate-live-stats{display:flex;gap:10px;margin:14px 0 10px;flex-wrap:wrap}.election-candidate-live-stats[hidden]{display:none!important}.election-candidate-live-stats>div{min-width:112px;padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.08)}.election-candidate-live-stats span{display:block;margin-bottom:3px;color:rgba(255,255,255,.7);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.election-candidate-live-stats strong{display:block;color:#fff;font-size:17px;line-height:1.1;font-weight:900}@media(max-width:600px){.election-candidate-live-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%}.election-candidate-live-stats>div{min-width:0;padding:8px}.election-candidate-live-stats strong{font-size:14px}}

/* Candidate live card below hero v2 */
.election-candidate-live-section{padding:28px 0 0;background:#f5f7f9}.election-candidate-live-card{padding:22px 26px;border:1px solid #e0e5ea;border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(18,38,58,.05)}.election-candidate-live-card[hidden]{display:none!important}.election-candidate-live-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.election-candidate-live-card-head .elections-kicker{margin:0;color:#ef432d}.election-candidate-live-card-head>strong{color:#6b7682;font-size:12px}.election-candidate-live-card .election-candidate-live-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0}.election-candidate-live-card .election-candidate-live-stats>div{padding:13px 15px;border:1px solid #e8ebef;border-radius:12px;background:#f8fafb}.election-candidate-live-card .election-candidate-live-stats span{display:block;margin-bottom:5px;color:#7b8691;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.election-candidate-live-card .election-candidate-live-stats strong{display:block;color:#12263a;font-size:21px;line-height:1.1;font-weight:900}@media(max-width:600px){.election-candidate-live-section{padding-top:16px}.election-candidate-live-card{padding:16px;border-radius:15px}.election-candidate-live-card-head{margin-bottom:12px}.election-candidate-live-card-head>strong{font-size:10px}.election-candidate-live-card .election-candidate-live-stats{gap:6px}.election-candidate-live-card .election-candidate-live-stats>div{padding:10px 8px}.election-candidate-live-card .election-candidate-live-stats strong{font-size:16px}}

/* Candidate live card visual hotfix v3 */
.election-candidate-live-section{padding:18px 0 4px!important;background:#f5f7f9!important}.election-candidate-live-section .election-candidate-live-card{display:block!important;margin:0!important;padding:18px 20px!important;border:1px solid #e2e7ec!important;border-radius:16px!important;background:#fff!important;box-shadow:0 6px 20px rgba(18,38,58,.06)!important}.election-candidate-live-section .election-candidate-live-card[hidden]{display:none!important}.election-candidate-live-section .election-candidate-live-card-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 14px!important;padding:0 0 12px!important;border-bottom:1px solid #edf0f3!important}.election-candidate-live-section .election-candidate-live-card-head .elections-kicker{display:block!important;margin:0!important;color:#ef432d!important;font-size:11px!important;font-weight:900!important;letter-spacing:.06em!important}.election-candidate-live-section .election-candidate-live-card-head>strong{color:#65717d!important;font-size:11px!important;font-weight:700!important}.election-candidate-live-section .election-candidate-live-card .election-candidate-live-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0!important;width:100%!important}.election-candidate-live-section .election-candidate-live-stats>div{display:block!important;min-width:0!important;margin:0!important;padding:12px 14px!important;border:1px solid #e7ebef!important;border-radius:11px!important;background:#f7f9fb!important}.election-candidate-live-section .election-candidate-live-stats span{display:block!important;margin:0 0 5px!important;color:#7a8590!important;font-size:9px!important;line-height:1.2!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.05em!important}.election-candidate-live-section .election-candidate-live-stats strong{display:block!important;margin:0!important;color:#12263a!important;font-size:20px!important;line-height:1.05!important;font-weight:900!important;white-space:nowrap!important}@media(max-width:600px){.election-candidate-live-section{padding:12px 0 2px!important}.election-candidate-live-section .election-candidate-live-card{padding:14px!important;border-radius:14px!important}.election-candidate-live-section .election-candidate-live-card-head{margin-bottom:10px!important;padding-bottom:10px!important}.election-candidate-live-section .election-candidate-live-card-head>strong{font-size:9px!important}.election-candidate-live-section .election-candidate-live-card .election-candidate-live-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}.election-candidate-live-section .election-candidate-live-stats>div{padding:10px 7px!important;text-align:center!important}.election-candidate-live-section .election-candidate-live-stats span{font-size:8px!important}.election-candidate-live-section .election-candidate-live-stats strong{font-size:15px!important}}

/* Candidate result card forced layout v4 */
section.election-candidate-live-section{display:block!important;padding:16px 0 6px!important;background:#f5f7f9!important}section.election-candidate-live-section>.container{display:block!important}section.election-candidate-live-section [data-candidate-live-stats]{display:block!important;width:100%!important;box-sizing:border-box!important;padding:16px!important;margin:0!important;background:#fff!important;border:1px solid #dfe5ea!important;border-radius:16px!important;box-shadow:0 6px 18px rgba(18,38,58,.07)!important}section.election-candidate-live-section [data-candidate-live-stats][hidden]{display:none!important}section.election-candidate-live-section [data-candidate-live-stats]>.election-candidate-live-card-head{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0 0 12px!important;padding:0 0 11px!important;border-bottom:1px solid #edf0f3!important}section.election-candidate-live-section [data-candidate-live-stats]>.election-candidate-live-card-head>*{margin:0!important}section.election-candidate-live-section [data-candidate-live-stats]>.election-candidate-live-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%!important;margin:0!important;padding:0!important}section.election-candidate-live-section [data-candidate-live-stats]>.election-candidate-live-stats>div{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;padding:11px 8px!important;margin:0!important;background:#f7f9fb!important;border:1px solid #e7ebef!important;border-radius:11px!important;text-align:center!important}section.election-candidate-live-section [data-candidate-live-stats]>.election-candidate-live-stats span{display:block!important;margin:0 0 5px!important;color:#77838f!important;font-size:8px!important;line-height:1.1!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.04em!important}section.election-candidate-live-section [data-candidate-live-stats]>.election-candidate-live-stats strong{display:block!important;margin:0!important;color:#12263a!important;font-size:17px!important;line-height:1.05!important;font-weight:900!important;white-space:nowrap!important}@media(max-width:600px){section.election-candidate-live-section{padding-top:12px!important}section.election-candidate-live-section [data-candidate-live-stats]{padding:13px!important;border-radius:14px!important}section.election-candidate-live-section [data-candidate-live-stats]>.election-candidate-live-card-head{gap:6px!important}section.election-candidate-live-section [data-candidate-live-stats]>.election-candidate-live-card-head .elections-kicker{font-size:9px!important}section.election-candidate-live-section [data-candidate-live-stats]>.election-candidate-live-card-head>strong{font-size:9px!important;text-align:right!important}section.election-candidate-live-section [data-candidate-live-stats]>.election-candidate-live-stats strong{font-size:15px!important}}

.guide-company-review-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.guide-company-review-card{padding:18px;border:1px solid #e7e9ed;border-radius:18px;background:#fff}
.guide-company-review-author{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.guide-company-review-author img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.guide-company-review-author strong{display:block;font-size:14px}
.guide-company-review-card p{margin:0;color:#4f5965;font-size:14px;line-height:1.55}
@media(max-width:760px){.guide-company-review-list{grid-template-columns:1fr}}

/* GO27 business hours - final outline component */
.go27-hours-outline{margin:20px 0 4px}
.go27-hours-outline__heading{margin:0 0 18px}
.go27-hours-outline__heading strong{font-size:13px;color:#20262d}
.go27-hours-outline__item{position:relative;width:min(100%,360px);margin:0 auto 28px;padding-top:10px}
.go27-hours-outline__item:last-child{margin-bottom:8px}
.go27-hours-outline__label{position:absolute;z-index:2;top:0;left:50%;transform:translateX(-50%);padding:0 13px;background:#fff;color:#d94a2d;font-size:13px;font-weight:800;line-height:20px;white-space:nowrap}
.go27-hours-outline__value{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 18px 8px;border:1.5px solid #ed765d;border-radius:24px;background:transparent;color:#29313a;box-sizing:border-box}
.go27-hours-outline__value strong{font-size:13px;font-weight:600;letter-spacing:.12em;text-align:center}
.go27-hours-outline__item.is-closed .go27-hours-outline__label{color:#7b8085}
.go27-hours-outline__item.is-closed .go27-hours-outline__value{border-color:#bfc3c7;color:#656b70}
.go27-hours-outline--link{text-decoration:none;display:block}
@media(max-width:600px){
 .go27-hours-outline__heading{margin-bottom:17px}
 .go27-hours-outline__item{width:88%;margin-bottom:25px}
 .go27-hours-outline__label{font-size:12px;padding:0 10px}
 .go27-hours-outline__value{min-height:48px;border-radius:22px;padding:11px 14px 7px}
 .go27-hours-outline__value strong{font-size:12px;letter-spacing:.08em}
}
