/* =========================
ROOT VARIABLES
========================= */

:root {

--angitu-black:#071513;
--angitu-dark:#102522;
--angitu-teal:#12a6b5;
--angitu-green:#008f5a;
--angitu-white:#ffffff;
--angitu-grey:#f2f5f4;
--angitu-text:#152126;
--angitu-gold:#c9a227;

}




/* =========================
BASE
========================= */


* {

box-sizing:border-box;

}



html {

scroll-behavior:smooth;

}



body {

margin:0;

font-family:

Montserrat,
Arial,
sans-serif;

background:#f5f7f6;

color:var(--angitu-text);

}

/* =========================
HEADER
Angitū Brand Navigation
========================= */


.topbar {

display:flex;

align-items:center;

justify-content:space-between;

height:88px;

padding:0 40px;

background:var(--angitu-black);

color:white;

position:relative;

z-index:50;

}



.brand {

display:flex;

align-items:center;

gap:14px;

}



.brand-logo {

width:58px;

height:58px;

object-fit:contain;

}



.brand-name {

display:flex;

flex-direction:column;

line-height:1;

}



.brand-name span {

font-size:26px;

font-weight:900;

letter-spacing:1px;

}



.brand-name strong {

font-size:12px;

letter-spacing:3px;

margin-top:6px;

color:var(--angitu-teal);

}



.main-nav {

display:flex;

align-items:center;

gap:30px;

}



.main-nav a {

color:white;

text-decoration:none;

font-weight:700;

font-size:15px;

}



.main-nav a:hover {

color:var(--angitu-teal);

}



.weather-widget {

font-weight:700;

font-size:14px;

}

.app-shell {

min-height:100vh;

}





/* =========================
LOCATION BUTTON
Header Location Control
========================= */


.header-location button {

    border:none;

    background:var(--angitu-teal);

    color:white;

    padding:8px 16px;

    border-radius:25px;

    font-size:14px;

    font-weight:800;

    cursor:pointer;

    transition:.2s ease;

}





.header-location button:hover {

    opacity:.85;

}





.header-location button:active {

    transform:scale(.96);

}





.mobile-menu {

display:none;

}





/* =========================
HERO
Living Location Layout
========================= */


.hero-block {

    max-width:1410px;

    margin:0 auto;

    min-height:420px;

    background:
    linear-gradient(
        120deg,
        rgba(7,21,19,.96),
        rgba(16,37,34,.92)
    );

    border-radius:0 0 35px 35px;

    padding:55px 65px;

    color:white;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;

}





.hero-content {

    flex:1;

    max-width:760px;

}





.eyebrow {

    font-size:15px;

    font-weight:800;

    letter-spacing:2px;

    color:var(--angitu-teal);

    margin-bottom:15px;

}





.hero-content h1 {

    font-size:56px;

    line-height:1.05;

    margin:15px 0;

}





.hero-copy {

    font-size:20px;

    line-height:1.5;

    max-width:700px;

}





.hero-search {

    margin-top:30px;

    max-width:760px;

    background:white;

    border-radius:50px;

    padding:15px 25px;

    display:flex;

    align-items:center;

    gap:15px;

    box-shadow:
    0 10px 25px rgba(0,0,0,.2);

}





.hero-search input {

    flex:1;

    border:none;

    outline:none;

    font-size:17px;

}





.hero-search button {

    border:none;

    background:none;

    font-size:28px;

    cursor:pointer;

}





/* =========================
LOCATION INTELLIGENCE CARD
========================= */

.location-intelligence {
    width:420px;
    max-width:100%;
    flex-shrink:0;
    background:#ffffff;
    color:var(--angitu-text);
    border:1px solid rgba(0,0,0,0.06);
    border-radius:32px;
    padding:30px;
    box-shadow:0 18px 45px rgba(0,0,0,0.20);
}

.location-card-header {
    display:flex;
    align-items:center;
    gap:16px;
}

.location-card-header span {
    font-size:36px;
    flex-shrink:0;
}

.location-card-header b {
    display:block;
    font-size:21px;
    line-height:1.25;
    font-weight:800;
}

.location-card-header small {
    display:block;
    margin-top:5px;
    color:#667085;
    font-size:13px;
    line-height:1.4;
}

.location-stats {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:28px;
}

.location-stats div {
    min-width:0;
    background:var(--angitu-grey);
    padding:17px 8px;
    border-radius:18px;
    text-align:center;
}

.location-stats strong {
    display:block;
    font-size:28px;
    line-height:1.2;
    color:var(--angitu-teal);
    font-weight:900;
}

.location-stats span {
    display:block;
    margin-top:6px;
    font-size:12px;
    line-height:1.35;
    font-weight:700;
}

.location-updated {
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:22px;
    padding-top:16px;
    border-top:1px solid #e5e7eb;
    font-size:13px;
    line-height:1.4;
    color:#667085;
}

/* Keep the location card usable on smaller screens */
@media (max-width: 900px) {
    .location-intelligence {
        width:100%;
        max-width:520px;
        padding:24px;
    }
}

@media (max-width: 480px) {
    .location-intelligence {
        padding:20px;
        border-radius:24px;
    }

    .location-stats {
        gap:7px;
        margin-top:22px;
    }

    .location-stats div {
        padding:14px 5px;
        border-radius:14px;
    }

    .location-stats strong {
        font-size:24px;
    }

    .location-stats span {
        font-size:11px;
    }
}


/* =========================
MAIN WIDTH CONTROL
========================= */


.hero-block,
.support-section,
.dashboard-grid,
.provider-panel,
.trust-strip,
footer {

    max-width:1410px;

    width:100%;

}


/* =========================
SUPPORT TILES
Living Category Cards
========================= */


.needs-grid {

    display:grid;

    grid-template-columns:
    repeat(5,1fr);

    gap:20px;

}





.support-tile {

    position:relative;

    min-height:240px;

    border:none;

    border-radius:28px;

    overflow:hidden;

    cursor:pointer;

    padding:0;

    background:var(--angitu-dark);

    color:white;

    text-align:left;

    box-shadow:
    0 10px 25px rgba(0,0,0,.18);

    transition:.25s ease;

}





.support-tile:hover {

    transform:translateY(-5px);

    box-shadow:
    0 18px 35px rgba(0,0,0,.25);

}





.tile-image {

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    opacity:.55;

}





.support-tile::after {

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        180deg,
        rgba(7,21,19,.15),
        rgba(7,21,19,.9)
    );

}





.tile-content {

    position:absolute;

    inset:0;

    z-index:2;

    padding:22px;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

}





.tile-icon {

    font-size:34px;

    margin-bottom:8px;

}





.tile-content h3 {

    margin:0 0 8px;

    font-size:22px;

    color:white;

}





.tile-content p {

    margin:0;

    font-size:14px;

    line-height:1.4;

    color:#f1f1f1;

    max-width:90%;

}





.tile-arrow {

    position:absolute;

    right:22px;

    bottom:22px;

    font-size:34px;

    font-weight:800;

    color:var(--angitu-gold);

}





.support-tile.emergency {

    border:2px solid #b3261e;

}




/* ==================================================
MAIN DASHBOARD
================================================== */


.dashboard-grid {

margin:40px auto;

padding:0 20px;

display:grid;

grid-template-columns:

2fr 1fr;

gap:25px;

}





.panel {

background:white;

border-radius:28px;

padding:30px;

box-shadow:

0 10px 30px rgba(0,0,0,.08);

}





.panel h2 {

font-size:30px;

margin-top:0;

}





.update-card {

background:#eef5f4;

border-radius:18px;

padding:20px;

font-size:16px;

margin-bottom:15px;

}


/* ==================================================
DASHBOARD SIDEBAR ARCHITECTURE
Supports new index.html layout
================================================== */


.dashboard-sidebar {

    display:flex;

    flex-direction:column;

    gap:25px;

}

.dashboard-sidebar .live-panel,
.dashboard-sidebar .help-panel {

width:100%;

}


/* ==================================================
LIVE COMMUNITY UPDATES
================================================== */


.live-panel {

border-top:
6px solid var(--angitu-teal);

min-height:300px;

}





.live-panel h2 {

display:flex;

align-items:center;

gap:10px;

}





.live-panel .update-card {

background:#f7fbfa;

border-left:

4px solid var(--angitu-teal);

}





/* ==================================================
AVAILABLE SERVICE CARDS
================================================== */


.services-panel {

min-height:520px;

}





.service-card {

display:grid;

grid-template-columns:

100px 1fr;

gap:18px;

padding:18px;

border-radius:20px;

background:#f4f7f7;

margin-bottom:15px;

}





.service-card img {

width:100px;

height:100px;

object-fit:cover;

border-radius:15px;

}





.service-actions {

display:flex;

gap:10px;

}





.service-actions a {

padding:10px 18px;

border-radius:25px;

text-decoration:none;

font-weight:bold;

background:

var(--angitu-green);

color:white;

}





/* ==================================================
COMPACT NEED HELP SUPPORT AREA
Dashboard Sidebar Component
================================================== */


.help-panel {

padding:25px;

margin:0;

min-height:auto;

}





.emergency-banner {

background:#d8342b;

border-radius:25px;

color:white;

box-shadow:

0 10px 30px rgba(0,0,0,.15);

}





.emergency-inner {

display:flex;

align-items:center;

justify-content:space-between;

gap:25px;

}





.emergency-text h2 {

font-size:32px;

margin:0 0 8px;

}





.emergency-text p {

font-size:18px;

}





.emergency-actions {

display:flex;

flex-wrap:wrap;

gap:12px;

}





.help-button {

background:white;

color:#b71c1c;

padding:

14px 22px;

border-radius:30px;

font-weight:900;

text-decoration:none;

display:inline-block;

}





.help-button.emergency {

background:#111;

color:white;

}

/* ==================================================
PANEL HEADERS
================================================== */


.panel-header {

display:flex;

align-items:center;

justify-content:space-between;

gap:15px;

margin-bottom:20px;

}





.panel-header h2 {

margin:0;

}



.panel-header button {

border:none;

background:none;

color:var(--angitu-teal);

font-weight:800;

cursor:pointer;

font-size:15px;

}

/* ==================================================
LIVING SERVICE STATUS
================================================== */


.service-status {

display:inline-flex;

align-items:center;

gap:6px;

font-weight:800;

font-size:13px;

}





.service-meta {

display:flex;

gap:15px;

flex-wrap:wrap;

font-size:13px;

color:#667;

margin-top:10px;

}


/* ==================================================
PROVIDER PANEL
================================================== */


.provider-panel {

margin:40px auto;

padding:40px;

background:

linear-gradient(
120deg,
#071513,
#063b3b
);

border-radius:30px;

color:white;

display:flex;

flex-direction:column;

gap:15px;

}





.provider-panel h2 {

font-size:36px;

margin-top:0;

}





.provider-panel p {

font-size:19px;

max-width:850px;

line-height:1.5;

}





.provider-panel button {

background:

var(--angitu-teal);

color:white;

border:none;

padding:

15px 28px;

border-radius:30px;

font-size:17px;

font-weight:800;

cursor:pointer;

margin-right:12px;

}

.provider-panel button {

width:max-content;

}

/* ==================================================
TRUST STRIP
================================================== */


.trust-strip {

max-width:1410px;

margin:40px auto;

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

padding:0 20px;

}





.trust-strip > div {

background:white;

border-radius:25px;

padding:25px;

box-shadow:

0 8px 20px rgba(0,0,0,.08);

}





.trust-strip b {

display:block;

font-size:20px;

margin-bottom:8px;

color:var(--angitu-dark);

}





.trust-strip small {

display:block;

font-size:15px;

color:#667;

line-height:1.5;

}




/* ==================================================
FOOTER
================================================== */


footer {

max-width:1410px;

margin:40px auto 20px;

padding:25px;

display:flex;

justify-content:center;

align-items:center;

gap:15px;

flex-wrap:wrap;

}





footer button {

border:none;

background:white;

color:var(--angitu-dark);

padding:12px 25px;

border-radius:30px;

font-weight:800;

cursor:pointer;

box-shadow:

0 5px 15px rgba(0,0,0,.08);

transition:.2s ease;

}





footer button:hover {

background:var(--angitu-teal);

color:white;

}





footer button:active {

transform:scale(.96);

}




/* ==================================================
SCREEN VIEWS
================================================== */


.screen {

position:fixed;

inset:0;

background:#f5f7f6;

z-index:200;

overflow:auto;

}





.screen.hidden {

display:none;

}





.screen-top {

background:

var(--angitu-black);

color:white;

padding:20px;

display:flex;

align-items:center;

gap:20px;

}





.screen-top button {

background:none;

border:none;

color:white;

font-size:20px;

cursor:pointer;

}

/* ==================================================
SCREEN CONTENT
================================================== */


.screen-content,
#screenContent {

max-width:1100px;

margin:0 auto;

padding:30px;

}





#screenMeta {

font-weight:800;

font-size:20px;

}



/* ==================================================
DESKTOP REFINEMENT
================================================== */


@media(min-width:1200px){

.dashboard-grid {

grid-template-columns:

2.2fr 1fr;

gap:30px;

}

.hero-block {

margin-top:0;

}



.support-section {

padding-left:0;

padding-right:0;

}



.dashboard-grid {

padding-left:0;

padding-right:0;

}



.provider-panel {

padding-left:45px;

padding-right:45px;

}


}





/* ==================================================
TABLET
================================================== */


@media(max-width:1100px){


.topbar {

padding:0 20px;

}



.main-nav {

display:none;

}



.weather-widget {

display:none;

}



.header-location {

min-width:auto;

}



.hero-block {

padding:45px 30px;

flex-direction:column;

align-items:stretch;

}



.hero-content h1 {

font-size:45px;

}



.needs-grid {

grid-template-columns:

repeat(2,1fr);

}



.dashboard-grid {

grid-template-columns:1fr;

}

.dashboard-sidebar {

width:100%;

}

.emergency-inner {

flex-direction:column;

align-items:flex-start;

}


}





/* ==================================================
MOBILE
================================================== */


@media(max-width:600px){

.location-intelligence {

width:auto;

}


.location-stats {

grid-template-columns:1fr;

}

.brand-name span {

font-size:24px;

}



.brand-name strong {

font-size:13px;

}



.hero-content h1 {

font-size:36px;

}



.hero-copy {

font-size:18px;

}



.needs-grid {

grid-template-columns:1fr;

}



.support-tile {

height:160px;

}



.panel {

padding:25px;

}



.provider-panel {

margin:25px 15px;

padding:30px;

}



.provider-panel button {

width:100%;

margin-bottom:12px;

}



.trust-strip {

grid-template-columns:1fr;

}



footer {

flex-wrap:wrap;

}


}


/* ==================================================
END COMPLETE STYLESHEET
================================================== */


/* =========================================================
   PLATINUM DASHBOARD INTEGRATION — FULL LAYOUT PASS
   ========================================================= */
:root {
  --angitu-black:#071513;
  --angitu-dark:#102522;
  --angitu-teal:#12a6b5;
  --angitu-green:#008f5a;
  --angitu-white:#fff;
  --angitu-grey:#f2f5f4;
  --angitu-text:#152126;
  --angitu-gold:#c9a227;
  --page-width:1440px;
}
[hidden], .hidden { display:none !important; }
body { background:#f3f7f6; color:var(--angitu-text); }
.app-shell { overflow:hidden; }
.topbar {
  width:100%; min-height:82px; height:auto; padding:14px clamp(18px,4vw,56px);
  gap:24px; background:var(--angitu-black); border-bottom:3px solid var(--angitu-teal);
}
.brand { flex-shrink:0; gap:12px; }
.brand-logo { width:48px; height:48px; }
.brand-name span { font-size:24px; letter-spacing:1.5px; }
.brand-name strong { font-size:10px; letter-spacing:3px; }
.main-nav { gap:clamp(14px,2.2vw,34px); }
.main-nav a { cursor:pointer; transition:color .2s ease; }
.weather-widget { display:flex; align-items:center; gap:10px; padding:9px 13px; border:1px solid rgba(255,255,255,.13); border-radius:14px; }
.weather-widget small { display:block; color:#c3d5d2; margin-top:3px; }
.header-location { display:none !important; }
.mobile-menu {
  display:none; border:1px solid rgba(255,255,255,.25); border-radius:12px;
  background:transparent; color:white; padding:9px 12px; cursor:pointer;
}
.hero-block {
  max-width:var(--page-width); width:calc(100% - 40px); min-height:450px;
  margin:22px auto 0; padding:clamp(28px,4.5vw,68px);
  border:1px solid rgba(18,166,181,.22); border-radius:32px;
  background:
    radial-gradient(ellipse at 88% 18%,rgba(18,166,181,.24),transparent 35%),
    linear-gradient(120deg,#071513 0%,#102522 65%,#0b3435 100%);
  gap:clamp(28px,4vw,64px); box-shadow:0 22px 55px rgba(7,21,19,.15);
}
.hero-content { max-width:780px; }
.eyebrow { font-size:12px; letter-spacing:2.4px; color:#43d3d7; }
.hero-content h1 { font-size:clamp(38px,4.2vw,64px); letter-spacing:-1.7px; line-height:1.02; max-width:780px; }
.hero-copy { max-width:670px; color:#d8e5e2; font-size:clamp(16px,1.45vw,20px); }
.hero-search {
  width:100%; max-width:760px; min-height:68px; margin-top:28px; padding:9px 12px 9px 22px;
  border-radius:18px; box-shadow:0 12px 30px rgba(0,0,0,.18); gap:12px;
}
.hero-search > span { font-size:26px; color:#526a69; }
.hero-search input { min-width:0; color:#142524; }
.hero-search input::placeholder { color:#7c8b89; }
.hero-search button { width:46px; height:46px; border-radius:13px; color:white; background:var(--angitu-teal); font-size:24px; }
.hero-search button:hover { background:#087d88; }
.location-intelligence {
  width:390px; min-width:320px; padding:26px; border:1px solid rgba(255,255,255,.7);
  border-radius:26px; box-shadow:0 24px 60px rgba(0,0,0,.25);
}
.location-card-header { gap:13px; }
.location-card-header > span { width:52px; height:52px; display:grid; place-items:center; border-radius:16px; background:#e0f7f6; font-size:27px; }
.location-card-header b { font-size:20px; overflow-wrap:anywhere; }
.location-card-header small { color:#60716f; }
.location-change { display:block; margin-top:12px; border:0; background:transparent; color:#078d98; font-weight:800; cursor:pointer; padding:4px 0; text-align:left; }
.location-stats { gap:8px; margin-top:24px; }
.location-stats div { background:#f1f7f6; border:1px solid #e2eeec; border-radius:15px; padding:15px 5px; }
.location-stats strong { font-size:27px; }
.location-stats span { font-size:11px; }
.location-updated { font-size:11px; color:#6b7b79; margin-top:17px; padding-top:14px; }
.support-section { max-width:var(--page-width); width:calc(100% - 40px); margin:54px auto 0; padding:0; }
.section-head { margin-bottom:22px; }
.section-head h2 { font-size:clamp(25px,2.5vw,34px); letter-spacing:-.7px; margin:0; }
.needs-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.support-tile {
  min-height:205px; border-radius:22px; background:linear-gradient(135deg,#0c2926,#14504e);
  box-shadow:0 10px 24px rgba(9,42,38,.10); isolation:isolate;
}
.support-tile:nth-child(3n+2) { background:linear-gradient(135deg,#102522,#12666a); }
.support-tile:nth-child(3n) { background:linear-gradient(135deg,#102522,#264d40); }
.support-tile::after { background:linear-gradient(180deg,rgba(7,21,19,.08),rgba(7,21,19,.94)); }
.tile-image { opacity:.16; transition:transform .4s ease,opacity .3s ease; }
.support-tile:hover .tile-image { transform:scale(1.04); opacity:.25; }
.tile-content { padding:23px; }
.tile-icon { width:48px; height:48px; display:grid; place-items:center; background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.17); border-radius:15px; font-size:27px; margin-bottom:13px; }
.tile-content h3 { font-size:21px; margin-bottom:7px; }
.tile-content p { font-size:13px; color:#dce9e7; }
.tile-arrow { bottom:19px; right:20px; font-size:28px; }
.dashboard-grid {
  max-width:var(--page-width); width:calc(100% - 40px); margin:54px auto 0; padding:0;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.85fr); gap:22px; align-items:start;
}
.panel { padding:clamp(20px,2.5vw,32px); border:1px solid #e5eeec; border-radius:24px; box-shadow:0 10px 30px rgba(13,47,43,.06); }
.panel h2 { font-size:clamp(21px,2vw,27px); letter-spacing:-.5px; }
.panel-header { align-items:flex-start; }
.panel-header button { white-space:nowrap; }
.service-feed-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.service-result {
  min-width:0; padding:20px; border:1px solid #e2ecea; border-radius:19px; background:#fff;
  box-shadow:0 5px 18px rgba(14,47,43,.04); display:flex; flex-direction:column; gap:8px;
}
.service-result h3 { font-size:18px; line-height:1.25; margin:4px 0 0; overflow-wrap:anywhere; }
.result-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.result-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:12px; background:#e4f7f6; font-size:20px; }
.verification { display:inline-flex; align-items:center; border-radius:99px; padding:5px 8px; font-size:10px; line-height:1.2; font-weight:800; }
.verification.catalogued { background:#e5f5ed; color:#176447; }
.verification.needs-check { background:#fff2d8; color:#80520a; }
.result-org { margin:0; color:#536763; font-size:13px; font-weight:700; }
.result-meta { display:flex; align-items:flex-start; gap:6px; margin:0; color:#536763; font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.result-categories { margin:auto 0 0; padding-top:8px; color:#778682; font-size:11px; text-transform:uppercase; letter-spacing:.4px; }
.result-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding-top:9px; }
.result-actions button,.card-call,.primary-action,.secondary-action {
  display:inline-flex; justify-content:center; align-items:center; gap:6px; min-height:40px;
  border:0; border-radius:11px; padding:10px 14px; background:var(--angitu-teal); color:#fff;
  text-decoration:none; font-size:12px; font-weight:800; cursor:pointer;
}
.card-call { background:#e4f5f3; color:#096a70; }
.secondary-action { background:#edf3f2; color:#163b38; }
.empty-state { border:1px dashed #bdd2cf; border-radius:18px; background:#f7fbfa; padding:28px; color:#4d615d; }
.empty-state h3 { margin:0 0 8px; color:#183b37; font-size:19px; }
.empty-state p { line-height:1.55; }
.empty-state.compact { padding:22px; }
.live-panel { border-top:4px solid var(--angitu-teal); min-height:0; }
.live-panel .service-result { margin-bottom:12px; padding:16px; }
.live-panel .service-result h3 { font-size:16px; }
.live-panel .result-categories { padding-top:2px; }
.dashboard-sidebar { gap:22px; }
.emergency-banner { background:linear-gradient(135deg,#a81f26,#d8342b); border:0; }
.emergency-inner { align-items:flex-start; flex-direction:column; gap:8px; }
.emergency-text h2 { font-size:25px; }
.emergency-text p { font-size:14px; line-height:1.5; }
.emergency-actions { gap:8px; }
.help-button { padding:11px 14px; font-size:12px; }
.provider-panel {
  max-width:var(--page-width); width:calc(100% - 40px); margin:54px auto 0; padding:clamp(26px,4vw,48px);
  border:1px solid rgba(18,166,181,.25); background:radial-gradient(ellipse at 100% 0,rgba(18,166,181,.22),transparent 40%),linear-gradient(120deg,#071513,#0b3430);
}
.provider-panel h2 { font-size:clamp(26px,3vw,36px); }
.provider-panel p { color:#d5e5e2; font-size:16px; }
.provider-panel button { width:auto; margin:0 10px 8px 0; }
.trust-strip { max-width:var(--page-width); width:calc(100% - 40px); margin:30px auto; padding:0; gap:16px; }
.trust-strip > div { border:1px solid #e5eeec; border-radius:18px; box-shadow:none; }
footer { max-width:var(--page-width); width:calc(100% - 40px); margin:26px auto 18px; padding:18px 0 30px; border-top:1px solid #dce7e4; }
footer button { box-shadow:none; background:transparent; }
.screen { z-index:200; background:#f3f7f6; }
.screen-top { position:sticky; top:0; z-index:2; padding:16px clamp(18px,4vw,48px); }
#screenContent { max-width:var(--page-width); padding:32px clamp(18px,4vw,48px) 60px; }
.results-page { max-width:var(--page-width); margin:0 auto; }
.results-page > .eyebrow { margin:0 0 8px; }
.screen-title { margin:0; font-size:clamp(30px,4vw,44px); color:#12312d; letter-spacing:-1px; }
.screen-sub { margin:10px 0 26px; color:#5a6f6b; line-height:1.5; }
.results-page .service-result { margin-bottom:14px; }
.results-page .service-feed-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.detail-card { max-width:850px; margin:0 auto; padding:clamp(22px,4vw,40px); background:white; border:1px solid #e1ebe8; border-radius:24px; box-shadow:0 10px 28px rgba(13,47,43,.06); }
.detail-card h2 { font-size:25px; }
.detail-card p,.detail-card dd { color:#50635f; line-height:1.6; }
.detail-card dl { display:grid; grid-template-columns:150px 1fr; gap:12px; border-top:1px solid #e5eeec; padding-top:20px; }
.detail-card dt { font-weight:800; color:#1a3935; }
.detail-card dd { margin:0; }
.detail-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.location-screen-underlay { filter:blur(2px); }
#locationScreen { position:fixed; inset:0; overflow:auto; background:#f3f7f6; z-index:300; padding-bottom:40px; }
#locationScreen .screen-top { position:sticky; top:0; }
#locationScreen .screen-content { max-width:760px; margin:30px auto; padding:clamp(20px,4vw,40px); background:white; border:1px solid #e1ebe8; border-radius:24px; box-shadow:0 14px 38px rgba(13,47,43,.08); }
.location-choice { margin-bottom:22px; }
#useCurrentLocation { width:100%; min-height:50px; border:1px solid #c5dfdc; border-radius:13px; background:#e8f8f6; color:#09686e; font-weight:800; cursor:pointer; }
.location-divider { text-align:center; color:#82918e; font-size:12px; font-weight:800; margin:20px 0; }
.location-manual h2 { font-size:17px; margin:20px 0 9px; }
.field-label { display:block; margin:12px 0 7px; color:#45605b; font-size:13px; font-weight:800; }
#regionSelect,#citySelect { width:100%; min-height:52px; padding:12px 14px; border:1px solid #cfddda; border-radius:12px; background:#fff; color:#18332f; font:inherit; }
#confirmLocation { width:100%; margin-top:16px; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #e5bd4c; outline-offset:3px; }
@media(max-width:1100px) {
  .topbar { min-height:76px; padding:12px 22px; }
  .weather-widget { display:none; }
  .main-nav { display:flex; margin-left:auto; }
  .hero-block { width:calc(100% - 32px); flex-direction:column; align-items:stretch; padding:clamp(24px,5vw,42px); }
  .hero-content h1 { font-size:clamp(38px,6vw,54px); }
  .location-intelligence { width:100%; min-width:0; }
  .needs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-grid { width:calc(100% - 32px); grid-template-columns:1fr; }
  .service-feed-grid,.results-page .service-feed-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .support-section,.provider-panel,.trust-strip,footer { width:calc(100% - 32px); }
}
@media(max-width:650px) {
  .topbar { min-height:70px; padding:10px 15px; gap:12px; }
  .brand-logo { width:40px; height:40px; }
  .brand-name span { font-size:20px; }
  .brand-name strong { font-size:9px; letter-spacing:2px; }
  .main-nav { display:none; }
  .mobile-menu { display:inline-flex; margin-left:auto; }
  .hero-block { width:calc(100% - 20px); margin-top:10px; padding:26px 20px; border-radius:24px; }
  .hero-content h1 { font-size:clamp(34px,10vw,43px); }
  .hero-copy { font-size:16px; }
  .hero-search { min-height:58px; padding:7px 8px 7px 14px; border-radius:15px; }
  .hero-search input { font-size:14px; }
  .hero-search button { flex:0 0 40px; width:40px; height:40px; }
  .location-intelligence { padding:20px; }
  .location-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .location-stats div { padding:12px 4px; }
  .location-stats strong { font-size:23px; }
  .location-stats span { font-size:10px; }
  .support-section,.dashboard-grid,.provider-panel,.trust-strip,footer { width:calc(100% - 24px); }
  .support-section { margin-top:34px; }
  .needs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .support-tile { min-height:175px; border-radius:17px; }
  .tile-content { padding:15px; }
  .tile-icon { width:39px; height:39px; font-size:22px; margin-bottom:9px; }
  .tile-content h3 { font-size:16px; }
  .tile-content p { font-size:11px; }
  .tile-arrow { right:13px; bottom:13px; font-size:22px; }
  .dashboard-grid { margin-top:36px; }
  .panel { padding:17px; border-radius:19px; }
  .panel-header { flex-wrap:wrap; }
  .panel h2 { font-size:21px; }
  .service-feed-grid,.results-page .service-feed-grid { grid-template-columns:1fr; }
  .service-result { padding:17px; }
  .provider-panel { margin-top:36px; padding:25px 20px; border-radius:22px; }
  .provider-panel button { width:100%; margin:0 0 10px; }
  .trust-strip { grid-template-columns:1fr; }
  .trust-strip > div { padding:20px; }
  .detail-card dl { grid-template-columns:1fr; gap:5px; }
  .detail-card dd { margin-bottom:12px; }
  #locationScreen .screen-content { margin:15px 12px; padding:22px 18px; }
  #screenContent { padding:22px 14px 45px; }
}

.hero-search .search-submit {
  min-width:82px; width:auto; height:44px; padding:0 16px; border-radius:12px;
  background:var(--angitu-teal); color:#fff; font-size:13px; font-weight:900;
}
.hero-search .search-clear {
  width:34px; height:38px; flex:0 0 34px; border-radius:10px;
  background:transparent; color:#617572; font-size:24px;
}
@media(max-width:650px) {
  .hero-search .search-submit { min-width:64px; padding:0 10px; font-size:12px; }
  .hero-search .search-clear { width:28px; flex-basis:28px; }
}


/* =========================================================
   v1.4.0 — MOCK-UP ALIGNED DASHBOARD + MOBILE APP EXPERIENCE
   ========================================================= */
:root {
  --angitu-black:#020d10;
  --angitu-dark:#08211e;
  --angitu-teal:#00b889;
  --angitu-green:#078f5b;
  --angitu-gold:#f5ad16;
  --page-width:1240px;
}
body { background:#f4f8f7; }
.topbar {
  display:flex; align-items:center; gap:clamp(12px,2vw,28px);
  min-height:82px; padding:12px clamp(16px,3.8vw,48px);
  background:linear-gradient(100deg,#020d10,#03191a); border-bottom:1px solid rgba(0,184,137,.16);
}
.brand-logo { width:48px; height:48px; }
.brand-name span { font-size:clamp(20px,2vw,28px); }
.brand-name strong { color:#21c985; }
.main-nav { flex:1; justify-content:center; gap:clamp(12px,2.2vw,32px); }
.main-nav a { position:relative; padding:12px 0; font-size:12px; white-space:nowrap; }
.main-nav a:hover,.main-nav a.nav-active { color:#fff; }
.main-nav a.nav-active::after,.main-nav a:hover::after {
  content:""; position:absolute; left:0; right:0; bottom:3px; height:2px; border-radius:2px; background:#00b889;
}
.header-search-shortcut {
  min-width:210px; max-width:290px; display:flex; align-items:center; gap:10px;
  padding:12px 15px; border:1px solid rgba(255,255,255,.06); border-radius:99px;
  background:#0c252b; color:#b8c9cc; font-size:11px; cursor:pointer; white-space:nowrap; overflow:hidden;
}
.header-search-shortcut span:last-child { overflow:hidden; text-overflow:ellipsis; }
.header-search-shortcut span:first-child { font-size:22px; color:#fff; }
.header-city {
  display:flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.06);
  background:#0c252b; color:white; border-radius:99px; padding:12px 15px;
  font-size:11px; font-weight:800; white-space:nowrap; cursor:pointer;
}
.header-location { display:none !important; }
.mobile-menu { display:none; }
.hero-block {
  width:100%; max-width:none; min-height:300px; margin:0; padding:48px clamp(24px,3.8vw,52px) 30px;
  border-radius:0; gap:30px; position:relative; overflow:hidden;
  background-image:linear-gradient(90deg,rgba(1,13,15,.88) 0%,rgba(2,20,22,.67) 52%,rgba(1,20,18,.42) 100%),url("/hero.jpg");
  background-position:center 48%; background-size:cover; border-bottom:4px solid #e8f2ef;
}
.hero-content { max-width:760px; }
.hero-content h1 { font-size:clamp(34px,4vw,54px); line-height:1.03; letter-spacing:-1.4px; margin:12px 0; }
.hero-content h1 br { display:none; }
.hero-copy { max-width:650px; font-size:clamp(15px,1.4vw,19px); color:#f0f7f6; line-height:1.45; }
.eyebrow { color:#21d5a0; font-size:12px; letter-spacing:1.2px; }
.hero-search {
  max-width:740px; width:100%; margin-top:25px; padding:8px 9px 8px 18px;
  min-height:56px; border-radius:99px; gap:8px; box-shadow:0 10px 25px rgba(0,0,0,.17);
}
.hero-search .search-submit { min-width:94px; height:40px; border-radius:99px; background:#08a96f; }
.hero-search .search-clear { width:26px; flex-basis:26px; }
.location-intelligence {
  width:445px; min-width:345px; padding:22px; border-radius:22px;
  background:rgba(2,23,19,.91); color:#fff; border:1px solid rgba(0,184,137,.28);
  box-shadow:0 18px 45px rgba(0,0,0,.25); backdrop-filter:blur(8px);
}
.location-card-header { align-items:center; gap:12px; }
.location-card-header > span {
  width:46px; height:46px; display:grid; place-items:center; border-radius:50%;
  background:#064d39; color:#20d79b; font-size:25px;
}
.location-card-header b { color:#fff; font-size:19px; }
.location-card-header small { color:#c5d7d1; font-size:12px; }
.location-change { display:inline-flex; margin-top:8px; padding:7px 10px; border-radius:99px; background:#12372f; color:#e7fff7; font-size:10px; }
.location-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:18px; padding-top:15px; border-top:1px solid rgba(255,255,255,.15); }
.location-stats div { padding:5px 8px; border:0; border-right:1px solid rgba(255,255,255,.16); border-radius:0; background:transparent; }
.location-stats div:last-child { border-right:0; }
.location-stats strong { color:#fff; font-size:22px; }
.location-stats span { color:#e0efeb; font-size:10px; }
.location-updated { color:#b4c9c3; border-color:rgba(255,255,255,.15); font-size:10px; margin-top:12px; padding-top:10px; }
.discovery-layout {
  display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,.9fr); align-items:start;
  gap:30px; max-width:var(--page-width); width:calc(100% - 48px); margin:24px auto 0;
}
.discovery-main { min-width:0; }
.support-section { width:100%; max-width:none; margin:0; padding:0; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin:0 0 16px; }
.section-head h2 { font-size:clamp(22px,2.3vw,28px); letter-spacing:-.8px; margin:0; color:#0d1719; }
.section-head p { margin:6px 0 0; color:#5b6e74; font-size:12px; line-height:1.4; }
.text-link,.panel-header button {
  border:0; padding:8px 0; background:transparent; color:#006b51; font-size:11px; font-weight:900; cursor:pointer; white-space:nowrap;
}
.needs-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.support-tile {
  min-height:158px; height:158px; padding:0; border:1px solid #e8efed; border-radius:15px; overflow:hidden;
  display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; position:relative;
  background:linear-gradient(135deg,#d4e9e3,#8dbbb0); color:#0d1719; text-align:left;
  box-shadow:0 6px 17px rgba(17,49,43,.055); transition:transform .2s ease,box-shadow .2s ease;
}
.support-tile:hover { transform:translateY(-3px); box-shadow:0 12px 24px rgba(17,49,43,.12); }
.support-tile::after { display:none; }
.tile-image {
  display:block; position:relative; inset:auto; width:100%; height:76px; min-height:76px; flex:none;
  object-fit:cover; opacity:1; background:linear-gradient(135deg,#0d3c36,#73b6a8);
}
.tile-content {
  position:relative; inset:auto; display:block; min-height:82px; padding:18px 12px 10px 13px;
  background:#fff; color:#111d20; flex:1;
}
.tile-icon {
  position:absolute; top:-20px; left:12px; width:36px; height:36px; margin:0;
  display:grid; place-items:center; border-radius:50%; background:#078f5b; border:2px solid #fff;
  color:white; font-size:18px; box-shadow:0 2px 7px rgba(0,0,0,.12);
}
.support-tile[data-category="housing"] .tile-icon { background:#00a4d6; }
.support-tile[data-category="health"] .tile-icon { background:#e5363b; }
.support-tile[data-category="clothing"] .tile-icon { background:#ee9b10; }
.support-tile[data-category="showers"] .tile-icon { background:#145cb7; }
.support-tile[data-category="rangatahi"] .tile-icon { background:#7139a8; }
.support-tile[data-category="whanau"] .tile-icon { background:#d83c78; }
.support-tile[data-category="employment"] .tile-icon { background:#0b5949; }
.support-tile[data-category="events"] .tile-icon { background:#0c8d85; }
.tile-content h3 { font-size:12px; line-height:1.2; margin:0 20px 4px 0; color:#111d20; }
.tile-content p { font-size:10px; line-height:1.25; margin:0; color:#425a60; }
.tile-arrow { position:absolute; right:10px; bottom:22px; color:#14776c; font-size:22px; }
.dashboard-grid {
  max-width:var(--page-width); width:calc(100% - 48px); margin:30px auto 40px; padding:0;
  grid-template-columns:minmax(0,2fr) minmax(280px,.9fr); gap:30px; align-items:start;
}
.services-panel { min-width:0; }
.panel { background:#fff; border:1px solid #e9efed; border-radius:20px; box-shadow:0 7px 22px rgba(17,49,43,.045); padding:20px; }
.panel-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.panel-header h2 { font-size:20px; margin:0; letter-spacing:-.45px; color:#111d20; }
.service-feed-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.service-result { border-radius:16px; padding:14px; gap:7px; }
.service-result h3 { font-size:14px; line-height:1.3; }
.result-icon { width:34px; height:34px; flex-basis:34px; }
.verification { font-size:9px; }
.result-org { font-size:11px; }
.result-meta { font-size:10px; }
.result-categories { font-size:9px; }
.result-actions button,.card-call,.primary-action,.secondary-action { min-height:35px; padding:8px 10px; font-size:10px; }
.dashboard-sidebar { display:flex; flex-direction:column; gap:18px; min-width:0; }
.live-panel { border-top:0; padding:18px; }
.live-panel .panel-header h2 { font-size:16px; }
.live-panel .service-result { display:grid; grid-template-columns:74px minmax(0,1fr); grid-template-rows:auto auto auto; column-gap:12px; padding:0 0 13px; margin:0 0 13px; border:0; border-bottom:1px solid #edf1ef; border-radius:0; box-shadow:none; }
.live-panel .service-result:last-child { margin-bottom:0; padding-bottom:0; border-bottom:0; }
.live-panel .result-card-top { grid-column:1; grid-row:1 / span 3; align-self:start; }
.live-panel .result-icon { width:74px; height:74px; border-radius:12px; background:#e1eee9; font-size:27px; }
.live-panel .verification { display:none; }
.live-panel .service-result h3 { grid-column:2; grid-row:1; font-size:12px; margin:0; }
.live-panel .result-org { grid-column:2; grid-row:2; font-size:11px; }
.live-panel .result-meta,.live-panel .result-categories,.live-panel .result-actions { grid-column:2; }
.live-panel .result-meta { font-size:10px; }
.live-panel .result-categories { padding-top:0; margin:0; }
.live-panel .result-actions { display:none; }
.live-panel .empty-state { padding:18px; }
.emergency-banner {
  padding:19px; border:1px solid #f4dddd; border-radius:18px;
  background:linear-gradient(135deg,#fff0ef,#fce4e3); color:#751c20;
}
.emergency-inner { display:flex; flex-direction:column; gap:10px; }
.emergency-text h2 { font-size:19px; margin:0 0 7px; color:#7d1f24; }
.emergency-text p { margin:0; font-size:11px; line-height:1.45; color:#5c3a3b; }
.emergency-actions { display:flex; flex-wrap:wrap; gap:7px; }
.help-button { display:inline-flex; justify-content:center; align-items:center; padding:9px 11px; border-radius:10px; background:#fff; color:#7d1f24; text-decoration:none; font-size:10px; font-weight:900; border:1px solid #f1c8c7; }
.help-button.emergency { background:#c72d2d; color:#fff; border-color:#c72d2d; }
.provider-panel {
  width:100%; max-width:none; margin:0; padding:20px; border-radius:18px;
  background:linear-gradient(135deg,#e2f6ef,#d3eee5); color:#0c2e26; border:1px solid #cce9de;
}
.provider-panel h2 { font-size:18px; margin:0 0 8px; color:#092c25; }
.provider-panel p { color:#244a41; font-size:12px; line-height:1.45; margin:0 0 14px; }
.provider-panel button { width:100%; margin:0 0 8px; border:0; border-radius:99px; padding:11px 14px; background:#056747; color:white; font-size:11px; font-weight:900; cursor:pointer; }
.provider-panel button:last-child { margin-bottom:0; background:#fff; color:#07533f; border:1px solid #b8dcd0; }
.trust-strip { width:calc(100% - 48px); max-width:var(--page-width); margin:12px auto 26px; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.trust-strip > div { padding:16px; border:1px solid #e4eeea; border-radius:14px; background:#fff; }
.trust-strip b { display:block; font-size:11px; color:#124b3c; }
.trust-strip small { display:block; margin-top:5px; color:#647571; font-size:10px; }
.privacy-note { max-width:var(--page-width); width:calc(100% - 48px); margin:0 auto 22px; display:flex; align-items:center; gap:12px; padding:15px 18px; border-radius:14px; background:#e7f7ef; color:#14523b; }
.privacy-mark { display:grid; place-items:center; width:30px; height:30px; flex:none; border-radius:50%; background:#bdebd3; font-weight:900; }
.privacy-note strong { font-size:12px; }
.privacy-note p { margin:4px 0 0; font-size:11px; line-height:1.45; }
footer { width:calc(100% - 48px); max-width:var(--page-width); margin:0 auto; border-top:1px solid #dce7e3; }
.screen { background:#f4f8f7; }
#screenContent { max-width:var(--page-width); margin:0 auto; }
.category-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.category-directory-item { display:flex; align-items:center; gap:12px; padding:16px; border:1px solid #e0ebe7; border-radius:15px; background:white; text-align:left; cursor:pointer; }
.category-directory-item > span { display:grid; place-items:center; width:42px; height:42px; flex:none; border-radius:12px; background:#e0f4ed; font-size:22px; }
.category-directory-item strong,.category-directory-item small { display:block; }
.category-directory-item strong { font-size:13px; color:#17352d; }
.category-directory-item small { margin-top:4px; font-size:11px; color:#647571; }
.location-screen-intro { font-size:13px; color:#5b6e68; line-height:1.5; }
.location-search-input { width:100%; min-height:48px; padding:12px 14px; border:1px solid #cfddda; border-radius:12px; background:#f8fbfa; font:inherit; }
@media(max-width:1080px) {
  .topbar { flex-wrap:wrap; }
  .main-nav { order:3; flex-basis:100%; justify-content:flex-start; }
  .header-search-shortcut { margin-left:auto; }
  .hero-block { padding:38px 28px; }
  .location-intelligence { width:390px; min-width:300px; }
  .discovery-layout,.dashboard-grid { width:calc(100% - 32px); grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr); gap:18px; }
  .needs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .support-tile { height:155px; }
  .service-feed-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .topbar { min-height:70px; padding:10px 14px; gap:10px; }
  .brand-logo { width:40px; height:40px; }
  .brand-name span { font-size:20px; }
  .brand-name strong { font-size:9px; letter-spacing:2px; }
  .main-nav { display:none; }
  .header-search-shortcut { display:none; }
  .header-city { margin-left:auto; padding:10px 11px; font-size:10px; }
  .mobile-menu { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.18); border-radius:10px; background:transparent; color:#fff; font-size:20px; }
  .hero-block { display:flex; flex-direction:column; align-items:stretch; width:100%; min-height:0; padding:34px 18px 20px; gap:20px; background-position:center; }
  .hero-content h1 { font-size:39px; }
  .hero-content h1 br { display:none; }
  .hero-copy { font-size:15px; }
  .hero-search { margin-top:20px; min-height:52px; padding:6px 7px 6px 13px; }
  .hero-search > span { font-size:20px; }
  .hero-search input { font-size:12px; }
  .hero-search .search-submit { min-width:61px; height:38px; padding:0 10px; font-size:11px; }
  .hero-search .search-clear { width:24px; flex-basis:24px; font-size:20px; }
  .location-intelligence { width:100%; min-width:0; padding:17px; border-radius:18px; }
  .location-card-header b { font-size:17px; }
  .location-stats strong { font-size:21px; }
  .discovery-layout { display:flex; flex-direction:column; width:calc(100% - 24px); gap:20px; margin-top:22px; }
  .discovery-main { width:100%; }
  .section-head { align-items:flex-start; }
  .section-head h2 { font-size:22px; }
  .section-head p { font-size:11px; }
  .text-link { font-size:10px; }
  .needs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .support-tile { height:155px; min-height:155px; border-radius:13px; }
  .tile-image { height:73px; min-height:73px; }
  .tile-content { padding:17px 10px 9px 11px; }
  .tile-icon { left:10px; width:33px; height:33px; top:-18px; font-size:16px; }
  .tile-content h3 { font-size:11px; }
  .tile-content p { font-size:9px; }
  .tile-arrow { right:8px; bottom:17px; font-size:20px; }
  .live-panel { width:100%; }
  .live-panel .service-result { grid-template-columns:78px minmax(0,1fr); }
  .live-panel .result-icon { width:78px; height:78px; }
  .dashboard-grid { display:flex; flex-direction:column; width:calc(100% - 24px); gap:16px; margin-top:24px; }
  .services-panel,.dashboard-sidebar { width:100%; }
  .service-feed-grid { grid-template-columns:1fr; }
  .panel { padding:16px; border-radius:17px; }
  .panel-header h2 { font-size:18px; }
  .provider-panel { padding:18px; }
  .trust-strip { width:calc(100% - 24px); grid-template-columns:1fr; }
  .privacy-note,footer { width:calc(100% - 24px); }
  .category-directory { grid-template-columns:1fr; }
  #locationScreen .screen-content { margin:12px; }
}

.tile-count { display:block; margin-top:5px; color:#73837e; font-size:9px; font-weight:800; }
@media(max-width:700px) { .tile-count { font-size:8px; } }


/* v1.6.7 combined mobile presentation: desktop rules above remain protected. */
@media(max-width:760px){.topbar{height:70px;padding:0 15px}.brand-logo{width:42px;height:42px}.brand-name{gap:6px}.brand-name span{font-size:18px}.brand-name strong{font-size:12px}.theme-switch{display:none}.mobile-menu{display:block}.home{padding:28px 15px 30px}.hero-block{margin-bottom:20px}.hero-block h1{font-size:40px;letter-spacing:-1.5px}.hero-copy{font-size:16px}.location-card{padding:22px;border-radius:24px}.location-actions{grid-template-columns:1fr}.needs-grid{grid-template-columns:repeat(2,1fr);gap:11px}.need{min-height:132px;padding:15px;border-radius:19px}.need .icon{font-size:27px}.need b{font-size:14px}.need small{font-size:10px}.quick-grid{grid-template-columns:1fr}.quick{min-height:92px}.trust-strip{grid-template-columns:1fr}.result-grid,.about-grid{grid-template-columns:1fr}.screen{padding:22px 15px 35px}.screen-title{font-size:31px}.actions{flex-direction:column}.live-row{grid-template-columns:1fr 1fr}.form-two{grid-template-columns:1fr}.manual{grid-template-columns:1fr}footer{padding-bottom:20px}.help-now{grid-template-columns:auto 1fr}.chevron{display:none}}

/* v1.6.8 — dedicated mobile home composition, isolated from desktop */
@media (max-width:760px) {
  body { background:#f4f7f5; }
  .app-shell { overflow:hidden; }
  .topbar { position:sticky; top:0; z-index:100; height:64px; min-height:64px; padding:0 14px; background:#071513; }
  .brand-logo { width:38px; height:38px; object-fit:contain; }
  .brand-name span { font-size:16px; }
  .brand-name strong { font-size:10px; letter-spacing:.7px; }
  .main-nav,.header-search-shortcut,.weather-widget,.header-city { display:none !important; }
  .mobile-menu { display:inline-flex !important; }
  .home { position:relative; padding:0 0 88px !important; background:#f4f7f5; }
  .hero-block {
    display:block !important; position:relative; z-index:0; width:100%; min-height:0 !important;
    margin:0 !important; padding:34px 20px 120px !important; border:0 !important; border-radius:0 !important;
    background-image:linear-gradient(180deg,rgba(2,14,16,.30) 0%,rgba(2,14,16,.40) 38%,rgba(2,14,16,.94) 100%),url("/hero.jpg") !important;
    background-size:cover !important; background-position:center 34% !important;
    color:#fff; overflow:visible !important;
  }
  .hero-content { max-width:none !important; width:100%; }
  .eyebrow { color:#b6f5d9 !important; font-size:10px !important; letter-spacing:1.2px; }
  .hero-content h1 { color:#fff !important; font-size:clamp(31px,8vw,39px) !important; line-height:1.03 !important; letter-spacing:-1px !important; margin:12px 0 8px !important; text-shadow:0 2px 10px rgba(0,0,0,.25); }
  .hero-copy { color:#fff !important; max-width:340px; font-size:14px !important; line-height:1.45 !important; }
  .hero-search { margin-top:18px !important; min-height:46px !important; }
  .discovery-layout { display:block !important; position:relative; z-index:2; width:auto !important; max-width:none !important; margin:-88px 13px 0 !important; }
  .discovery-main { width:100%; }
  .support-section { padding:0 !important; margin:0 !important; }
  .section-head { display:block !important; margin:0 0 13px !important; padding:0 3px; }
  .section-head h2 { color:#fff !important; font-size:22px !important; line-height:1.15; text-shadow:0 2px 9px rgba(0,0,0,.45); }
  .section-head p,.section-head .text-link,#viewAllCategories { display:none !important; }
  .needs-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  .support-tile { min-width:0; height:132px !important; min-height:132px !important; border:1px solid rgba(255,255,255,.75) !important; border-radius:15px !important; box-shadow:0 7px 18px rgba(0,0,0,.16) !important; overflow:hidden; }
  .tile-image { height:58px !important; min-height:58px !important; object-fit:cover; }
  .tile-content { min-height:74px !important; padding:15px 9px 8px 10px !important; }
  .tile-icon { width:29px !important; height:29px !important; top:-16px !important; left:9px !important; font-size:14px !important; }
  .tile-content h3 { font-size:12px !important; line-height:1.2; margin-right:12px !important; }
  .tile-content p { font-size:9px !important; line-height:1.25; }
  .tile-arrow { right:7px !important; bottom:10px !important; font-size:18px !important; }
  .location-intelligence { width:auto !important; min-width:0 !important; margin:15px 13px 0 !important; padding:15px !important; }
  .dashboard-grid { display:flex !important; flex-direction:column !important; width:auto !important; margin:20px 13px 0 !important; gap:14px !important; }
  .services-panel,.dashboard-sidebar { width:100% !important; }
  .service-feed-grid { grid-template-columns:1fr !important; }
  .trust-strip { width:auto !important; margin:16px 13px !important; }
  footer { width:auto !important; margin:15px 13px !important; }
  /* Keep the logo/header and home imagery separate; no slogan footer on mobile. */
  .app-shell footer .slogan,.app-shell footer .whakatauki { display:none !important; }
}


/* v1.7.0: explicit mobile-first composition. Desktop rules above remain unchanged. */
@media screen and (max-width: 760px) {
  html, body { width:100%; max-width:100%; overflow-x:hidden; }
  body { margin:0; background:#f5f7f5; }
  .app-shell { width:100%; max-width:100%; overflow:hidden; }
  .topbar { position:sticky; top:0; z-index:1000; display:flex; height:62px!important; min-height:62px!important; padding:0 14px!important; background:#071513!important; box-shadow:0 2px 12px rgba(0,0,0,.12); }
  .brand { display:flex; align-items:center; min-width:0; }
  .brand-logo { display:block!important; width:38px!important; height:38px!important; object-fit:contain; }
  .brand-name { display:flex; flex-direction:column; gap:1px!important; }
  .brand-name span { font-size:17px!important; line-height:1; }
  .brand-name strong { font-size:10px!important; line-height:1.1; letter-spacing:1px; }
  .main-nav,.header-search-shortcut,.weather-widget,.header-city,.header-location { display:none!important; }
  .mobile-menu { display:inline-flex!important; margin-left:auto; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid rgba(255,255,255,.24); border-radius:12px; background:transparent; color:white; }
  #home.home { display:block; width:100%; padding:0 0 calc(82px + env(safe-area-inset-bottom))!important; margin:0; background:#f5f7f5; }
  #home .hero-block { display:block!important; position:relative; width:100%!important; min-height:0!important; box-sizing:border-box; margin:0!important; padding:28px 19px 125px!important; border-radius:0!important; border:0!important; overflow:visible!important; background-color:#17342e!important; background-image:linear-gradient(180deg,rgba(4,18,17,.12) 0%,rgba(4,18,17,.25) 32%,rgba(4,18,17,.92) 100%),url("/hero.jpg")!important; background-position:center 30%!important; background-size:cover!important; color:#fff!important; }
  #home .hero-content { display:block; width:100%!important; max-width:none!important; position:relative; z-index:1; }
  #home .eyebrow { margin:0 0 10px!important; color:#e1f8eb!important; font-size:10px!important; letter-spacing:1.1px; }
  #home .hero-content h1 { margin:0 0 9px!important; color:#fff!important; font-size:clamp(30px,8vw,38px)!important; line-height:1.02!important; letter-spacing:-1px!important; text-shadow:0 2px 12px rgba(0,0,0,.3); }
  #home .hero-copy { max-width:330px!important; margin:0!important; color:#fff!important; font-size:14px!important; line-height:1.4!important; }
  #home .hero-search { display:flex; width:100%; box-sizing:border-box; margin-top:17px!important; min-height:46px!important; }
  #home .location-intelligence { display:none!important; }
  #home .discovery-layout { display:block!important; position:relative!important; z-index:3!important; width:auto!important; max-width:none!important; margin:-94px 12px 0!important; padding:0!important; }
  #home .discovery-main { display:block!important; width:100%!important; min-width:0!important; }
  #home .support-section { display:block!important; width:100%!important; max-width:none!important; margin:0!important; padding:0!important; }
  #home .section-head { display:block!important; margin:0 0 12px!important; padding:0 4px!important; }
  #home .section-head h2 { color:#fff!important; font-size:21px!important; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,.5); }
  #home .section-head p,#home .section-head .text-link,#home #viewAllCategories { display:none!important; }
  #home .needs-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; width:100%!important; margin:0!important; }
  #home .support-tile { display:flex!important; position:relative!important; width:100%!important; min-width:0!important; height:142px!important; min-height:142px!important; padding:0!important; flex-direction:column!important; overflow:hidden!important; border:1px solid rgba(255,255,255,.8)!important; border-radius:15px!important; background:#fff!important; color:#10201d!important; text-align:left!important; box-shadow:0 7px 18px rgba(0,0,0,.14)!important; }
  #home .support-tile::after { display:none!important; }
  #home .tile-image { display:block!important; position:relative!important; inset:auto!important; width:100%!important; height:62px!important; min-height:62px!important; flex:0 0 62px!important; object-fit:cover!important; opacity:1!important; }
  #home .tile-content { display:block!important; position:relative!important; inset:auto!important; width:100%; min-height:78px!important; box-sizing:border-box; padding:18px 9px 9px 10px!important; background:#fff!important; color:#111d20!important; }
  #home .tile-icon { position:absolute!important; top:-17px!important; left:9px!important; width:30px!important; height:30px!important; margin:0!important; font-size:15px!important; }
  #home .tile-content h3 { margin:0 12px 4px 0!important; color:#111d20!important; font-size:12px!important; line-height:1.2!important; }
  #home .tile-content p { margin:0!important; color:#425a60!important; font-size:9px!important; line-height:1.25!important; }
  #home .tile-arrow { right:7px!important; bottom:8px!important; font-size:18px!important; }
  #home .dashboard-grid,#home .provider-panel,#home .trust-strip { display:none!important; }
  #home footer { display:none!important; }
  .mobile-bottom-nav { position:fixed; left:0; right:0; bottom:0; z-index:1200; display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; padding:7px 5px calc(7px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.98); border-top:1px solid #dfe8e4; box-shadow:0 -5px 20px rgba(12,40,34,.09); }
  .mobile-bottom-nav a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0; min-height:48px; color:#27463f; text-decoration:none; font-size:9px; font-weight:800; }
  .mobile-bottom-nav a span:first-child { font-size:19px; line-height:1; }
  .mobile-bottom-nav a:focus-visible { outline:2px solid #078f5b; outline-offset:-2px; border-radius:8px; }
  .screen { padding:20px 14px 90px!important; }
  #helpPanel { scroll-margin-top:75px; }
}
@media screen and (min-width:761px) { .mobile-bottom-nav { display:none!important; } }


/* ==========================================================
   PLATINUM REFRESH — mock-up aligned desktop and mobile shell
   ========================================================== */
:root{--angitu-black:#031013;--angitu-dark:#06201f;--angitu-teal:#10b981;--angitu-green:#07966a;--angitu-gold:#f2aa19;--page-width:1440px}
body{background:#f4f7f6;color:#102023;font-family:Montserrat,Inter,Arial,sans-serif}
.topbar{height:82px!important;min-height:82px;padding:0 clamp(20px,3.8vw,50px)!important;gap:clamp(16px,2vw,28px);background:#020d11!important;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 5px 22px rgba(0,0,0,.12)}
.brand{flex:0 0 auto;gap:10px}.brand-logo{width:54px!important;height:54px!important}.brand-name span{font-size:clamp(21px,2vw,29px)!important;letter-spacing:.3px}.brand-name strong{font-size:12px!important;letter-spacing:1.5px;color:#e8f6f1!important;margin-top:4px}
.main-nav{display:flex;flex:0 0 auto;align-items:center;gap:clamp(18px,2.5vw,36px);margin:0!important}
.main-nav a{color:#f7fbfa!important;font-size:13px!important;font-weight:800;padding:14px 0!important;text-decoration:none}
.main-nav a:hover{color:#6ce6b4!important}
.header-search{display:flex;align-items:center;gap:9px;flex:1 1 290px;max-width:390px;min-width:180px;margin-left:auto;padding:6px 7px 6px 15px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#0c242a;color:#d8e5e6}
.header-search-icon{font-size:22px;line-height:1;color:#dce8e8}.header-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#fff;font:500 12px/1.4 Montserrat,Arial,sans-serif}.header-search input::placeholder{color:#b7c8ca}.header-search button{border:0;cursor:pointer;font:800 11px Montserrat,Arial,sans-serif}.header-search #runSearch{flex:0 0 auto;padding:11px 17px;border-radius:999px;background:#0caf78;color:#fff}.header-search #clearSearch{padding:4px 6px;background:transparent;color:#c7d8d8;font-size:19px}
.mobile-menu{display:none}
.hero-block{max-width:none!important;width:100%!important;min-height:300px!important;margin:0!important;padding:48px clamp(24px,3.8vw,52px) 26px!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:32px!important;border-radius:0!important;border:0!important;border-bottom:4px solid #edf4f1!important;background-image:linear-gradient(90deg,rgba(1,14,17,.88) 0%,rgba(2,19,22,.64) 53%,rgba(2,20,17,.25) 100%),url("/hero.jpg")!important;background-position:center 48%!important;background-size:cover!important}
.hero-content{flex:1 1 55%;max-width:760px!important}.hero-content h1{font-size:clamp(36px,4vw,54px)!important;letter-spacing:-1.5px!important}.hero-copy{max-width:650px;font-size:clamp(16px,1.5vw,20px)!important}.eyebrow{font-size:13px!important;letter-spacing:1px;color:#23dca2!important}
.location-intelligence{width:min(38%,445px)!important;min-width:330px!important;max-width:460px;background:rgba(2,22,19,.93)!important;border:1px solid rgba(18,190,132,.32)!important;border-radius:22px!important;padding:23px!important;color:#fff!important;box-shadow:0 18px 50px rgba(0,0,0,.26)!important}.location-card-header b{font-size:20px!important}.location-card-header small{color:#d2e1dc!important}.location-card-header>span{background:#064d39!important;color:#35e3a6!important}.location-change{border:0!important;background:#124337!important;color:#eafff6!important;font-weight:800;cursor:pointer}.location-stats div{background:transparent!important}.location-stats strong{color:#fff!important}.location-stats span{color:#e2efea!important}
.discovery-layout{width:calc(100% - clamp(32px,7.5vw,104px))!important;max-width:1440px!important;grid-template-columns:minmax(0,2.05fr) minmax(300px,.95fr)!important;gap:30px!important;margin:25px auto 0!important}
.section-head{align-items:center!important;margin-bottom:16px!important}.section-head h2{font-size:clamp(22px,2.25vw,29px)!important;letter-spacing:-.8px!important}.section-head p{font-size:13px!important;color:#5c7075!important}.text-link,.panel-header button{font-size:12px!important;color:#006e55!important}
.needs-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:13px!important}.support-tile{height:160px!important;min-height:160px!important;border:1px solid #e6eeeb!important;border-radius:15px!important;background:#fff!important;box-shadow:0 7px 20px rgba(15,45,39,.08)!important}.support-tile::after{display:none!important}.tile-image{display:block!important;position:relative!important;inset:auto!important;width:100%!important;height:78px!important;min-height:78px!important;flex:0 0 78px!important;object-fit:cover!important;opacity:1!important;filter:none!important}.tile-content{position:relative!important;display:block!important;min-height:80px!important;padding:17px 12px 10px 13px!important;background:#fff!important;color:#112125!important}.tile-icon{position:absolute!important;top:-17px!important;left:12px!important;width:31px!important;height:31px!important;border:2px solid #fff!important;box-shadow:0 2px 8px rgba(0,0,0,.1)!important;font-size:15px!important}.tile-content h3{font-size:13px!important;line-height:1.2!important;margin:0 12px 4px 0!important;color:#111e21!important}.tile-content p{font-size:11px!important;line-height:1.3!important;color:#52676d!important;margin:0!important}.tile-count{display:none!important}.tile-arrow{right:10px!important;bottom:11px!important;color:#0d6555!important}
.dashboard-grid{width:calc(100% - clamp(32px,7.5vw,104px))!important;max-width:1440px!important;grid-template-columns:minmax(0,2.05fr) minmax(300px,.95fr)!important;gap:30px!important;margin:28px auto!important}.panel,.services-panel,.live-panel{border:1px solid #e7eeeb!important;border-radius:18px!important;background:#fff!important;box-shadow:0 7px 24px rgba(12,43,36,.05)!important;padding:20px!important}.panel-header h2{font-size:19px!important}.service-feed-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.service-result{border:1px solid #e6eeeb!important;border-radius:15px!important;overflow:hidden!important;box-shadow:0 4px 14px rgba(10,40,33,.05)!important}.dashboard-sidebar{gap:16px!important}.emergency-banner{border-radius:17px!important}.provider-panel{border-radius:17px!important;box-shadow:0 7px 20px rgba(12,43,36,.05)!important}
.live-panel .update-card{border-left:0!important;border:1px solid #e8eeeb!important;border-radius:14px!important;background:#fff!important;padding:10px!important}.live-feed{gap:10px!important}.live-panel .update-card img,.update-card img{border-radius:12px!important;object-fit:cover!important}
footer{max-width:1440px;width:calc(100% - clamp(32px,7.5vw,104px));margin:30px auto 0!important;padding:25px 0 35px!important;border-top:1px solid #dfe8e4!important;display:flex;justify-content:flex-end;gap:18px}footer button{border:0;background:transparent;color:#31554e;font-weight:800;cursor:pointer;padding:10px 12px;border-radius:9px}footer button:hover{background:#e8f4ef;color:#00694e}
.directory-intro{margin-bottom:20px}.directory-intro>p{max-width:900px;color:#53676c;line-height:1.65}.directory-notice{padding:13px 16px;border-left:3px solid #0a9d6b;background:#eef8f3;border-radius:0 10px 10px 0;font-size:13px}.directory-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.filter-chip{border:1px solid #d9e7e1;border-radius:999px;background:#fff;color:#285047;padding:9px 14px;font-weight:800;cursor:pointer}.filter-chip.active{background:#075d49;border-color:#075d49;color:#fff}.directory-grid,.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.directory-card,.resource-card{min-width:0;border:1px solid #e2ece7;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(9,43,34,.05);overflow:hidden}.directory-card-top{padding:20px 20px 12px;background:linear-gradient(135deg,#f2faf6,#fff)}.directory-kicker{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#07845d;font-weight:900}.directory-card h3,.resource-card h3{margin:7px 0 8px;color:#102522;font-size:18px;line-height:1.3}.directory-card p,.resource-card p{margin:0;color:#586d71;font-size:13px;line-height:1.55}.directory-card dl{display:grid;grid-template-columns:70px minmax(0,1fr);gap:9px 12px;margin:0;padding:15px 20px}.directory-card dt{font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:900;color:#647a7b}.directory-card dd{margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere;color:#18312d}.directory-card a,.resource-card a{color:#007354;font-weight:800;text-decoration:none}.directory-card a:hover,.resource-card a:hover{text-decoration:underline}.directory-card-foot{display:flex;justify-content:space-between;gap:10px;padding:12px 20px;background:#f7faf8;border-top:1px solid #e8efeb;font-size:10px;color:#70817f}.directory-card[hidden]{display:none!important}.resource-card{display:flex;gap:15px;padding:20px}.resource-mark{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#e4f6ed;color:#087c58;font-size:21px;font-weight:900}.resource-card>div{min-width:0}.resource-card h3{font-size:17px}.resource-phone,.resource-link{display:inline-block;margin:13px 12px 0 0;font-size:12px}.mobile-nav-actions{display:grid;gap:12px}.mobile-nav-actions button{width:100%;text-align:left;padding:16px;border-radius:12px}
@media(max-width:1100px) and (min-width:761px){.topbar{gap:14px;padding:0 22px!important}.brand-logo{width:45px!important;height:45px!important}.main-nav{gap:17px}.header-search{max-width:300px}.discovery-layout,.dashboard-grid{width:calc(100% - 44px)!important;gap:20px!important}.location-intelligence{min-width:290px!important;width:40%!important}.needs-grid{gap:10px!important}.support-tile{height:151px!important;min-height:151px!important}}
@media(max-width:760px){
 .topbar{height:auto!important;min-height:62px!important;display:flex!important;flex-wrap:wrap!important;padding:9px 14px 11px!important;gap:9px!important}
 .brand-logo{width:39px!important;height:39px!important}.brand-name span{font-size:18px!important}.brand-name strong{font-size:10px!important}
 .main-nav{display:none!important}.mobile-menu{display:inline-flex!important;margin-left:auto!important}
 .header-search{order:3;display:flex!important;flex:1 0 100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:5px 6px 5px 12px!important;min-height:42px!important}
 .header-search input{font-size:12px!important}.header-search #runSearch{padding:9px 14px!important}
 .hero-block{display:block!important;min-height:0!important;padding:28px 18px 30px!important;background-image:linear-gradient(180deg,rgba(1,14,17,.36) 0%,rgba(2,19,22,.55) 42%,rgba(2,20,17,.92) 100%),url("/hero.jpg")!important;background-position:center 46%!important;background-size:cover!important}
 .hero-content{width:100%!important;max-width:none!important}.hero-content h1{font-size:clamp(31px,8vw,40px)!important}.hero-copy{font-size:14px!important;max-width:360px}.location-intelligence{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;margin:18px 0 0!important;padding:15px!important;border-radius:17px!important}.location-stats{margin-top:12px!important}.location-stats strong{font-size:19px!important}.location-stats span{font-size:9px!important}
 .discovery-layout{display:block!important;width:auto!important;margin:20px 13px 0!important}.section-head{display:flex!important;align-items:center!important;gap:10px!important}.section-head h2{font-size:21px!important;color:#102023!important;text-shadow:none!important}.section-head p{font-size:11px!important}.section-head .text-link{display:none!important}.needs-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}.support-tile{height:150px!important;min-height:150px!important;border-radius:14px!important}.tile-image{height:72px!important;min-height:72px!important;flex-basis:72px!important}.tile-content{padding:17px 9px 8px 10px!important}.tile-content h3{font-size:12px!important}.tile-content p{font-size:10px!important}.tile-icon{left:9px!important}
 .dashboard-grid{display:flex!important;flex-direction:column!important;width:auto!important;margin:22px 13px!important;gap:15px!important}.services-panel,.dashboard-sidebar{width:100%!important;min-width:0!important}.service-feed-grid{grid-template-columns:1fr!important}.panel{padding:15px!important}.dashboard-sidebar{display:flex!important;flex-direction:column!important}.directory-grid,.resource-grid{grid-template-columns:1fr!important}.directory-card h3,.resource-card h3{font-size:17px}.directory-card dl{grid-template-columns:60px minmax(0,1fr);padding:13px}.directory-card-top{padding:16px 13px 10px}.directory-card-foot{padding:10px 13px}footer{width:auto!important;margin:20px 13px 90px!important;padding:15px 0!important;justify-content:center!important;flex-wrap:wrap!important}.mobile-bottom-nav{display:grid!important}
}


/* v1.7.3 reliability fix: bundled category photography must remain visible. */
.support-tile .tile-image {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  object-fit: cover !important;
}


/* v1.7.4 photo visibility fix: tile photos are image strips, not background silhouettes. */
.support-tile::after { display: none !important; }
.support-tile .tile-image {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 88px !important;
  min-height: 88px !important;
  flex: 0 0 88px !important;
  object-fit: cover !important;
  object-position: center !important;
  z-index: 1 !important;
}
.support-tile .tile-content {
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  min-height: 100px;
  background: #fff !important;
  color: #102023 !important;
}
.support-tile .tile-content h3 { color: #102023 !important; }
.support-tile .tile-content p { color: #40545b !important; }
@media (max-width: 640px) {
  .support-tile .tile-image {
    height: 76px !important;
    min-height: 76px !important;
    flex-basis: 76px !important;
  }
}


/* v1.7.5 directory usability: readable descriptions and provider links */
.result-description {
  margin: 2px 0 4px;
  color: #334b47;
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.card-website {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 40px;
  border-radius: 11px;
  padding: 10px 14px;
  background: #123c36;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
}
.card-website:hover, .result-actions button:hover, .card-call:hover {
  filter: brightness(.94);
}
.result-actions a:focus-visible, .result-actions button:focus-visible {
  outline: 3px solid #d4af37;
  outline-offset: 2px;
}


/* v1.7.6: resource hierarchy and mobile-friendly section spacing */
.resource-section-heading{margin:26px 0 12px;font-size:clamp(17px,2vw,21px);line-height:1.3;color:#102522;font-weight:900}
.resource-section-heading:first-of-type{margin-top:12px}
.resource-grid + .resource-section-heading{margin-top:32px}
.resource-card{overflow-wrap:anywhere}
@media(max-width:760px){.resource-section-heading{margin:22px 0 10px;font-size:18px}.resource-card{padding:15px;gap:11px}.resource-mark{flex-basis:36px;height:36px}.mobile-nav-actions{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.results-page{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}


/* v1.7.7 visual correction: photo-first category tiles aligned to the approved mock-up.
   This final block intentionally supersedes legacy layout rules above it. */
#home .hero-block {
  background-image: linear-gradient(90deg,rgba(1,12,14,.88) 0%,rgba(2,18,20,.62) 52%,rgba(2,18,18,.18) 100%),url("/mobile-hero.jpg") !important;
  background-position:center 42% !important;
  background-size:cover !important;
  min-height:330px !important;
}
#home .support-tile {
  position:relative !important;
  display:block !important;
  min-width:0 !important;
  height:180px !important;
  min-height:180px !important;
  padding:0 !important;
  overflow:hidden !important;
  isolation:isolate !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:18px !important;
  background:#17342e !important;
  box-shadow:0 10px 26px rgba(5,24,20,.17) !important;
  text-align:left !important;
  transform:translateZ(0);
}
#home .support-tile .tile-image {
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  opacity:1 !important;
  filter:none !important;
  z-index:-2 !important;
  transition:transform .25s ease !important;
}
#home .support-tile::after {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:linear-gradient(180deg,rgba(3,16,17,.02) 0%,rgba(3,16,17,.12) 28%,rgba(2,14,15,.88) 100%) !important;
}
#home .support-tile[data-category="kai"]::after {background:linear-gradient(180deg,rgba(0,25,16,.04),rgba(0,30,19,.18) 28%,rgba(0,70,43,.94)) !important}
#home .support-tile[data-category="housing"]::after {background:linear-gradient(180deg,rgba(0,25,24,.02),rgba(0,25,24,.16) 28%,rgba(0,67,65,.94)) !important}
#home .support-tile[data-category="showers"]::after {background:linear-gradient(180deg,rgba(0,20,35,.02),rgba(0,20,35,.16) 28%,rgba(0,55,95,.94)) !important}
#home .support-tile[data-category="clothing"]::after {background:linear-gradient(180deg,rgba(45,10,10,.02),rgba(45,10,10,.16) 28%,rgba(119,35,30,.94)) !important}
#home .support-tile[data-category="health"]::after {background:linear-gradient(180deg,rgba(25,12,55,.02),rgba(25,12,55,.16) 28%,rgba(69,45,125,.94)) !important}
#home .support-tile[data-category="talk"]::after {background:linear-gradient(180deg,rgba(36,18,5,.02),rgba(36,18,5,.16) 28%,rgba(123,66,12,.94)) !important}
#home .support-tile[data-category="rangatahi"]::after {background:linear-gradient(180deg,rgba(18,10,45,.02),rgba(18,10,45,.16) 28%,rgba(74,44,130,.94)) !important}
#home .support-tile[data-category="whanau"]::after {background:linear-gradient(180deg,rgba(5,32,25,.02),rgba(5,32,25,.16) 28%,rgba(15,87,66,.94)) !important}
#home .support-tile[data-category="employment"]::after {background:linear-gradient(180deg,rgba(10,25,40,.02),rgba(10,25,40,.16) 28%,rgba(25,65,105,.94)) !important}
#home .support-tile .tile-content {
  position:absolute !important;
  inset:auto 0 0 0 !important;
  display:block !important;
  min-height:0 !important;
  padding:42px 16px 15px !important;
  background:transparent !important;
  color:#fff !important;
  z-index:1 !important;
}
#home .support-tile .tile-icon {
  position:absolute !important;
  top:0 !important;
  left:15px !important;
  display:grid !important;
  place-items:center !important;
  width:34px !important;
  height:34px !important;
  border:1px solid rgba(255,255,255,.55) !important;
  border-radius:11px !important;
  background:rgba(3,18,18,.52) !important;
  color:#fff !important;
  font-size:18px !important;
  box-shadow:0 4px 12px rgba(0,0,0,.18) !important;
}
#home .support-tile .tile-content h3 {
  margin:0 20px 5px 0 !important;
  color:#fff !important;
  font-size:clamp(14px,1.2vw,17px) !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  text-shadow:0 1px 4px rgba(0,0,0,.35) !important;
}
#home .support-tile .tile-content p {
  margin:0 !important;
  color:rgba(255,255,255,.94) !important;
  font-size:12px !important;
  line-height:1.35 !important;
  text-shadow:0 1px 4px rgba(0,0,0,.4) !important;
}
#home .support-tile .tile-arrow {right:12px !important;bottom:15px !important;color:#fff !important;font-size:23px !important}
#home .support-tile .tile-count {display:none !important}
#home .support-tile:hover .tile-image,#home .support-tile:focus-visible .tile-image {transform:scale(1.045)}
#home .support-tile:focus-visible {outline:3px solid #d4af37 !important;outline-offset:3px !important}
@media(max-width:760px) {
  #home .hero-block {min-height:0 !important;padding:28px 17px 22px !important;background-image:linear-gradient(180deg,rgba(1,12,14,.28) 0%,rgba(2,18,20,.48) 36%,rgba(2,18,18,.88) 100%),url("/mobile-hero.jpg") !important;background-position:center 34% !important;background-size:cover !important}
  #home .support-section {padding:0 !important}
  #home .needs-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:11px !important}
  #home .support-tile {height:174px !important;min-height:174px !important;border-radius:15px !important}
  #home .support-tile .tile-content {padding:40px 10px 12px !important}
  #home .support-tile .tile-icon {left:10px !important;width:31px !important;height:31px !important;font-size:16px !important}
  #home .support-tile .tile-content h3 {font-size:13px !important;line-height:1.2 !important}
  #home .support-tile .tile-content p {font-size:10px !important;line-height:1.3 !important}
  #home .support-tile .tile-arrow {right:8px !important;bottom:10px !important}
}
@media(prefers-reduced-motion:reduce){#home .support-tile .tile-image{transition:none !important}}


/* v1.7.8 launch corrections: photographic tiles, compact flow, no decorative tile icons. */
#home .support-tile .tile-icon { display:none !important; }
#home .support-tile .tile-content { padding-top:18px !important; }
#home .support-tile[data-category="rangatahi"] .tile-content,
#home .support-tile[data-category="whanau"] .tile-content,
#home .support-tile[data-category="employment"] .tile-content { padding-top:18px !important; }
#home .discovery-layout { align-items:start !important; }
#home .discovery-main, #home .support-section { min-height:0 !important; height:auto !important; }
#home .needs-grid { align-content:start !important; grid-auto-rows:180px !important; }
#home .dashboard-grid { margin-top:18px !important; }
#home .live-panel .inline-link { display:none !important; }
#home .live-panel .result-actions { margin-top:10px; }
#home .live-panel .result-actions button { border:1px solid #cbded6; border-radius:9px; background:#f2faf6; color:#00694e; padding:8px 12px; font-weight:800; cursor:pointer; }
@media(max-width:760px) {
  #home .needs-grid { grid-auto-rows:174px !important; }
  #home .support-tile .tile-content { padding:18px 10px 12px !important; }
  #home .dashboard-grid { margin-top:18px !important; }
}

/* Keep the community-updates rail from creating a large empty row beneath short category grids. */
@media(min-width:761px){
  #home .discovery-layout { align-items:start !important; }
  #home .live-panel { max-height:520px !important; overflow:hidden !important; }
  #home .live-panel .live-feed { max-height:430px !important; overflow-y:auto !important; overscroll-behavior:contain; padding-right:3px; }
}


/* v1.7.9: full-bleed photographic category tiles — images fill the complete card. */
#home .needs-grid { gap:14px !important; grid-auto-rows:clamp(190px,16.5vw,238px) !important; }
#home .support-tile {
  position:relative !important; display:block !important; height:100% !important; min-height:0 !important;
  padding:0 !important; overflow:hidden !important; border:1px solid rgba(11,67,58,.45) !important;
  border-radius:19px !important; background:#0d3732 !important; color:#fff !important;
  box-shadow:0 8px 20px rgba(12,43,36,.12) !important;
}
#home .support-tile .tile-image {
  position:absolute !important; inset:0 !important; display:block !important; width:100% !important; height:100% !important;
  min-height:100% !important; object-fit:cover !important; object-position:center !important; opacity:1 !important;
  filter:saturate(1.08) contrast(1.04); transform:scale(1.001);
}
#home .support-tile::after {
  display:block !important; content:"" !important; position:absolute !important; inset:0 !important;
  background:linear-gradient(180deg,rgba(2,16,15,.02) 0%,rgba(2,16,15,.12) 32%,rgba(2,16,15,.84) 100%) !important;
  pointer-events:none !important;
}
#home .support-tile .tile-content {
  position:absolute !important; z-index:2 !important; inset:auto 0 0 0 !important; display:block !important;
  min-height:0 !important; height:auto !important; padding:44px 16px 17px !important;
  background:transparent !important; color:#fff !important; text-shadow:0 1px 2px rgba(0,0,0,.45);
}
#home .support-tile .tile-icon { display:none !important; }
#home .support-tile .tile-content h3 { color:#fff !important; font-size:clamp(15px,1.2vw,20px) !important; line-height:1.15 !important; margin:0 22px 7px 0 !important; }
#home .support-tile .tile-content p { color:#fff !important; font-size:clamp(11px,.9vw,14px) !important; line-height:1.35 !important; margin:0 !important; max-width:95% !important; }
#home .support-tile .tile-count { display:inline-block !important; margin-top:7px !important; font-size:10px !important; font-weight:800 !important; color:#fff !important; opacity:.9 !important; }
#home .support-tile .tile-arrow { z-index:3 !important; right:13px !important; bottom:14px !important; color:#fff !important; text-shadow:0 1px 3px #000 !important; }
#home .discovery-layout { gap:24px !important; }
#home .live-panel { max-height:490px !important; overflow:hidden !important; }
#home .live-panel .live-feed { max-height:395px !important; overflow-y:auto !important; overscroll-behavior:contain; }
#home .dashboard-grid { margin-top:12px !important; }
#home .live-panel .inline-link, #home .live-panel .result-actions { display:none !important; }
@media(max-width:760px) {
  #home .needs-grid { grid-auto-rows:clamp(165px,48vw,205px) !important; gap:10px !important; }
  #home .support-tile { border-radius:15px !important; }
  #home .support-tile .tile-content { padding:34px 11px 13px !important; }
  #home .support-tile .tile-content h3 { font-size:15px !important; }
  #home .support-tile .tile-content p { font-size:11px !important; }
  #home .support-tile .tile-count { font-size:9px !important; }
  #home .live-panel { max-height:420px !important; }
  #home .live-panel .live-feed { max-height:330px !important; }
  #home .dashboard-grid { margin-top:12px !important; }
}

/* v1.8.0: unique full-bleed category photos, no duplicate decorative icons */
.support-tile { position:relative!important; overflow:hidden!important; isolation:isolate!important; min-height:190px!important; height:190px!important; background:#153c35!important; }
.support-tile .tile-image { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; min-height:100%!important; flex:1 1 auto!important; object-fit:cover!important; object-position:center!important; opacity:1!important; z-index:0!important; }
.support-tile::after { content:""!important; display:block!important; position:absolute!important; inset:0!important; z-index:1!important; background:linear-gradient(180deg,rgba(5,19,17,.02) 10%,rgba(5,19,17,.16) 42%,rgba(5,19,17,.88) 100%)!important; pointer-events:none!important; }
.support-tile .tile-content { position:absolute!important; inset:0!important; display:flex!important; flex-direction:column!important; justify-content:flex-end!important; padding:18px 18px 17px!important; min-height:0!important; height:100%!important; box-sizing:border-box!important; background:transparent!important; color:#fff!important; z-index:2!important; }
.support-tile .tile-content h3 { color:#fff!important; font-size:19px!important; line-height:1.18!important; margin:0 24px 7px 0!important; text-shadow:0 1px 4px rgba(0,0,0,.45)!important; }
.support-tile .tile-content p { color:#fff!important; font-size:14px!important; line-height:1.35!important; margin:0 20px 0 0!important; text-shadow:0 1px 4px rgba(0,0,0,.55)!important; }
.support-tile .tile-icon, .support-tile .tile-count { display:none!important; }
.support-tile .tile-arrow { color:#fff!important; z-index:3!important; right:14px!important; bottom:15px!important; text-shadow:0 1px 5px rgba(0,0,0,.6)!important; }
@media(max-width:760px){.support-tile{height:168px!important;min-height:168px!important}.support-tile .tile-content{padding:12px!important}.support-tile .tile-content h3{font-size:16px!important}.support-tile .tile-content p{font-size:12px!important}}


/* v1.8.1: prevent decorative tile icons returning through older responsive rules */
#home .support-tile .tile-icon, #home .support-tile .tile-count { display:none!important; }
#home .support-tile .tile-image { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; min-height:100%!important; object-fit:cover!important; }


/* v1.8.4 integrated mobile refinement; preserve desktop rules and logo asset. */
@media (max-width:700px){
 html{scroll-padding-top:84px} body{overflow-x:hidden;padding-bottom:calc(80px + env(safe-area-inset-bottom))!important}
 .app-shell{width:100%;max-width:100%;overflow-x:clip}
 .topbar{min-height:78px;padding:12px 16px;gap:10px;position:sticky;top:0;z-index:100;background:#061513}
 .brand{min-width:0;gap:10px}.brand-logo{width:48px;height:48px;object-fit:contain}.brand-name span{font-size:23px;line-height:1.05}.brand-name strong{font-size:12px;letter-spacing:1.7px}
 .main-nav,.header-search{display:none!important}.mobile-menu{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;margin-left:auto;border:1px solid rgba(255,255,255,.35);border-radius:13px;background:transparent;color:#fff;font-size:25px}
 .hero-block{display:block!important;min-height:0!important;padding:30px 20px 28px!important;background-image:linear-gradient(90deg,rgba(2,18,16,.88),rgba(2,18,16,.38)),url('/mobile-hero.jpg')!important;background-size:cover!important;background-position:center 38%!important;border-bottom:2px solid #caa64b}
 .hero-content{max-width:none!important;padding:0!important}.hero-content .eyebrow{font-size:11px;line-height:1.4;letter-spacing:1.4px}.hero-content h1{display:none!important}.hero-copy{max-width:330px;margin:8px 0 0!important;font-size:clamp(27px,7vw,36px)!important;font-weight:850;line-height:1.12!important;color:#fff}
 .location-intelligence{display:none!important}.discovery-layout{display:block!important;padding:0 0 92px!important}.discovery-main{min-width:0;width:100%}.support-section{padding:24px 16px 18px!important}.section-head{display:block!important;margin-bottom:16px!important}.section-head h2{font-size:23px!important;line-height:1.2!important;margin:0 0 8px!important}.section-head p{font-size:13px!important;line-height:1.45!important}#viewAllCategories{margin-top:8px}
 .needs-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.support-tile{display:block;position:relative;width:100%;min-width:0;min-height:176px;aspect-ratio:.92/1;overflow:hidden;border:1px solid #caa64b!important;border-radius:17px!important;padding:0!important;background:#092d27!important;box-shadow:0 5px 14px rgba(0,0,0,.10);text-align:left}
 .support-tile .tile-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}.support-tile .tile-content{position:absolute!important;inset:auto 0 0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important;min-height:0!important;padding:40px 12px 12px!important;background:linear-gradient(180deg,transparent 0%,rgba(1,22,18,.60) 28%,rgba(1,22,18,.97) 100%)!important;color:white!important}.support-tile .tile-icon{display:none!important}.support-tile h3{margin:0!important;color:#fff!important;font-size:17px!important;line-height:1.15!important}.support-tile p{margin:0!important;color:#fff!important;font-size:12px!important;line-height:1.32!important}.support-tile .tile-arrow{position:absolute;right:10px;bottom:10px;font-size:24px;color:#fff}
 .live-panel{margin:0 16px 20px!important;width:auto!important}.dashboard-grid{display:block!important;padding:0 16px 110px!important}.services-panel,.dashboard-sidebar,.panel{min-width:0!important;width:100%}.service-feed{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 .service-result,.detail-card,.results-page .service-result{width:100%!important;min-width:0!important;max-width:100%!important;display:block!important;padding:16px!important;overflow-wrap:anywhere;word-break:normal}.service-result h3,.detail-card h2{line-height:1.25!important;overflow-wrap:anywhere}.service-result p,.detail-card p,.service-result .result-meta{width:100%!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere;line-height:1.5!important}.service-result .result-actions,.detail-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:stretch}.service-result .result-actions a,.service-result .result-actions button,.detail-actions a,.detail-actions button{max-width:100%!important;white-space:normal!important}
 #screen{min-height:calc(100dvh - 80px)}#screenContent{padding:16px!important}.results-page{width:100%!important;max-width:100%!important;padding:0!important}.screen-title{font-size:25px!important;line-height:1.2!important}.mobile-nav-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.mobile-nav-actions button{width:100%!important;min-height:54px!important;border-radius:14px!important;font-size:15px!important}
 #locationScreen{max-width:100vw;overflow-x:hidden}#locationScreen .location-card,#locationScreen .panel,#locationScreen form{width:100%;max-width:100%}
 .mobile-bottom-nav{position:fixed!important;z-index:120!important;left:0!important;right:0!important;bottom:0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;width:100%!important;padding:8px 4px calc(8px + env(safe-area-inset-bottom))!important;min-height:72px;background:rgba(3,25,22,.98)!important;border-top:1px solid #caa64b!important;box-shadow:0 -6px 24px rgba(0,0,0,.12)}
 .mobile-bottom-nav a{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:4px!important;min-width:0!important;padding:3px 1px!important;color:#fff!important;text-decoration:none!important;font-size:10px!important;line-height:1.15!important;text-align:center!important}.mobile-bottom-nav a>span:first-child{font-size:21px!important;line-height:1!important}.mobile-bottom-nav a[aria-label="Home"]{color:#e0b84e!important}.trust-strip,footer{margin-bottom:90px}.urgent-mobile-help .detail-actions{display:grid!important;grid-template-columns:1fr!important}.urgent-mobile-help .detail-actions a{display:block;width:100%;text-align:center}
}
@media(max-width:380px){.topbar{padding-left:12px;padding-right:12px}.brand-logo{width:42px;height:42px}.brand-name span{font-size:20px}.needs-grid{gap:9px!important}.support-tile h3{font-size:15px!important}.support-tile p{font-size:11px!important}.support-tile{min-height:158px}}


/* v1.8.5 — MOBILE HEADER, HERO AND SCREEN CONSISTENCY REPAIR */
@media (max-width: 760px) {
  .topbar {
    box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
    width:100%!important;min-height:82px!important;height:auto!important;padding:12px 16px!important;margin:0!important;
    border:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important;border-radius:0!important;
    background:#031013!important;position:relative!important;z-index:100!important;
  }
  .brand{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
  .brand-logo{display:block!important;width:48px!important;height:48px!important;object-fit:contain!important;flex:0 0 48px!important}
  .brand-name{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important}
  .brand-name span{color:#fff!important;font-size:22px!important;line-height:1.05!important;font-weight:850!important;letter-spacing:.4px!important}
  .brand-name strong{color:#10b981!important;font-size:11px!important;line-height:1.2!important;letter-spacing:1.7px!important}
  .mobile-menu{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;flex:0 0 48px!important;margin-left:auto!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:13px!important;background:transparent!important;color:#fff!important;font-size:25px!important}

  #home .hero-block{box-sizing:border-box!important;display:block!important;position:relative!important;width:100%!important;min-height:0!important;height:auto!important;margin:0!important;padding:34px 20px 28px!important;overflow:hidden!important;border:0!important;border-radius:0!important;background-color:#06201f!important;background-image:linear-gradient(90deg,rgba(2,17,15,.88) 0%,rgba(2,17,15,.62) 55%,rgba(2,17,15,.25) 100%),url("/whanau.jpg")!important;background-size:cover!important;background-position:center 42%!important;color:#fff!important}
  #home .hero-content{position:relative!important;z-index:1!important;display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
  #home .hero-content .eyebrow{display:block!important;margin:0 0 12px!important;color:#b6f5d9!important;font-size:10px!important;line-height:1.45!important;letter-spacing:1.2px!important}
  #home .hero-content h1{display:block!important;margin:0 0 10px!important;color:#fff!important;font-size:clamp(32px,8vw,40px)!important;line-height:1.04!important;letter-spacing:-.8px!important;text-shadow:0 2px 12px rgba(0,0,0,.3)!important}
  #home .hero-copy{display:block!important;max-width:340px!important;margin:0!important;color:#fff!important;font-size:15px!important;line-height:1.48!important}
  #home .location-intelligence{display:none!important}
  #home .discovery-layout{display:block!important;position:relative!important;z-index:1!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0 0 100px!important}
  #home .discovery-main,#home .support-section{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important;padding:22px 14px 18px!important}
  #home .section-head{display:block!important;margin:0 0 15px!important;padding:0 2px!important}
  #home .section-head h2{display:block!important;margin:0!important;color:#102023!important;font-size:23px!important;line-height:1.2!important;letter-spacing:-.3px!important;text-shadow:none!important}
  #home .section-head p{display:block!important;margin:7px 0 0!important;color:#5a6f6b!important;font-size:13px!important;line-height:1.45!important}
  #home .needs-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;width:100%!important}
  #home .support-tile{display:block!important;position:relative!important;box-sizing:border-box!important;width:100%!important;height:190px!important;min-height:190px!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;isolation:isolate!important;border:1px solid rgba(7,80,65,.35)!important;border-radius:17px!important;background:#06201f!important;transform:none!important}
  #home .support-tile .tile-image{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;z-index:-1!important}
  #home .support-tile::after{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;background:linear-gradient(180deg,rgba(2,18,16,0) 20%,rgba(2,18,16,.88) 100%)!important}
  #home .support-tile .tile-content{display:flex!important;position:absolute!important;z-index:1!important;inset:auto 0 0 0!important;box-sizing:border-box!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;gap:4px!important;width:100%!important;min-height:0!important;margin:0!important;padding:34px 11px 12px!important;background:transparent!important;color:#fff!important;text-align:left!important}
  #home .support-tile .tile-icon{display:none!important}
  #home .support-tile .tile-content h3{display:block!important;margin:0!important;color:#fff!important;font-size:15px!important;line-height:1.15!important;overflow-wrap:anywhere!important}
  #home .support-tile .tile-content p{display:block!important;margin:0!important;color:#fff!important;font-size:11px!important;line-height:1.32!important;overflow-wrap:anywhere!important}
  #home .support-tile .tile-arrow{position:absolute!important;right:9px!important;bottom:9px!important;z-index:2!important;color:#fff!important;font-size:23px!important}

  .screen{position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;box-sizing:border-box!important;padding:0 0 calc(80px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;overflow-x:hidden!important;background:#f4f8f7!important;z-index:200!important}
  .screen-top{box-sizing:border-box!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:14px!important;width:100%!important;min-height:72px!important;height:auto!important;margin:0!important;padding:14px 16px!important;background:#031013!important;color:#fff!important;border:0!important;border-bottom:2px solid #10b981!important;border-radius:0!important;box-shadow:0 4px 16px rgba(0,0,0,.08)!important}
  .screen-top button{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;width:auto!important;max-width:100%!important;min-height:44px!important;margin:0!important;padding:8px 0!important;background:transparent!important;border:0!important;color:#fff!important;font-family:inherit!important;font-size:15px!important;line-height:1.2!important;font-weight:800!important;white-space:nowrap!important}
  .screen-top>div,#screenMeta{display:block!important;min-width:0!important;margin:0!important;padding:0!important;color:#fff!important;font-size:18px!important;font-weight:850!important;line-height:1.25!important;overflow-wrap:anywhere!important}
  #screenContent,#locationScreen .screen-content{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important;padding:22px 16px 36px!important}
  #screenContent .results-page{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
  #screenContent .results-page>.eyebrow{display:none!important}
  #screenContent .results-page>h1:first-of-type,#screenContent .results-page>h2:first-of-type{display:none!important}
  #screenContent .directory-intro>p:first-child{margin-top:0!important}
  #screenContent .service-result,#screenContent .detail-card,#screenContent .organisation-card{box-sizing:border-box!important;display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0 0 14px!important;padding:17px!important;overflow-wrap:anywhere!important;border-radius:20px!important}
  #screenContent .service-result p,#screenContent .detail-card p,#screenContent .organisation-card p,#screenContent .service-result address{max-width:100%!important;width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.5!important}
  #screenContent .service-result .result-actions,#screenContent .detail-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  #screenContent .service-result .result-actions a,#screenContent .detail-actions a{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .mobile-nav-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .mobile-nav-actions button{box-sizing:border-box!important;width:100%!important;min-height:54px!important;border-radius:15px!important}
  .mobile-bottom-nav{box-sizing:border-box!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:1200!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;width:100%!important;min-height:72px!important;margin:0!important;padding:7px 4px calc(7px + env(safe-area-inset-bottom))!important;background:#031013!important;border-top:2px solid #d2ad48!important;box-shadow:0 -5px 20px rgba(0,0,0,.16)!important}
  .mobile-bottom-nav a{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-width:0!important;min-height:52px!important;padding:3px 1px!important;color:#f2f7f5!important;background:transparent!important;text-decoration:none!important;text-align:center!important;font-size:10px!important;line-height:1.1!important;font-weight:800!important}
  .mobile-bottom-nav a>span:first-child{font-size:21px!important;line-height:1!important}
  .mobile-bottom-nav a[aria-label="Home"]{color:#f2c14e!important}
  body{padding-bottom:calc(80px + env(safe-area-inset-bottom))!important}
}
@media(max-width:390px){
  #home .hero-block{padding:28px 16px 24px!important}
  #home .hero-content h1{font-size:31px!important}
  #home .needs-grid{gap:9px!important}
  #home .support-tile{height:174px!important;min-height:174px!important}
  #home .support-tile .tile-content h3{font-size:14px!important}
  #home .support-tile .tile-content p{font-size:10px!important}
  .screen-top{grid-template-columns:auto minmax(0,1fr)!important;gap:10px!important;padding:12px!important}
  .screen-top>div,#screenMeta{font-size:16px!important}
}

/* v1.8.7 navigation and hero refinements */
.screen-top #screenMeta { display:none !important; }
.screen-top { justify-content:flex-start; }
.screen-top #backBtn { flex:0 0 auto; }
.hero-block { background-image: linear-gradient(90deg,rgba(3,16,19,.84) 0%,rgba(3,16,19,.60) 42%,rgba(3,16,19,.12) 100%), url('/hero.jpg'); background-position:center; background-size:cover; }
@media(max-width:760px) { .hero-block { background-position:center; background-size:cover; } .screen-top { min-height:62px; } }


/* Platinum navigation, transparent hero locator and consistent desktop/mobile title bar */
#screen .screen-top { display:flex!important; align-items:center!important; justify-content:flex-start!important; gap:0!important; min-height:62px!important; padding:12px clamp(16px,3vw,32px)!important; background:#031013!important; border-bottom:2px solid #10b981!important; box-shadow:0 5px 18px rgba(0,0,0,.12)!important; }
#screen .screen-top #backBtn { display:inline-flex!important; flex:0 0 auto!important; align-items:center!important; justify-content:center!important; min-height:44px!important; width:auto!important; padding:9px 4px!important; margin:0!important; color:#fff!important; background:transparent!important; border:0!important; border-radius:0!important; font-size:16px!important; font-weight:800!important; cursor:pointer!important; }
#screen .screen-top #screenMeta { display:none!important; visibility:hidden!important; width:0!important; height:0!important; overflow:hidden!important; }
#home .location-intelligence, #home .location-card, #home .location-box { background:rgba(4,22,23,.48)!important; backdrop-filter:blur(7px) saturate(125%)!important; -webkit-backdrop-filter:blur(7px) saturate(125%)!important; border:1px solid rgba(220,255,244,.36)!important; box-shadow:0 16px 44px rgba(0,0,0,.20)!important; }
#home .location-intelligence .location-stats div { background:rgba(3,18,18,.24)!important; }
#home .location-intelligence .location-change { background:rgba(11,79,62,.82)!important; }
.local-amenities { margin:0 0 26px; }
.local-amenities h2 { margin:24px 0 10px; }
@media(max-width:760px){#screen .screen-top{min-height:58px!important;padding:10px 14px!important}#screen .screen-top #backBtn{font-size:15px!important;min-height:42px!important}#home .location-intelligence,#home .location-card,#home .location-box{background:rgba(4,22,23,.54)!important;backdrop-filter:blur(5px) saturate(120%)!important;-webkit-backdrop-filter:blur(5px) saturate(120%)!important}}

/* v1.8.9 Platinum navigation and provider-card repair */
#screen .screen-top { position:sticky!important; top:0!important; z-index:9999!important; pointer-events:auto!important; isolation:isolate!important; }
#screen .screen-top #screenMeta { display:none!important; visibility:hidden!important; position:absolute!important; width:1px!important; height:1px!important; clip-path:inset(50%)!important; overflow:hidden!important; white-space:nowrap!important; }
#screen .screen-top #backBtn { position:relative!important; z-index:10000!important; pointer-events:auto!important; touch-action:manipulation!important; cursor:pointer!important; }
#screenContent { position:relative!important; z-index:1!important; }
.provider-logo { display:block!important; width:48px!important; height:48px!important; object-fit:contain!important; flex:0 0 48px!important; border-radius:10px!important; padding:4px!important; background:#fff!important; border:1px solid #e0ebe7!important; }
.result-card-top { align-items:center!important; gap:12px!important; }
.local-kai-guides .service-result { display:grid!important; grid-template-columns:1fr!important; gap:10px!important; padding:22px!important; border:1px solid #dce8e3!important; border-radius:20px!important; background:#fff!important; box-shadow:0 8px 24px rgba(5,40,33,.06)!important; }
.local-kai-guides .result-details { display:grid!important; grid-template-columns:minmax(90px,150px) 1fr!important; column-gap:16px!important; row-gap:10px!important; }
.local-kai-guides .result-details dt { font-weight:800!important; color:#173c35!important; }
.local-kai-guides .result-details dd { margin:0!important; color:#526964!important; }
#home .location-card, #home .location-intelligence, #home .location-box { background:rgba(5,28,27,.42)!important; backdrop-filter:blur(6px) saturate(120%)!important; -webkit-backdrop-filter:blur(6px) saturate(120%)!important; border-color:rgba(255,255,255,.3)!important; }
@media(max-width:760px){.provider-logo{width:42px!important;height:42px!important;flex-basis:42px!important}.local-kai-guides .result-details{grid-template-columns:95px 1fr!important}}


/* v1.9.0: deterministic navigation, no duplicate title, and local-first brand cards */
#screen .screen-top { position:sticky!important; top:0!important; z-index:10020!important; display:flex!important; width:100%!important; box-sizing:border-box!important; min-height:62px!important; align-items:center!important; justify-content:flex-start!important; background:#031013!important; pointer-events:auto!important; }
#screen .screen-top #screenMeta, #screen .screen-top>div:not(#backBtn) { display:none!important; visibility:hidden!important; }
#screen .screen-top #backBtn { pointer-events:auto!important; position:relative!important; z-index:10021!important; cursor:pointer!important; touch-action:manipulation!important; }
#screenContent { overflow:visible!important; }
#screenContent .results-page > .screen-title { scroll-margin-top:72px!important; }
.provider-logo { width:60px!important;height:60px!important;object-fit:contain!important;object-position:center!important;padding:3px!important;background:#fff!important; }
.about-statement p { font-size:1.04rem; line-height:1.75; }
@media(max-width:760px){#screen .screen-top{min-height:56px!important;padding:8px 14px!important}#screen .screen-top #backBtn{min-height:42px!important;font-size:16px!important}.provider-logo{width:50px!important;height:50px!important}}

.local-maori-discovery{margin:24px 0;padding:22px;border:1px solid #dbe8e2;border-radius:18px;background:#f7fbf9}.local-maori-discovery h2{margin:0 0 8px}.local-maori-discovery p{line-height:1.65}.discovery-links{display:flex;flex-wrap:wrap;gap:10px}.discovery-links a{display:inline-flex;padding:12px 15px;border-radius:11px;background:#e8f4ef;color:#075a47;font-weight:800;text-decoration:none}


/* v1.9.3: footer contact is visible on desktop and mobile */
footer .footer-contact{display:inline-flex;align-items:center;padding:10px 12px;border-radius:9px;color:#31554e;font-weight:800;text-decoration:none}footer .footer-contact:hover{background:#e8f4ef;color:#00694e}
@media(max-width:760px){footer .footer-contact{display:inline-flex!important}}

@media(max-width:760px){#home footer{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;margin:18px 13px 100px!important;width:auto!important;padding:14px 0!important}}


/* v1.9.4 — fixed website chrome, fixed mobile app chrome, footer Contact polish */
:root { --angitu-fixed-header-height: 82px; --angitu-fixed-footer-height: 64px; }
@media (min-width: 761px) {
  html { scroll-padding-top: calc(var(--angitu-fixed-header-height) + 16px); }
  body > .app-shell { padding-top: var(--angitu-fixed-header-height); padding-bottom: var(--angitu-fixed-footer-height); }
  .topbar {
    position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important;
    width: 100% !important; min-height: var(--angitu-fixed-header-height) !important;
    height: var(--angitu-fixed-header-height) !important; box-sizing: border-box !important;
    z-index: 3000 !important; flex-wrap: nowrap !important;
  }
  body > .app-shell > footer {
    position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    z-index: 2900 !important; box-sizing: border-box !important; width: 100% !important;
    max-width: none !important; min-height: var(--angitu-fixed-footer-height) !important;
    margin: 0 !important; padding: 8px clamp(24px, 4vw, 56px) !important;
    background: rgba(255,255,255,.98) !important; border-top: 1px solid #d9e5e0 !important;
    box-shadow: 0 -4px 18px rgba(9,35,28,.06) !important; display: flex !important;
    align-items: center !important; justify-content: flex-end !important; gap: 10px !important;
  }
  body > .app-shell > footer > button,
  body > .app-shell > footer > .footer-contact {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    box-sizing: border-box !important; min-height: 40px !important; padding: 9px 16px !important;
    border: 1px solid #d5e5de !important; border-radius: 999px !important;
    background: #f5faf7 !important; color: #075b45 !important;
    font: 800 12px/1.2 Montserrat, Arial, sans-serif !important;
    text-decoration: none !important; box-shadow: none !important; cursor: pointer !important;
  }
  body > .app-shell > footer > .footer-contact::before { content: "✉"; margin-right: 8px; font-size: 14px; }
  body > .app-shell > footer > button:hover,
  body > .app-shell > footer > .footer-contact:hover,
  body > .app-shell > footer > .footer-contact:focus-visible {
    background: #e4f5ec !important; border-color: #0b9c6b !important; color: #034b39 !important;
    outline-offset: 3px;
  }
}
@media (max-width: 760px) {
  :root { --angitu-fixed-header-height: 70px; }
  body > .app-shell { padding-top: var(--angitu-fixed-header-height) !important; padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important; }
  .topbar {
    position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important;
    width: 100% !important; height: var(--angitu-fixed-header-height) !important;
    min-height: var(--angitu-fixed-header-height) !important; box-sizing: border-box !important;
    z-index: 3000 !important; flex-wrap: nowrap !important;
  }
  .mobile-bottom-nav {
    position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    z-index: 3100 !important; transform: none !important; margin: 0 !important;
    padding-bottom: calc(7px + env(safe-area-inset-bottom)) !important;
  }
  body > .app-shell > footer { position: static !important; width: auto !important; margin: 18px 13px 18px !important; }
  body > .app-shell > footer .footer-contact {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    min-height: 40px !important; padding: 10px 16px !important; border: 1px solid #d5e5de !important;
    border-radius: 999px !important; background: #f5faf7 !important; color: #075b45 !important;
    font: 800 12px/1.2 Montserrat, Arial, sans-serif !important; text-decoration: none !important;
  }
  body > .app-shell > footer .footer-contact::before { content: "✉"; margin-right: 8px; font-size: 14px; }
}


/* v1.9.5 — persistent site chrome and footer-only Contact */
html { scroll-padding-top: 90px !important; }
body { margin: 0 !important; }
body > .app-shell {
  overflow: visible !important;
  transform: none !important;
  contain: none !important;
}
body > .app-shell > .topbar {
  position: fixed !important; inset: 0 0 auto 0 !important;
  width: 100% !important; z-index: 50000 !important;
  box-sizing: border-box !important; margin: 0 !important;
}
body > .app-shell > main#home {
  box-sizing: border-box !important;
  padding-top: 82px !important;
  padding-bottom: 86px !important;
}
body > .app-shell > footer {
  position: fixed !important; inset: auto 0 0 0 !important;
  z-index: 49999 !important; width: 100% !important; max-width: none !important;
  box-sizing: border-box !important; margin: 0 !important;
  min-height: 64px !important; padding: 8px clamp(16px, 4vw, 56px) !important;
  display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
  align-items: center !important; justify-content: flex-end !important; gap: 10px !important;
  background: rgba(255,255,255,.98) !important;
  border-top: 1px solid #d9e5e0 !important;
  box-shadow: 0 -4px 18px rgba(9,35,28,.08) !important;
}
body > .app-shell > footer > .footer-contact {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  gap: 8px !important; min-height: 40px !important; padding: 10px 18px !important;
  border: 1px solid #b8d8ca !important; border-radius: 999px !important;
  background: #eaf7f0 !important; color: #075b45 !important;
  font-family: Montserrat, Arial, sans-serif !important; font-size: 12px !important;
  font-weight: 800 !important; line-height: 1.2 !important; text-decoration: none !important;
  white-space: nowrap !important; box-shadow: 0 2px 5px rgba(7,91,69,.08) !important;
}
body > .app-shell > footer > .footer-contact::before { content: "✉" !important; display: inline-block !important; font-size: 15px !important; }
body > .app-shell > footer > .footer-contact:hover,
body > .app-shell > footer > .footer-contact:focus-visible {
  background: #d8f1e4 !important; border-color: #078f5b !important; color: #034b39 !important;
  outline: 2px solid #078f5b !important; outline-offset: 2px !important;
}
body > .app-shell > footer > button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  min-height: 40px !important; padding: 10px 15px !important;
  border: 1px solid #d5e5de !important; border-radius: 999px !important;
  background: #f7faf8 !important; color: #31554e !important;
  font: 800 12px/1.2 Montserrat, Arial, sans-serif !important;
}
/* Keep the mobile app's primary navigation fixed, regardless of page scroll. */
@media (max-width: 760px) {
  html { scroll-padding-top: 78px !important; }
  body > .app-shell > .topbar { height: 70px !important; min-height: 70px !important; }
  body > .app-shell > main#home { padding-top: 70px !important; padding-bottom: calc(86px + env(safe-area-inset-bottom)) !important; }
  body > .app-shell > footer {
    position: static !important; inset: auto !important; width: auto !important;
    min-height: 0 !important; margin: 18px 13px calc(92px + env(safe-area-inset-bottom)) !important;
    padding: 14px 0 !important; box-shadow: none !important; border-top: 1px solid #d9e5e0 !important;
    justify-content: center !important;
  }
  .mobile-bottom-nav {
    position: fixed !important; inset: auto 0 0 0 !important; z-index: 50001 !important;
    display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important;
    transform: none !important; visibility: visible !important; opacity: 1 !important;
    margin: 0 !important; padding: 7px 5px calc(7px + env(safe-area-inset-bottom)) !important;
    background: rgba(255,255,255,.99) !important; border-top: 1px solid #dfe8e4 !important;
    box-shadow: 0 -5px 20px rgba(12,40,34,.09) !important;
  }
}


/* v1.9.6 — fix doubled header offset, restore visible Back bars, retain original footer controls */
:root { --angitu-header-h: 82px; --angitu-mobile-header-h: 70px; --angitu-footer-h: 64px; }
html { scroll-padding-top: calc(var(--angitu-header-h) + 12px) !important; }
body > .app-shell { padding-top: 0 !important; margin-top: 0 !important; overflow: visible !important; }
body > .app-shell > .topbar { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; z-index: 50000 !important; }
body > .app-shell > main#home { margin-top: 0 !important; padding-top: var(--angitu-header-h) !important; }
#home .hero-block { margin-top: 0 !important; }
/* Internal screens sit below the persistent site header, so their Back bar is not covered by it. */
body > .app-shell > #screen,
body > .app-shell > #locationScreen {
  position: fixed !important; top: var(--angitu-header-h) !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  width: 100% !important; height: auto !important; min-height: 0 !important; box-sizing: border-box !important;
  overflow-y: auto !important; overflow-x: hidden !important; z-index: 40000 !important;
  padding: 0 0 var(--angitu-footer-h) !important; background: #f4f8f7 !important;
}
body > .app-shell > #screen > .screen-top,
body > .app-shell > #locationScreen > .screen-top {
  display: flex !important; position: sticky !important; top: 0 !important; z-index: 40001 !important;
  visibility: visible !important; opacity: 1 !important; min-height: 62px !important; height: auto !important;
  align-items: center !important; justify-content: flex-start !important; gap: 14px !important;
  padding: 10px 24px !important; background: #031013 !important; color: #fff !important;
  border-bottom: 2px solid #10b981 !important; box-sizing: border-box !important;
}
body > .app-shell > #screen > .screen-top #backBtn,
body > .app-shell > #locationScreen > .screen-top #closeLocation {
  display: inline-flex !important; visibility: visible !important; opacity: 1 !important; position: relative !important;
  z-index: 40002 !important; flex: 0 0 auto !important; min-height: 42px !important; width: auto !important;
  margin: 0 !important; padding: 8px 4px !important; color: #fff !important; background: transparent !important;
  border: 0 !important; font: 800 15px/1.2 Montserrat, Arial, sans-serif !important; cursor: pointer !important;
  pointer-events: auto !important; touch-action: manipulation !important;
}
body > .app-shell > #screen > .screen-top #screenMeta,
body > .app-shell > #screen > .screen-top > div:not(#screenMeta) { display: none !important; }
body > .app-shell > #screenContent { position: relative !important; z-index: 1 !important; overflow: visible !important; }
/* Footer stays fixed on desktop. Contact is deliberately plain text like Privacy, About and Angitū Reach. */
@media (min-width: 761px) {
  body > .app-shell > footer { position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 49999 !important; }
  body > .app-shell > footer > .footer-contact {
    display: inline-flex !important; align-items: center !important; min-height: 40px !important;
    padding: 10px 12px !important; border: 0 !important; border-radius: 9px !important;
    background: transparent !important; color: #31554e !important;
    font: 800 12px/1.2 Montserrat, Arial, sans-serif !important; text-decoration: none !important;
    box-shadow: none !important;
  }
  body > .app-shell > footer > .footer-contact::before { content: none !important; display: none !important; }
  body > .app-shell > footer > .footer-contact:hover,
  body > .app-shell > footer > .footer-contact:focus-visible { background: #e8f4ef !important; color: #00694e !important; outline-offset: 2px; }
  body > .app-shell > main#home { padding-bottom: calc(var(--angitu-footer-h) + 20px) !important; }
}
@media (max-width: 760px) {
  :root { --angitu-header-h: 70px; }
  html { scroll-padding-top: 78px !important; }
  body > .app-shell { padding-top: 0 !important; padding-bottom: 0 !important; }
  body > .app-shell > .topbar { top: 0 !important; height: var(--angitu-header-h) !important; min-height: var(--angitu-header-h) !important; }
  body > .app-shell > main#home { padding-top: var(--angitu-header-h) !important; padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important; }
  body > .app-shell > #screen,
  body > .app-shell > #locationScreen { top: var(--angitu-header-h) !important; bottom: calc(62px + env(safe-area-inset-bottom)) !important; padding-bottom: 12px !important; z-index: 40000 !important; }
  body > .app-shell > #screen > .screen-top,
  body > .app-shell > #locationScreen > .screen-top { min-height: 58px !important; padding: 8px 14px !important; }
  body > .app-shell > #screenContent { padding: 16px 14px 30px !important; }
  body > .app-shell > footer { position: static !important; }
  .mobile-bottom-nav { position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 50001 !important; transform: none !important; }
}


/* v1.9.7 — restore high-contrast mobile navigation and add safety information panels */
.mobile-bottom-nav {
  background: #031013 !important;
  background-color: #031013 !important;
  border-top: 2px solid #10b981 !important;
  box-shadow: 0 -6px 22px rgba(0,0,0,.22) !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.mobile-bottom-nav a {
  color: #dce9e5 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  font-weight: 800 !important;
}
.mobile-bottom-nav a span,
.mobile-bottom-nav a span:first-child { color: inherit !important; opacity: 1 !important; }
.mobile-bottom-nav a:first-child,
.mobile-bottom-nav a[aria-current="page"],
.mobile-bottom-nav a.active { color: #f2aa19 !important; }
.mobile-bottom-nav a:focus-visible { outline: 2px solid #10b981 !important; outline-offset: -3px !important; }
@media (max-width:760px) {
  .mobile-bottom-nav {
    padding-bottom: calc(7px + env(safe-area-inset-bottom)) !important;
    min-height: calc(62px + env(safe-area-inset-bottom)) !important;
  }
  body > .app-shell > main#home {
    padding-bottom: calc(78px + env(safe-area-inset-bottom)) !important;
  }
}
.high-alert-panel, .emergency-info-panel {
  margin: 0 0 18px;
  padding: 18px;
  border-radius: 16px;
  border: 1px solid #dce8e3;
  background: #fff;
  box-shadow: 0 5px 18px rgba(12,43,36,.05);
}
.high-alert-panel { border-left: 4px solid #d33b32; }
.high-alert-heading, .emergency-info-heading { display:flex; align-items:flex-start; gap:12px; margin-bottom:12px; }
.high-alert-mark { display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:50%; background:#b42318; color:#fff; font-weight:900; }
.high-alert-heading h2, .emergency-info-heading h2 { margin:0 0 4px; color:#102522; font-size:17px; line-height:1.3; }
.high-alert-heading p, .emergency-info-heading p { margin:0; color:#586d71; font-size:12px; line-height:1.45; }
.high-alert-items { display:grid; gap:10px; }
.high-alert-item { padding:12px; border:1px solid #f0d2ce; border-radius:12px; background:#fffafa; }
.high-alert-item h3 { margin:6px 0; color:#3c1b19; font-size:14px; line-height:1.35; }
.high-alert-item a, .high-alert-source, .emergency-info-links a { color:#006e55; font-size:12px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.high-alert-scope { display:inline-block; padding:4px 7px; border-radius:5px; background:#fbe7e5; color:#8c2019; font-size:10px; font-weight:900; }
.high-alert-date { margin:4px 0 8px; color:#647575; font-size:11px; }
.high-alert-empty { margin:0; color:#596d70; font-size:12px; line-height:1.5; }
.high-alert-source { display:inline-block; margin-top:12px; }
.emergency-info-panel { background:#f8fbf9; }
.emergency-info-heading>span { font-size:26px; line-height:1; }
.emergency-info-panel>p { color:#53676c; font-size:12px; line-height:1.55; }
.emergency-info-links { display:flex; flex-wrap:wrap; gap:12px 18px; }
@media(max-width:760px) {
 .high-alert-panel, .emergency-info-panel { padding:14px; }
 .high-alert-heading h2, .emergency-info-heading h2 { font-size:15px; }
}


/* v1.9.8: urgent notices sit across the Hero, never in a permanent sidebar card. */
.hero-block{flex-wrap:wrap!important}.live-alert-banners{display:grid;gap:10px;width:100%;position:relative;z-index:5;margin:0 0 20px;flex:0 0 100%;}
.live-alert-banner{display:flex;align-items:center;gap:14px;width:100%;box-sizing:border-box;padding:14px 18px;border-radius:12px;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.2)}
.live-alert-banner.drug-alert{background:#a9231b;border-left:6px solid #ffd56a}
.live-alert-banner.emergency-alert{background:#8d160f;border:2px solid #ffd56a;animation:alertPulse 2.2s ease-in-out infinite}
.live-alert-symbol{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#fff;color:#a9231b;font-size:23px;font-weight:1000}
.live-alert-copy{flex:1;min-width:0}.live-alert-copy strong{display:block;font-size:11px;letter-spacing:.08em;margin-bottom:3px;color:#ffe5a4}.live-alert-copy h2{font-size:17px;line-height:1.3;margin:0;color:#fff}.live-alert-copy p{font-size:13px;line-height:1.45;margin:5px 0 0;color:#fff}.live-alert-copy small{display:block;margin-top:4px;color:#ffe5a4}.live-alert-banner>a{flex:0 0 auto;color:#fff;font-weight:850;text-decoration:underline;text-underline-offset:3px;font-size:12px}.rangatahi-housing-gateway{padding:20px;border:1px solid #dce8e3;border-radius:16px;background:#fff}.rangatahi-housing-gateway h2{margin:0 0 8px;color:#102522;font-size:18px}.rangatahi-housing-gateway p{font-size:13px;line-height:1.5;color:#53676c}.gateway-actions{display:grid;gap:9px}.gateway-actions a{color:#006e55;font-size:13px;font-weight:800;text-decoration:underline}.gateway-note{border-top:1px solid #e6eeeb;padding-top:10px}.high-alert-panel,.emergency-info-panel{display:none!important}
@keyframes alertPulse{0%,100%{box-shadow:0 8px 24px rgba(0,0,0,.22)}50%{box-shadow:0 8px 28px rgba(255,213,106,.4)}}
@media(max-width:760px){.live-alert-banners{margin-bottom:14px}.live-alert-banner{align-items:flex-start;flex-wrap:wrap;padding:12px;gap:9px}.live-alert-symbol{flex-basis:28px;height:28px;font-size:19px}.live-alert-copy{width:calc(100% - 42px);flex:1 1 calc(100% - 42px)}.live-alert-copy h2{font-size:15px}.live-alert-banner>a{margin-left:37px}.hero-block{flex-wrap:wrap!important}}

/* v1.9.9 Platinum polish: restore community feed, refined canvas, and true content-height footer */
:root { --angitu-canvas: #eaf1ef; --angitu-surface: #f5f8f6; --angitu-line: #d5e2dc; }
html { background: var(--angitu-canvas) !important; min-height: 100%; }
body { background: linear-gradient(145deg,#eaf1ef 0%,#f4f7f5 48%,#e8f0ed 100%) !important; color: #102b27; min-height: 0 !important; height: auto !important; }
body > .app-shell { min-height: 0 !important; height: auto !important; padding-bottom: 0 !important; overflow: visible !important; }
body > .app-shell > main#home { min-height: 0 !important; height: auto !important; padding-bottom: 24px !important; }
body > .app-shell > footer { position: static !important; inset: auto !important; width: auto !important; max-width: none !important; min-height: 0 !important; margin: 24px clamp(16px,4vw,56px) 0 !important; padding: 18px 0 !important; background: transparent !important; border-top: 1px solid #cfddd7 !important; box-shadow: none !important; justify-content: flex-end !important; gap: 12px !important; }
body > .app-shell > footer > button, body > .app-shell > footer > .footer-contact { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 38px !important; padding: 8px 12px !important; border: 0 !important; border-radius: 8px !important; background: transparent !important; color: #31574f !important; font: 800 12px/1.2 Montserrat,Arial,sans-serif !important; box-shadow: none !important; }
body > .app-shell > footer > .footer-contact::before { display: none !important; content: none !important; }
.live-community-panel { background: rgba(255,255,255,.72) !important; border: 1px solid #d5e2dc !important; border-radius: 18px !important; box-shadow: 0 8px 26px rgba(12,45,36,.045) !important; }
.live-community-panel .panel-header { align-items: center; gap: 10px; }
.live-community-panel .panel-header h2 { margin: 0; }
.live-community-intro { color: #617672; font-size: 13px; line-height: 1.55; margin: 8px 0 14px; }
.live-status-pill { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; color: #14654e; background: #e1f3e9; border: 1px solid #c7e8d7; border-radius: 999px; padding: 5px 9px; font-size: 10px; font-weight: 800; }
.live-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #0aa875; box-shadow: 0 0 0 3px rgba(10,168,117,.12); }
.live-feed-meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; border-top: 1px solid #e1eae5; padding-top: 11px; margin-top: 12px; color: #748782; font-size: 10px; }
.live-feed-meta a { color: #08785a; font-weight: 800; text-decoration: none; }
.rangatahi-housing-gateway { display: none !important; }
/* The document itself scrolls to its natural end; only the compact mobile quick-nav remains fixed. */
@media (min-width: 761px) {
 body > .app-shell { padding-top: 82px !important; }
 body > .app-shell > main#home { padding-top: 0 !important; padding-bottom: 24px !important; }
 body > .app-shell > footer { margin-bottom: 12px !important; }
}
@media (max-width: 760px) {
 html, body { min-height: 0 !important; height: auto !important; overflow-x: clip !important; }
 body > .app-shell { padding-top: 70px !important; padding-bottom: 0 !important; }
 body > .app-shell > main#home { padding-top: 0 !important; padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important; min-height: 0 !important; }
 body > .app-shell > footer { position: static !important; margin: 18px 16px calc(16px + env(safe-area-inset-bottom)) !important; padding: 14px 0 !important; justify-content: center !important; gap: 8px !important; }
 body > .app-shell > footer > button, body > .app-shell > footer > .footer-contact { font: 800 12px/1.2 Montserrat,Arial,sans-serif !important; padding: 8px 10px !important; min-height: 36px !important; }
 .live-community-panel { margin: 12px !important; padding: 16px !important; }
 .live-community-panel .panel-header h2 { font-size: 18px !important; }
 .live-feed-meta { align-items: flex-start; }
 .mobile-bottom-nav { bottom: 0 !important; }
}
/* Footer is nested inside #home; target the actual DOM hierarchy so it flows after content. */
body > .app-shell > main#home > footer { position: static !important; inset: auto !important; left: auto !important; right: auto !important; bottom: auto !important; z-index: auto !important; width: auto !important; max-width: none !important; min-height: 0 !important; height: auto !important; margin: 24px clamp(16px,4vw,56px) 12px !important; padding: 18px 0 !important; background: transparent !important; border-top: 1px solid #cfddd7 !important; box-shadow: none !important; justify-content: flex-end !important; }
body > .app-shell > main#home > footer > button, body > .app-shell > main#home > footer > .footer-contact { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 36px !important; padding: 8px 10px !important; border: 0 !important; border-radius: 8px !important; background: transparent !important; color: #31574f !important; font: 800 12px/1.2 Montserrat,Arial,sans-serif !important; box-shadow: none !important; }
body > .app-shell > main#home > footer > .footer-contact::before { display: none !important; content: none !important; }
@media(max-width:760px) {
 body > .app-shell > main#home > footer { position: static !important; margin: 18px 16px calc(16px + env(safe-area-inset-bottom)) !important; padding: 14px 0 !important; justify-content: center !important; gap: 8px !important; }
 body > .app-shell > main#home > footer > button, body > .app-shell > main#home > footer > .footer-contact { font: 800 12px/1.2 Montserrat,Arial,sans-serif !important; padding: 8px 10px !important; min-height: 36px !important; }
}

/* v1.10.0: remove the orphaned empty discovery sidebar; stronger platinum sage canvas; natural mobile document end. */
:root { --angitu-canvas:#e2ece8; --angitu-surface:#edf3f0; --angitu-line:#c8d9d2; }
html { background:#e2ece8 !important; }
body { background:linear-gradient(135deg,#e2ece8 0%,#edf3f0 46%,#e4eeea 100%) !important; background-attachment:fixed !important; }
body > .app-shell, body > .app-shell > main#home { height:auto !important; min-height:0 !important; overflow:visible !important; }
.discovery-layout { grid-template-columns:minmax(0,1fr) !important; }
.discovery-layout > .discovery-main { width:100% !important; min-width:0 !important; }
.discovery-layout > aside.live-panel:empty { display:none !important; }
.support-section, .dashboard-grid, .services-panel, .live-community-panel, .provider-panel { background-color:rgba(247,250,248,.88) !important; }
@media (min-width:761px) {
 body > .app-shell { overflow:visible !important; }
 body > .app-shell > main#home { padding-bottom:20px !important; }
}
@media (max-width:760px) {
 html, body { height:auto !important; min-height:0 !important; overflow-x:hidden !important; overflow-y:auto !important; }
 body > .app-shell { height:auto !important; min-height:0 !important; overflow:visible !important; padding-bottom:0 !important; }
 body > .app-shell > main#home, #home.home { height:auto !important; min-height:0 !important; overflow:visible !important; padding-bottom:calc(70px + env(safe-area-inset-bottom)) !important; margin-bottom:0 !important; background:linear-gradient(145deg,#e2ece8 0%,#edf3f0 52%,#e4eeea 100%) !important; }
 #home .discovery-layout { display:block !important; }
 #home .dashboard-grid { margin-bottom:0 !important; padding-bottom:0 !important; }
 body > .app-shell > main#home > footer { margin-bottom:calc(8px + env(safe-area-inset-bottom)) !important; }
 .mobile-bottom-nav { position:fixed !important; bottom:0 !important; height:64px !important; min-height:64px !important; padding-bottom:env(safe-area-inset-bottom) !important; box-sizing:content-box !important; z-index:50001 !important; }
}


/* v1.10.2 — restore the location intelligence card in the hero on desktop AND mobile.
   Earlier legacy overrides hid this card (#home .location-intelligence); this final rule
   intentionally wins over those stale rules. */
#home .hero-block {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:clamp(22px,3vw,42px) !important;
  min-height:320px !important;
}
#home .hero-content { flex:1 1 0 !important; min-width:0 !important; max-width:760px !important; }
#home .hero-content h1 { max-width:780px !important; }
#home .location-intelligence {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  flex:0 1 410px !important;
  width:min(38%,445px) !important;
  min-width:300px !important;
  max-width:445px !important;
  margin:0 !important;
  align-self:center !important;
  position:relative !important;
  z-index:2 !important;
}
@media (max-width: 760px) {
  #home .hero-block {
    flex-direction:column !important;
    align-items:stretch !important;
    gap:18px !important;
    min-height:0 !important;
    padding:28px 18px 22px !important;
  }
  #home .hero-content { width:100% !important; max-width:none !important; flex:0 0 auto !important; }
  #home .location-intelligence {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:17px !important;
    box-sizing:border-box !important;
  }
  #home .location-card-header { align-items:flex-start !important; }
  #home .location-card-header b { overflow-wrap:anywhere !important; }
  #home .location-stats { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}

/* v1.10.3 — visible platinum sage canvas + mobile-app layout correction.
   Final override intentionally supersedes legacy white backgrounds and hidden location rules. */
:root {
  --angitu-canvas: #dce8e3;
  --angitu-surface: #e8f0ec;
  --angitu-line: #bfd2c9;
}
html, body {
  background: #dce8e3 !important;
  background-image: linear-gradient(145deg, #dce8e3 0%, #e8f0ec 48%, #d9e6e0 100%) !important;
  background-attachment: fixed !important;
  color: #102b27 !important;
}
body > .app-shell,
body > .app-shell > main#home,
#home.home {
  background: transparent !important;
  background-color: transparent !important;
}
#home .support-section,
#home .dashboard-grid,
#home .services-panel,
#home .provider-panel,
#home .trust-strip,
#home .live-community-panel,
#home .available-panel,
#home .discovery-main {
  background-color: rgba(232, 241, 236, .88) !important;
}
#home .support-section {
  border-radius: 22px !important;
  padding: clamp(16px, 2.2vw, 28px) !important;
}
#home .support-tile { box-shadow: 0 9px 24px rgba(17, 49, 40, .16) !important; }

@media (max-width: 760px) {
  html, body { background: #dce8e3 !important; background-image: linear-gradient(160deg,#dce8e3 0%,#e9f1ed 52%,#d9e6e0 100%) !important; }
  body > .app-shell { background: transparent !important; width:100% !important; max-width:100% !important; }
  body > .app-shell > main#home,
  #home.home { background: transparent !important; padding: 0 0 calc(78px + env(safe-area-inset-bottom)) !important; }
  #home .hero-block { border-radius: 0 0 24px 24px !important; overflow: visible !important; }
  #home .location-intelligence {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 18px 0 0 !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    border-radius: 18px !important;
    position: relative !important;
    inset: auto !important;
  }
  #home .discovery-layout { margin: -58px 12px 0 !important; padding: 0 0 18px !important; }
  #home .support-section {
    width:100% !important; margin:0 !important; padding:18px 12px 16px !important;
    border:1px solid rgba(180,203,192,.72) !important;
    border-radius:20px !important;
    background:rgba(226,237,231,.96) !important;
    box-shadow:0 12px 28px rgba(19,54,43,.08) !important;
  }
  #home .section-head { padding:0 4px !important; }
  #home .section-head h2 { color:#102b27 !important; text-shadow:none !important; }
  #home .section-head p { color:#536d65 !important; }
  #home .needs-grid { gap:11px !important; }
  #home .support-tile { border-radius:16px !important; border-color:rgba(180,203,192,.9) !important; }
  #home .mobile-bottom-nav {
    display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    align-items:stretch !important; gap:0 !important; width:100% !important;
    min-height:64px !important; height:calc(64px + env(safe-area-inset-bottom)) !important;
    padding:5px 4px env(safe-area-inset-bottom) !important; box-sizing:border-box !important;
    background:#061716 !important; border-top:2px solid #0aa987 !important;
    box-shadow:0 -8px 24px rgba(10,39,31,.18) !important;
  }
  #home .mobile-bottom-nav a {
    display:flex !important; min-width:0 !important; flex-direction:column !important;
    align-items:center !important; justify-content:center !important; gap:3px !important;
    padding:4px 1px !important; border-radius:10px !important; background:transparent !important;
    color:#d7e6df !important; font-size:10px !important; line-height:1.1 !important;
    font-weight:750 !important; text-align:center !important; white-space:normal !important;
  }
  #home .mobile-bottom-nav a span:first-child { font-size:19px !important; line-height:1 !important; }
  #home .mobile-bottom-nav a.active,
  #home .mobile-bottom-nav a[aria-current="page"] { color:#f2b72f !important; background:rgba(255,255,255,.06) !important; }
  body > .app-shell > footer { background:transparent !important; }
}
@media (max-width: 760px) {
  .mobile-bottom-nav {
    display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    align-items:stretch !important; gap:0 !important; width:100% !important;
    min-height:64px !important; height:calc(64px + env(safe-area-inset-bottom)) !important;
    padding:5px 4px env(safe-area-inset-bottom) !important; box-sizing:border-box !important;
    background:#061716 !important; border-top:2px solid #0aa987 !important;
    box-shadow:0 -8px 24px rgba(10,39,31,.18) !important;
  }
  .mobile-bottom-nav a {
    display:flex !important; min-width:0 !important; flex-direction:column !important;
    align-items:center !important; justify-content:center !important; gap:3px !important;
    padding:4px 1px !important; border-radius:10px !important; background:transparent !important;
    color:#d7e6df !important; font-size:10px !important; line-height:1.1 !important;
    font-weight:750 !important; text-align:center !important; white-space:normal !important;
  }
  .mobile-bottom-nav a span:first-child { font-size:19px !important; line-height:1 !important; }
  .mobile-bottom-nav a.active, .mobile-bottom-nav a[aria-current="page"] { color:#f2b72f !important; background:rgba(255,255,255,.06) !important; }
  #home .discovery-layout, #home .discovery-main { background:transparent !important; }
}


/* v1.10.4 — layout repairs across desktop and mobile */
.main-nav a#homeNav { color:#6ce6b4!important; }
#viewAllCategories { display:none!important; }
@media (max-width:760px) {
  /* Let the hero and location card finish before the categories begin. */
  #home .hero-block { display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:0!important; height:auto!important; min-height:0!important; overflow:visible!important; padding:28px 18px 28px!important; }
  #home .hero-content { flex:0 0 auto!important; width:100%!important; }
  #home .location-intelligence { flex:0 0 auto!important; height:auto!important; min-height:0!important; margin:22px 0 0!important; }
  #home .discovery-layout { display:block!important; margin:20px 12px 0!important; transform:none!important; position:relative!important; top:auto!important; }
  #home .support-section { margin-top:0!important; }
  #home .dashboard-grid { margin-top:20px!important; }
  #home.home { overflow:visible!important; }
}
/* Provider-facing workflows are full desktop pages, not narrow app mockups. */


/* v1.10.7: persistent mobile navigation lives outside the home screen so it stays visible on every in-app page. */
.mobile-bottom-nav { display:none !important; }
@media (max-width:760px) {
  .mobile-bottom-nav {
    display:grid !important; position:fixed !important; left:0 !important; right:0 !important; bottom:0 !important;
    z-index:50001 !important; width:100% !important; box-sizing:border-box !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important; align-items:stretch !important; gap:0 !important;
    height:calc(64px + env(safe-area-inset-bottom)) !important; min-height:calc(64px + env(safe-area-inset-bottom)) !important;
    margin:0 !important; padding:5px 4px env(safe-area-inset-bottom) !important;
    background:#061716 !important; border-top:2px solid #0aa987 !important;
    box-shadow:0 -8px 24px rgba(10,39,31,.18) !important; transform:none !important;
  }
  .mobile-bottom-nav a {
    display:flex !important; min-width:0 !important; min-height:0 !important; flex-direction:column !important;
    align-items:center !important; justify-content:center !important; gap:3px !important; padding:4px 1px !important;
    border-radius:10px !important; background:transparent !important; color:#d7e6df !important;
    font-size:10px !important; line-height:1.1 !important; font-weight:750 !important;
    text-align:center !important; text-decoration:none !important; white-space:normal !important;
  }
  .mobile-bottom-nav a span:first-child { font-size:19px !important; line-height:1 !important; }
  .mobile-bottom-nav a.active, .mobile-bottom-nav a[aria-current="page"] { color:#f2b72f !important; background:rgba(255,255,255,.06) !important; }
  body { padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important; }
}


/* ANGITU SUPPORT HUB — PLATINUM PŪHORO SKIN
   Keeps the existing interface and uses the supplied artwork unchanged. */
:root {
  --platinum-ink: #06282b;
  --platinum-deep: #063b42;
  --platinum-teal: #087b83;
  --platinum-sage: #b7d0c8;
  --platinum-gold: #f2bd36;
  --platinum-glass: rgba(4, 48, 53, .66);
  --platinum-glass-soft: rgba(8, 71, 77, .52);
}
html {
  background-color: #a9c6bd !important;
  background-image: linear-gradient(145deg, #b9d0c8, #8eafa6) !important;
}
body {
  background: transparent !important;
  color: #f5fbf8;
  position: relative;
  isolation: isolate;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("/puhoro-pattern.png");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: .27;
}
body > * { position: relative; z-index: 1; }
.mobile-bottom-nav { z-index: 50001 !important; }
header, .site-header, .main-header, .top-nav, .navbar {
  background: rgba(2, 26, 30, .97) !important;
  border-bottom: 1px solid rgba(242,189,54,.65) !important;
}
#home, #screen, #screenContent, main, .page-content, .content-wrap,
.support-section, .categories-section, .services-panel, .dashboard-grid,
.dashboard-sidebar, .directory-section, .resource-section, .section-shell {
  background-color: transparent !important;
  background-image: none !important;
}
#home .hero-block, .hero-block {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background-color: rgba(4,43,47,.28) !important;
  background-image: none !important;
  border-bottom: 3px solid var(--platinum-gold) !important;
  color: #fff !important;
}
#home .hero-block::before, .hero-block::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: url("/hero.jpg");
  background-size: cover;
  background-position: center 44%;
  opacity: .76;
}
#home .hero-block::after, .hero-block::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(2,30,35,.70) 0%, rgba(3,45,50,.48) 52%, rgba(3,45,50,.18) 100%);
}
#home .hero-block > *, .hero-block > * { position: relative; z-index: 1; }
#home .location-card, .location-card, .hero-location-card, .location-panel,
#home .hero-stats, .hero-stats {
  background: rgba(3, 48, 53, .54) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  border: 1px solid rgba(242,189,54,.9) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.16) !important;
}
#home .support-categories, .support-categories, .category-grid, .categories-grid,
#home .category-section, .category-section, .tiles-grid {
  background: rgba(3, 57, 63, .42) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(242,189,54,.82) !important;
  border-radius: 18px !important;
}
.category-card, .support-card, .category-tile, .service-category-card {
  background-color: rgba(3, 43, 49, .38) !important;
  border: 1px solid rgba(242,189,54,.9) !important;
  box-shadow: 0 7px 18px rgba(0,0,0,.16) !important;
}
button, .btn, .button, .search-button, .primary-button {
  border-color: var(--platinum-gold) !important;
}
.search-button, .btn-primary, .button-primary, .primary-button {
  background: var(--platinum-gold) !important;
  color: #07383d !important;
}
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--platinum-gold) !important;
  outline-offset: 2px;
}
.mobile-bottom-nav {
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  width: 100% !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: rgba(2, 28, 32, .98) !important;
  border-top: 2px solid var(--platinum-gold) !important;
  padding-left: max(5px, env(safe-area-inset-left)) !important;
  padding-right: max(5px, env(safe-area-inset-right)) !important;
}
.mobile-bottom-nav a {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  color: #d6e8e3 !important;
}
.mobile-bottom-nav a.active, .mobile-bottom-nav a[aria-current="page"] {
  color: var(--platinum-gold) !important;
  background: rgba(255,255,255,.07) !important;
}
#screen, #screenContent {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: clip !important;
}
@media (max-width: 760px) {
  html, body { width: 100% !important; max-width: 100% !important; overflow-x: clip !important; }
  #home .hero-block, .hero-block {
    padding: 30px 18px 24px !important;
    background-color: rgba(3,43,48,.22) !important;
  }
  #home .hero-block::before, .hero-block::before { opacity: .72; background-position: center 42%; }
  .category-grid, .categories-grid, .tiles-grid, .support-categories, .category-section {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .category-card, .support-card, .category-tile, .service-category-card {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
  .mobile-bottom-nav {
    left: 0 !important; right: 0 !important; bottom: 0 !important;
    height: auto !important; min-height: 64px !important;
    padding-bottom: calc(7px + env(safe-area-inset-bottom)) !important;
  }
}

/* v1.11.4 — global inner-screen contrast and glass-surface repair.
   Visual-only CSS: preserves existing markup, routes, data and JavaScript. */
:root {
  --platinum-ink: #092b2c;
  --platinum-deep: #063b42;
  --platinum-teal: #167b82;
  --platinum-sage: #c4d9d1;
  --platinum-gold: #f2bd36;
  --platinum-text: #f6fbf8;
  --platinum-muted: #d1e2dc;
}
/* Keep the supplied artwork as the page backdrop, visible beneath every app screen. */
body::before {
  background-image: url("/puhoro-pattern.png") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  opacity: .23 !important;
  mix-blend-mode: multiply !important;
}
body > .app-shell > #screen,
body > .app-shell > #locationScreen,
.screen {
  background: rgba(218, 232, 225, .84) !important;
  color: var(--platinum-ink) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body > .app-shell > #screen > .screen-top,
body > .app-shell > #locationScreen > .screen-top {
  background: rgba(3, 24, 27, .98) !important;
  color: #fff !important;
  border-bottom: 2px solid var(--platinum-teal) !important;
}
#screenContent { color: var(--platinum-ink) !important; }
#screenContent .screen-title,
#screenContent h1,
#screenContent h2,
#screenContent h3,
#screenContent h4,
#screenContent .directory-card h3,
#screenContent .resource-card h3 {
  color: #f6fbf8 !important;
}
#screenContent .screen-sub,
#screenContent .directory-intro > p,
#screenContent .directory-card p,
#screenContent .resource-card p,
#screenContent .result-org,
#screenContent .result-meta,
#screenContent .result-categories,
#screenContent .directory-card dd,
#screenContent .detail-card p,
#screenContent .detail-card dd,
#screenContent .detail-card dt,
#screenContent .service-result p,
#screenContent .service-result li {
  color: #e0eee9 !important;
}
#screenContent .directory-kicker,
#screenContent .directory-card dt,
#screenContent .live-feed-meta,
#screenContent .result-categories {
  color: #b9d4cb !important;
}
/* Consistent translucent teal glass cards; avoid opaque, muddy blocks. */
#screenContent .directory-card,
#screenContent .resource-card,
#screenContent .service-result,
#screenContent .detail-card,
#screenContent .panel,
#screenContent .provider-panel,
#screenContent .live-panel,
#screenContent .update-card,
#screenContent .event-card,
#screenContent .support-card,
#screenContent .location-card,
#screenContent .location-panel,
#screenContent .directory-notice,
#screenContent .safety-card,
#screenContent .rangatahi-housing-gateway {
  background: rgba(4, 49, 54, .82) !important;
  color: #f6fbf8 !important;
  border: 1px solid rgba(242, 189, 54, .76) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 22px rgba(2, 26, 29, .12) !important;
  backdrop-filter: blur(4px) saturate(108%) !important;
  -webkit-backdrop-filter: blur(4px) saturate(108%) !important;
}
/* Remove pale header/footer strips inside dark cards so surfaces read as one component. */
#screenContent .directory-card-top,
#screenContent .directory-card-foot,
#screenContent .service-result .result-card-top,
#screenContent .service-result .result-actions,
#screenContent .detail-card .detail-actions {
  background: transparent !important;
  color: #d9e9e3 !important;
  border-color: rgba(219, 237, 229, .18) !important;
}
/* Buttons and status chips must have readable foreground/background pairs. */
#screenContent button,
#screenContent .btn,
#screenContent .button,
#screenContent .result-actions a,
#screenContent .result-actions button,
#screenContent .detail-actions a,
#screenContent .directory-card-foot a,
#screenContent .resource-link,
#screenContent .resource-phone,
#screenContent .primary-action,
#screenContent .secondary-action {
  opacity: 1 !important;
  text-shadow: none !important;
}
#screenContent .result-actions button,
#screenContent .card-call,
#screenContent .primary-action,
#screenContent .btn-primary,
#screenContent .button-primary,
#screenContent .detail-actions .primary-action {
  background: var(--platinum-gold) !important;
  color: #092b2c !important;
  border: 1px solid #f7d879 !important;
}
#screenContent .result-actions a,
#screenContent .detail-actions a,
#screenContent .directory-card a,
#screenContent .resource-card a,
#screenContent .resource-link {
  color: #f5ca58 !important;
}
#screenContent .secondary-action,
#screenContent .card-call.secondary,
#screenContent button.secondary,
#screenContent .btn-secondary {
  background: #167b82 !important;
  color: #fff !important;
  border: 1px solid #4da4a4 !important;
}
#screenContent .verification.catalogued,
#screenContent .verification.needs-check,
#screenContent .live-status-pill {
  background: #f2bd36 !important;
  color: #092b2c !important;
  border: 1px solid #f7d879 !important;
}
#screenContent input,
#screenContent select,
#screenContent textarea {
  background: rgba(3, 35, 39, .94) !important;
  color: #f6fbf8 !important;
  border: 1px solid rgba(242, 189, 54, .8) !important;
}
#screenContent input::placeholder,
#screenContent textarea::placeholder { color: #bfd5ce !important; opacity: 1 !important; }
#screenContent label,
#screenContent legend { color: #f0f7f4 !important; }
#screenContent .directory-notice { border-left: 3px solid var(--platinum-gold) !important; }
@media (max-width: 760px) {
  body > .app-shell > #screen,
  body > .app-shell > #locationScreen,
  .screen { background: rgba(218, 232, 225, .86) !important; }
  #screenContent { padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
  #screenContent .directory-card,
  #screenContent .resource-card,
  #screenContent .service-result,
  #screenContent .detail-card,
  #screenContent .panel,
  #screenContent .provider-panel,
  #screenContent .live-panel,
  #screenContent .update-card {
    border-radius: 16px !important;
    padding: 16px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #screenContent .directory-card-top,
  #screenContent .directory-card-foot { padding: 12px 0 !important; }
  #screenContent .directory-card dl { grid-template-columns: minmax(62px, .32fr) minmax(0, 1fr) !important; padding: 10px 0 !important; }
  #screenContent .service-feed-grid,
  #screenContent .directory-grid,
  #screenContent .resource-grid { grid-template-columns: minmax(0, 1fr) !important; }
  #screenContent .result-actions { gap: 8px !important; }
  #screenContent .result-actions button,
  #screenContent .result-actions a,
  #screenContent .detail-actions a,
  #screenContent .detail-actions button { max-width: 100% !important; white-space: normal !important; overflow-wrap: anywhere !important; }
}
/* v1.11.5 emergency visual repair: preserve content/behaviour; restore visible pūhoro and readable cards */
:root {
  --platinum-ink: #082d2d;
  --platinum-deep: #062629;
  --platinum-teal: #167b82;
  --platinum-gold: #f2bd36;
  --platinum-white: #f7fbf9;
  --platinum-muted: #d8e8e2;
}
/* Keep the exact supplied artwork as a single, full-screen background watermark. */
html, body { background: transparent !important; }
body { position: relative !important; isolation: isolate !important; color: var(--platinum-white) !important; }
body::before {
  content: "" !important; display: block !important; position: fixed !important;
  inset: 0 !important; z-index: -1 !important; pointer-events: none !important;
  background-image: url('/puhoro-pattern.png') !important;
  background-position: center center !important; background-size: 100% 100% !important;
  background-repeat: no-repeat !important; opacity: .34 !important; mix-blend-mode: normal !important;
}
body > .app-shell, body > .app-shell > main, body > .app-shell > #home,
body > .app-shell > #screen, body > .app-shell > #locationScreen,
#home, #screen, #locationScreen, #screenContent, .screen, .page-content,
.content-wrap, .directory-page, .directory-content, .app-shell > main {
  background: transparent !important; background-image: none !important;
}
/* Inner page surfaces are dark translucent glass, not pale opaque sheets. */
body > .app-shell > #screen, body > .app-shell > #locationScreen,
.screen, #screenContent, #locationScreenContent {
  color: var(--platinum-white) !important;
  background-color: rgba(4, 38, 40, .28) !important;
  background-image: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
/* Repair every directory/service/result card, including cards outside #screenContent. */
.directory-card, .resource-card, .service-result, .detail-card, .provider-panel,
.live-panel, .update-card, .event-card, .support-card, .location-card,
.location-panel, .directory-notice, .safety-card, .rangatahi-housing-gateway,
.local-maori-discovery, .local-kai-guides .service-result,
#screenContent .directory-card, #screenContent .resource-card,
#screenContent .service-result, #screenContent .detail-card,
#screenContent .provider-panel, #screenContent .live-panel,
#screenContent .update-card, #screenContent .event-card,
#screenContent .support-card, #screenContent .location-card,
#screenContent .location-panel, #screenContent .directory-notice,
#screenContent .safety-card {
  background: rgba(4, 43, 47, .70) !important;
  color: var(--platinum-white) !important;
  border: 1px solid rgba(242, 189, 54, .78) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 22px rgba(0, 18, 20, .16) !important;
  backdrop-filter: blur(3px) saturate(108%) !important;
  -webkit-backdrop-filter: blur(3px) saturate(108%) !important;
}
/* Text may be nested in different card templates. Override old dark text colours. */
.directory-card *, .resource-card *, .service-result *, .detail-card *,
.provider-panel *, .live-panel *, .update-card *, .event-card *,
.support-card *, .location-card *, .location-panel *, .directory-notice *,
.safety-card *, #screenContent .directory-card *, #screenContent .resource-card *,
#screenContent .service-result *, #screenContent .detail-card *,
#screenContent .provider-panel *, #screenContent .live-panel *,
#screenContent .update-card *, #screenContent .event-card *,
#screenContent .support-card *, #screenContent .location-card *,
#screenContent .location-panel *, #screenContent .directory-notice *,
#screenContent .safety-card * {
  text-shadow: none !important;
}
.directory-card h1, .directory-card h2, .directory-card h3, .directory-card h4,
.directory-card p, .directory-card span, .directory-card small, .directory-card dt,
.directory-card dd, .resource-card h1, .resource-card h2, .resource-card h3,
.resource-card p, .resource-card span, .service-result h1, .service-result h2,
.service-result h3, .service-result p, .service-result span,
.detail-card h1, .detail-card h2, .detail-card h3, .detail-card p, .detail-card span,
#screenContent h1, #screenContent h2, #screenContent h3, #screenContent h4,
#screenContent p, #screenContent label, #screenContent dt, #screenContent dd,
#screenContent .result-org, #screenContent .result-meta, #screenContent .result-categories,
#screenContent .directory-kicker, #screenContent .live-feed-meta {
  color: var(--platinum-white) !important;
}
#screenContent .directory-kicker, #screenContent .directory-card dt,
#screenContent .live-feed-meta, #screenContent .result-meta,
#screenContent .result-categories { color: #d3e7df !important; }
/* Buttons and badges: always retain readable contrast. */
#screenContent button, #screenContent .btn-primary, #screenContent .button-primary,
#screenContent .primary-action, .directory-card button, .service-result button {
  background: var(--platinum-gold) !important; color: #092b2c !important;
  border: 1px solid #f8d978 !important; opacity: 1 !important;
}
#screenContent .secondary-action, #screenContent .btn-secondary,
#screenContent .resource-link, #screenContent .result-actions a,
#screenContent .detail-actions a, .directory-card a, .service-result a {
  color: #f8d36b !important; opacity: 1 !important;
}
#screenContent input, #screenContent select, #screenContent textarea,
#locationScreen input, #locationScreen select, #locationScreen textarea {
  background: rgba(3, 31, 34, .94) !important; color: #f7fbf9 !important;
  border: 1px solid rgba(242, 189, 54, .85) !important;
}
#screenContent input::placeholder, #screenContent textarea::placeholder,
#locationScreen input::placeholder, #locationScreen textarea::placeholder {
  color: #c7ddd5 !important; opacity: 1 !important;
}
/* Avoid the mobile screen panel hiding the watermark; keep bottom nav above content. */
@media (max-width: 760px) {
  body, html { max-width: 100% !important; overflow-x: clip !important; }
  body > .app-shell > #screen, body > .app-shell > #locationScreen,
  .screen, #screenContent, #locationScreenContent {
    background-color: rgba(4, 38, 40, .30) !important;
    max-width: 100% !important; box-sizing: border-box !important;
  }
  #screenContent { padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important; }
  .directory-card, .resource-card, .service-result, .detail-card,
  .provider-panel, .live-panel, .update-card, .event-card,
  .support-card, .location-card, .location-panel {
    width: auto !important; max-width: 100% !important; min-width: 0 !important;
    box-sizing: border-box !important; overflow-wrap: anywhere !important;
  }
}


/* ==========================================================
   ANGITU SUPPORT HUB v1.12.0 — DESIGN INTEGRATION
   Presentation-only layer. Existing application structure,
   scripts, routes, data and interactions remain unchanged.
   ========================================================== */
:root {
  --angitu-black:#041a20;
  --angitu-dark:#062c32;
  --angitu-teal:#00d5e8;
  --angitu-green:#007f83;
  --angitu-gold:#ffd329;
  --angitu-white:#f8fbfc;
  --angitu-text:#f4f8f8;
  --ah-glass:rgba(2,31,39,.78);
  --ah-glass-strong:rgba(2,25,32,.91);
}
html, body { background:#041a20 !important; color:#f8fbfc !important; }
body { isolation:isolate !important; }
body::before {
  background-image:url('/puhoro-watermark-original.jpg') !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:repeat !important;
  filter:invert(1) !important;
  opacity:.135 !important;
  mix-blend-mode:screen !important;
}
.app-shell { position:relative; z-index:0; background:transparent !important; }
.topbar {
  min-height:80px !important; height:auto !important;
  padding:9px clamp(18px,2.8vw,42px) !important;
  gap:18px !important;
  background:rgba(2,27,35,.91) !important;
  border:1px solid rgba(0,213,232,.42) !important;
  border-bottom:2px solid var(--angitu-gold) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.25) !important;
  backdrop-filter:blur(12px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(125%) !important;
}
.brand-logo { width:54px !important; height:54px !important; }
.brand-name span { color:#fff !important; }
.brand-name strong { color:var(--angitu-teal) !important; }
.main-nav { gap:clamp(12px,1.5vw,26px) !important; }
.main-nav a { color:#f4f8fa !important; font-size:13px !important; }
.main-nav a:hover, .main-nav a[aria-current="page"] { color:var(--angitu-gold) !important; }
.header-search {
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(0,28,36,.85) !important;
}
.header-search #runSearch {
  background:var(--angitu-gold) !important; color:#14252a !important;
}
.header-search #clearSearch { color:var(--angitu-gold) !important; }
.mobile-menu {
  color:#fff !important; background:rgba(0,213,232,.16) !important;
  border:1px solid rgba(0,213,232,.55) !important; border-radius:50% !important;
}
.home { padding:0 0 30px !important; background:transparent !important; }
.hero-block {
  width:100% !important; max-width:none !important; min-height:375px !important;
  margin:0 !important; padding:clamp(30px,4vw,60px) clamp(28px,3.8vw,58px) !important;
  display:flex !important; flex-direction:row !important; align-items:center !important;
  gap:30px !important; border:0 !important;
  border-bottom:2px solid var(--angitu-gold) !important; border-radius:0 !important;
  background-image:
    linear-gradient(90deg,rgba(1,17,23,.72) 0%,rgba(1,20,25,.42) 55%,rgba(1,17,23,.12) 100%),
    url('/hero.jpg') !important;
  background-position:center 48% !important; background-size:cover !important;
}
.hero-content { flex:1 1 60% !important; max-width:760px !important; }
.eyebrow { color:var(--angitu-gold) !important; font-weight:900 !important; letter-spacing:.7px !important; }
.hero-content h1 {
  max-width:760px !important; color:#fff !important;
  font-size:clamp(38px,4.2vw,64px) !important;
  line-height:1.04 !important; letter-spacing:-1.7px !important;
  text-shadow:0 3px 20px rgba(0,0,0,.4) !important;
}
.hero-copy { color:#f4f8f8 !important; font-size:clamp(17px,1.6vw,21px) !important; }
.location-intelligence {
  flex:0 1 390px !important; width:min(39%,420px) !important;
  min-width:300px !important; max-width:420px !important;
  padding:20px !important; border-radius:19px !important;
  color:#fff !important; background:rgba(2,27,34,.84) !important;
  border:1px solid rgba(255,211,41,.72) !important;
  box-shadow:0 14px 35px rgba(0,0,0,.3) !important;
  backdrop-filter:blur(8px) !important; -webkit-backdrop-filter:blur(8px) !important;
}
.location-card-header b, #heroLocation { color:#fff !important; font-size:18px !important; }
.location-card-header small, .location-stats span, .location-updated { color:#e6f0f1 !important; }
.location-card-header>span {
  background:rgba(0,213,232,.18) !important; color:var(--angitu-gold) !important;
}
.location-change {
  background:var(--angitu-gold) !important; color:#12272b !important;
  border-radius:24px !important; font-weight:900 !important;
}
.location-stats { border-top:1px solid rgba(255,255,255,.18) !important; }
.location-stats strong { color:#fff !important; }
.location-stats > div { border-color:rgba(255,255,255,.16) !important; }
.discovery-layout { background:transparent !important; }
.discovery-main { background:transparent !important; }
.support-section {
  width:calc(100% - 88px) !important; max-width:1440px !important;
  margin:18px auto 0 !important; padding:18px !important;
  border:1px solid var(--angitu-gold) !important; border-radius:22px !important;
  background:rgba(2,30,37,.76) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.2) !important;
  backdrop-filter:blur(5px) !important; -webkit-backdrop-filter:blur(5px) !important;
}
.section-head h2 { color:#fff !important; font-size:clamp(23px,2.2vw,30px) !important; }
.section-head p { color:#e2eeee !important; }
.needs-grid {
  display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:13px !important;
}
.support-tile {
  min-width:0 !important; height:156px !important; min-height:156px !important;
  border:1px solid var(--angitu-gold) !important; border-radius:15px !important;
  overflow:hidden !important; background:rgba(3,42,49,.9) !important;
  box-shadow:0 7px 20px rgba(0,0,0,.22) !important;
}
.support-tile::after {
  display:block !important;
  background:linear-gradient(180deg,rgba(1,17,22,.04) 0%,rgba(1,17,22,.84) 100%) !important;
}
.support-tile .tile-image {
  position:absolute !important; inset:0 !important; width:100% !important;
  height:100% !important; object-fit:cover !important; opacity:.76 !important;
}
.tile-content {
  position:absolute !important; inset:0 !important; z-index:2 !important;
  display:flex !important; flex-direction:column !important;
  justify-content:flex-end !important; padding:17px !important;
  background:transparent !important; color:#fff !important;
}
.tile-content h3 { color:#fff !important; font-size:17px !important; margin:0 0 5px !important; }
.tile-content p { color:#f2f7f7 !important; font-size:12px !important; line-height:1.3 !important; }
.tile-arrow { color:var(--angitu-gold) !important; right:13px !important; bottom:12px !important; }
.support-tile:hover { transform:translateY(-3px) !important; border-color:#fff !important; }
.dashboard-grid {
  width:calc(100% - 88px) !important; max-width:1440px !important;
  margin:22px auto !important; padding:0 !important;
}
.panel, .provider-panel, .trust-strip > div, .privacy-note {
  color:#f7fbfc !important; background:rgba(2,34,41,.84) !important;
  border:1px solid rgba(255,211,41,.7) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.2) !important;
  backdrop-filter:blur(6px) !important; -webkit-backdrop-filter:blur(6px) !important;
}
.panel h2, .provider-panel h2, .trust-strip b, .privacy-note strong { color:#fff !important; }
.panel p, .panel small, .trust-strip small, .privacy-note p { color:#e0eeee !important; }
.provider-panel { margin:20px auto !important; }
.trust-strip {
  width:calc(100% - 88px) !important; max-width:1440px !important;
  margin:18px auto !important; padding:0 !important; gap:14px !important;
}
.trust-strip > div { border-radius:17px !important; padding:20px !important; }
.privacy-note {
  width:calc(100% - 88px) !important; max-width:1440px !important;
  margin:0 auto 22px !important; border-radius:16px !important;
}
footer button {
  color:#f8fbfc !important; background:rgba(2,34,41,.88) !important;
  border:1px solid rgba(0,213,232,.4) !important;
}
.screen, #locationScreen {
  background:rgba(2,26,32,.94) !important; color:#fff !important;
}
.screen-top { background:rgba(1,20,27,.96) !important; border-bottom:1px solid var(--angitu-gold) !important; }
#screenContent { color:#f7fbfc !important; }
.mobile-bottom-nav {
  background:rgba(1,25,32,.97) !important;
  border-top:1px solid rgba(255,211,41,.72) !important;
  backdrop-filter:blur(12px) !important; -webkit-backdrop-filter:blur(12px) !important;
}
.mobile-bottom-nav a { color:#00d5e8 !important; }
.mobile-bottom-nav a.active { color:var(--angitu-gold) !important; }

/* Mobile composition follows the supplied handset reference. */
@media (max-width:760px) {
  .topbar {
    min-height:70px !important; height:70px !important; padding:6px 13px !important;
    justify-content:space-between !important;
  }
  .brand { gap:8px !important; }
  .brand-logo { width:39px !important; height:39px !important; }
  .brand-name span { font-size:17px !important; }
  .brand-name strong { font-size:9px !important; letter-spacing:1.5px !important; }
  .main-nav, .header-search { display:none !important; }
  .mobile-menu { display:block !important; width:40px !important; height:40px !important; font-size:20px !important; }
  .home { padding:0 0 90px !important; }
  .hero-block {
    min-height:0 !important; padding:145px 18px 18px !important;
    flex-direction:column !important; align-items:stretch !important; gap:16px !important;
    background-position:center center !important;
  }
  .hero-content { max-width:none !important; flex:0 0 auto !important; }
  .eyebrow { font-size:10px !important; margin-bottom:6px !important; }
  .hero-content h1 {
    font-size:clamp(27px,7.8vw,36px) !important; line-height:1.04 !important;
    letter-spacing:-.8px !important; margin:5px 0 8px !important;
  }
  .hero-copy { font-size:13px !important; line-height:1.4 !important; }
  .location-intelligence {
    width:100% !important; min-width:0 !important; max-width:none !important;
    padding:13px !important; border-radius:15px !important;
  }
  .location-card-header b, #heroLocation { font-size:14px !important; }
  .location-card-header small { font-size:10px !important; }
  .location-change { font-size:10px !important; padding:9px 14px !important; }
  .location-stats { margin-top:12px !important; padding-top:10px !important; }
  .location-stats strong { font-size:19px !important; }
  .location-stats span { font-size:9px !important; }
  .location-updated { font-size:9px !important; }
  .support-section {
    width:calc(100% - 24px) !important; margin:13px auto 0 !important;
    padding:12px !important; border-radius:17px !important;
  }
  .section-head { margin:0 0 12px !important; }
  .section-head h2 { font-size:19px !important; line-height:1.15 !important; }
  .section-head p { font-size:11px !important; }
  .needs-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:9px !important; }
  .support-tile { height:135px !important; min-height:135px !important; border-radius:12px !important; }
  .support-tile .tile-image { height:100% !important; }
  .tile-content { padding:10px !important; }
  .tile-content h3 { font-size:13px !important; margin-bottom:3px !important; }
  .tile-content p { font-size:10px !important; line-height:1.25 !important; }
  .tile-arrow { right:8px !important; bottom:6px !important; font-size:23px !important; }
  .dashboard-grid { width:calc(100% - 24px) !important; margin:14px auto !important; }
  .panel { padding:15px !important; border-radius:15px !important; }
  .panel h2 { font-size:19px !important; }
  .provider-panel { width:calc(100% - 24px) !important; padding:18px !important; border-radius:15px !important; }
  .provider-panel h2 { font-size:21px !important; }
  .provider-panel p { font-size:13px !important; }
  .trust-strip {
    width:calc(100% - 24px) !important; grid-template-columns:1fr !important;
    gap:9px !important; margin:14px auto !important;
  }
  .trust-strip > div { padding:13px !important; border-radius:13px !important; }
  .trust-strip b { font-size:12px !important; }
  .trust-strip small { font-size:10px !important; }
  .privacy-note { width:calc(100% - 24px) !important; padding:13px !important; }
  footer { padding-bottom:90px !important; }
}
@media (min-width:761px) and (max-width:1100px) {
  .topbar { padding:8px 18px !important; gap:12px !important; }
  .main-nav { gap:12px !important; }
  .main-nav a { font-size:11px !important; }
  .header-search { max-width:270px !important; }
  .support-section, .dashboard-grid, .trust-strip { width:calc(100% - 40px) !important; }
}


/* ==========================================================
   v1.12.1 — VISUAL CONTRAST + MOBILE INNER-PAGE REPAIR
   CSS-only presentation repair. No application logic changed.
   ========================================================== */

/* One continuous pūhoro canvas behind every screen. */
html, body, body > .app-shell {
  background:#031a20 !important;
  background-image:none !important;
}
body::before {
  content:"" !important;
  display:block !important;
  position:fixed !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background-image:url('/puhoro-watermark-original.jpg') !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  filter:invert(1) !important;
  opacity:.12 !important;
  mix-blend-mode:screen !important;
}
.app-shell, #home, #screen, #locationScreen, main,
.discovery-layout, .discovery-main, .dashboard-grid, .dashboard-sidebar,
.page-content, .content-wrap, .directory-page, .directory-content,
.section-shell, .resource-section {
  background:transparent !important;
  background-image:none !important;
}

/* Header links share one consistent colour; no special green Home tab. */
.main-nav a,
.main-nav a#homeNav,
.main-nav a.active,
.main-nav a[aria-current="page"] {
  color:#f4f8fa !important;
}
.main-nav a:hover,
.main-nav a:focus-visible {
  color:var(--angitu-gold) !important;
}

/* Desktop: remove pale/white wrapper sheets. Keep the tiles themselves. */
#home .discovery-layout,
#home .discovery-main {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#home .support-section {
  width:calc(100% - 88px) !important;
  max-width:1440px !important;
  margin:18px auto 0 !important;
  padding:18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
#home .dashboard-grid {
  width:calc(100% - 88px) !important;
  max-width:1440px !important;
  margin:22px auto !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
#home .services-panel,
#home .live-community-panel,
#home .provider-panel,
#home .trust-strip > div,
#home .privacy-note {
  color:#f5fbfb !important;
  background:rgba(2,31,39,.84) !important;
  border:1px solid rgba(255,211,41,.72) !important;
  border-radius:17px !important;
  box-shadow:0 9px 26px rgba(0,0,0,.24) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}
#home .services-panel *,
#home .live-community-panel *,
#home .provider-panel *,
#home .trust-strip *,
#home .privacy-note * {
  color:inherit;
}
#home .panel-header h2,
#home .provider-panel h2,
#home .trust-strip b,
#home .privacy-note strong {
  color:#fff !important;
}
#home .panel p,
#home .provider-panel p,
#home .trust-strip small,
#home .privacy-note p,
#home .live-feed-meta,
#home .live-feed-meta a {
  color:#e5f0f1 !important;
}
#home .support-tile {
  border:1px solid rgba(255,211,41,.9) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.28) !important;
}
#home .section-head h2 { color:#fff !important; }
#home .section-head p { color:#e5f0f1 !important; }

/* Footer links must be legible against the dark pūhoro canvas. */
body > .app-shell > main#home > footer,
#home footer {
  background:transparent !important;
  border-top:1px solid rgba(225,242,241,.38) !important;
}
body > .app-shell > main#home > footer > button,
body > .app-shell > main#home > footer > .footer-contact,
#home footer button,
#home footer a {
  color:#f7fbfc !important;
  opacity:1 !important;
  background:rgba(2,31,39,.78) !important;
  border:1px solid rgba(0,213,232,.48) !important;
  text-decoration:none !important;
}
#home footer button:hover,
#home footer a:hover,
#home footer button:focus-visible,
#home footer a:focus-visible {
  color:var(--angitu-gold) !important;
  border-color:var(--angitu-gold) !important;
}

/* Inner mobile/desktop sections: the pattern belongs to the page canvas,
   while the content sits on readable dark glass cards. */
#screen,
#screen.screen,
#locationScreen {
  min-height:calc(100vh - 80px) !important;
  background:transparent !important;
  background-image:none !important;
  color:#f7fbfc !important;
}
#screen .screen-top,
#locationScreen .screen-top {
  background:rgba(1,20,27,.94) !important;
  border-bottom:1px solid rgba(255,211,41,.72) !important;
}
#screenContent,
#locationScreenContent {
  color:#f7fbfc !important;
  background:transparent !important;
  background-image:none !important;
}
#screenContent .results-page,
#locationScreenContent .results-page {
  width:min(100% - 32px,1200px) !important;
  max-width:1200px !important;
  margin:20px auto !important;
  padding:0 0 110px !important;
  color:#f7fbfc !important;
  background:transparent !important;
}
#screenContent .screen-title,
#screenContent h1,
#screenContent h2,
#screenContent h3,
#screenContent h4,
#locationScreenContent h1,
#locationScreenContent h2,
#locationScreenContent h3 {
  color:#fff !important;
}
#screenContent p,
#screenContent li,
#screenContent label,
#screenContent dt,
#screenContent dd,
#screenContent .screen-sub,
#locationScreenContent p,
#locationScreenContent label {
  color:#e7f0f1 !important;
}
#screenContent .detail-card,
#screenContent .directory-card,
#screenContent .resource-card,
#screenContent .service-result,
#screenContent .event-card,
#screenContent .support-card,
#screenContent .location-card,
#screenContent .location-panel,
#screenContent .provider-panel,
#screenContent .live-panel,
#screenContent .update-card,
#screenContent .safety-card,
#screenContent .rangatahi-housing-gateway,
#locationScreenContent .detail-card,
#locationScreenContent .location-panel {
  color:#f7fbfc !important;
  background:rgba(2,31,39,.88) !important;
  border:1px solid rgba(255,211,41,.72) !important;
  border-radius:17px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.24) !important;
  backdrop-filter:blur(7px) !important;
  -webkit-backdrop-filter:blur(7px) !important;
}
#screenContent .empty-state,
#locationScreenContent .empty-state {
  color:#e7f0f1 !important;
  background:rgba(2,31,39,.88) !important;
  border:1px dashed rgba(0,213,232,.55) !important;
}
#screenContent .empty-state h3,
#locationScreenContent .empty-state h3 { color:#fff !important; }
#screenContent a,
#locationScreenContent a { color:#ffe071 !important; }

/* Mobile: fill the usable width, align both tile columns, remove the
   pale wrapper panel and retain consistent dark glass surfaces. */
@media (max-width:760px) {
  html, body { background:#031a20 !important; }
  body > .app-shell { width:100% !important; max-width:100% !important; }
  #home.home {
    width:100% !important;
    padding:0 0 calc(82px + env(safe-area-inset-bottom)) !important;
    background:transparent !important;
  }
  #home .discovery-layout {
    display:block !important;
    width:100% !important;
    margin:14px 0 0 !important;
    padding:0 0 8px !important;
    box-sizing:border-box !important;
    background:transparent !important;
  }
  #home .discovery-main {
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    background:transparent !important;
  }
  #home .support-section {
    display:block !important;
    width:calc(100% - 24px) !important;
    max-width:none !important;
    margin:0 12px !important;
    padding:18px 12px 16px !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  #home .section-head {
    margin:0 0 14px !important;
    padding:0 2px !important;
  }
  #home .section-head h2 {
    color:#fff !important;
    font-size:clamp(20px,5.5vw,24px) !important;
    line-height:1.18 !important;
    text-shadow:0 2px 10px rgba(0,0,0,.5) !important;
  }
  #home .section-head p {
    display:block !important;
    color:#dce9ea !important;
    font-size:12px !important;
  }
  #home .needs-grid {
    display:grid !important;
    width:100% !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:stretch !important;
    gap:12px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }
  #home .support-tile {
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:clamp(168px,48vw,220px) !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    border:1px solid rgba(255,211,41,.82) !important;
    border-radius:16px !important;
    background:rgba(2,31,39,.9) !important;
  }
  #home .support-tile .tile-image {
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    opacity:.82 !important;
  }
  #home .support-tile::after {
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:linear-gradient(180deg,rgba(1,17,22,.02) 22%,rgba(1,17,22,.82) 100%) !important;
  }
  #home .support-tile .tile-content {
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
    align-items:flex-start !important;
    padding:12px 30px 13px 12px !important;
    color:#fff !important;
    text-align:left !important;
    background:transparent !important;
    box-sizing:border-box !important;
  }
  #home .support-tile .tile-content h3 {
    color:#fff !important;
    font-size:clamp(13px,3.7vw,16px) !important;
    line-height:1.15 !important;
    margin:0 0 5px !important;
  }
  #home .support-tile .tile-content p {
    color:#f5f8f8 !important;
    font-size:clamp(10px,2.9vw,12px) !important;
    line-height:1.28 !important;
    margin:0 !important;
  }
  #home .support-tile .tile-arrow {
    color:#fff !important;
    right:10px !important;
    bottom:9px !important;
    font-size:25px !important;
  }
  #home .dashboard-grid {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
    width:calc(100% - 24px) !important;
    margin:16px 12px !important;
    padding:0 !important;
    background:transparent !important;
  }
  #home .services-panel,
  #home .live-community-panel,
  #home .provider-panel,
  #home .trust-strip > div,
  #home .privacy-note {
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    background:rgba(2,31,39,.88) !important;
    color:#f7fbfc !important;
    border:1px solid rgba(255,211,41,.72) !important;
    border-radius:16px !important;
  }
  #home .trust-strip {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:calc(100% - 24px) !important;
    margin:14px 12px !important;
    padding:0 !important;
    gap:10px !important;
    background:transparent !important;
  }
  #home .privacy-note {
    width:calc(100% - 24px) !important;
    margin:12px !important;
    padding:14px !important;
  }
  #home footer {
    margin:16px 12px calc(12px + env(safe-area-inset-bottom)) !important;
    padding:14px 0 !important;
    justify-content:center !important;
    flex-wrap:wrap !important;
  }
  #home footer button,
  #home footer a {
    color:#fff !important;
    background:rgba(2,31,39,.9) !important;
    border-color:rgba(0,213,232,.55) !important;
  }

  /* On every inner screen, show the same watermark canvas behind content.
     Keep the header and persistent bottom navigation opaque enough to read. */
  #screen,
  #screen.screen,
  #locationScreen {
    min-height:calc(100dvh - 70px) !important;
    background:transparent !important;
    background-image:none !important;
  }
  #screen .screen-top,
  #locationScreen .screen-top {
    background:rgba(1,20,27,.94) !important;
  }
  #screenContent,
  #locationScreenContent {
    min-height:calc(100dvh - 140px) !important;
    padding:16px 12px calc(92px + env(safe-area-inset-bottom)) !important;
    box-sizing:border-box !important;
    background:transparent !important;
  }
  #screenContent .results-page,
  #locationScreenContent .results-page {
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 0 20px !important;
    background:transparent !important;
  }
  #screenContent .detail-card,
  #screenContent .directory-card,
  #screenContent .resource-card,
  #screenContent .service-result,
  #screenContent .event-card,
  #screenContent .support-card,
  #screenContent .location-card,
  #screenContent .location-panel,
  #screenContent .provider-panel,
  #screenContent .live-panel,
  #screenContent .update-card,
  #screenContent .safety-card,
  #screenContent .empty-state,
  #locationScreenContent .detail-card,
  #locationScreenContent .location-panel {
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    margin:0 0 12px !important;
    background:rgba(2,31,39,.9) !important;
    color:#f7fbfc !important;
    border:1px solid rgba(255,211,41,.72) !important;
    border-radius:15px !important;
  }
  .mobile-bottom-nav {
    background:rgba(1,25,32,.98) !important;
    border-top:1px solid rgba(255,211,41,.75) !important;
  }
}


/* ==========================================================
   v1.12.2 — PUHŌRO VISIBILITY + CONTENT SURFACE CORRECTION
   ========================================================== */

/* Correct stacking: body canvas -> watermark -> application UI.
   The previous negative z-index hid the pseudo-element behind body paint. */
html, body {
  min-height:100% !important;
  background:transparent !important;
}
body {
  position:relative !important;
  isolation:isolate !important;
  background:transparent !important;
}
body::before {
  content:"" !important;
  display:block !important;
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background-color:#031a20 !important;
  background-image:url('/puhoro-watermark-original.jpg') !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  filter:invert(1) !important;
  opacity:.22 !important;
  mix-blend-mode:screen !important;
}
body > .app-shell {
  position:relative !important;
  z-index:1 !important;
  min-height:100vh !important;
  background:transparent !important;
  isolation:isolate !important;
}
.topbar, .mobile-bottom-nav, .modal, .popover {
  z-index:10 !important;
}

/* All main application views are transparent windows over the same canvas. */
#home, #screen, #locationScreen, #screenContent, #locationScreenContent,
.screen, .screen-content, .discovery-layout, .discovery-main,
.dashboard-grid, .dashboard-sidebar {
  background:transparent !important;
  background-image:none !important;
}
#screen, #locationScreen {
  position:relative !important;
  isolation:isolate !important;
  min-height:calc(100vh - 80px) !important;
}
#screenContent, #locationScreen .screen-content {
  position:relative !important;
  z-index:1 !important;
  background:transparent !important;
  color:#f7fbfc !important;
}

/* Standard dark-glass cards on all directory, event, resource and service views. */
#screenContent .service-result,
#screenContent .detail-card,
#screenContent .directory-card,
#screenContent .resource-card,
#screenContent .event-card,
#screenContent .support-card,
#screenContent .location-card,
#screenContent .location-panel,
#screenContent .empty-state,
#screenContent .directory-grid,
#screenContent .directory-toolbar,
#screenContent .filter-bar,
#screenContent .search-panel,
#screenContent .result-group,
#screenContent .resource-section,
#screenContent .category-section,
#screenContent .contact-card,
#screenContent .form-card,
#screenContent .subscribe-card,
#screenContent .provider-card,
#screenContent .update-card,
#screenContent .live-update-card,
#screenContent .safety-card,
#locationScreen .location-choice,
#locationScreen .location-manual,
#locationScreen .location-option,
#locationScreen .screen-content > div:not(.location-divider) {
  color:#f5fbfb !important;
  background:rgba(2,31,39,.91) !important;
  border:1px solid rgba(255,211,41,.68) !important;
  border-radius:16px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.25) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}
#screenContent h1, #screenContent h2, #screenContent h3,
#screenContent h4, #screenContent strong, #screenContent b,
#locationScreen h1, #locationScreen h2, #locationScreen h3,
#locationScreen h4, #locationScreen strong, #locationScreen b {
  color:#fff !important;
}
#screenContent p, #screenContent li, #screenContent label,
#screenContent dt, #screenContent dd, #screenContent small,
#screenContent .result-description, #screenContent .result-org,
#screenContent .result-details, #screenContent .muted,
#locationScreen p, #locationScreen label, #locationScreen small {
  color:#e6f0f1 !important;
}
#screenContent a, #locationScreen a {
  color:#ffe071 !important;
}
#screenContent .verification {
  color:#092b2c !important;
  background:#ffe071 !important;
  border:1px solid #ffe071 !important;
  font-weight:800 !important;
}
#screenContent .result-icon {
  color:#062a31 !important;
  background:#bcefe8 !important;
}
#screenContent .empty-state {
  min-height:120px !important;
  color:#eaf4f4 !important;
  background:rgba(2,31,39,.94) !important;
  border:1px dashed rgba(0,213,232,.6) !important;
}
#screenContent .empty-state h3,
#screenContent .empty-state strong { color:#fff !important; }
#screenContent .empty-state p { color:#dce9ea !important; }

/* Inputs remain legible and consistent with the dark interface. */
#screenContent input, #screenContent select, #screenContent textarea,
#locationScreen input, #locationScreen select, #locationScreen textarea {
  color:#f7fbfc !important;
  background:rgba(1,22,29,.94) !important;
  border:1px solid rgba(0,213,232,.55) !important;
}
#screenContent input::placeholder,
#screenContent textarea::placeholder { color:#b9ccce !important; opacity:1 !important; }

/* Fix low-contrast controls visible in the supplied desktop capture. */
#home .location-change,
#home #heroChooseLocation {
  color:#082a30 !important;
  background:#ffd329 !important;
  border:1px solid #ffd329 !important;
  opacity:1 !important;
}
#home .provider-panel button,
#home .provider-panel #providerRegister {
  color:#062a30 !important;
  background:#ffd329 !important;
  border:1px solid #ffd329 !important;
}
#home .provider-panel #promoteBtn {
  color:#062a30 !important;
  background:#f4fbf9 !important;
  border:1px solid #ffd329 !important;
}
#home .help-button {
  color:#092b2c !important;
  background:#f1fbf8 !important;
  border:1px solid #ffd329 !important;
  font-weight:800 !important;
}
#home .help-button.emergency {
  color:#fff !important;
  background:#c92b2b !important;
  border-color:#c92b2b !important;
}
#home .service-result,
#home .live-community-panel .empty-state {
  color:#f5fbfb !important;
  background:rgba(2,31,39,.91) !important;
  border:1px solid rgba(255,211,41,.68) !important;
}
#home .service-result h3 { color:#fff !important; }
#home .service-result p,
#home .service-result small,
#home .service-result dt,
#home .service-result dd { color:#e6f0f1 !important; }
#home .service-result .verification {
  color:#092b2c !important;
  background:#ffe071 !important;
}
#home .live-community-panel .empty-state h3 { color:#fff !important; }
#home .live-community-panel .empty-state p { color:#dce9ea !important; }

/* Keep header text uniform, including Home; keep footer clearly visible. */
.main-nav a, .main-nav a#homeNav, .main-nav a.active,
.main-nav a[aria-current="page"] {
  color:#f4f8fa !important;
}
#home footer button, #home footer a,
#home .footer-contact {
  color:#f7fbfc !important;
  background:rgba(2,31,39,.9) !important;
  border:1px solid rgba(0,213,232,.55) !important;
  opacity:1 !important;
}

/* Mobile section screens: same fixed pūhoro page background, dark cards above it. */
@media (max-width:760px) {
  body::before {
    background-position:center center !important;
    background-size:auto 100% !important;
    background-repeat:repeat-y !important;
    opacity:.24 !important;
  }
  body > .app-shell { min-height:100dvh !important; }
  #screen, #locationScreen {
    min-height:calc(100dvh - 70px) !important;
    background:transparent !important;
  }
  #screenContent, #locationScreen .screen-content {
    min-height:calc(100dvh - 140px) !important;
    padding:16px 12px calc(92px + env(safe-area-inset-bottom)) !important;
    background:transparent !important;
  }
  #screenContent .results-page {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 0 18px !important;
    background:transparent !important;
  }
  #screenContent .service-result,
  #screenContent .detail-card,
  #screenContent .directory-card,
  #screenContent .resource-card,
  #screenContent .event-card,
  #screenContent .support-card,
  #screenContent .location-card,
  #screenContent .location-panel,
  #screenContent .empty-state,
  #screenContent .directory-toolbar,
  #screenContent .filter-bar,
  #screenContent .search-panel,
  #screenContent .contact-card,
  #screenContent .form-card,
  #screenContent .provider-card,
  #screenContent .update-card,
  #screenContent .safety-card,
  #locationScreen .location-choice,
  #locationScreen .location-manual,
  #locationScreen .location-option {
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    margin:0 0 12px !important;
    background:rgba(2,31,39,.92) !important;
  }
}


/* ==========================================================
   v1.12.3 — MOBILE WATERMARK STRICT BACKGROUND STACK
   The pūhoro is a background layer, never a content overlay.
   ========================================================== */

/* Remove the body-level pseudo layer. It can participate in a
   different stacking context from the mobile section content. */
body::before {
  content:none !important;
  display:none !important;
}

/* Create one dedicated artwork layer inside the app shell. */
body > .app-shell {
  position:relative !important;
  isolation:isolate !important;
  z-index:0 !important;
  background:transparent !important;
}
body > .app-shell::before {
  content:"" !important;
  display:block !important;
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background-color:#031a20 !important;
  background-image:
    linear-gradient(rgba(3,26,32,.84),rgba(3,26,32,.84)),
    url('/puhoro-watermark-original.jpg') !important;
  background-position:center center,center center !important;
  background-size:cover,cover !important;
  background-repeat:no-repeat,no-repeat !important;
  filter:invert(1) !important;
  opacity:.28 !important;
  mix-blend-mode:normal !important;
}

/* Every direct app-shell child is explicitly above the artwork.
   This includes the header, home, inner screens and bottom nav. */
body > .app-shell > * {
  position:relative !important;
  z-index:1 !important;
}

/* Keep inner screens and their content in normal foreground flow. */
body > .app-shell #screen,
body > .app-shell #locationScreen,
body > .app-shell #home,
body > .app-shell #screenContent,
body > .app-shell #locationScreen .screen-content {
  position:relative !important;
  z-index:1 !important;
  background:transparent !important;
  background-image:none !important;
}

/* Panels themselves provide the contrast; the watermark never
   sits between the panel and its text. */
body > .app-shell #screenContent .service-result,
body > .app-shell #screenContent .detail-card,
body > .app-shell #screenContent .directory-card,
body > .app-shell #screenContent .resource-card,
body > .app-shell #screenContent .event-card,
body > .app-shell #screenContent .support-card,
body > .app-shell #screenContent .location-card,
body > .app-shell #screenContent .location-panel,
body > .app-shell #screenContent .empty-state,
body > .app-shell #screenContent .contact-card,
body > .app-shell #screenContent .form-card,
body > .app-shell #screenContent .provider-card,
body > .app-shell #screenContent .update-card,
body > .app-shell #screenContent .safety-card {
  position:relative !important;
  z-index:2 !important;
  background-color:rgba(2,31,39,.94) !important;
  color:#f7fbfc !important;
}

/* The fixed background is shared by all mobile routes and remains
   below the full app content while the user scrolls. */
@media (max-width:760px) {
  body, body > .app-shell {
    background:transparent !important;
  }
  body > .app-shell::before {
    position:fixed !important;
    inset:0 !important;
    background-position:center center,center center !important;
    background-size:cover,cover !important;
    background-repeat:no-repeat,no-repeat !important;
    opacity:.28 !important;
  }
  body > .app-shell > header,
  body > .app-shell > main,
  body > .app-shell > section,
  body > .app-shell > footer,
  body > .app-shell > #home,
  body > .app-shell > #screen,
  body > .app-shell > #locationScreen,
  body > .app-shell > .mobile-bottom-nav {
    z-index:1 !important;
  }
  body > .app-shell #screenContent,
  body > .app-shell #locationScreen .screen-content {
    z-index:2 !important;
    background:transparent !important;
  }
}


/* ==========================================================
   v1.12.5 — RESTORE ORIGINAL ANGIŪ LOOK / PUHŌRO / MOBILE NAV
   Corrective patch: no redesign, no palette inversion.
   ========================================================== */

/* Original deep teal canvas; keep the supplied black/white pūhoro
   as a quiet watermark. Do not invert the artwork or tint it pink. */
html, body {
  min-height:100% !important;
  background:#031a20 !important;
  background-color:#031a20 !important;
}
body > .app-shell {
  background:transparent !important;
}
body > .app-shell::before {
  filter:none !important;
  opacity:.22 !important;
  background-color:#031a20 !important;
  background-image:
    linear-gradient(rgba(3,26,32,.88),rgba(3,26,32,.88)),
    url('/puhoro-watermark-original.jpg') !important;
  background-position:center center,center center !important;
  background-size:cover,cover !important;
  background-repeat:no-repeat,no-repeat !important;
  mix-blend-mode:normal !important;
  pointer-events:none !important;
}

/* Keep the artwork below every screen and every text-bearing component. */
body > .app-shell > * {
  position:relative !important;
  z-index:1 !important;
}
body > .app-shell #home,
body > .app-shell #screen,
body > .app-shell #locationScreen,
body > .app-shell #screenContent,
body > .app-shell #locationScreen .screen-content {
  background:transparent !important;
  background-image:none !important;
}

/* Restore the green outline around every home category tile. */
#home .support-tile {
  border:2px solid #168765 !important;
  box-shadow:0 8px 22px rgba(0,0,0,.24) !important;
}
#home .support-tile:focus-visible {
  outline:3px solid #ffd329 !important;
  outline-offset:3px !important;
}

/* No white backing panel behind the two trust/privacy tiles. */
#home .trust-strip,
#home #trustSection,
body > .app-shell .trust-strip {
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
#home .trust-strip > div,
body > .app-shell .trust-strip > div {
  box-sizing:border-box !important;
  background:rgba(2,31,39,.94) !important;
  background-color:rgba(2,31,39,.94) !important;
  color:#f7fbfc !important;
  border:1px solid rgba(255,211,41,.78) !important;
  border-radius:18px !important;
}
#home .privacy-note,
body > .app-shell .privacy-note {
  background:rgba(2,31,39,.94) !important;
  background-color:rgba(2,31,39,.94) !important;
  color:#f7fbfc !important;
  border:1px solid rgba(255,211,41,.78) !important;
}

/* The mobile quick-navigation is a persistent footer control.
   Earlier generic stacking rules accidentally changed it to relative. */
nav.mobile-bottom-nav,
body > .app-shell nav.mobile-bottom-nav {
  box-sizing:border-box !important;
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  z-index:9999 !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  width:100% !important;
  margin:0 !important;
  padding:8px 4px calc(8px + env(safe-area-inset-bottom)) !important;
  min-height:72px !important;
  background:rgba(1,25,32,.98) !important;
  border-top:2px solid #ffd329 !important;
  box-shadow:0 -6px 22px rgba(0,0,0,.24) !important;
  transform:none !important;
}
nav.mobile-bottom-nav a {
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
@media (max-width:760px) {
  html, body {
    background:#031a20 !important;
    background-color:#031a20 !important;
  }
  body > .app-shell::before {
    position:fixed !important;
    inset:0 !important;
    filter:none !important;
    opacity:.22 !important;
    background-image:
      linear-gradient(rgba(3,26,32,.88),rgba(3,26,32,.88)),
      url('/puhoro-watermark-original.jpg') !important;
    background-position:center center,center center !important;
    background-size:cover,cover !important;
    background-repeat:no-repeat,no-repeat !important;
  }
  nav.mobile-bottom-nav,
  body > .app-shell nav.mobile-bottom-nav {
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    top:auto !important;
    z-index:9999 !important;
  }
  #home {
    padding-bottom:calc(88px + env(safe-area-inset-bottom)) !important;
  }
  #screenContent,
  #locationScreen .screen-content {
    padding-bottom:calc(100px + env(safe-area-inset-bottom)) !important;
  }
  #home .trust-strip {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:0 !important;
  }
}


/* ==========================================================
   v1.12.6 — SOFT TEAL FINISH + CONVENTIONAL MOBILE APP UX
   Keep the established brand and layout; refine, don't redesign.
   ========================================================== */

/* Softer, welcoming teal canvas. Header/navigation remain deeper
   for clear hierarchy and readable contrast. */
:root {
  --angitu-soft-teal: #24575a;
  --angitu-soft-teal-light: #2d6668;
  --angitu-panel-teal: #123b40;
  --angitu-nav-teal: #082f35;
  --angitu-green: #168765;
}
html, body {
  min-height:100% !important;
  background:#24575a !important;
  background-color:#24575a !important;
  color:#f7fbfc !important;
}
body > .app-shell {
  background:transparent !important;
  isolation:isolate !important;
}
body > .app-shell::before {
  filter:none !important;
  opacity:.42 !important;
  background-color:#24575a !important;
  background-image:
    linear-gradient(rgba(36,87,90,.84),rgba(36,87,90,.84)),
    url('/puhoro-watermark-original.jpg') !important;
  background-position:center center,center center !important;
  background-size:cover,cover !important;
  background-repeat:no-repeat,no-repeat !important;
  mix-blend-mode:normal !important;
  pointer-events:none !important;
}

/* Keep the main header visually stable and familiar. */
.topbar, header, .app-header {
  background-color:#082f35 !important;
}
.topbar a, header a, .app-header a {
  text-decoration:none;
}

/* Main content cards use one consistent, readable teal surface. */
.panel,
.dashboard-sidebar .live-panel,
.dashboard-sidebar .help-panel,
#home .trust-strip > div,
body > .app-shell .trust-strip > div,
#home .privacy-note,
body > .app-shell .privacy-note {
  background:rgba(18,59,64,.94) !important;
  background-color:rgba(18,59,64,.94) !important;
  color:#f7fbfc !important;
}
#home .trust-strip,
#home #trustSection,
body > .app-shell .trust-strip {
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
#home .trust-strip > div,
body > .app-shell .trust-strip > div,
#home .privacy-note,
body > .app-shell .privacy-note {
  border:1px solid rgba(255,211,41,.78) !important;
  border-radius:18px !important;
  box-shadow:0 8px 22px rgba(0,0,0,.14) !important;
}

/* Category cards retain the green outline that identifies the tiles. */
#home .support-tile {
  border:2px solid #168765 !important;
  box-shadow:0 8px 22px rgba(0,0,0,.20) !important;
}
#home .support-tile:focus-visible {
  outline:3px solid #ffd329 !important;
  outline-offset:3px !important;
}

/* Standard mobile-app navigation: fixed bottom bar, stable height,
   safe-area support, no transforms or page-flow positioning. */
nav.mobile-bottom-nav,
body > .app-shell nav.mobile-bottom-nav {
  box-sizing:border-box !important;
  position:fixed !important;
  inset:auto 0 0 0 !important;
  top:auto !important;
  z-index:9999 !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  width:100% !important;
  min-height:72px !important;
  margin:0 !important;
  padding:8px 4px calc(8px + env(safe-area-inset-bottom)) !important;
  background:rgba(8,47,53,.98) !important;
  border-top:2px solid #ffd329 !important;
  box-shadow:0 -5px 18px rgba(0,0,0,.20) !important;
  transform:none !important;
}
nav.mobile-bottom-nav a {
  min-width:0 !important;
  min-height:52px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
  padding:4px 2px !important;
  text-align:center !important;
  color:#19d2dc !important;
  font-size:13px !important;
  font-weight:700 !important;
  text-decoration:none !important;
}
nav.mobile-bottom-nav a.active {
  color:#ffd329 !important;
  background:rgba(255,255,255,.08) !important;
  border-radius:14px !important;
}
nav.mobile-bottom-nav a span:first-child {
  font-size:22px !important;
  line-height:1.1 !important;
}
@media (max-width:760px) {
  html, body {
    background:#24575a !important;
    background-color:#24575a !important;
  }
  body > .app-shell::before {
    position:fixed !important;
    inset:0 !important;
    opacity:.42 !important;
    background-image:
      linear-gradient(rgba(36,87,90,.84),rgba(36,87,90,.84)),
      url('/puhoro-watermark-original.jpg') !important;
    background-position:center center,center center !important;
    background-size:cover,cover !important;
    background-repeat:no-repeat,no-repeat !important;
  }
  nav.mobile-bottom-nav,
  body > .app-shell nav.mobile-bottom-nav {
    position:fixed !important;
    inset:auto 0 0 0 !important;
    top:auto !important;
    z-index:9999 !important;
  }
  #home {
    padding-bottom:calc(88px + env(safe-area-inset-bottom)) !important;
  }
  #screenContent,
  #locationScreen .screen-content {
    padding-bottom:calc(100px + env(safe-area-inset-bottom)) !important;
  }
  #home .trust-strip {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:0 !important;
  }
}


/* v1.12.7 FINAL OVERRIDE — readable text, no blank white empty states,
   and the Ōtautahi / Southern Alps landscape hero on desktop + mobile. */
:root {
  --angitu-text-primary:#f8fcfc;
  --angitu-text-secondary:#d8e8e7;
  --angitu-panel:#123b40;
}
html,body,button,input,select,textarea {font-family:Montserrat,Arial,sans-serif!important}
body {color:#f8fcfc!important}
#home h1,#home h2,#home h3,#screen h1,#screen h2,#screen h3,#locationScreen h1,#locationScreen h2,#locationScreen h3 {color:#f8fcfc!important}
#home p,#home li,#home small,#screen p,#screen li,#screen small,#locationScreen p,#locationScreen li,#locationScreen small {color:#d8e8e7}
.empty-state,.no-results,.empty-panel,.feed-empty,.no-data,
[class*="empty-state"],[class*="no-results"],
.live-community-panel .empty-state,#home .live-community-panel .empty-state,
#screenContent .empty-state {
  color:#f8fcfc!important;background:#082f35!important;background-color:#082f35!important;
  border:1px solid rgba(255,211,41,.82)!important;border-radius:18px!important;
  box-shadow:0 8px 24px rgba(0,0,0,.16)!important;
}
.empty-state *, .no-results *, .empty-panel *, .feed-empty *, .no-data *,
[class*="empty-state"] *,[class*="no-results"] * {color:#f8fcfc!important}
.empty-state p,.no-results p,.empty-panel p,.feed-empty p,.no-data p,
[class*="empty-state"] p,[class*="no-results"] p {color:#d8e8e7!important}
#home .service-result,#home .provider-panel,#home .live-community-panel,
#home .trust-strip>div,#home .privacy-note,
#screenContent .directory-card,#screenContent .resource-card,
#screenContent .event-card,#screenContent .provider-card,
#screenContent .contact-card,#screenContent .form-card,#screenContent .update-card {
  color:#f8fcfc!important;
}
#home .service-result p,#home .provider-panel p,#home .live-community-panel p,
#home .trust-strip p,#home .trust-strip small,#home .privacy-note p,
#screenContent .directory-card p,#screenContent .resource-card p,
#screenContent .event-card p,#screenContent .provider-card p,
#screenContent .contact-card p,#screenContent .form-card p,#screenContent .update-card p {
  color:#d8e8e7!important;
}
#home input,#home select,#home textarea,#screenContent input,#screenContent select,
#screenContent textarea,#locationScreen input,#locationScreen select,#locationScreen textarea {
  background:#f7fbfa!important;color:#123238!important;border:1px solid #8db8b4!important;
}
#home input::placeholder,#home textarea::placeholder,#screenContent input::placeholder,
#screenContent textarea::placeholder,#locationScreen input::placeholder {
  color:#526d6d!important;opacity:1!important;
}
#home .hero-block,.hero-block {
  background-color:#24575a!important;
  background-image:linear-gradient(90deg,rgba(5,35,39,.72) 0%,rgba(5,35,39,.46) 52%,rgba(5,35,39,.18) 100%),url("/hero.jpg")!important;
  background-size:cover!important;background-position:center 48%!important;
}
#home .hero-block::before,.hero-block::before {
  background-image:url("/hero.jpg")!important;background-size:cover!important;
  background-position:center 48%!important;opacity:1!important;
}
#home .hero-block::after,.hero-block::after {
  background:linear-gradient(90deg,rgba(5,35,39,.72) 0%,rgba(5,35,39,.46) 52%,rgba(5,35,39,.18) 100%)!important;
}
#home .hero-block h1,#home .hero-block p,#home .hero-block .eyebrow,#home .hero-block .hero-copy {
  color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.35)!important;
}
#home footer a,footer a,.site-footer a {color:#d9f0ed!important;opacity:1!important;text-decoration:none!important}
#home footer a:hover,footer a:hover,.site-footer a:hover {color:#ffd329!important}
@media(max-width:760px) {
 #home .hero-block,.hero-block {
   background-image:linear-gradient(180deg,rgba(5,35,39,.42) 0%,rgba(5,35,39,.58) 55%,rgba(5,35,39,.82) 100%),url("/hero.jpg")!important;
   background-position:center 48%!important;background-size:cover!important;
 }
 #home .hero-block::after,.hero-block::after {
   background:linear-gradient(180deg,rgba(5,35,39,.42) 0%,rgba(5,35,39,.58) 55%,rgba(5,35,39,.82) 100%)!important;
 }
}


/* ==========================================================
   v1.12.8 — LOCATION-AWARE TRANSLUCENT HERO PHOTOGRAPHY
   Image changes only inside the Hero; support tile imagery is untouched.
   ========================================================== */
#home .hero-block,.hero-block {
  position:relative !important;
  background:transparent !important;
  background-color:rgba(36,87,90,.08) !important;
  background-image:none !important;
  overflow:hidden !important;
}
#home .hero-block::before,.hero-block::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-image:var(--hero-location-image,url("/nz-neutral-hero.jpg")) !important;
  background-size:cover !important;
  background-position:center 48% !important;
  background-repeat:no-repeat !important;
  opacity:.46 !important;
  filter:saturate(.88) !important;
  pointer-events:none !important;
}
#home .hero-block::after,.hero-block::after {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:linear-gradient(90deg,rgba(5,35,39,.34) 0%,rgba(5,35,39,.20) 55%,rgba(5,35,39,.12) 100%) !important;
}
#home .hero-block > *,.hero-block > * {
  position:relative !important;
  z-index:1 !important;
}
#home .hero-block .hero-image-credit,.hero-block .hero-image-credit {
  position:absolute !important;
  z-index:2 !important;
  right:12px !important;
  bottom:8px !important;
  max-width:65% !important;
  padding:3px 7px !important;
  border-radius:6px !important;
  background:rgba(5,35,39,.72) !important;
  color:#eaf6f4 !important;
  font-size:9px !important;
  line-height:1.25 !important;
  text-decoration:underline !important;
  text-underline-offset:2px !important;
}
.hero-image-credit[hidden] {display:none !important}
@media(max-width:760px) {
  #home .hero-block::before,.hero-block::before {
    background-position:center 48% !important;
    opacity:.43 !important;
  }
  #home .hero-block::after,.hero-block::after {
    background:linear-gradient(180deg,rgba(5,35,39,.22) 0%,rgba(5,35,39,.36) 60%,rgba(5,35,39,.54) 100%) !important;
  }
  #home .hero-block .hero-image-credit,.hero-block .hero-image-credit {
    right:8px !important;
    bottom:6px !important;
    font-size:8px !important;
  }
}


/* v1.12.9 — keep website navigation distinct from the installed mobile app.
   The responsive website never renders the app's fixed bottom navigation. */
nav.mobile-bottom-nav,
body > .app-shell nav.mobile-bottom-nav {
  display:none !important;
}
#home {
  padding-bottom:0 !important;
}
#locationScreen .screen-content,
#screenContent {
  padding-bottom:24px !important;
}
footer {
  margin-bottom:0 !important;
}
@media (max-width:760px) {
  html:not(.angitu-installed-app) nav.mobile-bottom-nav,
  html:not(.angitu-installed-app) body > .app-shell nav.mobile-bottom-nav {
    display:none !important;
  }
  html:not(.angitu-installed-app) #home {
    padding-bottom:0 !important;
  }
  html:not(.angitu-installed-app) footer {
    margin-bottom:20px !important;
  }
  html.angitu-installed-app nav.mobile-bottom-nav,
  html.angitu-installed-app body > .app-shell nav.mobile-bottom-nav {
    display:grid !important;
    position:fixed !important;
    inset:auto 0 0 0 !important;
    top:auto !important;
    z-index:9999 !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
  html.angitu-installed-app #home {
    padding-bottom:calc(88px + env(safe-area-inset-bottom)) !important;
  }
  html.angitu-installed-app #screenContent,
  html.angitu-installed-app #locationScreen .screen-content {
    padding-bottom:calc(100px + env(safe-area-inset-bottom)) !important;
  }
  html.angitu-installed-app footer {
    margin-bottom:90px !important;
  }
}

/* Make every category tile a clear, reliable click target. */
#home #needs { position:relative; z-index:2; }
#home .support-tile { cursor:pointer !important; pointer-events:auto !important; }
#home .support-tile > * { pointer-events:none; }

/* v1.13.0 — restore true overlay behaviour for all in-app content screens.
   Earlier global position:relative rules must not turn these screens into
   ordinary sections appended after the homepage/footer. */
body > .app-shell > #screen,
body > .app-shell > #locationScreen {
  position:fixed !important;
  top:var(--angitu-header-h,82px) !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  width:100vw !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  box-sizing:border-box !important;
  z-index:49000 !important;
  margin:0 !important;
  padding:0 0 24px !important;
}
body > .app-shell > #screen.hidden,
body > .app-shell > #locationScreen.hidden {
  display:none !important;
}
body > .app-shell > #screen > .screen-top,
body > .app-shell > #locationScreen > .screen-top {
  position:sticky !important;
  top:0 !important;
  z-index:49001 !important;
  display:flex !important;
  min-height:62px !important;
  align-items:center !important;
  visibility:visible !important;
  opacity:1 !important;
}
body > .app-shell > #screenContent,
body > .app-shell > #locationScreen > .screen-content {
  position:relative !important;
  z-index:1 !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}
html.location-screen-open,
html.location-screen-open body {
  overflow:hidden !important;
}
@media (min-width:761px) {
  body > .app-shell > #screen,
  body > .app-shell > #locationScreen { bottom:0 !important; }
}
@media (max-width:760px) {
  body > .app-shell > #screen,
  body > .app-shell > #locationScreen {
    top:var(--angitu-mobile-header-h,70px) !important;
    bottom:0 !important;
    padding-bottom:20px !important;
  }
  html.angitu-installed-app body > .app-shell > #screen,
  html.angitu-installed-app body > .app-shell > #locationScreen {
    bottom:calc(64px + env(safe-area-inset-bottom)) !important;
    padding-bottom:calc(24px + env(safe-area-inset-bottom)) !important;
  }
}
/* Preserve readable contrast in the live feed and location chooser. */
#home .live-community-panel,
#home .live-community-panel .empty-state,
#home .live-community-panel .service-result,
#locationScreen .location-manual,
#locationScreen .location-choice {
  color:#f7fbfc !important;
}
#home .live-community-panel h2,
#home .live-community-panel h3,
#home .live-community-panel strong,
#locationScreen h2,
#locationScreen h3,
#locationScreen label {
  color:#fff !important;
  opacity:1 !important;
}
#home .live-community-panel p,
#home .live-community-panel small,
#home .live-community-panel .live-feed-meta,
#locationScreen p {
  color:#e0eeee !important;
  opacity:1 !important;
}
#home .live-community-panel button,
#locationScreen button,
#locationScreen select,
#locationScreen input {
  opacity:1 !important;
}


/* v1.13.1 — Platinum installed-app navigation.
   The website (including mobile browser view) intentionally has no bottom app bar.
   Only a launched/installed PWA receives this fixed, accessible navigation. */
nav.mobile-bottom-nav,
body > .app-shell > nav.mobile-bottom-nav { display:none !important; }
@media (max-width:1024px) {
  html.angitu-installed-app body { padding-bottom:calc(78px + env(safe-area-inset-bottom)) !important; }
  html.angitu-installed-app nav.mobile-bottom-nav,
  html.angitu-installed-app body > .app-shell > nav.mobile-bottom-nav {
    display:grid !important;
    position:fixed !important;
    inset:auto 0 0 0 !important;
    top:auto !important;
    z-index:50050 !important;
    width:100% !important;
    height:calc(72px + env(safe-area-inset-bottom)) !important;
    min-height:calc(72px + env(safe-area-inset-bottom)) !important;
    box-sizing:border-box !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    align-items:stretch !important;
    gap:4px !important;
    margin:0 !important;
    padding:7px 10px calc(7px + env(safe-area-inset-bottom)) !important;
    overflow:visible !important;
    background:rgba(3,20,22,.97) !important;
    border-top:1px solid rgba(242,189,54,.72) !important;
    box-shadow:0 -12px 34px rgba(0,0,0,.28) !important;
    -webkit-backdrop-filter:blur(18px) saturate(140%) !important;
    backdrop-filter:blur(18px) saturate(140%) !important;
    transform:none !important;
  }
  html.angitu-installed-app nav.mobile-bottom-nav a,
  html.angitu-installed-app body > .app-shell > nav.mobile-bottom-nav a {
    display:flex !important;
    min-width:0 !important;
    min-height:54px !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    padding:5px 2px !important;
    border:1px solid transparent !important;
    border-radius:14px !important;
    background:transparent !important;
    color:#d5e5e3 !important;
    font-family:inherit !important;
    font-size:10px !important;
    font-weight:750 !important;
    line-height:1.15 !important;
    letter-spacing:.01em !important;
    text-align:center !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    opacity:1 !important;
    -webkit-tap-highlight-color:transparent !important;
    transition:background .18s ease,border-color .18s ease,color .18s ease !important;
  }
  html.angitu-installed-app .app-nav-icon {
    display:grid !important;
    place-items:center !important;
    width:29px !important;
    height:27px !important;
    color:inherit !important;
    opacity:1 !important;
  }
  html.angitu-installed-app .app-nav-icon svg {
    display:block !important;
    width:23px !important;
    height:23px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }
  html.angitu-installed-app .app-nav-label {
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    color:inherit !important;
    opacity:1 !important;
    text-overflow:ellipsis !important;
  }
  html.angitu-installed-app nav.mobile-bottom-nav a.active,
  html.angitu-installed-app nav.mobile-bottom-nav a[aria-current="page"] {
    color:#ffd45a !important;
    background:linear-gradient(180deg,rgba(13,150,133,.22),rgba(13,150,133,.08)) !important;
    border-color:rgba(21,185,164,.24) !important;
  }
  html.angitu-installed-app nav.mobile-bottom-nav a:focus-visible {
    outline:2px solid #ffd45a !important;
    outline-offset:-3px !important;
  }
  html.angitu-installed-app #home { padding-bottom:calc(90px + env(safe-area-inset-bottom)) !important; }
  html.angitu-installed-app #screenContent,
  html.angitu-installed-app #locationScreen .screen-content {
    padding-bottom:calc(94px + env(safe-area-inset-bottom)) !important;
  }
  html.angitu-installed-app footer { margin-bottom:0 !important; }
}
@media (prefers-reduced-motion:reduce) {
  html.angitu-installed-app nav.mobile-bottom-nav a { transition:none !important; }
}


/* v1.13.3 — dashboard container transparency only.
   Keep all service cards, live-feed cards, text, borders and controls intact. */
#home .dashboard-grid > .services-panel,
#home .dashboard-grid > .dashboard-sidebar > .live-community-panel {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}


/* v1.13.4 — phone link contrast repair.
   Service-card links inherit a gold link colour elsewhere; explicitly lock
   telephone actions to a dark foreground on the gold call-button surface. */
.service-result a.card-call,
#home .service-result a.card-call,
#screenContent .service-result a.card-call,
#screenContent .result-actions a.card-call,
.service-result a.card-call:link,
.service-result a.card-call:visited,
.service-result a.card-call:hover,
.service-result a.card-call:focus,
.service-result a.card-call:active {
  color: #062b2d !important;
  -webkit-text-fill-color: #062b2d !important;
  background: #f4c43b !important;
  border: 1px solid #f8d978 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
.service-result a.card-call:focus-visible {
  outline: 3px solid #ffffff !important;
  outline-offset: 2px !important;
}


/* v1.13.5 — transparent content surfaces.
   Keep content, type, logos, gold borders and interactive controls intact.
   The header, navigation, hero overlays and buttons are deliberately excluded. */
#home .service-result,
#home .provider-panel,
#home .live-community-panel,
#home .live-community-panel .empty-state,
#screenContent .service-result,
#screenContent .detail-card,
#screenContent .directory-card,
#screenContent .resource-card,
#screenContent .event-card,
#screenContent .support-card,
#screenContent .location-card,
#screenContent .location-panel,
#screenContent .provider-panel,
#screenContent .live-panel,
#screenContent .update-card,
#screenContent .live-update-card,
#screenContent .empty-state,
#screenContent .contact-card,
#screenContent .form-card,
#screenContent .provider-card,
#screenContent .directory-notice,
#screenContent .safety-card,
#screenContent .rangatahi-housing-gateway {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}


/* v1.13.6 — Hero photography: clear detail with translucent treatment.
   Keep the location image sharp and recognisable while allowing the pūhoro
   watermark/background to show through. Text remains above the photo layer. */
#home .hero-block::before,
.hero-block::before {
  opacity: .72 !important;
  filter: none !important;
  -webkit-filter: none !important;
  image-rendering: auto !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
#home .hero-block::after,
.hero-block::after {
  background: linear-gradient(
    90deg,
    rgba(2, 30, 35, .24) 0%,
    rgba(3, 45, 50, .13) 52%,
    rgba(3, 45, 50, .06) 100%
  ) !important;
}
@media (max-width: 760px) {
  #home .hero-block::before,
  .hero-block::before {
    opacity: .72 !important;
    filter: none !important;
    -webkit-filter: none !important;
  }
  #home .hero-block::after,
  .hero-block::after {
    background: linear-gradient(
      180deg,
      rgba(5, 35, 39, .14) 0%,
      rgba(5, 35, 39, .20) 60%,
      rgba(5, 35, 39, .28) 100%
    ) !important;
  }
}


/* Angitu Support Hub — Mercedes-inspired premium editorial direction
   Applied as an additive visual layer; existing app behavior and assets retained. */
:root {
 --mb-ink:#07191b; --mb-ink-2:#102729; --mb-ivory:#f2f0e9;
 --mb-gold:#c6a76c; --mb-muted:#c5cfca;
}
body { font-family: "DM Sans", "Manrope", system-ui, sans-serif; }
.site-header, header, .topbar {
  backdrop-filter: blur(14px);
}
.hero-block {
  background-color:var(--mb-ink)!important;
  overflow:hidden;
  isolation:isolate;
}
.hero-block::before {
  opacity:.43!important;
  mix-blend-mode:screen;
  filter:saturate(.72)!important;
}
.hero-block::after {
  background:linear-gradient(90deg,rgba(4,20,22,.72) 0%,rgba(4,20,22,.34) 52%,rgba(4,20,22,.10) 100%),
             linear-gradient(0deg,rgba(4,20,22,.42),transparent 58%)!important;
}
.hero-block .puhoro,
.hero-block .puhoro-overlay,
.hero-block .pattern-overlay {
  opacity:.24!important;
  mix-blend-mode:screen;
}
.hero-content { position:relative; z-index:2; }
.hero-content h1 {
  font-family:Manrope,"DM Sans",sans-serif;
  letter-spacing:-.055em;
  line-height:1.04;
  font-weight:700;
}
.hero-copy { max-width:640px; line-height:1.75; }
.hero-search, .hero-search input, .hero-search button { border-radius:2px!important; }
.hero-search { box-shadow:0 16px 48px rgba(0,0,0,.16); }
.hero-search button { background:var(--mb-gold)!important; color:#102123!important; }
section:not(.hero-block) { scroll-margin-top:84px; }
.card, .support-card, .category-card, .service-card, .resource-card {
  border-radius:2px!important;
  box-shadow:0 10px 28px rgba(7,25,27,.08);
  transition:transform .22s ease, box-shadow .22s ease;
}
.card:hover, .support-card:hover, .category-card:hover, .service-card:hover, .resource-card:hover {
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(7,25,27,.13);
}
h1,h2,h3,h4 { letter-spacing:-.035em; }
button, .button, a.button { border-radius:2px!important; }
@media(max-width:760px) {
 .hero-block::before { opacity:.38!important; }
 .hero-block::after {
  background:linear-gradient(180deg,rgba(4,20,22,.38),rgba(4,20,22,.24) 55%,rgba(4,20,22,.58))!important;
 }
 .hero-content h1 { font-size:clamp(2.2rem,9vw,3.5rem); }
 .hero-search { max-width:100%; }
}

/* v1.16.9 — Outreach Team: mobile app navigation and directory */
.outreach-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:18px;margin:20px 0 30px}
.outreach-team-card,.outreach-resource-entry{border:1px solid rgba(201,176,110,.55);background:rgba(6,44,48,.78);color:#f4f8f7;border-radius:15px;padding:22px;box-shadow:0 12px 34px rgba(0,0,0,.14)}
.outreach-team-card h3,.outreach-resource-entry h2{margin:8px 0 12px;color:#fff}
.outreach-team-card p,.outreach-resource-entry p{color:#e2eeeb;line-height:1.55}
.outreach-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.outreach-call,.outreach-source{display:inline-flex;align-items:center;justify-content:center;padding:12px 15px;min-height:44px;border-radius:8px;text-decoration:none;font-weight:700;background:#b9d8d3;color:#082f32}
.outreach-source{background:transparent;border:1px solid #b9d8d3;color:#f4f8f7}
.outreach-email a{color:#d4eae7;overflow-wrap:anywhere}
.outreach-resource-entry{margin-bottom:20px}
@media(max-width:760px){nav.mobile-bottom-nav a[aria-label="Outreach Team"] .app-nav-label{font-size:10px!important;white-space:nowrap} .outreach-team-card{padding:17px}.outreach-call,.outreach-source{flex:1 1 130px}}

/* v1.17.1 — coherent hero photography and mobile platinum repair.
   The pūhoro is painted ONLY on the page background, never on the hero. */
#home .hero-block,.hero-block { background:transparent!important; background-image:none!important; isolation:isolate!important; overflow:hidden!important; }
#home .hero-block::before,.hero-block::before {
 content:""!important; display:block!important; position:absolute!important; inset:0!important;
 background-image:var(--hero-location-image,url('/nz-neutral-hero.jpg'))!important;
 background-position:center center!important; background-size:cover!important; background-repeat:no-repeat!important;
 opacity:.88!important; filter:none!important; mix-blend-mode:normal!important;
 transform:none!important; width:100%!important; height:100%!important; z-index:0!important; pointer-events:none!important;
}
#home .hero-block::after,.hero-block::after {
 content:""!important; display:block!important; position:absolute!important; inset:0!important; z-index:0!important; pointer-events:none!important;
 background:linear-gradient(90deg,rgba(2,25,29,.68) 0%,rgba(2,25,29,.35) 54%,rgba(2,25,29,.13) 100%)!important;
 opacity:1!important;
}
#home .hero-block > *,.hero-block > * {position:relative!important;z-index:1!important;}
body::before {background-image:url('/puhoro-watermark-original.jpg')!important; background-repeat:no-repeat!important; background-size:100% 100%!important; background-position:center center!important; opacity:.085!important; pointer-events:none!important;}
.outreach-team-card {background:linear-gradient(145deg,rgba(248,253,251,.97),rgba(221,241,239,.94))!important;color:#073a3c!important;border:1px solid rgba(182,148,76,.6)!important;border-radius:18px!important;box-shadow:0 15px 38px rgba(0,29,32,.18)!important;}
.outreach-team-card h3,.outreach-team-card p {color:#07383a!important;}
.outreach-team-card .directory-kicker {color:#8d6c2c!important;font-weight:800!important;letter-spacing:.045em;}
.outreach-call {background:linear-gradient(120deg,#06565a,#0d7779)!important;color:#fff!important;border-radius:10px!important;}
.outreach-source {color:#06575b!important;border:1px solid #7da4a4!important;border-radius:10px!important;}
.outreach-page-intro {border:1px solid rgba(191,157,85,.4)!important;border-radius:18px!important;background:linear-gradient(135deg,rgba(8,75,78,.96),rgba(9,51,55,.9))!important;padding:22px!important;color:#fff!important;}
.outreach-location-button {background:#0c5d61!important;color:#fff!important;border:1px solid #bca76b!important;border-radius:10px!important;padding:12px 18px!important;}
@media(max-width:760px){
 html,body,.app-shell,main {background-color:#c9e4e3!important;}
 body::before {opacity:.065!important;background-size:100% 100%!important;}
 #home .hero-block,.hero-block {background-image:none!important;background-color:transparent!important;}
 #home .hero-block::before,.hero-block::before {opacity:.91!important;background-position:center 46%!important;background-size:cover!important;}
 #home .hero-block::after,.hero-block::after {background:linear-gradient(180deg,rgba(2,28,33,.17),rgba(2,28,33,.43) 58%,rgba(2,28,33,.62))!important;}
 .screen-content,.screen-panel,.screen-view,.app-screen,.main-content {background-color:transparent!important;}
 .outreach-team-grid {grid-template-columns:1fr!important;gap:14px!important;}
 .outreach-team-card {padding:18px!important;}
 nav.mobile-bottom-nav {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:99999!important;background:#06464b!important;border-top:1px solid #c3a563!important;}
}

/* v1.17.6: isolated visual/navigation corrections, without redesigning the site. */
#home .hero-block::before,.hero-block::before {opacity:.81!important;}
@media(max-width:760px){#home .hero-block::before,.hero-block::before {opacity:.82!important;}}
/* Location is a proper full-page selection screen, not a see-through layer over the hero. */
body > .app-shell > #locationScreen {background:linear-gradient(160deg,#092e35 0%,#0c4a50 60%,#103d44 100%)!important;isolation:isolate!important;}
body > .app-shell > #locationScreen > .screen-top {background:#06282e!important;border-bottom:1px solid rgba(224,188,100,.45)!important;padding:14px max(22px,calc((100vw - 1050px)/2))!important;}
body > .app-shell > #locationScreen > .screen-content {background:transparent!important;width:min(100% - 36px,850px)!important;max-width:850px!important;margin:24px auto 65px!important;padding:28px!important;border:1px solid rgba(210,180,110,.52)!important;border-radius:24px!important;box-shadow:0 25px 65px rgba(0,13,18,.35)!important;}
#locationScreen .location-manual {background:rgba(4,36,42,.72)!important;border:1px solid rgba(210,180,110,.32)!important;border-radius:18px!important;padding:24px!important;}
#locationScreen .location-choice {background:transparent!important;}
#locationScreen #useCurrentLocation {background:#e5f6f3!important;color:#07494e!important;border:1px solid #d6b66c!important;font-weight:800!important;border-radius:14px!important;}
#locationScreen input,#locationScreen select {background:#f2fbf9!important;color:#103e43!important;border-radius:12px!important;border:1px solid #b8d3d0!important;}
#locationScreen input:focus,#locationScreen select:focus {outline:3px solid #e6bc51!important;outline-offset:2px!important;}
/* Keep one visible location action on the homepage. Remove repeated chooser prompts elsewhere. */
#dashboardChooseLocation,#liveChooseLocation,#mobileLiveChooseLocation,#chooseLocationFromEmpty,#outreachChooseLocation,#mobileChangeLocation {display:none!important;}
/* Installed app has Talk in its persistent navigation; no duplicate home urgent panel. */
@media(max-width:760px){html.angitu-installed-app #home #helpPanel {display:none!important;}body > .app-shell > #locationScreen > .screen-content {width:calc(100% - 24px)!important;margin:14px auto 85px!important;padding:16px!important;}#locationScreen .location-manual{padding:16px!important;}}
.outreach-current-place {display:inline-flex;padding:10px 14px;border-radius:10px;border:1px solid #c5aa69;color:#fff;font-weight:700;}

/* v1.17.7 — approved hero watermark balance and refined mobile header */
body::before {opacity:.052!important;}
#home .hero-block::before,.hero-block::before {opacity:.74!important; background-size:cover!important; background-position:center center!important;}
#home .hero-block::after,.hero-block::after {background:linear-gradient(90deg,rgba(2,25,29,.57) 0%,rgba(2,25,29,.28) 55%,rgba(2,25,29,.10) 100%)!important;}
@media(max-width:760px){
 body::before{opacity:.045!important;}
 #home .hero-block::before,.hero-block::before{opacity:.76!important;}
 .topbar{min-height:74px!important;padding:10px 16px!important;gap:12px!important;background:linear-gradient(115deg,#042e34,#08525a)!important;border-bottom:1px solid rgba(223,186,105,.48)!important;box-shadow:0 7px 22px rgba(0,28,33,.24)!important;}
 .topbar .brand{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;}
 .topbar .brand-logo{width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important;object-fit:contain!important;flex-shrink:0!important;}
 .topbar .brand-name{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;}
 .topbar .brand-name span{font-size:clamp(19px,5.4vw,25px)!important;line-height:1.04!important;letter-spacing:.035em!important;white-space:nowrap!important;}
 .topbar .brand-name strong{font-size:10px!important;line-height:1.45!important;letter-spacing:.18em!important;white-space:nowrap!important;}
 .topbar .mobile-menu{margin-left:auto!important;flex:0 0 44px!important;width:44px!important;height:44px!important;border-radius:12px!important;border:1px solid rgba(218,191,125,.55)!important;background:rgba(255,255,255,.09)!important;box-shadow:0 4px 12px rgba(0,0,0,.12)!important;}
}

/* v1.17.8: one Talk entry in mobile bottom navigation; no duplicate emergency banner */
@media(max-width:760px){#helpPanel{display:none!important}.topbar .brand-name strong{font-size:12px!important;font-weight:900!important;letter-spacing:.13em!important;color:#e8f7f5!important}.topbar .brand-name span{font-weight:900!important}.topbar .brand-logo{filter:drop-shadow(0 2px 7px rgba(13,189,189,.2))}}
body::before,body>.app-shell::before{opacity:.045!important}
footer #footerSubscribe{border:1px solid rgba(223,190,116,.45);border-radius:24px;padding:8px 16px;color:#f5e4b5;background:rgba(9,45,48,.7);font-weight:800;cursor:pointer}

/* v1.17.9 — restrained platinum polish; preserves original pūhoro */
@media(min-width:761px){
  html body .header-search{box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:12px!important;flex:0 1 440px!important;max-width:440px!important;min-width:270px!important;min-height:60px!important;margin-left:auto!important;padding:7px 8px 7px 19px!important;border:1px solid rgba(176,212,213,.34)!important;border-radius:17px!important;background:linear-gradient(145deg,rgba(31,66,71,.94),rgba(13,42,47,.96))!important;box-shadow:0 12px 30px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.07)!important}
  html body .header-search:focus-within{border-color:#e8c36e!important;box-shadow:0 0 0 3px rgba(232,195,110,.13)!important}
  html body .header-search .header-search-icon{font-size:25px!important;color:#e6c77c!important;flex:0 0 auto!important}
  html body .header-search input{font-size:13px!important;font-weight:500!important;letter-spacing:.01em!important;flex:1 1 auto!important;width:100%!important;min-width:0!important}
  html body .header-search #runSearch{background:#ffd32d!important;color:#06252b!important;font-size:12px!important;font-weight:800!important;border-radius:11px!important;padding:13px 18px!important;min-height:44px!important;box-shadow:0 3px 10px rgba(0,0,0,.14)!important}
  html body .header-search #clearSearch{display:flex!important;align-items:center!important;justify-content:center!important;width:31px!important;height:37px!important;border-radius:9px!important;color:#f2d27a!important;font-size:23px!important}
}
#screenContent .subscribe-premium{box-sizing:border-box;max-width:960px;width:min(100%,960px);margin:18px auto 60px;padding:clamp(24px,4vw,56px);border:1px solid rgba(233,198,112,.62);border-radius:26px;background:linear-gradient(140deg,rgba(4,35,41,.97),rgba(8,45,50,.94));box-shadow:0 22px 60px rgba(0,0,0,.22);color:#f4f8f8}
#screenContent .subscribe-premium-intro{max-width:680px;margin-bottom:30px}
#screenContent .subscribe-eyebrow{font-size:12px;font-weight:800;letter-spacing:.15em;color:#e8c778}
#screenContent .subscribe-premium h2{font-size:clamp(26px,3vw,39px);line-height:1.18;margin:14px 0 17px;color:white}
#screenContent .subscribe-premium p{font-size:16px;line-height:1.7;color:#d5e4e3}
#screenContent .subscribe-premium-form{display:flex;flex-direction:column;align-items:stretch;gap:22px;max-width:660px}
#screenContent .subscribe-field{display:flex;flex-direction:column;gap:9px}
#screenContent .subscribe-field label{font-size:15px;font-weight:800;color:#fff}
#screenContent .subscribe-field input{box-sizing:border-box;display:block;width:100%;min-height:56px;padding:15px 18px;border:1px solid #8aa9a8;border-radius:12px;background:#f7fbfa;color:#10353a;font-size:17px;outline-offset:3px}
#screenContent .subscribe-consent{display:flex;align-items:flex-start;gap:13px;max-width:650px;color:#e4efed;font-size:15px;line-height:1.55;cursor:pointer}
#screenContent .subscribe-consent input{flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:#f6ce46}
#screenContent .subscribe-submit{align-self:flex-start;min-width:180px;min-height:50px;padding:12px 25px;border-radius:12px;background:#f6cf48!important;color:#092b2f!important;font-weight:800}
#screenContent .subscribe-premium .subscribe-privacy{font-size:13px;margin:-9px 0 0;color:#b8d0cc}
#screenContent .subscribe-premium #updatesSubscribeStatus{font-weight:700;margin:0}
@media(max-width:760px){#screenContent .subscribe-premium{margin:8px auto 36px;padding:24px 19px;border-radius:20px}#screenContent .subscribe-premium-form{gap:20px}#screenContent .subscribe-submit{width:100%;align-self:stretch}#screenContent .subscribe-premium h2{font-size:27px}}

/* ANGITŪ v1.18.1 — PLATINUM DASHBOARD REFINEMENT. Original logo, pūhoro, hero and tile imagery untouched. */
:root{--platinum-ink:#e9f5f3;--platinum-gold:#d9bc76;--platinum-aqua:#72c6c0}
#home .dashboard-grid{align-items:start!important;gap:clamp(16px,2vw,28px)!important;margin-top:34px!important}
#home .platinum-dashboard-panel{position:relative;min-width:0!important;padding:clamp(22px,2.4vw,34px)!important;border:1px solid rgba(171,220,214,.29)!important;border-radius:25px!important;background:linear-gradient(145deg,rgba(8,43,48,.97),rgba(12,54,60,.94))!important;box-shadow:0 18px 55px rgba(0,15,20,.19),inset 0 1px rgba(255,255,255,.07)!important;overflow:hidden}
#home .platinum-dashboard-panel:before{content:'';position:absolute;top:0;left:26px;right:26px;height:2px;background:linear-gradient(90deg,transparent,var(--platinum-gold),transparent);opacity:.65;pointer-events:none}
#home .panel-eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:15px;color:var(--platinum-gold);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
#home .panel-eyebrow-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--platinum-aqua)}
#home .panel-eyebrow-note{margin-left:auto;text-transform:none;letter-spacing:0;font-size:11px;font-weight:500;color:#b7d1d0;text-align:right}
#home .platinum-dashboard-panel .panel-header{display:flex;align-items:center;gap:12px;padding:0 0 17px;margin:0 0 18px;border-bottom:1px solid rgba(207,231,225,.17)!important;background:none!important}
#home .platinum-dashboard-panel .panel-header h2{font-size:clamp(21px,2vw,29px)!important;line-height:1.16!important;color:#f8fbf8!important;letter-spacing:-.035em!important}
#home .platinum-dashboard-panel .panel-header button{margin-left:auto;flex:0 0 auto;padding:10px 15px!important;background:rgba(211,181,105,.14)!important;border:1px solid rgba(219,190,118,.48)!important;border-radius:12px!important;color:#f3dba2!important;font-weight:800!important}
#home .today-intro{margin:0 0 20px!important;padding:0!important;background:transparent!important;border:0!important}
#home .today-intro strong{font-size:clamp(16px,1.4vw,20px)!important;line-height:1.35!important;color:#fff!important}
#home .today-intro p,#home .live-community-intro{max-width:70ch;color:#c4d9d8!important;font-size:13px!important;line-height:1.65!important;margin:7px 0 0!important}
#home .services-panel .service-feed-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:13px!important}
#home .services-panel .service-result{height:auto!important;min-height:0!important;align-self:start!important;display:flex!important;gap:9px!important;padding:20px!important;border:1px solid rgba(174,216,212,.24)!important;border-radius:17px!important;background:linear-gradient(150deg,rgba(25,76,81,.92),rgba(10,48,55,.94))!important;box-shadow:0 9px 22px rgba(0,0,0,.12)!important;color:#e8f2ef!important}
#home .services-panel .service-result h3{font-size:clamp(15px,1.2vw,18px)!important;line-height:1.35!important;color:#fff!important;letter-spacing:-.02em!important}
#home .services-panel .service-result .result-org{font-size:12px!important;color:#aee0d8!important}
#home .services-panel .service-result .result-description{font-size:12px!important;line-height:1.6!important;color:#d3e3e1!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
#home .services-panel .service-result .result-meta{font-size:11px!important;line-height:1.5!important;color:#d2e0dc!important}
#home .services-panel .service-result .result-categories{margin-top:5px!important;color:#a9c8c6!important;font-size:10px!important}
#home .services-panel .service-result .result-actions{margin-top:4px;gap:8px!important}
#home .services-panel .service-result .result-actions button,#home .services-panel .service-result .result-actions a{border-radius:9px!important;font-size:11px!important;min-height:37px!important}
#home .services-panel .service-result .result-actions button{background:#e6c67a!important;color:#092b32!important}
#home .services-panel .service-result .result-actions a{background:rgba(222,240,234,.13)!important;color:#f4faf7!important;border:1px solid rgba(207,228,225,.24)!important}
#home .live-community-panel .live-status-pill{background:rgba(123,192,180,.13)!important;color:#b8e9dd!important;border:1px solid rgba(125,203,190,.38)!important;border-radius:100px!important;font-size:11px!important;white-space:nowrap!important}
#home .live-community-panel .empty-state{padding:24px!important;border:1px solid rgba(190,219,214,.24)!important;border-radius:17px!important;background:rgba(3,33,40,.53)!important;box-shadow:none!important}
#home .live-community-panel .empty-state h3{font-size:18px!important;color:#fff!important;line-height:1.3!important}
#home .live-community-panel .empty-state p{font-size:13px!important;line-height:1.65!important;color:#c6dad7!important}
#home .live-community-panel .empty-state button{margin-top:10px;border-radius:10px!important;background:#d9bd78!important;color:#0b2d32!important;font-weight:800!important}
#home .live-community-panel .live-feed-meta{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:16px!important;padding-top:15px!important;border-top:1px solid rgba(200,230,223,.2)!important;color:#b9d4d0!important;font-size:11px!important}
#home .live-community-panel .live-feed-meta a{color:#f0d79c!important;font-weight:800!important}
#home .live-community-panel .service-result{background:rgba(6,41,46,.55)!important;border:1px solid rgba(179,218,209,.2)!important;border-radius:14px!important;padding:15px!important;margin-bottom:10px!important;box-shadow:none!important;color:#eaf3f0!important}
#home .live-community-panel .service-result h3{color:#fff!important}
#home .live-community-panel .service-result p{color:#d1e1df!important}
html body .header-search{max-width:570px!important;flex:1 1 450px!important;gap:8px!important;min-height:60px!important;padding:7px 8px 7px 15px!important;border-radius:18px!important;border:1px solid rgba(159,213,211,.43)!important;background:linear-gradient(125deg,rgba(30,69,75,.96),rgba(9,41,48,.97))!important;box-shadow:0 8px 28px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.08)!important}
html body .header-search input{font-size:13px!important;min-width:70px!important;flex:1 1 auto!important;outline:none!important}
html body .header-search .search-scope-label{flex:0 0 auto;display:flex;align-items:center;padding-left:9px;border-left:1px solid rgba(211,229,225,.23)}
html body .header-search #searchScope{max-width:118px;min-height:38px;padding:0 21px 0 5px;color:#e8f7f2;background:#183f45;border:0;border-radius:8px;font-size:11px;font-weight:750;cursor:pointer}
html body .header-search #runSearch{min-height:43px!important;padding:10px 15px!important;border-radius:11px!important;background:#f2ce66!important;color:#0b2e32!important;font-size:12px!important;box-shadow:none!important}
html body .header-search #clearSearch{flex:0 0 27px!important;width:27px!important;min-width:27px!important;background:transparent!important;color:#d5e9e6!important;border:0!important}
html body .header-search:focus-within{outline:2px solid rgba(232,195,110,.44);outline-offset:2px}
#screenContent .search-results-intro{padding:22px 25px;margin:0 0 19px;border-radius:18px;border:1px solid rgba(202,223,218,.3);background:linear-gradient(125deg,#0a3138,#17525a);color:#eef8f5}
#screenContent .search-results-intro h2{color:white;margin:12px 0;font-size:clamp(22px,3vw,32px)}
#screenContent .search-results-intro p{line-height:1.65;color:#d5e6e3}
#screenContent .search-results-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
#screenContent .search-results-list .service-result{height:auto;min-height:0}
@media(min-width:761px) and (max-width:1180px){html body .header-search{flex-basis:290px!important;min-width:220px!important}html body .header-search #searchScope{max-width:95px}#home .services-panel .service-feed-grid{grid-template-columns:1fr!important}}
@media(max-width:760px){html body .header-search{display:none!important}#home .platinum-dashboard-panel{padding:20px!important;border-radius:18px!important}#home .services-panel .service-feed-grid{grid-template-columns:1fr!important}#home .panel-eyebrow-note{display:none}#screenContent .search-results-list{grid-template-columns:1fr}#home .platinum-dashboard-panel .panel-header h2{font-size:21px!important}}


/* v1.18.2 — editorial platinum refinement. Original branded assets and all service tile photos are untouched. */
@media(min-width:1100px){
  #home .dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(330px,.9fr)!important;gap:24px!important;align-items:start!important}
  #home .services-panel .service-feed-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
#home .platinum-dashboard-panel{border-radius:22px!important;border:1px solid rgba(153,207,201,.28)!important;background:linear-gradient(145deg,rgba(9,44,50,.96),rgba(19,62,68,.94))!important;box-shadow:0 12px 38px rgba(0,15,22,.16)!important}
#home .platinum-dashboard-panel:before{left:30px!important;right:30px!important;height:1px!important;opacity:.35!important}
#home .platinum-dashboard-panel .panel-header{margin-bottom:16px!important;padding-bottom:15px!important}
#home .platinum-dashboard-panel .panel-header h2{font-size:clamp(23px,2.1vw,31px)!important;letter-spacing:-.025em!important}
#home .services-panel .service-result{border-radius:16px!important;border:1px solid rgba(173,214,209,.22)!important;background:rgba(23,74,79,.75)!important;padding:19px!important;box-shadow:none!important}
#home .services-panel .service-result:hover{border-color:rgba(228,195,112,.66)!important;transform:translateY(-2px);transition:transform .2s,border-color .2s}
#home .services-panel .service-result .result-description{-webkit-line-clamp:3!important}
#home .live-community-panel .empty-state{background:rgba(11,52,58,.67)!important;border:1px solid rgba(184,219,211,.3)!important}
#home .live-community-panel .empty-state button{min-height:44px!important;padding:11px 18px!important}
html body .header-search{border-radius:999px!important;border-color:rgba(167,216,213,.48)!important;box-shadow:0 12px 28px rgba(0,0,0,.12)!important;background:rgba(26,68,74,.91)!important}
html body .header-search #runSearch{border-radius:999px!important;padding:11px 19px!important;background:#f1cb69!important}
html body .header-search #searchScope{border-radius:999px!important}
#home .dashboard-sidebar .panel{margin-bottom:18px!important}
@media(max-width:760px){#home .platinum-dashboard-panel{padding:19px!important;border-radius:19px!important}#home .services-panel .service-feed-grid{grid-template-columns:1fr!important}#home .platinum-dashboard-panel .panel-header h2{font-size:23px!important}}
