@font-face {
    font-family: "Zumi Poppins";
    src: url("/cf-fonts/s/poppins/5.2.7/latin/400/normal.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Zumi Poppins";
    src: url("/cf-fonts/s/poppins/5.2.7/latin/600/normal.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Zumi Poppins";
    src: url("/cf-fonts/s/poppins/5.2.7/latin/700/normal.woff2") format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

#zumi-native-emergency,
#zumi-native-emergency * {
    box-sizing: border-box;
}

#zumi-native-emergency {
    --zne-orange: #E85E2A;
    --zne-orange-deep: #E85E2A;
    --zne-red: #C92F2F;
    --zne-red-dark: #A91F25;
    --zne-red-soft: #FFF2F2;
    --zne-ink: #171717;
    --zne-muted: #68635F;
    --zne-line: #E9E4E0;
    --zne-cream: #F7F2EE;
    --zne-warm: #EFE4DC;
    --zne-card: #FFFFFF;
    --zne-dark: #171311;
    --zne-green: #1F9A55;
    --zne-radius: clamp(15px, 1.1vw, 22px);
    --zne-shadow: 0 18px 55px rgba(32, 20, 13, .08);

    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    background: #FFFFFF;
    color: var(--zne-ink);
    font-family: "Roboto", Arial, Helvetica, sans-serif;
}

#zumi-native-emergency button,
#zumi-native-emergency input,
#zumi-native-emergency a {
    font: inherit;
}

#zumi-native-emergency a {
    color: inherit;
    text-decoration: none;
}

#zumi-native-emergency img,
#zumi-native-emergency svg {
    display: block;
}

#zumi-native-emergency svg {
    width: 1em;
    height: 1em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#zumi-native-emergency .zne-shell {
    width: 100%;
    max-width: 2200px;
    margin: 0 auto;
    padding: 15px 0;
}

#zumi-native-emergency .zne-page {
    display: grid;
    width: 100%;
    gap: clamp(12px, 1.05vw, 20px);
}

#zumi-native-emergency .zne-hero,
#zumi-native-emergency .zne-section,
#zumi-native-emergency .zne-source-note {
    margin-right: 15px;
    margin-left: 15px;
}

#zumi-native-emergency .zne-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 13px;
    color: var(--zne-orange);
    font-size: clamp(11px, .74vw, 14px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#zumi-native-emergency .zne-eyebrow::before {
    content: "";
    width: 24px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

/* Hero */
#zumi-native-emergency .zne-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(360px, .72fr);
    min-height: clamp(440px, 30vw, 600px);
    overflow: hidden;
    border: 1px solid rgba(112, 76, 58, .1);
    border-radius: 4px;
    background:
        radial-gradient(circle at 88% 18%, rgba(201,47,47,.13), transparent 30%),
        radial-gradient(circle at 12% 12%, rgba(232,94,42,.12), transparent 29%),
        linear-gradient(135deg, #F9F3EF 0%, #F4EAE3 58%, #EADDD4 100%);
}

#zumi-native-emergency .zne-hero::after {
    content: "";
    position: absolute;
    right: -10%;
    bottom: -62%;
    width: min(690px, 45vw);
    aspect-ratio: 1;
    border: 1px solid rgba(201,47,47,.18);
    border-radius: 50%;
    box-shadow: 0 0 0 42px rgba(201,47,47,.05), 0 0 0 84px rgba(201,47,47,.025);
    pointer-events: none;
}

#zumi-native-emergency .zne-hero__copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(42px, 4.2vw, 88px);
}

#zumi-native-emergency .zne-hero h1 {
    max-width: 1100px;
    margin: 0;
    color: var(--zne-dark);
    font-size: clamp(46px, 5vw, 96px);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.052em;
    text-wrap: balance;
}

#zumi-native-emergency .zne-hero__copy > p {
    max-width: 890px;
    margin: clamp(20px, 1.7vw, 32px) 0 0;
    color: #544B46;
    font-size: clamp(16px, 1.05vw, 21px);
    line-height: 1.65;
}

#zumi-native-emergency .zne-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: clamp(24px, 2vw, 38px);
}

#zumi-native-emergency .zne-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 13px;
    color: #2E2926;
    background: rgba(255,255,255,.7);
    border: 1px solid rgba(67,44,32,.12);
    border-radius: 4px;
    font-size: 12.5px;
    font-weight: 600;
}

#zumi-native-emergency .zne-pill svg {
    color: var(--zne-orange);
    font-size: 15px;
}

#zumi-native-emergency .zne-priority-card {
    position: relative;
    z-index: 2;
    align-self: center;
    margin: clamp(24px, 2.2vw, 42px);
    margin-left: 0;
    padding: clamp(28px, 2.3vw, 46px);
    overflow: hidden;
    color: #FFFFFF;
    background: linear-gradient(145deg, #C92F2F, #9F1F24);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 4px;
    box-shadow: 0 24px 60px rgba(117,17,22,.25);
}

#zumi-native-emergency .zne-priority-card::after {
    content: "";
    position: absolute;
    right: -65px;
    bottom: -80px;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
    box-shadow: 0 0 0 30px rgba(255,255,255,.035);
}

#zumi-native-emergency .zne-priority-card__icon {
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    margin-bottom: 28px;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 4px;
}

#zumi-native-emergency .zne-priority-card__icon img {
    width: 35px;
    height: 35px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

#zumi-native-emergency .zne-priority-card__copy > span {
    display: block;
    margin-bottom: 9px;
    color: rgba(255,255,255,.9);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

#zumi-native-emergency .zne-priority-card h2 {
    margin: 0;
    color: #FFFFFF;
    font-size: clamp(28px, 2vw, 44px);
    line-height: 1.04;
    letter-spacing: -.035em;
}

#zumi-native-emergency .zne-priority-card p {
    position: relative;
    z-index: 2;
    margin: 17px 0 0;
    color: rgba(255,255,255,.96);
    font-size: 14px;
    line-height: 1.65;
}

/* Shared section */
#zumi-native-emergency .zne-section {
    padding: clamp(34px, 3vw, 62px);
    border: 1px solid var(--zne-line);
    border-radius: 4px;
    background: #FFFFFF;
}

#zumi-native-emergency .zne-section-head {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(320px, .62fr);
    gap: clamp(30px, 4vw, 90px);
    align-items: end;
    margin-bottom: clamp(28px, 2.7vw, 52px);
}

#zumi-native-emergency .zne-section-head h2,
#zumi-native-emergency .zne-zumi-contact h2,
#zumi-native-emergency .zne-call-guide h2 {
    max-width: 980px;
    margin: 0;
    color: var(--zne-dark);
    font-size: clamp(32px, 3vw, 58px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -.045em;
}

#zumi-native-emergency .zne-section-head > p {
    margin: 0;
    color: var(--zne-muted);
    font-size: 15px;
    line-height: 1.7;
}

/* Emergency services */
#zumi-native-emergency .zne-services {
    background:
        radial-gradient(circle at 100% 0%, rgba(232,94,42,.06), transparent 28%),
        #FFFFFF;
}

#zumi-native-emergency .zne-service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

#zumi-native-emergency .zne-service-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 15px;
    min-width: 0;
    min-height: 230px;
    padding: 22px;
    background: #FAF8F6;
    border: 1px solid #EEE8E4;
    border-radius: 4px;
}

#zumi-native-emergency .zne-service-card--critical {
    background: var(--zne-red-soft);
    border-color: rgba(201,47,47,.24);
}

#zumi-native-emergency .zne-service-card__icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: var(--zne-orange);
    background: #FFFFFF;
    border: 1px solid var(--zne-line);
    border-radius: 4px;
}

#zumi-native-emergency .zne-service-card--critical .zne-service-card__icon {
    color: var(--zne-red);
    border-color: rgba(201,47,47,.18);
}

#zumi-native-emergency .zne-service-card__icon svg {
    font-size: 20px;
}

#zumi-native-emergency .zne-service-card__icon img {
    display: block;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

#zumi-native-emergency .zne-service-card__content {
    min-width: 0;
}

#zumi-native-emergency .zne-service-card__meta {
    display: block;
    min-height: 30px;
    margin-bottom: 7px;
    color: #8A817B;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .055em;
    text-transform: uppercase;
}

#zumi-native-emergency .zne-service-card h3 {
    margin: 0;
    color: #282320;
    font-size: 14.5px;
    line-height: 1.35;
}

#zumi-native-emergency .zne-service-card__number {
    display: inline-block;
    margin-top: 18px;
    color: var(--zne-dark);
    font-size: clamp(24px, 2vw, 38px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.035em;
}

#zumi-native-emergency .zne-service-card__content small {
    display: block;
    margin-top: 7px;
    color: #817873;
    font-size: 10px;
    line-height: 1.4;
}

#zumi-native-emergency .zne-service-card__call {
    grid-column: 1 / -1;
    align-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    margin-top: 10px;
    padding: 10px 13px;
    color: #FFFFFF;
    background: var(--zne-dark);
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
}

#zumi-native-emergency .zne-service-card--critical .zne-service-card__call {
    background: var(--zne-red);
}

#zumi-native-emergency .zne-service-card__call svg {
    font-size: 17px;
}

#zumi-native-emergency .zne-note-bar {
    margin-top: 14px;
    padding: 15px 18px;
    color: #6C625C;
    background: #FBF7F4;
    border: 1px solid #EFE6E0;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.55;
}

/* Zumi emergency contact */
#zumi-native-emergency .zne-zumi-contact {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .65fr);
    gap: clamp(28px, 3.5vw, 76px);
    align-items: center;
    color: #FFFFFF;
    background:
        radial-gradient(circle at 100% 0%, rgba(232,94,42,.28), transparent 32%),
        #171311;
    border-color: #171311;
}

#zumi-native-emergency .zne-zumi-contact .zne-eyebrow {
    color: #F1C7A4;
}

#zumi-native-emergency .zne-zumi-contact__brand {
    display: block;
    min-width: 0;
}

#zumi-native-emergency .zne-zumi-contact__whatsapp {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    background: #FFFFFF;
    border-radius: 4px;
}

#zumi-native-emergency .zne-zumi-contact__whatsapp img {
    width: 36px;
    height: 36px;
}

#zumi-native-emergency .zne-zumi-contact h2 {
    color: #FFFFFF;
}

#zumi-native-emergency .zne-zumi-contact__brand p {
    max-width: 900px;
    margin: 18px 0 0;
    color: rgba(255,255,255,.68);
    font-size: 14px;
    line-height: 1.7;
}

#zumi-native-emergency .zne-zumi-contact__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 9px;
    min-width: 0;
}

#zumi-native-emergency .zne-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 11px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
}

#zumi-native-emergency .zne-action--whatsapp {
    color: #163E28;
    background: #FFFFFF;
}

#zumi-native-emergency .zne-action--whatsapp img {
    width: 21px;
    height: 21px;
}

#zumi-native-emergency .zne-action--call {
    color: #FFFFFF;
    background: #E85E2A !important;
}

#zumi-native-emergency .zne-action--call svg {
    font-size: 18px;
}

#zumi-native-emergency .zne-zumi-contact__number,
#zumi-native-emergency .zne-zumi-contact__local,
#zumi-native-emergency .zne-zumi-contact__note {
    grid-column: 1 / -1;
    text-align: center;
}

#zumi-native-emergency .zne-zumi-contact__number {
    margin-top: 8px;
    color: #FFFFFF;
    font-size: clamp(25px, 2vw, 36px);
    line-height: 1.1;
    letter-spacing: -.03em;
}

#zumi-native-emergency .zne-zumi-contact__local {
    color: rgba(255,255,255,.78);
    font-size: 12px;
}

#zumi-native-emergency .zne-zumi-contact__note {
    color: rgba(255,255,255,.5);
    font-size: 10.5px;
}

/* GPS + map */
#zumi-native-emergency .zne-location {
    background: var(--zne-cream);
}

#zumi-native-emergency .zne-section-head--location {
    margin-bottom: 30px;
}

#zumi-native-emergency .zne-location-grid {
    display: grid;
    grid-template-columns: minmax(340px, .62fr) minmax(0, 1.38fr);
    gap: 13px;
    align-items: stretch;
}

#zumi-native-emergency .zne-location-panel,
#zumi-native-emergency .zne-map-panel {
    min-width: 0;
    overflow: hidden;
    background: #FFFFFF;
    border: 1px solid #E8DFD9;
    border-radius: 4px;
}

#zumi-native-emergency .zne-location-panel {
    padding: 22px;
}

#zumi-native-emergency .zne-location-panel__icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-bottom: 16px;
    color: var(--zne-orange);
    background: #FFF2E9;
    border-radius: 4px;
}

#zumi-native-emergency .zne-location-panel__icon svg {
    font-size: 23px;
}

#zumi-native-emergency .zne-gps-button {
    appearance: none;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 50px;
    padding: 11px 16px;
    color: #FFFFFF;
    cursor: pointer;
    background: var(--zne-red);
    border: 0;
    border-radius: 4px;
    font-weight: 700;
    font-size: 12px;
}

#zumi-native-emergency .zne-gps-button:hover {
    background: var(--zne-red-dark);
}

#zumi-native-emergency .zne-gps-button:disabled {
    cursor: wait;
    opacity: .66;
}

#zumi-native-emergency .zne-gps-button svg {
    font-size: 18px;
}

#zumi-native-emergency .zne-gps-status {
    min-height: 38px;
    margin: 10px 2px 0;
    color: #766D67;
    font-size: 11px;
    line-height: 1.45;
}

#zumi-native-emergency .zne-gps-status[data-state="success"] {
    color: #257246;
}

#zumi-native-emergency .zne-gps-status[data-state="error"],
#zumi-native-emergency .zne-manual__status[data-state="error"] {
    color: var(--zne-red-dark);
}

#zumi-native-emergency .zne-coords {
    margin-top: 12px;
    padding: 16px;
    background: #FFF9F5;
    border: 1px solid #F0E3DA;
    border-radius: 4px;
}

#zumi-native-emergency .zne-coords__label {
    display: block;
    margin-bottom: 5px;
    color: #8B7F78;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

#zumi-native-emergency .zne-coords > strong {
    display: block;
    color: var(--zne-dark);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: clamp(19px, 1.7vw, 28px);
    line-height: 1.25;
    letter-spacing: -.025em;
}

#zumi-native-emergency .zne-coords__accuracy {
    display: block;
    margin-top: 5px;
    color: #756C66;
    font-size: 10.5px;
}

#zumi-native-emergency .zne-copy-button {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 12px;
    padding: 8px 10px;
    color: #FFFFFF;
    cursor: pointer;
    background: var(--zne-dark);
    border: 0;
    border-radius: 4px;
    font-size: 10.5px;
    font-weight: 700;
}

#zumi-native-emergency .zne-copy-button svg {
    font-size: 15px;
}

#zumi-native-emergency .zne-coords__advice {
    margin: 12px 0 0;
    color: var(--zne-red-dark);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.5;
}

#zumi-native-emergency .zne-manual {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #EEE6E1;
}

#zumi-native-emergency .zne-manual h3 {
    margin: 0;
    color: #2C2724;
    font-size: 15px;
}

#zumi-native-emergency .zne-manual > p {
    margin: 8px 0 12px;
    color: #756C66;
    font-size: 11px;
    line-height: 1.5;
}

#zumi-native-emergency .zne-manual__form {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 7px;
}

#zumi-native-emergency .zne-manual__form input {
    width: 100%;
    min-width: 0;
    height: 43px;
    padding: 9px 11px;
    color: var(--zne-dark);
    background: #FFFFFF;
    border: 1px solid #DCD3CD;
    border-radius: 4px;
    outline: none;
    font-size: 11px;
}

#zumi-native-emergency .zne-manual__form input:focus {
    border-color: var(--zne-orange);
    box-shadow: 0 0 0 3px rgba(232,94,42,.1);
}

#zumi-native-emergency .zne-manual__form button {
    appearance: none;
    padding: 9px 12px;
    color: #FFFFFF;
    cursor: pointer;
    background: #E85E2A !important;
    border: 0;
    border-radius: 4px;
    font-size: 10.5px;
    font-weight: 700;
}

#zumi-native-emergency .zne-manual__status {
    min-height: 17px;
    margin: 7px 0 0;
    font-size: 10px;
}

#zumi-native-emergency .zne-map-panel {
    display: grid;
    grid-template-rows: auto 1fr;
}

#zumi-native-emergency .zne-map-panel__head {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid #EEE6E1;
}

#zumi-native-emergency .zne-map-panel__head > div {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
}

#zumi-native-emergency .zne-map-panel__icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    color: var(--zne-orange);
    background: #FFF2E9;
    border-radius: 4px;
}

#zumi-native-emergency .zne-map-panel__icon svg {
    font-size: 20px;
}

#zumi-native-emergency .zne-map-panel h3 {
    margin: 0;
    color: #282320;
    font-size: 14px;
}

#zumi-native-emergency .zne-map-panel__head p {
    margin: 4px 0 0;
    color: #857B75;
    font-size: 10.5px;
    line-height: 1.4;
}

#zumi-native-emergency .zne-map-open {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 10px;
    color: #FFFFFF !important;
    background: var(--zne-dark);
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
}

#zumi-native-emergency .zne-map-open svg {
    font-size: 15px;
}

#zumi-native-emergency .zne-map-frame {
    position: relative;
    min-height: 520px;
    background: #EDE8E4;
}

#zumi-native-emergency .zne-map-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 520px;
    border: 0;
}

#zumi-native-emergency .zne-map-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 12px;
    padding: 30px;
    color: #7F746D;
    text-align: center;
    background:
        linear-gradient(rgba(255,255,255,.52), rgba(255,255,255,.52)),
        repeating-linear-gradient(45deg, #ECE6E1 0, #ECE6E1 18px, #E7E0DA 18px, #E7E0DA 36px);
}

#zumi-native-emergency .zne-map-placeholder svg {
    color: var(--zne-orange);
    font-size: 38px;
}

#zumi-native-emergency .zne-map-placeholder p {
    max-width: 340px;
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
}

/* Call guide */
#zumi-native-emergency .zne-call-guide {
    background: #FFFFFF;
}

#zumi-native-emergency .zne-call-guide__head {
    margin-bottom: 26px;
}

#zumi-native-emergency .zne-call-guide__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 9px;
}

#zumi-native-emergency .zne-guide-item {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 10px;
    align-items: start;
    padding: 16px;
    background: #FAF8F6;
    border: 1px solid #EEE8E4;
    border-radius: 4px;
}

#zumi-native-emergency .zne-guide-item > span {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    background: #FFF2E9;
    border: 1px solid #F5DDCE;
    border-radius: 4px;
}

#zumi-native-emergency .zne-guide-item > span img {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

#zumi-native-emergency .zne-guide-item p {
    margin: 2px 0 0;
    color: #5F5752;
    font-size: 11.5px;
    line-height: 1.55;
}

#zumi-native-emergency .zne-safety-note {
    margin-top: 10px;
    padding: 14px 17px;
    color: #6E302F;
    background: var(--zne-red-soft);
    border: 1px solid rgba(201,47,47,.17);
    border-radius: 4px;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.55;
}

#zumi-native-emergency .zne-source-note {
    margin-top: 0;
    margin-bottom: 8px;
    padding: 0 8px;
    color: #9A908A;
    font-size: 9.5px;
    line-height: 1.5;
    text-align: center;
}

/* Tablet */
@media (max-width: 1199px) {
    #zumi-native-emergency .zne-hero {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    #zumi-native-emergency .zne-hero__copy {
        padding-bottom: 30px;
    }

    #zumi-native-emergency .zne-priority-card {
        margin: 0 28px 28px;
    }

    #zumi-native-emergency .zne-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #zumi-native-emergency .zne-zumi-contact {
        grid-template-columns: 1fr;
    }

    #zumi-native-emergency .zne-zumi-contact__actions {
        max-width: 620px;
    }

    #zumi-native-emergency .zne-location-grid {
        grid-template-columns: 1fr;
    }

    #zumi-native-emergency .zne-location-panel {
        display: grid;
        grid-template-columns: minmax(0,1fr) minmax(320px,.75fr);
        column-gap: 20px;
        align-items: start;
    }

    #zumi-native-emergency .zne-map-panel {
        margin-top: 14px;
    }

    #zumi-native-emergency .zne-gps-button,
    #zumi-native-emergency .zne-gps-status,
    #zumi-native-emergency .zne-coords {
        grid-column: 1;
    }

    #zumi-native-emergency .zne-manual {
        grid-column: 2;
        grid-row: 1 / span 4;
        margin-top: 0;
        padding-top: 0;
        padding-left: 20px;
        border-top: 0;
        border-left: 1px solid #EEE6E1;
    }

    #zumi-native-emergency .zne-call-guide__grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 860px) {
    #zumi-native-emergency .zne-section-head {
        grid-template-columns: 1fr;
        gap: 14px;
        align-items: start;
    }

    #zumi-native-emergency .zne-section-head > p {
        max-width: 760px;
    }

    #zumi-native-emergency .zne-location-panel {
        display: block;
    }

    #zumi-native-emergency .zne-manual {
        margin-top: 22px;
        padding-top: 20px;
        padding-left: 0;
        border-top: 1px solid #EEE6E1;
        border-left: 0;
    }
}

/* Mobile */
@media (max-width: 620px) {
    #zumi-native-emergency .zne-shell {
        padding: 9px 0 14px;
    }

    #zumi-native-emergency .zne-page {
        gap: 18px;
    }

    #zumi-native-emergency .zne-hero,
    #zumi-native-emergency .zne-section,
    #zumi-native-emergency .zne-source-note {
        margin-right: 9px;
        margin-left: 9px;
    }

    #zumi-native-emergency .zne-hero {
        border-radius: 4px;
    }

    #zumi-native-emergency .zne-hero__copy {
        padding: 31px 20px 24px;
    }

    #zumi-native-emergency .zne-hero h1 {
        font-size: clamp(38px, 12vw, 58px);
    }

    #zumi-native-emergency .zne-hero__copy > p {
        margin-top: 16px;
        font-size: 13px;
        line-height: 1.6;
    }

    #zumi-native-emergency .zne-pill-row {
        gap: 6px;
        margin-top: 19px;
    }

    #zumi-native-emergency .zne-pill {
        min-height: 32px;
        padding: 6px 9px;
        font-size: 9.5px;
    }

    #zumi-native-emergency .zne-priority-card {
        margin: 0 12px 12px;
        padding: 21px;
        border-radius: 4px;
    }

    #zumi-native-emergency .zne-priority-card__icon {
        width: 48px;
        height: 48px;
        margin-bottom: 17px;
        border-radius: 4px;
    }

    #zumi-native-emergency .zne-priority-card__icon img {
        width: 27px;
        height: 27px;
    }

    #zumi-native-emergency .zne-priority-card h2 {
        font-size: 27px;
    }

    #zumi-native-emergency .zne-priority-card p {
        margin-top: 11px;
        font-size: 11.5px;
        line-height: 1.55;
    }

    #zumi-native-emergency .zne-section {
        padding: 23px 14px;
        border-radius: 4px;
    }

    #zumi-native-emergency .zne-section-head {
        margin-bottom: 21px;
    }

    #zumi-native-emergency .zne-section-head h2,
    #zumi-native-emergency .zne-zumi-contact h2,
    #zumi-native-emergency .zne-call-guide h2 {
        font-size: 31px;
    }

    #zumi-native-emergency .zne-section-head > p {
        font-size: 12px;
        line-height: 1.58;
    }

    #zumi-native-emergency .zne-service-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    #zumi-native-emergency .zne-service-card {
        min-height: 0;
        padding: 16px;
    }

    #zumi-native-emergency .zne-service-card__meta {
        min-height: 0;
    }

    #zumi-native-emergency .zne-service-card__number {
        margin-top: 11px;
        font-size: 28px;
    }

    #zumi-native-emergency .zne-service-card__call {
        min-height: 38px;
        margin-top: 4px;
    }

    #zumi-native-emergency .zne-note-bar {
        font-size: 10.5px;
    }

    #zumi-native-emergency .zne-zumi-contact {
        gap: 20px;
    }

    #zumi-native-emergency .zne-zumi-contact__brand {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    #zumi-native-emergency .zne-zumi-contact__whatsapp {
        width: 50px;
        height: 50px;
        border-radius: 4px;
    }

    #zumi-native-emergency .zne-zumi-contact__whatsapp img {
        width: 30px;
        height: 30px;
    }

    #zumi-native-emergency .zne-zumi-contact__brand p {
        margin-top: 12px;
        font-size: 11.5px;
        line-height: 1.55;
    }

    #zumi-native-emergency .zne-zumi-contact__actions {
        grid-template-columns: 1fr 1fr;
        gap: 7px;
    }

    #zumi-native-emergency .zne-action {
        min-height: 44px;
        padding: 9px;
        font-size: 10px;
    }

    #zumi-native-emergency .zne-zumi-contact__number {
        font-size: 25px;
    }

    #zumi-native-emergency .zne-map-panel__head {
        display: grid;
        gap: 12px;
        padding: 14px;
    }

    #zumi-native-emergency .zne-map-open {
        justify-self: stretch;
        justify-content: center;
    }

    #zumi-native-emergency .zne-map-frame,
    #zumi-native-emergency .zne-map-frame iframe {
        min-height: 390px;
    }

    #zumi-native-emergency .zne-manual__form {
        grid-template-columns: 1fr;
    }

    #zumi-native-emergency .zne-manual__form button {
        min-height: 41px;
    }

    #zumi-native-emergency .zne-call-guide__grid {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    #zumi-native-emergency .zne-guide-item {
        padding: 13px;
    }

    #zumi-native-emergency .zne-source-note {
        font-size: 8.8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #zumi-native-emergency *,
    #zumi-native-emergency *::before,
    #zumi-native-emergency *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}


/* v1.0.1 refinements */
@media (max-width: 620px) {
    #zumi-native-emergency .zne-zumi-contact__brand {
        display: block;
    }

    #zumi-native-emergency .zne-map-panel {
        margin-top: 16px;
    }
}

/* =========================================================
   v1.0.2 — offline guide, hero image, no-signal guidance,
   manual police search refinements
   ========================================================= */

/* Faded Namibia police hero image so copy remains highly legible. */
#zumi-native-emergency .zne-hero {
    background:
        linear-gradient(90deg, rgba(249,243,239,.93) 0%, rgba(249,243,239,.875) 48%, rgba(249,243,239,.72) 100%),
        url("https://zumirentals.com/wp-content/uploads/2026/09/namibia-police-emergency-hero.webp") center 48% / cover no-repeat;
}

#zumi-native-emergency .zne-priority-card__copy > span,
#zumi-native-emergency .zne-priority-card h2,
#zumi-native-emergency .zne-priority-card p {
    color: #FFFFFF !important;
    text-shadow: 0 1px 2px rgba(67, 9, 14, .2);
}

#zumi-native-emergency .zne-offline-download {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 13px;
    margin-top: 20px;
}

#zumi-native-emergency .zne-offline-download__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 43px;
    padding: 10px 14px;
    color: #FFFFFF !important;
    background: var(--zne-dark);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 4px;
    box-shadow: 0 9px 22px rgba(23,19,17,.11);
    font-size: 11px;
    font-weight: 700;
}

#zumi-native-emergency .zne-offline-download__button:hover {
    background: #29221F;
}

#zumi-native-emergency .zne-offline-download__button img {
    width: 19px;
    height: 19px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

#zumi-native-emergency .zne-offline-download__note {
    max-width: 390px;
    color: #6E645E;
    font-size: 10.5px;
    line-height: 1.45;
}

/* Give the map breathing room below its title/action row. */
#zumi-native-emergency .zne-map-frame {
    margin-top: 14px;
}

/* Manual fallback: full-width input prevents the example text being clipped. */
#zumi-native-emergency .zne-manual__form {
    grid-template-columns: minmax(0, 1fr) !important;
}

#zumi-native-emergency .zne-manual__form input {
    min-width: 0;
    font-size: 11px;
}

#zumi-native-emergency .zne-manual__form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 43px;
    color: #FFFFFF;
    background: var(--zne-red);
}

#zumi-native-emergency .zne-manual__form button:hover {
    background: var(--zne-red-dark);
}

#zumi-native-emergency .zne-manual__form button img {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

/* No-cell-service guidance */
#zumi-native-emergency .zne-no-signal {
    background:
        radial-gradient(circle at 95% 10%, rgba(201,47,47,.06), transparent 30%),
        #FBF8F5;
}

#zumi-native-emergency .zne-no-signal__head {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 18px;
    align-items: start;
    max-width: 1180px;
}

#zumi-native-emergency .zne-no-signal__icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    background: #FFF0F0;
    border: 1px solid rgba(201,47,47,.16);
    border-radius: 4px;
}

#zumi-native-emergency .zne-no-signal__icon img {
    width: 31px;
    height: 31px;
    object-fit: contain;
}

#zumi-native-emergency .zne-no-signal h2 {
    margin: 0;
    color: var(--zne-dark);
    font-size: clamp(30px, 2.4vw, 46px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

#zumi-native-emergency .zne-no-signal__head p {
    max-width: 820px;
    margin: 10px 0 0;
    color: #665E59;
    font-size: 13px;
    line-height: 1.6;
}

#zumi-native-emergency .zne-no-signal__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 9px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

#zumi-native-emergency .zne-no-signal__list li {
    position: relative;
    min-width: 0;
    padding: 15px 16px 15px 42px;
    color: #443D39;
    background: #FFFFFF;
    border: 1px solid #E9E0DA;
    border-radius: 4px;
    font-size: 11.5px;
    line-height: 1.55;
}

#zumi-native-emergency .zne-no-signal__list li::before {
    content: "";
    position: absolute;
    left: 17px;
    top: 20px;
    width: 9px;
    height: 9px;
    background: var(--zne-red);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(201,47,47,.09);
}

@media (max-width: 860px) {
    #zumi-native-emergency .zne-hero {
        background:
            linear-gradient(rgba(249,243,239,.925), rgba(249,243,239,.86)),
            url("https://zumirentals.com/wp-content/uploads/2026/09/namibia-police-emergency-hero.webp") center / cover no-repeat;
    }

    #zumi-native-emergency .zne-no-signal__list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    #zumi-native-emergency .zne-offline-download {
        display: grid;
        gap: 7px;
        margin-top: 17px;
    }

    #zumi-native-emergency .zne-offline-download__button {
        width: 100%;
        min-height: 42px;
        padding: 9px 11px;
        font-size: 10px;
    }

    #zumi-native-emergency .zne-offline-download__note {
        font-size: 9.5px;
    }

    #zumi-native-emergency .zne-map-frame {
        margin-top: 12px;
    }

    #zumi-native-emergency .zne-manual__form input {
        font-size: 10.5px;
    }

    #zumi-native-emergency .zne-no-signal__head {
        grid-template-columns: 46px minmax(0,1fr);
        gap: 12px;
    }

    #zumi-native-emergency .zne-no-signal__icon {
        width: 46px;
        height: 46px;
        border-radius: 4px;
    }

    #zumi-native-emergency .zne-no-signal__icon img {
        width: 25px;
        height: 25px;
    }

    #zumi-native-emergency .zne-no-signal h2 {
        font-size: 29px;
    }

    #zumi-native-emergency .zne-no-signal__head p {
        grid-column: 1 / -1;
        font-size: 11.5px;
        line-height: 1.55;
    }

    #zumi-native-emergency .zne-no-signal__list {
        margin-top: 18px;
        gap: 7px;
    }

    #zumi-native-emergency .zne-no-signal__list li {
        padding: 13px 13px 13px 36px;
        font-size: 10.5px;
    }

    #zumi-native-emergency .zne-no-signal__list li::before {
        left: 15px;
        top: 18px;
        width: 8px;
        height: 8px;
    }
}


/* =========================================================
   v1.0.3 — resilient manual-location field + Google Maps icon
   ========================================================= */

/* Keep the typed-location field comfortably usable. On wide screens it can
   share a row with the action; on tablet and smaller it always gets a full row. */
#zumi-native-emergency .zne-manual__form {
    display: grid !important;
    grid-template-columns: minmax(230px, 1fr) auto !important;
    gap: 8px !important;
    width: 100%;
    min-width: 0;
}

#zumi-native-emergency .zne-manual__form input {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 230px !important;
    max-width: 100%;
}

#zumi-native-emergency .zne-manual__form button {
    width: auto;
    min-width: max-content;
}

/* The manual-location column itself becomes narrow before the overall page
   reaches phone width, so stack the field and button throughout tablet sizes. */
@media (max-width: 1199px) {
    #zumi-native-emergency .zne-manual__form {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    #zumi-native-emergency .zne-manual__form input {
        min-width: 0 !important;
    }

    #zumi-native-emergency .zne-manual__form button {
        width: 100%;
        min-width: 0;
    }
}

/* On very narrow phones keep generous touch and text room. */
@media (max-width: 420px) {
    #zumi-native-emergency .zne-manual__form input {
        height: 45px;
        padding-left: 12px;
        padding-right: 12px;
        font-size: 10.5px;
    }
}

#zumi-native-emergency .zne-map-open__google-icon {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px;
    object-fit: contain;
    opacity: 1 !important;
    visibility: visible !important;
    /* The supplied SVG is dark. Force it to white so it remains visible
       against the black Open in Google Maps button. */
    filter: brightness(0) invert(1) !important;
    -webkit-filter: brightness(0) invert(1) !important;
}


/* =========================================================
   v1.0.4 — Google Maps icon visibility
   ========================================================= */
#zumi-native-emergency .zne-map-open {
    overflow: visible;
}

#zumi-native-emergency .zne-map-open .zne-map-open__google-icon {
    order: -1;
}

/* =========================================================
   v1.0.5 — remote-area safety additions
   ========================================================= */
#zumi-native-emergency .zne-no-signal__callout {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 15px;
    align-items: start;
    margin-top: 14px;
    padding: 18px 19px;
    border-radius: 4px;
    min-width: 0;
}

#zumi-native-emergency .zne-no-signal__callout--satellite {
    background: linear-gradient(135deg, #FFF4EA 0%, #FFF9F4 100%);
    border: 1px solid rgba(232,94,42,.26);
    box-shadow: 0 10px 28px rgba(76, 43, 25, .05);
}

#zumi-native-emergency .zne-no-signal__callout--remote {
    grid-template-columns: minmax(0, 1fr);
    background: #FFFFFF;
    border: 1px solid #E7DDD7;
}

#zumi-native-emergency .zne-no-signal__callout-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: #FFFFFF;
    background: var(--zne-orange, #E85E2A);
    border-radius: 4px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
}

#zumi-native-emergency .zne-no-signal__callout h3 {
    margin: 3px 0 6px;
    color: var(--zne-dark);
    font-size: clamp(18px, 1.55vw, 24px);
    line-height: 1.18;
    letter-spacing: -.02em;
}

#zumi-native-emergency .zne-no-signal__callout p {
    max-width: 980px;
    margin: 0;
    color: #5C5550;
    font-size: 11.5px;
    line-height: 1.6;
}

#zumi-native-emergency .zne-no-signal__callout--remote .zne-eyebrow {
    color: var(--zne-red);
}

@media (max-width: 620px) {
    #zumi-native-emergency .zne-no-signal__callout {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 11px;
        margin-top: 10px;
        padding: 14px;
        border-radius: 4px;
    }

    #zumi-native-emergency .zne-no-signal__callout--remote {
        grid-template-columns: 1fr;
    }

    #zumi-native-emergency .zne-no-signal__callout-icon {
        width: 40px;
        height: 40px;
        border-radius: 4px;
        font-size: 8.5px;
    }

    #zumi-native-emergency .zne-no-signal__callout h3 {
        font-size: 17px;
    }

    #zumi-native-emergency .zne-no-signal__callout p {
        font-size: 10.5px;
        line-height: 1.55;
    }
}


/* =========================================================
   v1.0.7 — large-screen readability + proportional cards
   ========================================================= */

/* Keep very wide displays from making supporting copy feel tiny in acres of space. */
@media (min-width: 1200px) {
    #zumi-native-emergency .zne-shell {
        max-width: 1920px;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    /* Supporting/grey copy: larger and easier to scan on desktop and ultrawide screens. */
    #zumi-native-emergency .zne-section-head > p,
    #zumi-native-emergency .zne-zumi-contact__brand p {
        font-size: clamp(16px, .82vw, 18px);
        line-height: 1.7;
    }

    #zumi-native-emergency .zne-pill {
        min-height: 42px;
        padding: 9px 15px;
        font-size: clamp(13px, .68vw, 15px);
    }

    #zumi-native-emergency .zne-service-card {
        min-height: 250px;
        padding: 25px;
    }

    #zumi-native-emergency .zne-service-card__meta {
        min-height: 34px;
        font-size: clamp(12px, .62vw, 13.5px);
        line-height: 1.42;
    }

    #zumi-native-emergency .zne-service-card h3 {
        font-size: clamp(16px, .78vw, 18px);
        line-height: 1.4;
    }

    #zumi-native-emergency .zne-service-card__content small {
        font-size: clamp(12px, .6vw, 13.5px);
        line-height: 1.5;
    }

    #zumi-native-emergency .zne-service-card__call {
        min-height: 46px;
        font-size: clamp(13px, .64vw, 14.5px);
    }

    #zumi-native-emergency .zne-note-bar {
        padding: 18px 21px;
        font-size: clamp(14px, .72vw, 16px);
        line-height: 1.65;
    }

    #zumi-native-emergency .zne-offline-download__button {
        min-height: 50px;
        padding: 12px 17px;
        font-size: clamp(13px, .66vw, 15px);
    }

    #zumi-native-emergency .zne-offline-download__note {
        max-width: 620px;
        font-size: clamp(14px, .72vw, 16px);
        line-height: 1.55;
    }

    #zumi-native-emergency .zne-gps-button {
        min-height: 54px;
        font-size: clamp(13px, .66vw, 15px);
    }

    #zumi-native-emergency .zne-gps-status {
        min-height: 44px;
        font-size: clamp(13px, .68vw, 15px);
        line-height: 1.55;
    }

    #zumi-native-emergency .zne-coords {
        padding: 20px;
    }

    #zumi-native-emergency .zne-coords__label {
        font-size: clamp(11.5px, .58vw, 13px);
    }

    #zumi-native-emergency .zne-coords__accuracy {
        margin-top: 8px;
        font-size: clamp(13px, .67vw, 15px);
    }

    #zumi-native-emergency .zne-copy-button {
        min-height: 43px;
        padding: 10px 13px;
        font-size: clamp(12.5px, .64vw, 14px);
    }

    #zumi-native-emergency .zne-coords__advice {
        margin-top: 15px;
        font-size: clamp(13.5px, .72vw, 16px);
        line-height: 1.55;
    }

    #zumi-native-emergency .zne-manual h3,
    #zumi-native-emergency .zne-map-panel h3 {
        font-size: clamp(16px, .78vw, 18px);
    }

    #zumi-native-emergency .zne-manual > p,
    #zumi-native-emergency .zne-map-panel__head p {
        font-size: clamp(13px, .68vw, 15px);
        line-height: 1.55;
    }

    #zumi-native-emergency .zne-manual__form input {
        height: 48px;
        font-size: clamp(13px, .67vw, 15px);
    }

    #zumi-native-emergency .zne-manual__form button {
        min-height: 48px;
        padding: 11px 15px;
        font-size: clamp(12.5px, .64vw, 14px);
    }

    #zumi-native-emergency .zne-manual__status {
        min-height: 21px;
        font-size: clamp(12px, .6vw, 13.5px);
    }

    #zumi-native-emergency .zne-map-open {
        min-height: 44px;
        padding: 10px 13px;
        font-size: clamp(12px, .6vw, 13.5px);
    }

    #zumi-native-emergency .zne-guide-item {
        min-height: 92px;
        padding: 19px;
        gap: 13px;
    }

    #zumi-native-emergency .zne-guide-item > span {
        width: 38px;
        height: 38px;
    }

    #zumi-native-emergency .zne-guide-item > span img {
        width: 23px;
        height: 23px;
    }

    #zumi-native-emergency .zne-guide-item p {
        margin-top: 1px;
        font-size: clamp(13.5px, .7vw, 15.5px);
        line-height: 1.6;
    }

    #zumi-native-emergency .zne-safety-note {
        padding: 17px 20px;
        font-size: clamp(13.5px, .7vw, 15.5px);
        line-height: 1.6;
    }

    #zumi-native-emergency .zne-no-signal__head p {
        font-size: clamp(14px, .72vw, 16px);
        line-height: 1.65;
    }

    #zumi-native-emergency .zne-no-signal__list li {
        min-height: 90px;
        padding: 18px 20px 18px 46px;
        font-size: clamp(13.5px, .7vw, 15.5px);
        line-height: 1.6;
    }

    #zumi-native-emergency .zne-no-signal__callout p {
        font-size: clamp(13.5px, .7vw, 15.5px);
        line-height: 1.65;
    }

    /* Keep the dark contact block proportionate instead of stretching its two
       content columns across an ultrawide viewport. */
    #zumi-native-emergency .zne-zumi-contact {
        grid-template-columns: minmax(0, 900px) minmax(430px, 570px);
        justify-content: center;
        gap: clamp(46px, 4vw, 84px);
    }

    #zumi-native-emergency .zne-zumi-contact__actions {
        width: 100%;
        max-width: 570px;
    }

    #zumi-native-emergency .zne-zumi-contact__local {
        font-size: clamp(13.5px, .7vw, 15.5px);
        line-height: 1.5;
    }

    #zumi-native-emergency .zne-zumi-contact__note {
        font-size: clamp(12.5px, .64vw, 14px);
        line-height: 1.5;
    }
}

/* On stacked/tablet layouts, prevent the red priority panel becoming a very
   long horizontal banner. Keep it substantial but visually contained. */
@media (min-width: 621px) and (max-width: 1199px) {
    #zumi-native-emergency .zne-priority-card {
        width: min(calc(100% - 56px), 780px);
        margin: 0 auto 28px;
    }
}

/* Footer/reference note should read like supporting copy, not a centred caption. */
#zumi-native-emergency .zne-source-note {
    max-width: 1920px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 23px;
    padding-left: 23px;
    text-align: left;
    font-size: clamp(11px, .62vw, 13.5px);
    line-height: 1.55;
}

@media (max-width: 620px) {
    #zumi-native-emergency .zne-source-note {
        padding-right: 9px;
        padding-left: 9px;
        font-size: 9.5px;
    }
}

/* =========================================================
   v1.0.8 — intermediate-width layout hardening
   ========================================================= */

/* The footer/reference line should align to the page edge at every viewport,
   never behave like a centred caption. */
#zumi-native-emergency .zne-source-note {
    display: block !important;
    width: calc(100% - 30px) !important;
    max-width: none !important;
    justify-self: stretch !important;
    margin: 0 15px 8px !important;
    padding: 0 !important;
    text-align: left !important;
}

/* The manual location search is deliberately stacked at all widths. The
   location panel can become narrow even when the viewport itself is wide,
   so a viewport-only breakpoint is not reliable here. */
#zumi-native-emergency .zne-manual__form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
}

#zumi-native-emergency .zne-manual__form input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

#zumi-native-emergency .zne-manual__form button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal;
}

/* Intermediate/tablet widths: enlarge supporting copy as well, rather than
   waiting until the 1200px desktop breakpoint. */
@media (min-width: 861px) and (max-width: 1199px) {
    #zumi-native-emergency .zne-section-head > p,
    #zumi-native-emergency .zne-zumi-contact__brand p {
        font-size: 14.5px;
        line-height: 1.65;
    }

    #zumi-native-emergency .zne-service-card__meta,
    #zumi-native-emergency .zne-service-card__content small {
        font-size: 11.5px;
        line-height: 1.48;
    }

    #zumi-native-emergency .zne-note-bar,
    #zumi-native-emergency .zne-gps-status,
    #zumi-native-emergency .zne-manual > p,
    #zumi-native-emergency .zne-map-panel__head p {
        font-size: 13px;
        line-height: 1.58;
    }

    #zumi-native-emergency .zne-guide-item p,
    #zumi-native-emergency .zne-safety-note,
    #zumi-native-emergency .zne-no-signal__list li,
    #zumi-native-emergency .zne-no-signal__callout p {
        font-size: 12.5px;
        line-height: 1.58;
    }
}

/* When the hero stacks, keep the priority message compact and centred rather
   than allowing it to turn into a very long red strip. */
@media (min-width: 621px) and (max-width: 1199px) {
    #zumi-native-emergency .zne-priority-card {
        width: min(calc(100% - 48px), 680px) !important;
        max-width: 680px !important;
        margin: 0 auto 26px !important;
        padding: clamp(28px, 4vw, 38px) !important;
    }

    /* Keep the Zumi contact panel itself proportionate and centre its inner
       content, so a wide card never leaves everything stranded at the left. */
    #zumi-native-emergency .zne-zumi-contact {
        display: block !important;
        width: min(calc(100% - 30px), 980px) !important;
        max-width: 980px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding: clamp(30px, 4vw, 48px) !important;
    }

    #zumi-native-emergency .zne-zumi-contact__brand {
        width: 100%;
        max-width: 840px;
        margin-right: auto;
        margin-left: auto;
    }

    #zumi-native-emergency .zne-zumi-contact__actions {
        width: 100%;
        max-width: 720px !important;
        margin: 26px auto 0 !important;
    }
}

@media (max-width: 620px) {
    #zumi-native-emergency .zne-source-note {
        width: calc(100% - 18px) !important;
        margin-right: 9px !important;
        margin-left: 9px !important;
        padding: 0 !important;
        text-align: left !important;
    }

    /* Return the contact card to the normal mobile page width. */
    #zumi-native-emergency .zne-zumi-contact {
        width: auto !important;
        max-width: none !important;
        margin-right: 9px !important;
        margin-left: 9px !important;
    }

    #zumi-native-emergency .zne-zumi-contact__brand,
    #zumi-native-emergency .zne-zumi-contact__actions {
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}


/* =========================================================
   v1.0.9 — NamTrack remote-trip monitoring + satellite icon
   ========================================================= */
#zumi-native-emergency .zne-tracking {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding: clamp(24px, 2.6vw, 38px);
    background: linear-gradient(135deg, #FFF8F2 0%, #FFFFFF 100%);
    border: 1px solid #EBDDD3;
    box-shadow: 0 12px 34px rgba(64, 42, 28, .05);
}

#zumi-native-emergency .zne-tracking__icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 4px;
    background: #FFF0E6;
    border: 1px solid rgba(232,94,42,.22);
}

#zumi-native-emergency .zne-tracking__icon img {
    display: block;
    width: 30px;
    height: 30px;
    object-fit: contain;
}

#zumi-native-emergency .zne-tracking .zne-eyebrow {
    margin-bottom: 7px;
}

#zumi-native-emergency .zne-tracking h2 {
    margin: 0;
    color: var(--zne-dark);
    font-size: clamp(22px, 2vw, 32px);
    line-height: 1.12;
    letter-spacing: -.025em;
}

#zumi-native-emergency .zne-tracking p {
    max-width: 970px;
    margin: 11px 0 0;
    color: #5C5550;
    font-size: clamp(14px, 1.05vw, 17px);
    line-height: 1.65;
}

#zumi-native-emergency .zne-no-signal__callout-icon img {
    display: block;
    width: 29px;
    height: 29px;
    object-fit: contain;
}

#zumi-native-emergency .zne-no-signal__callout--satellite .zne-no-signal__callout-icon {
    color: var(--zne-orange, #E85E2A);
    background: #FFFFFF;
    border: 1px solid rgba(232,94,42,.30);
}

@media (max-width: 767px) {
    #zumi-native-emergency .zne-tracking {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 12px;
        padding: 18px 16px;
        border-radius: 4px;
    }

    #zumi-native-emergency .zne-tracking__icon {
        width: 44px;
        height: 44px;
        border-radius: 4px;
    }

    #zumi-native-emergency .zne-tracking__icon img {
        width: 24px;
        height: 24px;
    }

    #zumi-native-emergency .zne-tracking h2 {
        font-size: 19px;
    }

    #zumi-native-emergency .zne-tracking p {
        margin-top: 8px;
        font-size: 12.5px;
        line-height: 1.58;
    }

    #zumi-native-emergency .zne-no-signal__callout-icon img {
        width: 24px;
        height: 24px;
    }
}


/* =========================================================
   v1.0.11 — integrated remote-road cards + NamTrack panel
   ========================================================= */

/* NamTrack behaves like the other page sections instead of floating as a
   narrow card in the middle of the page. */
#zumi-native-emergency .zne-tracking {
    display: block;
    width: auto;
    max-width: none;
    margin-right: 15px;
    margin-left: 15px;
    background:
        radial-gradient(circle at 96% 8%, rgba(232,94,42,.06), transparent 28%),
        #FBF8F5;
    border: 1px solid var(--zne-line);
    box-shadow: none;
}

#zumi-native-emergency .zne-tracking__head {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    max-width: 1320px;
}

#zumi-native-emergency .zne-tracking__icon {
    width: 78px;
    height: 78px;
    padding: 10px;
    background: #FFFFFF;
    border: 1px solid #E8DDD6;
    border-radius: 4px;
    overflow: hidden;
}

#zumi-native-emergency .zne-tracking__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#zumi-native-emergency .zne-tracking h2 {
    max-width: 1000px;
}

#zumi-native-emergency .zne-tracking p {
    max-width: 1080px;
}

/* No-signal guidance uses actual action icons rather than tiny red bullets. */
#zumi-native-emergency .zne-no-signal__list li {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    padding: 15px 17px;
}

#zumi-native-emergency .zne-no-signal__list li::before {
    content: none;
}

#zumi-native-emergency .zne-no-signal__item-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    background: #FFF1EC;
    border: 1px solid rgba(232,94,42,.18);
    border-radius: 4px;
}

#zumi-native-emergency .zne-no-signal__item-icon img {
    display: block;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

/* Satellite-phone and ultimate-contingency advice are now integrated into the
   no-cell-service panel as a matched pair of important guidance cards. */
#zumi-native-emergency .zne-no-signal__callout-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 10px;
}

#zumi-native-emergency .zne-no-signal__callout-grid .zne-no-signal__callout {
    margin-top: 0;
    height: 100%;
}

#zumi-native-emergency .zne-no-signal__callout--remote {
    grid-template-columns: auto minmax(0, 1fr);
    background: linear-gradient(135deg, #FFF9F9 0%, #FFFFFF 100%);
    border-color: rgba(201,47,47,.18);
}

#zumi-native-emergency .zne-no-signal__callout-icon--remote {
    color: var(--zne-red);
    background: #FFF0F0;
    border: 1px solid rgba(201,47,47,.20);
}

#zumi-native-emergency .zne-no-signal__callout-icon--remote img {
    filter: none;
}

@media (max-width: 900px) {
    #zumi-native-emergency .zne-no-signal__callout-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    #zumi-native-emergency .zne-tracking {
        margin-right: 9px;
        margin-left: 9px;
    }

    #zumi-native-emergency .zne-tracking__head {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 12px;
    }

    #zumi-native-emergency .zne-tracking__icon {
        width: 54px;
        height: 54px;
        padding: 7px;
        border-radius: 4px;
    }

    #zumi-native-emergency .zne-no-signal__list li {
        min-height: 0;
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 11px;
        padding: 13px;
    }

    #zumi-native-emergency .zne-no-signal__item-icon {
        width: 38px;
        height: 38px;
        border-radius: 4px;
    }

    #zumi-native-emergency .zne-no-signal__item-icon img {
        width: 22px;
        height: 22px;
    }
}


/* v1.0.12 — ultimate-contingency heat warning icon asset update */


/* =========================================================
   v1.0.16 — iPhone / iPad embedded-map containment fix
   =========================================================
   Mobile Safari can resolve percentage iframe heights against the grid item
   incorrectly, causing the Google Maps embed to grow far beyond its card.
   Give the map viewport an explicit responsive height and absolutely contain
   the iframe inside it. This is safe on other browsers as well. */
#zumi-native-emergency .zne-map-panel {
    min-height: 0;
}

#zumi-native-emergency .zne-map-frame {
    position: relative;
    height: 520px;
    min-height: 0 !important;
    max-height: 520px;
    overflow: hidden;
    contain: layout paint;
}

#zumi-native-emergency .zne-map-frame iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    border: 0;
}

@media (max-width: 1199px) {
    #zumi-native-emergency .zne-map-panel {
        align-self: start;
        width: 100%;
    }

    #zumi-native-emergency .zne-map-frame {
        height: 440px;
        max-height: 440px;
    }
}

@media (max-width: 860px) {
    #zumi-native-emergency .zne-map-frame {
        height: 400px;
        max-height: 400px;
    }
}

@media (max-width: 620px) {
    #zumi-native-emergency .zne-map-frame {
        height: 340px;
        max-height: 340px;
    }
}

@media (max-width: 390px) {
    #zumi-native-emergency .zne-map-frame {
        height: 320px;
        max-height: 320px;
    }
}

/* ============================================================
   DISTRESS SIGNAL — v1.0.17
   Explicit-consent, location-required emergency alert flow.
   ============================================================ */
html.zne-distress-open,
body.zne-distress-open {
    overflow: hidden !important;
}

#zumi-native-emergency .zne-distress {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(24px, 3vw, 58px);
    padding: clamp(26px, 2.4vw, 46px);
    overflow: hidden;
    color: #2a1717;
    background:
        radial-gradient(circle at 92% 16%, rgba(201,47,47,.12), transparent 32%),
        linear-gradient(135deg, #fff7f5 0%, #fff 62%, #fff5f2 100%);
    border: 1px solid rgba(201,47,47,.25);
    border-radius: 4px;
    box-shadow: 0 14px 42px rgba(117,17,22,.06);
}

#zumi-native-emergency .zne-distress::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--zne-red), var(--zne-orange));
}

#zumi-native-emergency .zne-distress__content {
    min-width: 0;
    max-width: 1180px;
}

#zumi-native-emergency .zne-distress__content .zne-eyebrow {
    color: var(--zne-red);
}

#zumi-native-emergency .zne-distress h2 {
    margin: 0;
    color: #1d1715;
    font-size: clamp(28px, 2.25vw, 46px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -.032em;
}

#zumi-native-emergency .zne-distress__content > p {
    max-width: 990px;
    margin: 12px 0 0;
    color: #554b46;
    font-size: clamp(14px, .92vw, 18px);
    line-height: 1.62;
}

#zumi-native-emergency .zne-distress__content > small {
    display: block;
    max-width: 990px;
    margin-top: 10px;
    color: #756964;
    font-size: clamp(11px, .68vw, 13px);
    line-height: 1.55;
}

#zumi-native-emergency .zne-distress__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-width: min(100%, 330px);
    min-height: 58px;
    padding: 15px 21px;
    border: 1px solid #9e1e24;
    border-radius: 4px;
    color: #fff;
    background: linear-gradient(145deg, #c92f2f, #a51f24);
    box-shadow: 0 12px 28px rgba(169,31,37,.22);
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

#zumi-native-emergency .zne-distress__button:hover {
    background: linear-gradient(145deg, #b92727, #951b20);
    box-shadow: 0 15px 32px rgba(169,31,37,.28);
}

#zumi-native-emergency .zne-distress__button:active {
    transform: translateY(1px) scale(.985);
    box-shadow: 0 7px 18px rgba(169,31,37,.20);
}

#zumi-native-emergency .zne-distress__button:focus-visible,
#zumi-native-emergency .zne-distress-modal button:focus-visible,
#zumi-native-emergency .zne-distress-modal a:focus-visible {
    outline: 3px solid rgba(232,94,42,.42);
    outline-offset: 3px;
}

#zumi-native-emergency .zne-distress__button-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
}

#zumi-native-emergency .zne-distress__button-icon svg {
    width: 17px;
    height: 17px;
}

#zumi-native-emergency .zne-distress-modal[hidden] {
    display: none !important;
}

#zumi-native-emergency .zne-distress-modal {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: grid;
    place-items: center;
    padding: 18px;
}

#zumi-native-emergency .zne-distress-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(18, 12, 10, .72);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
}

#zumi-native-emergency .zne-distress-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 650px);
    max-height: min(88vh, 760px);
    overflow: auto;
    padding: clamp(27px, 4vw, 46px);
    color: #201a17;
    background: #fff;
    border: 1px solid rgba(113,65,47,.16);
    border-radius: 4px;
    box-shadow: 0 30px 90px rgba(0,0,0,.34);
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

#zumi-native-emergency .zne-distress-modal__close {
    position: absolute;
    top: 13px;
    right: 13px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    color: #6f625c;
    background: #f6f1ed;
    border: 1px solid #e9e1dc;
    border-radius: 50%;
    cursor: pointer;
    font-size: 25px;
    line-height: 1;
}

#zumi-native-emergency .zne-distress-modal__icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin-bottom: 20px;
    color: #fff;
    background: linear-gradient(145deg, #c92f2f, #a51f24);
    border-radius: 4px;
    box-shadow: 0 12px 25px rgba(169,31,37,.22);
}

#zumi-native-emergency .zne-distress-modal__icon svg {
    width: 29px;
    height: 29px;
}

#zumi-native-emergency .zne-distress-modal h2 {
    margin: 0;
    padding-right: 24px;
    color: #1b1715;
    font-size: clamp(25px, 2.2vw, 36px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.035em;
}

#zumi-native-emergency .zne-distress-modal__dialog > p {
    margin: 15px 0 0;
    color: #594f4a;
    font-size: 14.5px;
    line-height: 1.65;
}

#zumi-native-emergency .zne-distress-modal__location-note {
    padding: 12px 14px;
    color: #5f4d45 !important;
    background: #faf4f0;
    border: 1px solid #eee1d8;
    border-radius: 4px;
    font-size: 12.5px !important;
}

#zumi-native-emergency .zne-distress-modal__status {
    margin-top: 17px;
    padding: 12px 14px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

#zumi-native-emergency .zne-distress-modal__status[data-state="loading"] {
    color: #60481f;
    background: #fff5db;
    border: 1px solid #f0d98a;
}

#zumi-native-emergency .zne-distress-modal__status[data-state="success"] {
    color: #176438;
    background: #edf9f2;
    border: 1px solid #bfe4ce;
}

#zumi-native-emergency .zne-distress-modal__status[data-state="error"] {
    color: #8c1d22;
    background: #fff0f0;
    border: 1px solid #efc5c7;
}

#zumi-native-emergency .zne-distress-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
}

#zumi-native-emergency .zne-distress-modal__actions button,
#zumi-native-emergency .zne-distress-modal__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 18px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    touch-action: manipulation;
}

#zumi-native-emergency .zne-distress-modal__cancel {
    color: #453c38;
    background: #fff;
    border: 1px solid #dcd3cd;
}

#zumi-native-emergency .zne-distress-modal__proceed {
    color: #fff;
    background: linear-gradient(145deg, #c92f2f, #a51f24);
    border: 1px solid #9f1f24;
    box-shadow: 0 8px 20px rgba(169,31,37,.18);
}

#zumi-native-emergency .zne-distress-modal__actions button:active,
#zumi-native-emergency .zne-distress-modal__actions a:active {
    transform: translateY(1px) scale(.985);
}

@media (max-width: 900px) {
    #zumi-native-emergency .zne-distress {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    #zumi-native-emergency .zne-distress__button {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 560px) {
    #zumi-native-emergency .zne-distress {
        padding: 24px 20px;
    }

    #zumi-native-emergency .zne-distress h2 {
        font-size: clamp(26px, 8.2vw, 34px);
    }

    #zumi-native-emergency .zne-distress__content > p {
        font-size: 13.5px;
    }

    #zumi-native-emergency .zne-distress__button {
        min-height: 54px;
        padding: 13px 15px;
        font-size: 13px;
    }

    #zumi-native-emergency .zne-distress-modal {
        align-items: end;
        padding: 10px;
    }

    #zumi-native-emergency .zne-distress-modal__dialog {
        width: 100%;
        max-height: 90vh;
        padding: 28px 20px 20px;
        border-radius: 4px;
    }

    #zumi-native-emergency .zne-distress-modal h2 {
        font-size: clamp(24px, 7.4vw, 31px);
    }

    #zumi-native-emergency .zne-distress-modal__dialog > p {
        font-size: 13.5px;
    }

    #zumi-native-emergency .zne-distress-modal__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    #zumi-native-emergency .zne-distress-modal__actions button,
    #zumi-native-emergency .zne-distress-modal__actions a {
        width: 100%;
    }
}


/* ============================================================
   v1.0.19 — mobile emergency-control polish
   ============================================================ */

/* Supplied distress/contact icon assets. Keep them the same white as the
   button labels regardless of the source SVG's original fill colour. */
#zumi-native-emergency .zne-distress__button-icon img,
#zumi-native-emergency .zne-distress-modal__icon img,
#zumi-native-emergency .zne-action__icon,
#zumi-native-emergency .zne-distress-modal__contact img {
    display: block;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

#zumi-native-emergency .zne-distress__button-icon img {
    width: 19px;
    height: 19px;
}

#zumi-native-emergency .zne-distress-modal__icon img {
    width: 31px;
    height: 31px;
}

#zumi-native-emergency .zne-action__icon {
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
}

/* Both Zumi contact actions now use white iconography and white labels. */
#zumi-native-emergency .zne-action--whatsapp {
    color: #FFFFFF;
    background: #1FA855;
    border: 1px solid #178846;
}

#zumi-native-emergency .zne-action--call {
    border: 1px solid rgba(255,255,255,.10);
}

/* Failure/rate-limit contact actions inside the distress modal. */
#zumi-native-emergency .zne-distress-modal__contact {
    gap: 8px;
    color: #FFFFFF;
    text-decoration: none;
    border: 1px solid transparent;
    box-shadow: 0 8px 20px rgba(23,19,17,.12);
}

#zumi-native-emergency .zne-distress-modal__contact img {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
}

#zumi-native-emergency .zne-distress-modal__contact--call {
    background: var(--zne-orange);
    border-color: #E85E2A;
}

#zumi-native-emergency .zne-distress-modal__contact--whatsapp {
    background: #1FA855;
    border-color: #178846;
}

/* The hero is stacked on every non-desktop layout. In that state the
   immediate-priority panel should span the hero from edge to edge instead
   of becoming a narrow centred card. The >=1200px side-by-side hero is left
   exactly as it was. */
@media (max-width: 1199px) {
    #zumi-native-emergency .zne-priority-card {
        box-sizing: border-box;
        align-self: stretch;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 4px !important;
    }

    /* iPad/Safari containment: do not ask an auto grid column to preserve a
       fixed-width emergency button. Stack it below the copy before the layout
       can become narrow enough to clip it. */
    #zumi-native-emergency .zne-distress {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px;
    }

    #zumi-native-emergency .zne-distress__content,
    #zumi-native-emergency .zne-distress__button {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    #zumi-native-emergency .zne-distress__button {
        box-sizing: border-box;
        width: 100% !important;
        justify-self: stretch;
        white-space: normal;
        overflow-wrap: normal;
    }
}

@media (max-width: 620px) {
    #zumi-native-emergency .zne-priority-card {
        padding: 21px !important;
        border-radius: 0 0 4px 4px !important;
    }
}

/* Immediate touch confirmation used elsewhere on Zumi: orange outline/ring
   and a short scale-down. JavaScript only adds .is-pressed on mobile/iPad /
   coarse-pointer contexts, and it does not delay the actual action. */
@media (max-width: 1199px), (hover: none), (pointer: coarse) {
    #zumi-native-emergency .zne-offline-download__button,
    #zumi-native-emergency .zne-service-card__call,
    #zumi-native-emergency .zne-gps-button,
    #zumi-native-emergency .zne-copy-button,
    #zumi-native-emergency .zne-manual__form button,
    #zumi-native-emergency .zne-map-open,
    #zumi-native-emergency .zne-action,
    #zumi-native-emergency .zne-distress__button,
    #zumi-native-emergency .zne-distress-modal__actions button,
    #zumi-native-emergency .zne-distress-modal__actions a {
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        transition:
            transform 80ms ease,
            box-shadow 80ms ease,
            border-color 80ms ease !important;
        transform-origin: center;
    }

    #zumi-native-emergency .zne-offline-download__button.is-pressed,
    #zumi-native-emergency .zne-service-card__call.is-pressed,
    #zumi-native-emergency .zne-gps-button.is-pressed,
    #zumi-native-emergency .zne-copy-button.is-pressed,
    #zumi-native-emergency .zne-manual__form button.is-pressed,
    #zumi-native-emergency .zne-map-open.is-pressed,
    #zumi-native-emergency .zne-action.is-pressed,
    #zumi-native-emergency .zne-distress__button.is-pressed,
    #zumi-native-emergency .zne-distress-modal__actions button.is-pressed,
    #zumi-native-emergency .zne-distress-modal__actions a.is-pressed {
        border-color: var(--zne-orange) !important;
        box-shadow:
            0 0 0 2px rgba(232,94,42,.16),
            0 3px 10px rgba(0,0,0,.055) !important;
        transform: scale(.97) !important;
    }
}


/* ZUMI SOFT DESERT DESIGN SYSTEM — 2026-10-08
   Consistent 4px soft corners on sections, buttons, media, images and icon tiles.
   SVG artwork, image pixels, sizing, layout, and interactive behaviour unchanged.
   Doubled ID specificity intentionally supersedes previous square-corner rules.
*/
#zumi-native-emergency#zumi-native-emergency { --zne-orange:#E85E2A;--zne-orange-deep:#E85E2A; --zumi-corner: 4px; }

/* Keep native radio circles identifiable as radio inputs. */
#zumi-native-emergency#zumi-native-emergency input[type="radio"] { border-radius: 50% !important; }
/* Preserve contrast: pale sand is used on photographic/dark hero kickers. */

/* ZUMI BUTTON PALETTE — screenshot-matched orange #E85E2A (2026-10-08).
   Surface-only accents: preserves section colours, body copy, images and 4px corners. */
#zumi-native-emergency#zumi-native-emergency .zne-action--call { background:#E85E2A !important; border-color:#E85E2A !important; color:#FFFFFF !important; }
#zumi-native-emergency#zumi-native-emergency .zne-action--call:is(:hover,:focus-visible):not(:disabled):not(.is-disabled) { background:#E85E2A !important; border-color:#E85E2A !important; color:#FFFFFF !important; }
#zumi-native-emergency#zumi-native-emergency .zne-distress-modal__contact--call { background:#E85E2A !important; border-color:#E85E2A !important; color:#FFFFFF !important; }
#zumi-native-emergency#zumi-native-emergency .zne-distress-modal__contact--call:is(:hover,:focus-visible):not(:disabled):not(.is-disabled) { background:#E85E2A !important; border-color:#E85E2A !important; color:#FFFFFF !important; }


/* ZUMI: 4px on ordinary content surfaces; original banner artwork/radii preserved. */
#zumi-native-emergency#zumi-native-emergency .zne-distress,
#zumi-native-emergency#zumi-native-emergency .zne-distress-modal__dialog,
#zumi-native-emergency#zumi-native-emergency .zne-distress-modal__location-note,
#zumi-native-emergency#zumi-native-emergency .zne-guide-item,
#zumi-native-emergency#zumi-native-emergency .zne-location-panel,
#zumi-native-emergency#zumi-native-emergency .zne-map-panel,
#zumi-native-emergency#zumi-native-emergency .zne-no-signal__callout,
#zumi-native-emergency#zumi-native-emergency .zne-note-bar,
#zumi-native-emergency#zumi-native-emergency .zne-priority-card,
#zumi-native-emergency#zumi-native-emergency .zne-safety-note,
#zumi-native-emergency#zumi-native-emergency .zne-service-card,
#zumi-native-emergency#zumi-native-emergency .zne-tracking,
.zne-distress-modal__dialog,
#zumi-native-emergency#zumi-native-emergency .zne-no-signal__list li {border-radius:4px!important;}

/* Corner radius for real controls only, never banner layers or decorative pseudo-elements. */
#zumi-native-emergency#zumi-native-emergency :is(button, input:not([type="radio"]), textarea, select, a[class*="btn"], a[class*="button"], a[class*="action"]) {border-radius:4px!important;}

/* Final solid orange surface contract — all orange action states use exact #E85E2A. */
#zumi-native-emergency#zumi-native-emergency .zne-action--call, #zumi-native-emergency#zumi-native-emergency .zne-action--call:hover, #zumi-native-emergency#zumi-native-emergency .zne-action--call:focus, #zumi-native-emergency#zumi-native-emergency .zne-action--call:focus-visible, #zumi-native-emergency#zumi-native-emergency .zne-action--call:active {background-color:#E85E2A!important; border-color:#E85E2A!important;}


/* Zumi 2026-10-08: enforce 4px corners on every button-like control, including greyed-out, disabled and secondary span-based CTAs. Do not change pseudo-element artwork or the disabled state. */
#zumi-native-emergency#zumi-native-emergency :is(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  [role="link"][aria-disabled="true"][class*="button"],
  [aria-disabled="true"][class*="btn"],
  [aria-disabled="true"][class*="button"],
  [aria-disabled="true"][class*="action"],
  a[class*="btn"]:not([class*="icon"]),
  a[class*="button"]:not([class*="icon"]),
  a[class*="action"]:not([class*="actions"]):not([class*="icon"]),
  .zne-action,
  .zne-copy-button,
  .zne-distress__button,
  .zne-gps-button,
  .zne-offline-download__button
) {
  border-radius: 4px !important;
}


/* ZUMI BANNER HEADING TYPE — POPPINS, October 2026.
   Scope: large banner/hero headings only. Body, controls and other headings stay Roboto.
   Existing sizes, layout, colour, weight and decoration are unchanged. */
#zumi-native-emergency#zumi-native-emergency .zne-hero h1 {
  font-family: "Zumi Poppins", "Poppins", Arial, sans-serif !important;
  letter-spacing: -.032em !important;
}
#zumi-native-emergency#zumi-native-emergency .zne-hero h1 span {
  font-family: "Zumi Poppins", "Poppins", Arial, sans-serif !important;
}
