/* GawaPH visual refresh v2. The app shell, navigation and forms remain in index.html. */
:root {
  --bg: #f5f8f6;
  --ink: #17343a;
  --muted: #536970;
  --line: #dbe9e5;
  --card: #fff;
  --teal: #08766b;
  --teal-d: #07584f;
  --accent: #079789;
  --teal-soft: #e5f5ee;
  --shadow: 0 12px 32px #0b3b3510;
}
:root[data-theme=dark] {
  --bg: #101b20;
  --ink: #eaf3f5;
  --muted: #b1c1c8;
  --line: #2a3e47;
  --card: #192a32;
  --teal: #0d756b;
  --teal-d: #71dccb;
  --accent: #70dccd;
  --teal-soft: #163c3b;
  --shadow: 0 10px 32px #0003;
}
@media(prefers-color-scheme:dark) {
  :root:not([data-theme=light]) {
    --bg: #101b20;
    --ink: #eaf3f5;
    --muted: #b1c1c8;
    --line: #2a3e47;
    --card: #192a32;
    --teal: #0d756b;
    --teal-d: #71dccb;
    --accent: #70dccd;
    --teal-soft: #163c3b;
    --shadow: 0 10px 32px #0003;
  }
}
body{background:var(--bg);background-image:radial-gradient(circle at 100% 140px,#d8f2e75c 0,transparent 360px);}
:root[data-theme=dark] body{background-image:radial-gradient(circle at 100% 140px,#19534b55 0,transparent 360px);}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) body{background-image:radial-gradient(circle at 100% 140px,#19534b55 0,transparent 360px);}}
.app-header{background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(14px);}
.brand-mark{background:linear-gradient(145deg,#0d7b70,#07514c);border-radius:12px;box-shadow:0 3px 9px #07584f33;}
.brand span{color:var(--teal);}
.bottom-nav{box-shadow:0 -9px 28px #062d3014;}
.nav-item.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--teal) 14%,transparent);}
.nav-item:active,.service-card:active{transform:scale(.98);}
.btn{box-shadow:0 3px 8px #065c4f19;}
.btn.ghost,.btn.sm{box-shadow:none;}
.card,.how-card,.preview-list,.provider-overview>div{border-color:var(--line);box-shadow:var(--shadow);}
.screen-heading{margin-bottom:16px;}
.screen-heading h1{letter-spacing:-.035em;}
.screen-heading p{max-width:45ch;}
.home-hero{
  padding:19px 19px 0;
  border:1px solid #cde8d9;
  border-radius:24px;
  background:linear-gradient(145deg,#eaf8ee 0%,#f6fbf6 61%,#fdf3dd 100%);
  box-shadow:0 17px 40px #065c4f16;
  overflow:hidden;
}
.home-hero .location-pill{
  border:1px solid #b9ded2;background:#ffffffb7;border-radius:99px;
  padding:5px 9px;color:#07584f;
}
.home-hero h1{font-size:clamp(29px,8vw,38px);line-height:1.08;letter-spacing:-.048em;color:#123f3b;margin:14px 0 9px;}
.home-hero p{color:#37595a;font-size:14px;line-height:1.5;max-width:38ch;margin-bottom:13px;}
.hero-primary{background:#0b695e;box-shadow:0 7px 14px #07584f2a;border-radius:13px;min-height:49px;padding:11px 15px;}
.hero-art{
  display:block;width:calc(100% + 38px);height:170px;object-fit:cover;
  object-position:center 42%;margin:17px -19px 0;border-top:1px solid #cde8d9;
}
.section-heading{margin-top:23px;}
.section-heading h2{font-size:18px;letter-spacing:-.03em;}
.section-heading>span{font-weight:650;}
.service-grid{gap:10px;}
.service-card{
  position:relative;isolation:isolate;overflow:hidden;min-height:133px;padding:14px;
  gap:6px;border-radius:18px;background:var(--service-bg,var(--card));
  border-color:var(--service-line,var(--line));box-shadow:0 8px 19px #16483f0b;
  transition:transform .15s ease,box-shadow .15s ease;
}
.service-card::after{
  content:"";position:absolute;z-index:-1;right:-28px;top:-35px;width:112px;height:112px;
  border-radius:50%;background:var(--service-blob,#ffffff99);
}
.service-card:nth-child(1){--service-bg:#edf6e9;--service-line:#d4e8c9;--service-blob:#d9ecce;--service-icon:#577f37;}
.service-card:nth-child(2){--service-bg:#e7f6f5;--service-line:#c9e5e2;--service-blob:#c8eae5;--service-icon:#0a8076;}
.service-card:nth-child(3){--service-bg:#eef3fc;--service-line:#d8e4f6;--service-blob:#dbe8fb;--service-icon:#4c74ac;}
.service-card:nth-child(4){--service-bg:#fff3e5;--service-line:#f5dfc5;--service-blob:#fbe5c9;--service-icon:#ad7029;}
.service-card:nth-child(5){--service-bg:#f0edfb;--service-line:#ded6f4;--service-blob:#e2d8f8;--service-icon:#7556a6;}
.service-card:nth-child(6){--service-bg:#eaf3fc;--service-line:#d4e4f5;--service-blob:#d6e7f8;--service-icon:#316f9e;}
.service-card .service-icon{width:46px;height:46px;border-radius:14px;background:#fff9;color:var(--service-icon);box-shadow:0 4px 12px #0a3b3012;margin-bottom:4px;}
.service-card b{font-size:14px;line-height:1.25;letter-spacing:-.02em;}
.service-card>span:last-child{font-size:11px;}
.service-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
.how-card{border-radius:18px;background:var(--card);margin-top:18px;}
.how-card h2{font-size:15px;}
.how-steps span{border-radius:9px;background:var(--teal-soft);font-size:12px;width:25px;height:25px;}
.home-trust{font-size:11px;line-height:1.5;gap:7px;margin-top:15px;}
.provider-hero{margin:4px 0 16px;}
.provider-hero .hero-art{object-position:center 22%;}
.provider-overview>div{border-radius:18px;}
.provider-card,.case-card{border-radius:15px;}
.quote{border-radius:12px;background:color-mix(in srgb,var(--teal-soft) 50%,var(--card));border:1px solid var(--line);padding:12px;margin-top:11px;}
.empty{background:var(--card);border:1px dashed var(--line);border-radius:15px;margin:10px 0;}
.service-browser{margin:12px 0 20px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow);overflow:hidden;}
.service-browser>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:15px 17px;color:var(--teal-d);font-size:14px;font-weight:760;min-height:51px;}
.service-browser>summary::-webkit-details-marker{display:none;}
.service-browser>summary span{font-size:11px;color:var(--muted);font-weight:650;}
.service-browser-body{padding:0 16px 16px;border-top:1px solid var(--line);}
.service-browser-body>label{margin-top:14px;}
.service-picker-group h3{font-size:13px;margin:18px 0 8px;color:var(--muted);}
.service-chip-grid{display:flex;flex-wrap:wrap;gap:7px;}
.service-chip{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;padding:8px 10px;font-size:12.5px;font-weight:650;min-height:40px;text-align:left;}
.service-chip:focus-visible,.service-browser>summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
.category-checks{display:grid;gap:8px;margin:12px 0;}
.category-group{border:1px solid var(--line);border-radius:11px;background:var(--bg);overflow:hidden;}
.category-group>summary{cursor:pointer;padding:11px 13px;font-weight:730;font-size:13px;min-height:43px;}
.category-group>summary small{float:right;color:var(--muted);font-size:11px;}
.category-group>div{padding:0 12px 10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 11px;}
.category-group .checkline{margin:6px 0;font-size:12.5px;overflow-wrap:anywhere;}
.category-group .checkline input{accent-color:var(--teal);}
#jobCategorySearch{margin-bottom:8px;}
.contact-privacy{border-left:3px solid var(--teal);padding:7px 9px;background:var(--teal-soft);border-radius:0 8px 8px 0;}
.admin-contact{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:10px;background:var(--teal-soft);padding:10px 12px;margin:12px 0;font-size:13px;}
.admin-contact div{margin-top:3px;font-size:15px;font-weight:700;letter-spacing:.015em;}
@media(max-width:430px){.category-group>div{grid-template-columns:1fr;}}
@media(hover:hover){.service-card:hover{transform:translateY(-2px);box-shadow:0 12px 23px #16483f17;}}
@media(prefers-reduced-motion:reduce){.service-card{transition:none;}.service-card:hover,.service-card:active,.nav-item:active{transform:none;}}
@media(min-width:700px){
  .home-hero{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto auto auto 1fr;gap:0 15px;min-height:296px;padding:24px 0 24px 24px;}
  .home-hero .location-pill{grid-column:1;justify-self:start;align-self:start;}
  .home-hero h1,.home-hero p,.home-hero .hero-primary{grid-column:1;}
  .home-hero h1{font-size:39px;}
  .home-hero .hero-primary{max-width:340px;}
  .home-hero .hero-art{grid-column:2;grid-row:1/-1;width:100%;height:calc(100% + 48px);margin:-24px 0;border:0;border-left:1px solid #cde8d9;object-position:48% center;}
  .provider-hero .hero-art{object-position:24% center;}
  .service-card{min-height:148px;}
}
@media(max-width:360px){.home-hero{padding:16px 16px 0;}.hero-art{width:calc(100% + 32px);margin:14px -16px 0;height:145px;}.home-hero h1{font-size:29px;}.service-card{min-height:127px;}}
@media(prefers-color-scheme:dark){
  :root:not([data-theme=light]) .home-hero{background:linear-gradient(145deg,#20443a,#1d3437 65%,#3a3024);border-color:#426351;}
  :root:not([data-theme=light]) .home-hero h1{color:#eefbf5;}
  :root:not([data-theme=light]) .home-hero p{color:#cededb;}
  :root:not([data-theme=light]) .home-hero .location-pill{background:#174a42;color:#d5f6e8;border-color:#3a7566;}
  :root:not([data-theme=light]) .service-card{background:color-mix(in srgb,var(--card) 82%,var(--service-icon));border-color:var(--line);}
}
:root[data-theme=dark] .home-hero{background:linear-gradient(145deg,#20443a,#1d3437 65%,#3a3024);border-color:#426351;}
:root[data-theme=dark] .home-hero h1{color:#eefbf5;}
:root[data-theme=dark] .home-hero p{color:#cededb;}
:root[data-theme=dark] .home-hero .location-pill{background:#174a42;color:#d5f6e8;border-color:#3a7566;}
:root[data-theme=dark] .service-card{background:color-mix(in srgb,var(--card) 82%,var(--service-icon));border-color:var(--line);}
