:is(.ankoga-home-redesign, .ankoga-subpage) {
    --ankoga-ink: #005231;
    --ankoga-lime: #a4c41f;
    --ankoga-paper: #f4f7ea;
    --ankoga-section-gap: 80px;
    --ink: #35382f;
    --wp--preset--color--contrast: #35382f;
    color: #35382f;
}
:is(.ankoga-home-redesign, .ankoga-subpage) .wp-site-blocks { padding: 0; }
.ankoga-masthead {
    display: flex; align-items: center; justify-content: space-between;
    gap: 24px; padding: 12px clamp(16px, 2vw, 40px);
    background: #fff; color: var(--ankoga-ink);
}
.ankoga-masthead img { width: clamp(100px, 9vw, 180px); height: auto; display: block; }
.ankoga-menu-toggle { display: none; }
.ankoga-masthead nav { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px clamp(12px, 1.15vw, 24px); }
.ankoga-masthead nav a { color: inherit; text-decoration: none; font-weight: 500; font-size: clamp(13px, 1.04vw, 21px); white-space: nowrap; }
.ankoga-masthead nav a:hover { text-decoration: underline; }
.ankoga-home-redesign .ankoga-main,
.ankoga-home-redesign .ankoga-block-content { margin: 0; padding: 0; max-width: none; }
.ankoga-home-redesign .ankoga-block-content > :is(.ankoga-hero, .ankoga-gateway) { max-width: none; margin: 0; }
.ankoga-sr {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.ankoga-hero { position: relative; aspect-ratio: 1.85; background: #a9c52d url(img/hero-background.webp) center/cover no-repeat; }
.ankoga-hero img { position: absolute; display: block; height: auto; max-width: none; }
.ankoga-portrait { left: 0; bottom: 0; width: 47%; }
.ankoga-tagline { left: 32.5%; top: 13.5%; width: 18%; }
.ankoga-name { right: 7.5%; bottom: -5.5%; width: 32.7%; z-index: 1; }
/* Cover the seam when the hero ends on a fractional pixel. */
.ankoga-home-redesign .ankoga-block-content > .ankoga-hero + .ankoga-gateway { margin-top: -1px; }
.ankoga-gateway { background: #fff; }
.ankoga-gateway-photo { position: relative; }
.ankoga-gateway-backdrop, .ankoga-gateway-backdrop img { display: block; width: 100%; }
.ankoga-gateway-backdrop img { height: auto; }
.ankoga-gateway-copy img { position: absolute; display: block; height: auto; }
.ankoga-copy-sp { display: none; }
.ankoga-banner { top: 20%; right: 4%; width: 47%; }
.ankoga-message { top: 58.5%; right: 11%; width: 33.5%; }
.ankoga-gateway {
    --ankoga-menu-width: min(1500px, max(60.25%, 540px), calc(100% - 36px));
}
.ankoga-gateway-links, .ankoga-gateway-footer {
    width: var(--ankoga-menu-width);
    margin-inline: auto;
}
.ankoga-gateway-links {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.75%;
}
.ankoga-link-group { position: relative; }
.ankoga-link-group::before {
    content: ""; position: absolute; z-index: 0; pointer-events: none;
    top: 0; left: 50%; translate: -50% -58%;
    width: 98%; aspect-ratio: 320.38 / 150.98;
    background: url(img/cloud-about.svg) center top/contain no-repeat;
}
.ankoga-link-group:nth-child(2)::before {
    background-image: url(img/cloud-support.svg); width: 65%; aspect-ratio: 213.74 / 158.33; translate: -50% -46%;
}
.ankoga-link-group:nth-child(3)::before {
    background-image: url(img/cloud-updates-wide.svg); width: 94%; aspect-ratio: 306.33 / 148.47; translate: -50% -48%;
}
.ankoga-link-group h2 {
    position: relative;
    display: grid; align-content: start; text-align: center; padding: clamp(4px, .24vw, 7px) 0 0; box-sizing: border-box;
    height: clamp(48px, 5.55vw, 130px); margin: 0;
    color: #80af28; font-weight: 800;
    font-size: clamp(14px, 1.08vw, 26px); line-height: 1.2; letter-spacing: .07em;
}
.ankoga-link-group ul {
    position: relative; display: grid; gap: clamp(6px, .5vw, 10px);
    list-style: none; margin: 0; padding: 0;
}
.ankoga-link-group a, .ankoga-contact {
    display: block; padding: .6em .66em; text-decoration: none;
    font-size: clamp(15px, 1.18vw, 29px); font-weight: 650; line-height: 1.19;
}
.ankoga-link-group a { font-weight: 500; color: #fff; background: #80af28; }
.ankoga-link-group a:hover { background: #aed13f; }
.ankoga-gateway-footer {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: clamp(16px, 1.6vw, 32px);
    padding: clamp(20px, 2vw, 40px) 0 clamp(20px, 3vw, 64px);
}
.ankoga-contact { border: 3px solid #80af28; color: #80af28; min-width: clamp(140px, 12.7vw, 285px); font-weight: 500; text-align: center; box-sizing: border-box; }
.ankoga-contact:hover { background: #f4f7ea; }
.ankoga-social { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(6px, 1.95vw, 40px); }
.ankoga-social a { display: grid; place-items: center; width: 44px; height: 44px; }
.ankoga-social img { display: block; object-fit: contain; width: clamp(25px, 1.95vw, 40px); height: auto; }
.ankoga-home-redesign :is(a, summary):focus-visible { outline: 3px solid #00643d; outline-offset: 3px; }
.ankoga-home-redesign .ankoga-block-content > :is(.activity-videos,.activity-layout) { width: min(1200px, calc(100% - 40px)); max-width: none; margin: var(--ankoga-section-gap) auto; }
.ankoga-home-redesign .ankoga-block-content > .activity-layout {
    width: min(1440px, calc(100% - 40px));
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ankoga-section-gap);
}
.ankoga-home-redesign .activity-layout > :is(.side-column, .page-sections) {
    grid-area: auto;
    min-width: 0;
    margin: 0;
}
.ankoga-home-redesign .activity-layout > .side-column {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ankoga-section-gap);
    align-items: start;
}
.ankoga-home-redesign .side-column > .activity-posts {
    grid-area: auto;
    margin: 0;
}
.ankoga-home-redesign .activity-layout > .page-sections {
    grid-template-columns: minmax(0, 1fr);
    display: grid;
    gap: var(--ankoga-section-gap);
}
.ankoga-home-redesign .page-sections > .section-wrap { margin: 0; padding: clamp(18px, 3vw, 40px); background: var(--ankoga-paper); border-radius: 16px; }
.ankoga-home-redesign .page-sections > :is(#profile,#leaflet,#contact) { background: #fff; }
.ankoga-home-redesign .page-sections > #contact { border: 1px solid #dfe8d5; }
.ankoga-home-redesign .page-sections > :is(#profile,#leaflet) { border: 0; }
.ankoga-home-redesign .page-sections h2 { color: var(--ankoga-ink); }
.ankoga-home-redesign :is([id^=policy],#profile,#leaflet,#donation,#contact,#ankoga-news,#ankoga-schedule) { scroll-margin-top: 24px; }
@media (max-width: 740px) {
    .ankoga-masthead { flex-wrap: wrap; gap: 10px 16px; }
    .ankoga-masthead nav { flex-basis: 100%; display: grid; grid-template-columns: minmax(0, 1fr); }
    .ankoga-masthead nav a { font-size: 16px; padding: 10px 0; border-bottom: 1px solid #dfe8d5; }
    .ankoga-menu-ready .ankoga-menu-toggle {
        display: grid; place-items: center; width: 44px; height: 44px;
        border: 0; background: transparent;
        color: #80af28; cursor: pointer;
    }
    .ankoga-menu-toggle span[aria-hidden] {
        width: 20px; height: 2px; background: currentColor;
        box-shadow: 0 -6px currentColor, 0 6px currentColor;
    }
    .ankoga-menu-ready .ankoga-menu-toggle[aria-expanded="false"] + nav { display: none; }
    .ankoga-hero { aspect-ratio: 1.45; }
    .ankoga-portrait { width: 57%; }
    .ankoga-tagline { left: 36%; top: 14%; width: 22%; }
    .ankoga-name { right: 3%; bottom: -4%; width: 39%; }
    .ankoga-copy-sp { display: block; }
    .ankoga-copy-pc { display: none; }
    .ankoga-banner { top: 17%; right: 3%; width: 54%; }
    .ankoga-message { top: 56%; right: 5%; width: 46%; }
    .ankoga-gateway { --ankoga-menu-width: calc(100% - 36px); }
    .ankoga-gateway-links { grid-template-columns: 1fr; gap: 20px; }
    .ankoga-gateway-footer { flex-direction: column; justify-content: center; }
    .ankoga-link-group::before { display: none; }
    .ankoga-link-group:first-child::before { display: block; width: 66%; max-width: 290px; translate: -50% -66%; }
    .ankoga-link-group h2 {
        display: block; height: auto; top: 0; text-align: left; padding: 9px 0;
    }
    .ankoga-link-group:first-child h2 { top: -29px; text-align: center; padding: 9px 0 0; }
    .ankoga-link-group a { font-size: 19px; padding: .55em .65em; }
    .ankoga-contact { font-size: 20px; padding: .4em .75em; }
    .ankoga-social a:last-child img { width: 40px; }
}
.ankoga-home-redesign :is(.ankoga-videos-title, .page-sections > .section-wrap h2),
.ankoga-subpage :is(.page-content, .election-content) :is(h1, h2).wp-block-heading {
    display: table;
    max-width: 100%;
    box-sizing: border-box;
    padding: .27em .48em;
    margin: .2em 0 .75em;
    background: #80af28;
    color: #fff;
    font-size: clamp(22px, 5.5vw, 46px);
    font-weight: 500;
    line-height: 1.18;
    transform: rotate(-3deg);
    transform-origin: left center;
}
.ankoga-home-redesign :is(.side-column > .activity-posts, .ankoga-updates-pair > .event-list) {
    padding: clamp(14px, 2vw, 24px);
    border-radius: 16px;
    border: 1px solid #dfe8d5;
    background: #fff;
}
.ankoga-home-redesign .side-column > .activity-posts { background: #fffef4; border: 0; }
.ankoga-home-redesign .hero-policy-slot {
    width: min(1200px, calc(100% - 40px));
    max-width: none;
    margin: 0 auto;
}
.ankoga-home-redesign .hero-policy-slot .hero-policies {
    background: var(--ankoga-paper);
    border: 0;
    border-radius: 16px;
    padding: clamp(20px, 4vw, 40px);
}
.ankoga-home-redesign .hero-policy-slot .hero-policies ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 32px;
}
@media (max-width: 740px) {
    .ankoga-home-redesign .hero-policy-slot .hero-policies ol { grid-template-columns: 1fr; }
}

.ankoga-home-redesign .page-sections > .ankoga-policy {
    background: linear-gradient(#fffef5, #fff9ce);
}
.ankoga-policy-intro {
    font-size: clamp(16px, 1.45vw, 20px);
    line-height: 1.8;
    margin-block: clamp(20px, 3vw, 44px);
}
.ankoga-policy-intro .ankoga-policy-lead {
    margin: 0 0 .65em;
    color: var(--ankoga-ink);
    font-size: clamp(21px, 2.6vw, 37px);
    font-weight: 750;
    line-height: 1.35;
}
.ankoga-policy .ankoga-policy-art {
    margin: clamp(18px, 2.8vw, 42px) 0 6px;
}
.ankoga-policy-art img {
    display: block;
    max-width: 100%;
    height: auto;
}
.ankoga-priority-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(12px, 1.7vw, 24px);
}
.ankoga-priority {
    padding: clamp(15px, 2vw, 28px);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 9px 22px #524b161a;
}
.ankoga-priority h4 {
    margin: 0 0 .42em;
    color: #6e9925;
    font-size: clamp(23px, 1.9vw, 30px);
    font-weight: 850;
    line-height: 1.25;
}
.ankoga-priority p {
    margin: 0 0 .65em;
    color: #17592f;
    font-weight: 750;
}
.ankoga-priority ul, .ankoga-policy-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ankoga-priority li {
    position: relative;
    padding-left: 1em;
    color: #35382f;
}
.ankoga-priority li + li { margin-top: .23em; }
.ankoga-priority li::before {
    content: "";
    position: absolute;
    top: .53em;
    left: .1em;
    width: .48em;
    height: .48em;
    background: #9fc31d;
    transform: rotate(45deg);
}
.ankoga-policy-list {
    display: grid;
    justify-items: start;
    gap: 10px;
}
.ankoga-policy-list > li {
    display: flex;
    align-items: center;
    gap: .5em;
    padding: .14em .9em .14em 0;
    border-radius: 2em;
    background: #fff;
    color: #347a3e;
    font-size: clamp(17px, 2vw, 30px);
    font-weight: 800;
    line-height: 1.35;
}
.ankoga-policy-leaf {
    position: relative;
    isolation: isolate;
    display: grid;
    place-items: center;
    flex: 0 0 1.9em;
    height: 1.7em;
    color: #fff;
    font-weight: 850;
}
.ankoga-policy-leaf::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: .06em;
    border-radius: 0 75% 4% 75%;
    background: #a3c740;
}
.ankoga-policy-list > li:nth-child(2n) .ankoga-policy-leaf::before { transform: rotate(24deg); }
.ankoga-policy-list > li:nth-child(3n) .ankoga-policy-leaf::before { transform: scaleX(-1) rotate(11deg); }
@media (max-width: 740px) {
    .ankoga-priority-grid { grid-template-columns: 1fr; }
}

.ankoga-home-redesign .ankoga-block-content > .ankoga-news-band {
    width: 100%;
    max-width: none;
    margin: var(--ankoga-section-gap) 0 0;
    padding: clamp(28px, 5vw, 68px) clamp(16px, 4vw, 56px);
    box-sizing: border-box;
    background: linear-gradient(#f8fcff78, #f8fcff38), url(img/nogawa.webp) center bottom / cover no-repeat;
}
.ankoga-news-band > .side-column {
    width: min(100%, 1120px);
    margin: 0 auto;
    display: grid;
    gap: clamp(16px, 2.6vw, 34px);
}
.ankoga-home-redesign .ankoga-news-band > .activity-videos {
    width: min(100%, 1120px);
    max-width: none;
    margin: 0 auto clamp(18px, 2.8vw, 36px);
    padding: 0;
    border: 0;
}
.ankoga-news-band .activity-heading,
.ankoga-news-band .video-track {
    width: min(100%, 680px);
    margin-inline: auto;
}
.ankoga-news-band .activity-heading .activity-more {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 5px;
    background: #fffef4;
}
.ankoga-home-redesign #ankoga-news .video-track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 2vw, 24px);
    overflow: visible;
}
.ankoga-home-redesign #ankoga-news .video-track .video-card {
    width: 100%;
    min-width: 0;
    max-width: none;
}
.ankoga-home-redesign .activity-posts .activity-post-list {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    align-items: stretch;
    grid-auto-columns: clamp(235px, 29%, 360px);
    gap: 14px;
    overflow-x: auto;
    padding: 2px 3px 12px;
    scroll-padding-inline: 3px;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
}
.ankoga-home-redesign .activity-post-list .activity-post {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: 0;
    padding: 14px;
    border: 1px solid #dfe8d5;
    border-radius: 12px;
    scroll-snap-align: start;
}
.ankoga-home-redesign .activity-post-list .activity-post > p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    overflow-wrap: anywhere;
    margin: 0 0 10px;
    line-height: 1.45;
}
.ankoga-home-redesign .activity-post-list .activity-post .x-post-thumbnail img {
    width: 100%;
    height: 124px;
    object-fit: contain;
}
.ankoga-home-redesign .activity-post-list .activity-post .x-post-footer { margin-top: auto; }
.ankoga-home-redesign :is(.ankoga-feed-heading, #ankoga-schedule > h2) {
    color: var(--ankoga-ink);
    font-size: var(--wp--preset--font-size--large, 1.375rem);
}
.ankoga-feed-heading { margin: 0 0 .4em; }
.ankoga-carousel-controls, .ankoga-feed-channels {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}
.ankoga-carousel-controls { justify-content: center; gap: 4px; }
.ankoga-carousel-controls[hidden] { display: none; }
.ankoga-carousel-controls button {
    display: grid; place-items: center;
    width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%;
    background: #80af28; color: #fff; cursor: pointer;
}
.ankoga-carousel-controls button::before {
    content: "";
    border-block: 6px solid transparent;
    border-left: 9px solid currentColor;
}
.ankoga-carousel-controls button[data-direction="-1"]::before { transform: rotate(180deg); }
.ankoga-carousel-controls button:hover { background: #aed13f; }
.ankoga-feed-channels a { display: inline-flex; align-items: center; gap: 7px; padding: 7px; }
.ankoga-home-redesign .activity-posts .ankoga-feed-channels img {
    display: block; width: 22px; height: 22px; flex: 0 0 22px; object-fit: contain;
}
@media (max-width: 640px) {
    .ankoga-home-redesign #ankoga-news .video-track { gap: 8px; }
    .ankoga-home-redesign .activity-posts .activity-post-list { grid-auto-columns: min(85%, 310px); }
}

.ankoga-updates-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 3.6vw, 48px);
    align-items: stretch;
}
.ankoga-line-invitation {
    display: grid;
    place-items: center;
    padding: clamp(22px, 4.2vw, 58px) clamp(14px, 2vw, 28px);
    border-radius: 18px;
    background: #fffef4;
    text-align: center;
}
.ankoga-line-invitation a {
    display: grid;
    justify-items: center;
    gap: .45em;
    max-width: 100%;
    color: #7fae28;
    text-decoration: none;
}
.ankoga-line-invitation img {
    display: block;
    width: clamp(105px, 11vw, 150px);
    max-width: 100%;
    height: auto;
}
.ankoga-line-invitation span {
    font-size: 16px;
    font-weight: 750;
    letter-spacing: .06em;
    line-height: 1.35;
}
.ankoga-line-invitation strong {
    margin-top: .15em;
    padding: .22em .7em;
    border-radius: 100px;
    background: #9dc324;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.25;
}
.ankoga-line-invitation a:hover strong { background: #82a91a; }
.ankoga-home-redesign .ankoga-updates-pair > .event-list {
    min-width: 0;
    margin: 0;
    padding: clamp(18px, 2.7vw, 38px);
}
@media (max-width: 740px) {
    .ankoga-updates-pair { grid-template-columns: minmax(0, 1fr); }
}

.ankoga-home-redesign #ankoga-news .video-thumbnail .video-play img {
    width: clamp(27px, 4vw, 44px);
    height: auto;
}

.ankoga-home-redesign #leaflet .publication-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-inline: auto;
}
.ankoga-home-redesign #leaflet .publication-grid > .wp-block-group {
    flex: 0 0 calc((100% - 16px) / 2);
    min-width: 0;
    text-align: center;
}
.ankoga-home-redesign #leaflet .publication-grid img {
    display: block;
    margin-inline: auto;
}
@media (max-width: 700px) {
    .ankoga-home-redesign #leaflet .publication-grid { gap: 28px; }
    .ankoga-home-redesign #leaflet .publication-grid > .wp-block-group { flex-basis: 100%; }
}

.ankoga-home-redesign #donation > p:last-child { max-width: none; }

.ankoga-site-footer {
    display: grid;
    justify-items: center;
    gap: clamp(14px, 2vw, 26px);
    padding: clamp(24px, 4vw, 56px) 20px;
    background: #f6ffe3;
    color: var(--ankoga-ink);
    text-align: center;
}
.ankoga-site-footer .ankoga-footer-home img { display: block; width: 136px; height: auto; }
.ankoga-site-footer nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 20px;
    max-width: 1120px;
}
.ankoga-site-footer nav a { color: inherit; text-decoration: none; font-weight: 650; font-size: 14px; }
.ankoga-site-footer nav a:hover { text-decoration: underline; }
.ankoga-site-footer p { margin: 0; font-size: 13px; }
.ankoga-subpage .ankoga-main { padding-top: clamp(20px, 4vw, 56px); }
.ankoga-subpage .page-layout .page-content { border-bottom: 0; }
.ankoga-subpage .election-isolated .election-content { min-height: 0; padding-block: clamp(24px, 4vw, 56px); }
.ankoga-subpage :is(.page-content, .election-content) :is(h1, h2).wp-block-heading {
    font-size: clamp(19px, 4vw, 34px);
    margin-block: 1.2em .75em;
}
.ankoga-subpage :is(.page-content, .election-content) h1.wp-block-heading {
    font-size: clamp(24px, 5.5vw, 46px);
    margin-top: 0;
}

.ankoga-citizens .ankoga-block-content > .page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    max-width: 1440px;
    margin-inline: auto;
}
.ankoga-citizens .page-layout > :is(.page-sections, .side-column) {
    grid-area: auto;
    min-width: 0;
}
.ankoga-citizens #citizen-names .citizen-name-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 32px;
    list-style: none;
    padding: 0;
}
.ankoga-citizens #citizen-names .citizen-name-list li {
    display: flex;
    align-items: baseline;
    gap: 0;
    margin: 0;
    line-height: 1.65;
}
.ankoga-citizens #citizen-names .citizen-name {
    display: inline;
    flex: 0 0 auto;
    font-weight: 700;
}
.ankoga-citizens #citizen-names .citizen-byline {
    display: inline;
    min-width: 0;
    font-weight: 400;
    font-size: 12px;
    color: #5e5e5e;
}
@media (max-width: 1100px) {
    .ankoga-citizens #citizen-names .citizen-name-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 740px) {
    .ankoga-citizens #citizen-names .citizen-name-list { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}

:is(.ankoga-home-redesign, .ankoga-subpage) .ankoga-masthead > a:focus {
    outline: none;
    box-shadow: none;
}
.ankoga-subpage :is(.page-content, .election-content) h1.wp-block-heading {
    display: table;
    max-width: 100%;
    padding: 0 0 .22em;
    background: transparent;
    color: #80af28;
    border-bottom: 1px solid #80af28;
    font-size: clamp(26px, 4vw, 46px);
    font-weight: 700;
    line-height: 1.3;
    transform: none;
}

.ankoga-subpage .ankoga-block-content > .page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    max-width: 1440px;
    margin-inline: auto;
}
.ankoga-subpage .page-layout > .page-sections { grid-area: auto; min-width: 0; }
.ankoga-site-footer .ankoga-footer-social { gap: 8px; }
.ankoga-footer-social a { display: grid; place-items: center; width: 32px; height: 32px; }
.ankoga-footer-social img { display: block; width: 22px; height: 22px; object-fit: contain; }
.ankoga-citizens .page-content .ankoga-citizen-update {
    font-size: inherit;
    color: #5e5e5e;
    margin-block: 40px;
}

:is(.ankoga-home-redesign, .ankoga-subpage) :is(a, button, summary, [tabindex]):is(:focus, :active) {
    outline: none !important;
    box-shadow: none !important;
}
.ankoga-news-band .activity-heading { margin-top: 10px; margin-bottom: 0; justify-content: flex-end; }
.ankoga-news-band .activity-heading .activity-more { background: transparent; padding: 0; }
@media (max-width: 740px) {
    .ankoga-menu-toggle span[aria-hidden] { position: relative; }
    .ankoga-menu-toggle span[aria-hidden]::before,
    .ankoga-menu-toggle span[aria-hidden]::after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 20px;
        height: 2px;
        background: currentColor;
        opacity: 0;
    }
    .ankoga-menu-toggle[aria-expanded="true"] span[aria-hidden] {
        background: transparent;
        box-shadow: none;
    }
    .ankoga-menu-toggle[aria-expanded="true"] span[aria-hidden]::before { opacity: 1; transform: rotate(45deg); }
    .ankoga-menu-toggle[aria-expanded="true"] span[aria-hidden]::after { opacity: 1; transform: rotate(-45deg); }
    .ankoga-link-group h2 { text-align: center; }
}

.ankoga-home-redesign :is(.ankoga-videos-title, .page-sections > .section-wrap h2),
.ankoga-subpage :is(.page-content, .election-content) :is(h1, h2).wp-block-heading {
    margin-block-start: 40px;
}
:is(.ankoga-home-redesign, .ankoga-subpage) .ankoga-block-content {
    color: #35382f;
}

.ankoga-citizen-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 24px; }
.ankoga-citizen-buttons a {
    display: block;
    padding: .7em 1.2em;
    background: #80af28;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
}
.ankoga-citizen-buttons a:hover { background: #aed13f; }
.ankoga-subpage [id^="message-"],
.ankoga-subpage [id^="resident-"] { scroll-margin-top: 24px; }

.ankoga-home-redesign #ankoga-news :is(.ankoga-feed-heading, #ankoga-schedule > h2, .ankoga-line-heading) {
    display: table;
    justify-self: start;
    max-width: 100%;
    box-sizing: border-box;
    padding: .27em .48em;
    margin: .2em 0 1em;
    background: #80af28;
    color: #fff;
    font-size: clamp(18px, 2.5vw, 28px);
    font-weight: 500;
    line-height: 1.18;
    transform: rotate(-3deg);
    transform-origin: left center;
}

.ankoga-sp-break { display: none; }
@media (max-width: 740px) {
    .ankoga-sp-break { display: initial; }
}

.ankoga-policy-label { min-width: 0; }
.ankoga-policy-phrase { display: inline-block; }
@media (max-width: 740px) {
    .ankoga-policy-list { justify-items: stretch; }
    .ankoga-policy-list > li { width: 100%; font-size: clamp(14px, 4.3vw, 18px); }
    .ankoga-policy-phrase { white-space: nowrap; }
}

.ankoga-home-redesign .page-sections > .section-wrap,
.ankoga-subpage .page-layout .page-content,
.ankoga-subpage .election-isolated .election-content {
    padding-block: 110px;
}
.ankoga-home-redesign .ankoga-block-content > .ankoga-news-band { padding-block: 110px; }
.ankoga-home-redesign .page-sections > .section-wrap > h2:first-child,
.ankoga-home-redesign .ankoga-news-band .ankoga-videos-title:first-child,
.ankoga-subpage :is(.page-content, .election-content) > h1:first-child {
    margin-block-start: 0;
}
.ankoga-home-redesign .page-sections > .section-wrap > :last-child,
.ankoga-subpage :is(.page-content, .election-content) > :last-child {
    margin-block-end: 0;
}

/* Common action buttons: body-size lettering, white fill and green pill outline. */
:is(.ankoga-home-redesign, .ankoga-subpage) :is(a.ankoga-outline-button, .ankoga-citizen-buttons a),
.ankoga-home-redesign .ankoga-line-invitation strong {
    display: inline-block;
    box-sizing: border-box;
    max-width: 100%;
    padding: .55em 1.5em;
    border: 2px solid #80af28;
    border-radius: 999px;
    background: #fff;
    color: #80af28;
    font-size: inherit;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
}
:is(.ankoga-home-redesign, .ankoga-subpage) :is(a.ankoga-outline-button, .ankoga-citizen-buttons a):hover,
.ankoga-home-redesign .ankoga-line-invitation a:hover strong {
    background: #f6ffe3;
    color: #80af28;
}
.ankoga-line-invitation a { font-size: inherit; }
.ankoga-support-options { display: grid; gap: 40px; }
.ankoga-support-options h3 { margin: 0 0 16px; font-size: 1.15em; font-weight: 500; }
.ankoga-support-options p { margin: 0 0 20px; }
.ankoga-support-options > div > p:last-child { margin-bottom: 0; }

/* Citizen messages: no vertical divider; mobile text uses the full row. */
.ankoga-citizens .citizen-message :is(.citizen-body, blockquote) {
    border-left: 0;
    border-inline-start: 0;
    padding-left: 0;
    padding-inline-start: 0;
}
@media (max-width: 740px) {
    .ankoga-subpage .ankoga-block-content > .page-layout {
        box-sizing: border-box;
        width: 100%;
        padding-inline: 16px;
    }
    .ankoga-subpage .page-layout .page-sections > .page-content {
        box-sizing: border-box;
        padding-inline: 0;
    }
    .ankoga-subpage .election-isolated .election-content {
        box-sizing: border-box;
        width: 100%;
        padding-inline: 16px;
    }
    .ankoga-citizens .citizen-message.wp-block-columns:has(.citizen-portrait-column) {
        display: grid;
        grid-template-columns: 88px minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        gap: 8px 16px;
        align-items: start;
    }
    .ankoga-citizens .citizen-message .citizen-portrait-column {
        grid-column: 1;
        grid-row: 1 / 3;
    }
    .ankoga-citizens .citizen-message figure,
    .ankoga-citizens .citizen-message figure img {
        width: 88px;
        height: 104px;
        object-fit: contain;
        object-position: center top;
    }
    .ankoga-citizens .citizen-message:has(.citizen-portrait-column) .citizen-message-content,
    .ankoga-citizens .citizen-message:has(.citizen-portrait-column) .citizen-message-content > .wp-block-group {
        display: contents;
    }
    .ankoga-citizens .citizen-message:has(.citizen-portrait-column) .citizen-message-content h3 {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        margin: 0;
    }
    .ankoga-citizens .citizen-message:has(.citizen-portrait-column) .citizen-byline {
        grid-column: 2;
        grid-row: 2;
        margin: 0;
        line-height: 1.6;
    }
    .ankoga-citizens .citizen-message:has(.citizen-portrait-column) .citizen-body {
        grid-column: 1 / -1;
        grid-row: 3;
        min-width: 0;
        margin: 12px 0 0;
    }
}

/* Subpage section spacing follows the home section gap. */
.ankoga-subpage :is(.page-content, .election-content) h2.wp-block-heading {
    margin-block-start: var(--ankoga-section-gap);
}
.ankoga-subpage :is(.page-content, .election-content) > .wp-block-group:has(> h2.wp-block-heading) {
    margin-block-start: var(--ankoga-section-gap);
}
.ankoga-subpage :is(.page-content, .election-content) > .wp-block-group > h2.wp-block-heading:first-child {
    margin-block-start: 0;
}

.ankoga-site-footer nav[aria-label="フッターメニュー"] a { font-weight: 400; font-size: 13px; }
@media (max-width: 740px) {
    .ankoga-site-footer nav[aria-label="フッターメニュー"] { flex-direction: column; align-items: center; gap: 12px; }
}

/* Full-width section backgrounds; content stays aligned with the page. */
.ankoga-home-redesign .page-sections > :is(#policy, #citizen-support, #about-ansinkoganei, #donation, #contact) {
    --ankoga-band-color: #f4f7ea;
    background: var(--ankoga-band-color);
    border: 0;
    border-radius: 0;
    box-shadow: 0 0 0 100vmax var(--ankoga-band-color);
    clip-path: inset(0 -100vmax);
}
.ankoga-home-redesign .page-sections > :is(#citizen-support, #donation) {
    --ankoga-band-color: #fff;
}
.ankoga-policy-details {
    margin-top: 32px;
    padding: clamp(18px, 3vw, 40px);
    border-radius: 16px;
    background: linear-gradient(#fffef5, #fff9ce);
}
.ankoga-policy-details > .ankoga-policy-art:first-child { margin-top: 0; }
.ankoga-policy-details > :last-child { margin-bottom: 0; }

/* Home bands alternate from policy onward: white / pale green. */
.ankoga-home-redesign .page-sections > :is(#policy, #profile, #citizen-support, #leaflet, #about-ansinkoganei, #donation, #contact) {
    --ankoga-band-color: #fff;
    background: var(--ankoga-band-color);
    border: 0;
    border-radius: 0;
    box-shadow: 0 0 0 100vmax var(--ankoga-band-color);
    clip-path: inset(0 -100vmax);
}
.ankoga-home-redesign .page-sections > :is(#profile, #leaflet, #donation) {
    --ankoga-band-color: #f6ffe3;
}

/* When there are no upcoming events, center the remaining LINE card. */
.ankoga-home-redesign .ankoga-updates-pair > .ankoga-line-invitation:only-child {
    grid-column: 1 / -1;
    justify-self: center;
    box-sizing: border-box;
    width: 100%;
    max-width: 680px;
}

/* Adjacent home color bands meet directly; padding supplies equal breathing room. */
.ankoga-home-redesign .activity-layout > .page-sections {
    gap: 0;
}
.ankoga-home-redesign .page-sections > .section-wrap {
    margin-block: 0;
    padding-block: 110px;
}
.ankoga-home-redesign .page-sections > .section-wrap > :first-child {
    margin-block-start: 0;
}
.ankoga-home-redesign .page-sections > .section-wrap > :last-child {
    margin-block-end: 0;
}

/* Match the news-to-policy boundary to the other adjacent section bands. */
.ankoga-home-redesign .ankoga-block-content > .activity-layout {
    margin-block: 0;
}
@media (max-width: 740px) {
    .ankoga-home-redesign .page-sections > .section-wrap,
    .ankoga-home-redesign .ankoga-block-content > .ankoga-news-band,
    .ankoga-subpage .page-layout .page-content,
    .ankoga-subpage .election-isolated .election-content {
        padding-block: 60px;
    }
}

.ankoga-account-value { user-select: text; -webkit-user-select: text; overflow-wrap: anywhere; }
.ankoga-copy-button {
    display: inline-block; margin: 6px 0 6px 10px; padding: .25em .7em;
    border: 1px solid #80af28; border-radius: 999px; background: #fff;
    color: #80af28; font: inherit; font-size: 13px; cursor: pointer;
}
.ankoga-copy-button:hover { background: #f6ffe3; }
.ankoga-copy-status { display: block; font-size: 12px; color: #5e5e5e; }
.ankoga-copy-status:empty { display: none; }
@media (max-width: 740px) {
    .ankoga-home-redesign #donation .donation-account { overflow: visible; width: 100%; }
    .ankoga-home-redesign #donation .donation-account :is(table, tbody, tr, th, td) {
        display: block; box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%;
    }
    .ankoga-home-redesign #donation .donation-account table { table-layout: auto; }
    .ankoga-home-redesign #donation .donation-account tr { padding-block: 16px; border-bottom: 1px solid #dfe8d5; }
    .ankoga-home-redesign #donation .donation-account :is(th, td) {
        padding: 0; border: 0; text-align: left; white-space: normal; overflow: visible;
        text-overflow: clip; overflow-wrap: anywhere;
    }
    .ankoga-home-redesign #donation .donation-account th { margin-bottom: 8px; }
}

/* Donation account: quiet labels and larger, stronger values. */
.ankoga-home-redesign #donation .donation-account th {
    font-weight: 400;
}
.ankoga-home-redesign #donation .donation-account td {
    font-size: 1.15em;
    font-weight: 600;
    line-height: 1.7;
}
.ankoga-home-redesign #donation .ankoga-copy-button,
.ankoga-home-redesign #donation .ankoga-copy-status {
    font-weight: 400;
}

/* Six policy slogans keep their leaf bands, followed by readable detail lists. */
.ankoga-policy-list { justify-items: stretch; gap: 36px; }
.ankoga-policy-list > li {
    display: block; box-sizing: border-box; width: 100%; padding: 0;
    border-radius: 0; background: transparent; color: #35382f;
    font-size: inherit; font-weight: 400; line-height: 1.8;
}
.ankoga-policy-heading {
    display: flex; align-items: center; gap: .5em; width: fit-content; max-width: 100%;
    box-sizing: border-box; margin: 0 0 16px; padding: .14em .9em .14em 0;
    border-radius: 2em; background: #fff; color: #347a3e;
    font-size: clamp(17px, 2vw, 30px); font-weight: 800; line-height: 1.35;
}
.ankoga-policy-points { list-style: none; margin: 0; padding: 0 0 0 16px; }
.ankoga-policy-points > li {
    display: block; position: relative; padding: 0 0 0 1em; margin: 0;
    background: transparent; border-radius: 0; color: #35382f;
    font-size: inherit; font-weight: 400; line-height: 1.8;
}
.ankoga-policy-points > li + li { margin-top: .45em; }
.ankoga-policy-points > li::before {
    content: ''; position: absolute; left: .1em; top: .65em;
    width: .4em; height: .4em; transform: rotate(45deg); background: #9fc31d;
}
@media (max-width: 740px) {
    .ankoga-policy-heading { width: 100%; font-size: clamp(14px, 4.3vw, 18px); }
    .ankoga-policy-points { padding-left: 0; }
}

/* Home refinements: balanced profile, compact publication gallery and mobile footer. */
.ankoga-lead-phrase { display: inline-block; white-space: nowrap; }
.ankoga-profile-layout { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 700px); gap: 40px; max-width: 1020px; margin-inline: auto; align-items: start; }
.ankoga-profile-photo { margin: 0; }
.ankoga-profile-photo img { display: block; width: 100%; height: auto; }
.ankoga-profile-body { min-width: 0; width: 100%; max-width: 700px; }
.ankoga-profile-body > :first-child { margin-top: 0; }
.ankoga-profile-body > :last-child { margin-bottom: 0; }
.ankoga-about-body { max-width: 700px; margin-inline: auto; }
.ankoga-about-body > :last-child { margin-bottom: 0; }
.ankoga-home-redesign #leaflet .publication-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; max-width: 660px; }
.ankoga-home-redesign #leaflet .publication-grid > .wp-block-group { width: 100%; min-width: 0; }
.ankoga-home-redesign #leaflet .publication-grid figure { margin: 0; }
.ankoga-home-redesign #leaflet .publication-grid img { width: 100%; height: auto; }
.ankoga-publication-zoom { display: block; cursor: zoom-in; }
.ankoga-publication-pdf { display: inline-block; margin-top: 8px; font-size: 13px; }
.ankoga-publication-dialog { box-sizing: border-box; width: min(94vw, 1000px); max-width: 94vw; max-height: 92dvh; padding: 48px 16px 16px; border: 0; background: #fff; overflow: auto; }
.ankoga-publication-dialog::backdrop { background: #000b; }
.ankoga-publication-dialog img { display: block; width: 100%; height: auto; }
.ankoga-publication-close { position: sticky; top: -40px; display: block; margin: -36px 0 12px auto; padding: 6px 12px; border: 1px solid #80af28; border-radius: 999px; background: #fff; color: #35382f; font: inherit; font-size: 14px; cursor: pointer; }
@media (max-width: 740px) {
    .ankoga-profile-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .ankoga-profile-photo { width: min(100%, 320px); margin-inline: auto; }
    .ankoga-home-redesign #leaflet .publication-grid { gap: 24px 12px; }
    .ankoga-site-footer nav[aria-label="フッターメニュー"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; text-align: left; }
}

/* Align section contents without moving full-width backgrounds or headings. */
.ankoga-home-redesign .page-sections > :is(#profile, #citizen-support, #leaflet, #about-ansinkoganei, #donation, #contact) > :not(h2) {
    box-sizing: border-box;
    width: min(100%, 900px);
    max-width: 900px;
    margin-inline: auto;
}
.ankoga-home-redesign .ankoga-policy-intro {
    width: min(100%, 900px);
    max-width: 900px;
    margin-inline: auto;
}
.ankoga-home-redesign .ankoga-about-body,
.ankoga-home-redesign .ankoga-profile-body {
    width: 100%;
    max-width: 900px;
}
.ankoga-home-redesign #leaflet .publication-grid { max-width: 900px; }
@media (min-width: 741px) {
    .ankoga-home-redesign .ankoga-profile-layout { display: flow-root; }
    .ankoga-home-redesign .ankoga-profile-photo {
        float: right;
        width: 280px;
        max-width: 34%;
        margin: 0 0 24px 32px;
    }
}

/* Profile subheadings match the priority summary text size and color. */
.ankoga-home-redesign .ankoga-priority > p,
.ankoga-home-redesign #profile .ankoga-profile-body h3 {
    font-size: 1em;
    color: #17592f;
}

/* November 8: publication thumbnails link directly to their PDFs on all screens. */
.ankoga-mobile-only { display: none; }
.ankoga-publication-note { margin-block: 0 24px; }
.ankoga-publication-link { display: block; }

@media (max-width: 740px) {
    /* Use the available width with equal side gutters, including inherited prose. */
    :is(.ankoga-home-redesign, .ankoga-subpage) .ankoga-block-content :is(p, ul, ol, blockquote, .entry-content) {
        max-width: none;
    }
    .ankoga-home-redesign .ankoga-block-content > .activity-layout {
        box-sizing: border-box;
        width: 100%;
        max-width: none;
    }
    .ankoga-home-redesign .page-sections > .section-wrap { padding-inline: 16px; }
    .ankoga-home-redesign .page-sections > :is(#profile, #citizen-support, #leaflet, #about-ansinkoganei, #donation, #contact) > :not(h2),
    .ankoga-home-redesign :is(.ankoga-policy-intro, .ankoga-about-body, .ankoga-profile-body) {
        width: 100%;
        max-width: none;
    }
    .ankoga-subpage .page-layout :is(.page-content, .entry-content),
    .ankoga-subpage .election-isolated .election-content {
        width: 100%;
        max-width: none;
        min-width: 0;
    }
    .ankoga-link-group h2 { font-size: calc(clamp(14px, 1.08vw, 26px) + 4px); }
    .ankoga-home-redesign .ankoga-feed-channels {
        flex-direction: column;
        align-items: flex-start;
    }
    .ankoga-home-redesign :is(.ankoga-videos-title, .page-sections > .section-wrap h2) {
        font-size: calc(clamp(22px, 5.5vw, 46px) + 2px);
    }
    .ankoga-home-redesign #ankoga-news :is(.ankoga-feed-heading, #ankoga-schedule > h2, .ankoga-line-heading) {
        font-size: calc(clamp(18px, 2.5vw, 28px) + 2px);
    }
    .ankoga-subpage :is(.page-content, .election-content) h2.wp-block-heading {
        font-size: calc(clamp(19px, 4vw, 34px) + 2px);
    }
    /* The policy gradient reaches both screen edges; its content keeps 16px gutters. */
    .ankoga-home-redesign .ankoga-policy-details {
        box-sizing: border-box;
        width: calc(100% + 32px);
        max-width: none;
        margin-inline: -16px;
        padding-inline: 16px;
        border-radius: 0;
    }
    .ankoga-policy-heading { font-size: calc(clamp(14px, 4.3vw, 18px) + 2px); }
    .ankoga-priority li,
    .ankoga-policy-points > li { line-height: 1.6; }
    .ankoga-priority li + li,
    .ankoga-policy-points > li + li { margin-top: .75em; }

    /* Mobile councillors: name on the left, affiliation and links on the right. */
    .ankoga-desktop-only { display: none; }
    .ankoga-mobile-only { display: inline; }
    .ankoga-supporter-order { display: block; margin-bottom: .5em; }
    .ankoga-subpage .ankoga-supporter-table {
        width: 100%;
        max-width: none;
        overflow: visible;
    }
    .ankoga-subpage .ankoga-supporter-table :is(table, tbody) {
        display: block;
        width: 100%;
        min-width: 0;
        overflow: visible;
    }
    .ankoga-subpage .ankoga-supporter-table tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
        gap: 8px 16px;
        padding-block: 18px;
        border-bottom: 1px solid #dfe8d5;
    }
    .ankoga-subpage .ankoga-supporter-table tr:has(> th) { display: none; }
    .ankoga-subpage .ankoga-supporter-table td {
        display: block;
        min-width: 0;
        width: auto;
        max-width: none;
        padding: 0;
        border: 0;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .ankoga-subpage .ankoga-supporter-table td:first-child {
        grid-column: 1;
        grid-row: 1 / 3;
        font-weight: 600;
    }
    .ankoga-subpage .ankoga-supporter-table td:nth-child(2) { grid-column: 2; grid-row: 1; }
    .ankoga-subpage .ankoga-supporter-table td:last-child { grid-column: 2; grid-row: 2; }
    .ankoga-subpage .ankoga-supporter-table tr:has(> td:nth-child(4)) > td:nth-child(3) { display: none; }
    .ankoga-supporter-district { display: block; font-size: .85em; }
    .ankoga-subpage .ankoga-supporter-table .supporter-links {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        white-space: normal;
    }
    .ankoga-subpage .ankoga-supporter-table .supporter-links .sl-none { display: none; }
    .ankoga-subpage .ankoga-supporter-table .supporter-links a { flex-shrink: 0; }

    /* Text-only messages have no portrait column to reserve. */
    .ankoga-citizens .citizen-message.wp-block-columns:not(:has(img)) {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }
    .ankoga-citizens .citizen-message:not(:has(img)) .citizen-portrait-column { display: none; }
    .ankoga-citizens .citizen-message:not(:has(img)) .citizen-message-content {
        grid-column: 1;
        grid-row: auto;
        width: 100%;
        max-width: none;
    }
    .ankoga-citizens .citizen-message:not(:has(img)) .citizen-byline {
        display: block;
        margin: 4px 0 0;
    }

    /* Election tables become label/value stacks, including the history table. */
    .ankoga-subpage .election-isolated .election-content,
    .ankoga-subpage .election-content .wp-block-table { overflow: visible; }
    .ankoga-subpage .election-content :is(table, thead, tbody, tr, th, td) {
        display: block;
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        max-width: none;
    }
    .ankoga-subpage .election-content table { table-layout: auto; overflow: visible; }
    .ankoga-subpage .election-content tr { padding-block: 16px; border-bottom: 1px solid #dfe8d5; }
    .ankoga-subpage .election-content :is(th, td) {
        border: 0;
        padding: 0;
        white-space: normal;
        overflow: visible;
        overflow-wrap: anywhere;
        text-align: left;
    }
    .ankoga-subpage .election-content th { margin-bottom: 6px; }
    .ankoga-subpage .election-content .ankoga-election-comparison tr:has(> th) { display: none; }
    .ankoga-subpage .election-content .ankoga-election-comparison td + td { margin-top: 12px; }
    .ankoga-subpage .election-content .ankoga-election-comparison td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 6px;
        color: #5e5e5e;
        font-weight: 600;
    }
}

/* Mobile prose uses the full line instead of the parent theme's pretty wrapping. */
@media (max-width: 740px) {
    :is(.ankoga-home-redesign, .ankoga-subpage) .ankoga-block-content :is(p, li, blockquote, figcaption, th, td) {
        text-wrap: wrap;
    }
}

/* Mobile body copy aligns both edges; the last line stays at the start. */
@media (max-width: 740px) {
    :is(.ankoga-home-redesign, .ankoga-subpage) .ankoga-block-content p,
    .ankoga-home-redesign :is(.ankoga-priority li, .ankoga-policy-points > li),
    .ankoga-subpage .entry-content :is(ul, ol) > li:not(:has(.citizen-name)),
    .ankoga-subpage .election-content td {
        text-align: justify;
        text-justify: inter-character;
        text-align-last: start;
    }
}

/* On mobile, the policy gradient fills the existing gap above the profile. */
@media (max-width: 740px) {
    .ankoga-home-redesign .page-sections > #policy {
        padding-bottom: 0;
    }
    .ankoga-home-redesign #policy .ankoga-policy-details {
        padding-bottom: calc(clamp(18px, 3vw, 40px) + 60px);
    }
}

/* Mobile footer: 20px below the logo and below the social links. */
@media (max-width: 740px) {
    .ankoga-site-footer { row-gap: 0; }
    .ankoga-site-footer .ankoga-footer-home { margin-bottom: 20px; }
    .ankoga-site-footer .ankoga-footer-social {
        margin-top: clamp(14px, 2vw, 26px);
        margin-bottom: 20px;
    }
}

/* Mobile policy introduction: enlarge the three-sentence body by 2px. */
@media (max-width: 740px) {
    .ankoga-home-redesign .ankoga-policy-intro > p:not(.ankoga-policy-lead) {
        font-size: calc(1em + 2px);
    }
}

/* Explanatory text and shared action buttons keep one 20px gap. */
:is(.ankoga-home-redesign, .ankoga-subpage) .ankoga-block-content p:has(+ p > a.ankoga-outline-button),
:is(.ankoga-home-redesign, .ankoga-subpage) .ankoga-block-content p:has(+ .ankoga-citizen-buttons) {
    margin-bottom: 20px;
}
:is(.ankoga-home-redesign, .ankoga-subpage) .ankoga-block-content p:has(> a.ankoga-outline-button),
:is(.ankoga-home-redesign, .ankoga-subpage) .ankoga-block-content p + .ankoga-citizen-buttons {
    margin-top: 0;
}
.ankoga-home-redesign .ankoga-line-invitation a { row-gap: 0; }
.ankoga-home-redesign .ankoga-line-invitation a > img { margin-bottom: .45em; }
.ankoga-home-redesign .ankoga-line-invitation a > span { margin-bottom: 20px; }
.ankoga-home-redesign .ankoga-line-invitation a > strong { margin-top: 0; }
