/* Shared public chrome, derived from the home design. */
body.pali-theme:not(.page-admin) .site-header { background:#fffffff5; border-bottom:1px solid #f1efec; }
body.pali-theme:not(.page-admin) .btn-add-biz { border-radius:30px; background:#082e30; border-color:#082e30; }
body.pali-theme:not(.page-admin) .site-footer { background:#082e30; background-image:none; border:0; color:#fff; padding-top:38px; }
body.pali-theme:not(.page-admin) .footer-masthead { border-color:#ffffff26; padding-bottom:24px; margin-bottom:26px; }
body.pali-theme:not(.page-admin) .footer-masthead p { font-family:var(--f-ui); font-size:32px; color:#fff; }
body.pali-theme:not(.page-admin) .footer-masthead p em { color:#ffa677; }
body.pali-theme:not(.page-admin) .site-footer :is(.footer-h,.footer-masthead > a) { color:#fff; }
body.pali-theme:not(.page-admin) .site-footer :is(.footer-p,.footer-links a,.footer-contact,.footer-contact a,.footer-copy,.footer-legal a,.footer-tagline,.footer-contact p > span,.footer-copy a) { color:#d1e0dc; }
body.pali-theme:not(.page-admin) .site-footer :is(.footer-bottom,.footer-cta-btn) { border-color:#ffffff25; }
body.pali-theme:not(.page-admin) .site-footer .footer-cta-btn { color:#ffbb92; }
body.pali-theme:not(.page-admin) .site-footer .soc-btn { color:#fff; background:#ffffff0b; border-color:#ffffff30; }
body.pali-theme:not(.page-admin) .site-footer a:hover { color:#ffb28a; }
@media(max-width:520px) {
body.pali-theme:not(.page-admin) .footer-masthead p { font-size:28px; }
}
body.pali-theme:not(.page-admin) .footer-masthead > div > span { color:#d3e2da; }
@media(min-width:801px) and (max-width:1100px) {
body.pali-theme:not(.page-admin) .footer-grid { grid-template-columns:1.2fr 1fr 1fr 1.2fr; gap:24px; }
}
body.pali-theme:not(.page-admin) .hdr-row { gap:25px; }
body.pali-theme:not(.page-admin) .hdr-nav { margin-inline:auto; gap:25px; }
body.pali-theme:not(.page-admin) .hdr-nav-link { font-size:13px; font-weight:500; color:#193244; }
body.pali-theme:not(.page-admin) .hdr-nav-active { font-weight:750; color:#0b2430; }
body.pali-theme:not(.page-admin) .hdr-logo img { width:110px; }
body.pali-theme:not(.page-admin) .hdr-search { display:none; }
body.pali-theme:not(.page-admin) .hdr-search-toggle { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid #e8eaec; border-radius:50%; background:white; box-shadow:0 3px 10px #0b243009; }
body.pali-theme:not(.page-admin) .hdr-right { gap:14px; }
body.pali-theme:not(.page-admin) .btn-add-biz { order:2; font-size:12px; font-weight:500; padding:12px 22px; }
body.pali-theme:not(.page-admin) .mobile-search-panel { background:white; border:1px solid #e8eaec; padding:15px; border-radius:0 0 18px 18px; box-shadow:0 10px 25px #0b243012; }
body.pali-theme:not(.page-admin) .mobile-drawer { background:#fffdfa; }
body.pali-theme:not(.page-admin) .drawer-link { border-radius:12px; }
body.pali-theme:not(.page-admin) .site-footer { padding-top:120px; background:#063335 url('../images/pali-footer.webp') center top / 100% 100% no-repeat; }
body.pali-theme:not(.page-admin) .footer-masthead { padding-bottom:16px; margin-bottom:24px; align-items:center; }
body.pali-theme:not(.page-admin) .footer-masthead > div { display:flex; align-items:center; gap:25px; }
body.pali-theme:not(.page-admin) .footer-masthead p { margin:0; font:italic 24px/1.2 Georgia,serif; letter-spacing:-.02em; }
body.pali-theme:not(.page-admin) .footer-masthead p br { display:none; }
body.pali-theme:not(.page-admin) .footer-masthead p em { color:#fff; }
body.pali-theme:not(.page-admin) .footer-edition { max-width:160px; font-size:9px; line-height:1.8; }
body.pali-theme:not(.page-admin) .footer-grid { grid-template-columns:1.25fr 1fr 1fr 1.3fr; gap:38px; padding-bottom:22px; }
body.pali-theme:not(.page-admin) .footer-brand { padding-right:25px; border-right:1px solid #ffffff35; }
body.pali-theme:not(.page-admin) .footer-brand img { width:125px; background:#fff; padding:8px 12px; border-radius:10px; }
body.pali-theme:not(.page-admin) .footer-h { font-size:13px; text-transform:none; letter-spacing:0; margin-bottom:13px; }
body.pali-theme:not(.page-admin) .footer-links { gap:2px; }
body.pali-theme:not(.page-admin) .footer-links a { min-height:28px; font-size:11px; }
body.pali-theme:not(.page-admin) .footer-contact { font-size:11px; }
body.pali-theme:not(.page-admin) .footer-p { font-size:11px; }
body.pali-theme:not(.page-admin) .footer-cta-btn { min-height:34px; padding:8px 0; font-size:11px; }
body.pali-theme:not(.page-admin) .footer-bottom { padding-block:16px; }
@media(min-width:801px) {
body.pali-theme:not(.page-admin) .hdr-hamburger { display:none; }
}
@media(max-width:1100px) {
body.pali-theme:not(.page-admin) .hdr-nav { gap:15px; }
body.pali-theme:not(.page-admin) .hdr-nav-link { font-size:11px; }
body.pali-theme:not(.page-admin) .hdr-row { gap:16px; }
body.pali-theme:not(.page-admin) .footer-grid { gap:22px; }
}
@media(max-width:800px) {
body.pali-theme:not(.page-admin) .hdr-nav { display:none; }
body.pali-theme:not(.page-admin) .hdr-right { margin-left:auto; }
body.pali-theme:not(.page-admin) .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.pali-theme:not(.page-admin) .footer-masthead > div { flex-direction:column; align-items:flex-start; gap:10px; }
body.pali-theme:not(.page-admin) .footer-edition { max-width:none; }
body.pali-theme:not(.page-admin) .site-footer { padding-top:100px; background-size:auto 100%; }
}
@media(max-width:520px) {
body.pali-theme:not(.page-admin) .hdr-logo img { width:88px; }
body.pali-theme:not(.page-admin) .hdr-right { gap:9px; }
body.pali-theme:not(.page-admin) .hdr-search-toggle { width:38px; height:38px; }
body.pali-theme:not(.page-admin) .footer-grid { gap:25px 18px; }
body.pali-theme:not(.page-admin) .footer-brand { border:0; padding:0; }
body.pali-theme:not(.page-admin) .footer-masthead { gap:14px; align-items:flex-start; }
body.pali-theme:not(.page-admin) .footer-masthead p { font-size:22px; }
body.pali-theme:not(.page-admin) .footer-home-link { font-size:11px; min-height:34px; }
}
body.pali-theme:not(.page-admin) .site-footer { padding-top:160px; }
body.pali-theme:not(.page-admin) .footer-masthead p em { margin-left:.3em; }
body.pali-theme:not(.page-admin) .site-footer .footer-cta-btn:hover { background:#ffffff12; color:#fff; }
@media(max-width:800px) {
body.pali-theme:not(.page-admin) .site-footer { padding-top:145px; background-size:auto 100%; }
}

/* Palette and rhythm shared by public pages. */
body.pali-theme:not(.page-admin) {
 --ink:#102c38; --ink-2:#355266; --ink-3:#597080; --ink-4:#627785;
 --bg:#fffaf5; --bone:#fff; --surface:#fff; --border:#e5eae8; --border-2:#edf0ee;
 --terra:#e77340; --terra-dark:#bc4e22; --espresso:#103b3b; --espresso-2:#164b47;
 --hero-paper:#fffaf5; --hero-red:#e77340; --hdr-h:82px;
}
body.pali-theme:not(.page-admin) .footer-brand img { background:none; padding:0; border-radius:0; filter:brightness(0) invert(1); width:125px; }
body.pali-theme:not(.page-admin) .site-footer { margin-top:48px; }
body.pali-theme:not(.page-admin) :is(.page-hero,.election-war-hero,.corner-war-hero,.kyc-hero,.result-banner) {
 background:radial-gradient(ellipse at 95% 5%,#f7ddc650,transparent 55%),linear-gradient(120deg,#fffaf5,#f5f8f3);
 border:0; border-image:none; padding-block:42px 48px; margin-bottom:40px;
}
body.pali-theme:not(.page-admin) :is(.page-hero-title,#election-war-title,#kyc-page-title,.corner-war-copy h1,.result-verdict-intro h1) {
 font-family:var(--f-ui); color:var(--ink); font-weight:800; letter-spacing:-.045em; font-size:clamp(36px,4.5vw,64px); line-height:1.1;
}
body.pali-theme:not(.page-admin) :is(.page-hero-title span,#election-war-title em,#kyc-page-title span,.corner-war-copy h1 span,.result-verdict-intro h1 span) { color:var(--terra); }
body.pali-theme:not(.page-admin) :is(.page-hero-kicker,.election-war-kicker,.kyc-overline,.corner-war-stamp,.result-verdict-intro .eyebrow) {
 background:transparent; color:#33514d; border:0; padding:0; font:700 10px/1.6 var(--f-ui); letter-spacing:.22em; box-shadow:none; transform:none;
}
body.pali-theme:not(.page-admin) :is(.page-hero-sub,.election-war-deck,.corner-war-copy>p:not(.corner-war-stamp),.kyc-hero-copy>p:not(.kyc-overline)) { color:var(--ink-2); line-height:1.7; }
body.pali-theme:not(.page-admin) :is(.editorial-art-stamp,.editorial-art-badge) { background:#fff9f0; border:1px solid #efdbca; color:#b8562f; box-shadow:none; border-radius:14px; }
body.pali-theme:not(.page-admin) .business-identity { transform:none; border:1px solid var(--border); box-shadow:none; background:white; color:var(--ink); font-family:var(--f-ui); }
/* Blend the artwork itself; floating controls remain sharp and interactive. */
body.pali-theme.page-home .home-welcome.hero { background:#fffaf5; padding-block:48px 30px; }
body.pali-theme.page-home .heritage-hero-art {
 -webkit-mask-image:linear-gradient(to right,transparent,#000 17%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 13%,#000 75%,transparent);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent,#000 17%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 13%,#000 75%,transparent);
 mask-composite:intersect;
}
body.pali-theme.page-home .city-canvas-label { top:22px; right:12%; }
body.pali-theme.page-home .city-canvas-caption { bottom:-5px; color:#607a77; }
body.pali-theme.page-home :is(.section,#categories,#featured,.home-urgent) { padding-block:42px; }
body.pali-theme.page-home :is(.sec-head,.urgent-heading) { margin-bottom:24px; }
body.pali-theme.page-home .city-today { margin-block:28px 40px; }
body.pali-theme.page-home .result-home { padding-block:12px 40px; }
body.pali-theme.page-home .home-explore-shell { padding-block:0 32px; }
body.pali-theme.page-home .community-owner { margin-top:32px; }
/* Compact, consistent listing cards with a stable category/name/address/action hierarchy. */
body.pali-theme:not(.page-admin) :is(.mini-biz-card,.biz-card,.listing-item) { background:white; border:1px solid var(--border); border-radius:14px; box-shadow:0 4px 16px #153c3306; }
body.pali-theme.page-home .mini-biz-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
body.pali-theme.page-home .mini-biz-card { padding:22px; display:flex; flex-direction:column; gap:12px; }
body.pali-theme.page-home .mini-biz-card h3 { font-size:18px; margin:0; }
body.pali-theme.page-home .mini-biz-card p { font-size:13px; line-height:1.6; margin:0; }
body.pali-theme.page-home .recent-category { display:flex; flex-direction:column-reverse; gap:10px; margin:0; }
body.pali-theme.page-home .recent-category .listing-cat { align-self:flex-start; color:#52706e; background:#edf5f1; font-size:11px; padding:5px 9px; border-radius:6px; }
body.pali-theme:not(.page-admin) .listing-status-badge { font-size:9px; padding:3px 6px; border-radius:5px; letter-spacing:.02em; }
body.pali-theme.page-home .mini-biz-actions { margin-top:auto; border-top:1px solid #edf0ee; padding-top:14px; gap:8px; }
body.pali-theme.page-home .mini-biz-actions a { font-size:12px; min-height:38px; border-radius:8px; }
@media(max-width:800px) {
 body.pali-theme:not(.page-admin) :is(.page-hero,.election-war-hero,.corner-war-hero,.kyc-hero,.result-banner) { padding-block:28px 34px; margin-bottom:28px; }
 body.pali-theme.page-home :is(.section,#categories,#featured,.home-urgent) { padding-block:30px; }
 body.pali-theme.page-home .mini-biz-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.pali-theme.page-home .home-welcome.hero { padding-top:30px; }
 body.pali-theme.page-home .city-canvas { max-width:640px; }
}
@media(max-width:520px) {
 body.pali-theme:not(.page-admin) { --hdr-h:66px; }
 body.pali-theme.page-home .mini-biz-grid { grid-template-columns:1fr; gap:14px; }
 body.pali-theme.page-home .city-canvas-label { right:8%; top:15px; font-size:21px; }
 body.pali-theme:not(.page-admin) .site-footer { margin-top:24px; }
}

body.pali-theme.page-home .city-canvas-label { z-index:2; }

/* The recent row uses the same image, typography and actions as Featured. */
body.pali-theme.page-home #home-recent .biz-card-body { padding-top:14px; }
body.pali-theme.page-home #home-recent { background:#fffaf5; }
/* Continuous landscape: decorative color extends beyond the illustration. */
body.pali-theme.page-home .home-welcome.hero { overflow:hidden; background:radial-gradient(ellipse at 102% 100%,#d8e8df 0,transparent 36%),radial-gradient(ellipse at -7% 90%,#ffe5cf 0,transparent 35%),#fffaf5; }
body.pali-theme.page-home .home-welcome.hero::after { content:''; position:absolute; pointer-events:none; inset:auto -5% -54px; height:90px; background:#fffaf5; border-radius:50% 50% 0 0 / 75% 90% 0 0; z-index:0; }
body.pali-theme.page-home .hero-shell--pulse { position:relative; z-index:1; }
body.pali-theme.page-home #categories { background:#fffaf5; }
body.pali-theme:not(.page-admin) .site-footer { margin-top:0; -webkit-mask-image:linear-gradient(to bottom,transparent,#000 65px); mask-image:linear-gradient(to bottom,transparent,#000 65px); }
body.pali-theme.page-home #home-recent { padding-bottom:20px; }
/* Emergency route repeats the home contact and service vocabulary. */
body.pali-theme.view-emergency .section { padding-block:36px; }
body.pali-theme.view-emergency .sec-head { margin-bottom:24px; }
body.pali-theme.view-emergency .sec-head > div { display:grid; grid-template-columns:46px minmax(0,1fr); gap:4px 12px; align-items:center; }
body.pali-theme.view-emergency .home-section-icon { grid-column:1; grid-row:1/3; display:grid; place-items:center; width:46px; height:46px; color:#df5b2a; background:#ffe9db; border:1px solid #ffddc6; border-radius:50%; }
body.pali-theme.view-emergency .sec-title { grid-column:2; font:750 23px/1.25 var(--f-ui); letter-spacing:-.035em; margin:0; }
body.pali-theme.view-emergency .sec-sub { grid-column:2; font-size:12px; line-height:1.5; margin:0; color:#496177; }
body.pali-theme.view-emergency .utility-grid--contacts { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
body.pali-theme.view-emergency .utility-card--contact { display:grid; grid-template-columns:38px minmax(0,1fr); gap:10px 12px; padding:18px; border-radius:14px; border:1px solid #e9eafb; background:#f0f1ff; box-shadow:none; align-items:start; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(4n+2) { background:#fff1ec; border-color:#ffebe3; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(4n+3) { background:#fff0f2; border-color:#ffe6ea; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(4n) { background:#fcf0fa; border-color:#f7e6f3; }
body.pali-theme.view-emergency .utility-card-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#fff0e5; color:#df6538; }
body.pali-theme.view-emergency .utility-card--contact .utility-card-icon { background:#ffffff90; color:#5362b2; }
body.pali-theme.view-emergency .utility-card--contact .utility-card-title { font-size:13px; line-height:1.4; margin:0 0 6px; }
body.pali-theme.view-emergency .utility-card-copy { color:#597085; font-size:11px; line-height:1.6; }
body.pali-theme.view-emergency .utility-card--contact .utility-card-foot { grid-column:2; border:0; padding:0; margin-top:auto; }
body.pali-theme.view-emergency .utility-card--contact .btn-call { background:transparent; border:0; padding:0; color:#152d40; font-size:21px; font-weight:750; box-shadow:none; min-height:36px; }
body.pali-theme.view-emergency .utility-card--contact .btn-call svg { display:none; }
body.pali-theme.view-emergency .utility-card--contact .btn-call:hover { color:#bb4d21; text-decoration:underline; }
body.pali-theme.view-emergency .utility-card--hub { padding:18px; gap:12px; border-radius:13px; background:white; border:1px solid #e5eae8; box-shadow:0 4px 16px #153c3306; }
body.pali-theme.view-emergency .utility-card--hub .utility-card-title { font-size:15px; }
@media(max-width:1000px) { body.pali-theme.view-emergency .utility-grid--contacts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) {
 body.pali-theme.view-emergency .utility-card--contact { grid-template-columns:28px minmax(0,1fr); padding:13px 10px; gap:8px; }
 body.pali-theme.view-emergency .utility-card--contact .utility-card-icon { width:28px; height:32px; }
 body.pali-theme.view-emergency .utility-card--contact .btn-call { font-size:17px; overflow-wrap:anywhere; }
 body.pali-theme.view-emergency .sec-title { font-size:20px; }
}

/* One tourism component on the home, browse and detail pages. */
body.pali-theme :is(.home-place-grid,.place-grid--directory) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body.pali-theme .place-grid--directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.pali-theme .place-card { display:flex; padding:0; background:#fff; border:1px solid #e5eae8; border-radius:14px; overflow:hidden; box-shadow:0 4px 16px #153c3306; }
body.pali-theme .place-card-shell { display:flex; flex-direction:column; width:100%; gap:0; padding:0; }
body.pali-theme .place-card-media--sketch { display:block; position:relative; width:100%; padding:0; margin:0; background:#edf3ef; border-radius:0; aspect-ratio:2; overflow:hidden; }
body.pali-theme .place-card-media--sketch img { width:100%; height:100%; object-fit:cover; max-height:none; }
body.pali-theme .tourism-art-label { position:absolute; bottom:8px; right:8px; padding:3px 6px; border-radius:4px; color:#fff; background:#153230cc; font:400 9px/1.2 var(--f-ui); }
body.pali-theme .place-card-shell > .place-card-icon { display:none; }
body.pali-theme .place-card-copy { display:flex; flex-direction:column; flex:1; padding:16px; gap:9px; }
body.pali-theme .place-card-head { gap:6px; margin:0; }
body.pali-theme .place-card-tag { background:#edf5f1; border:0; color:#496b65; padding:3px 6px; font-size:9px; border-radius:5px; }
body.pali-theme .place-card-title { font:750 17px/1.35 var(--f-ui); margin:0; }
body.pali-theme .place-card-summary { font-size:12px; line-height:1.6; margin:0; color:#597085; }
body.pali-theme .place-card-meta { font-size:10px; gap:5px; color:#597085; }
body.pali-theme .place-card-address { font-size:11px; margin:0; line-height:1.5; }
body.pali-theme .place-card-actions { margin-top:auto; padding-top:12px; border-top:1px solid #edf0ee; gap:10px; }
body.pali-theme .place-card-actions a { font-size:11px; min-height:34px; border-radius:7px; }
body.pali-theme .place-detail-sketch { position:relative; padding:0; overflow:hidden; border-radius:14px; background:#edf3ef; }
body.pali-theme .place-detail-sketch img { display:block; width:100%; height:auto; max-height:420px; object-fit:cover; aspect-ratio:2; }
body.pali-theme.page-home .home-help .utility-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
/* Festival landscape is the supplied artwork, optimized as a local WebP. */
body.pali-theme.page-home .home-events { position:relative; background:#ffebcf url('../images/events-home.webp') center bottom / cover no-repeat; padding:80px 0 190px; margin:25px 0 40px; }
body.pali-theme.page-home .events-layout { display:grid; grid-template-columns:minmax(250px,.9fr) minmax(0,2fr); gap:36px; align-items:start; padding-inline:clamp(35px,6vw,100px); }
body.pali-theme.page-home .events-intro .eyebrow { color:#3b6470; font-size:9px; letter-spacing:.2em; }
body.pali-theme.page-home .events-intro h2 { font:800 clamp(34px,3.5vw,54px)/1.05 var(--f-ui); letter-spacing:-.045em; margin:18px 0 14px; color:#092d43; }
body.pali-theme.page-home .events-intro h2 span { color:#ed6d31; }
body.pali-theme.page-home .events-intro > p:not(.eyebrow) { color:#365d70; font-size:15px; line-height:1.6; margin-bottom:24px; }
body.pali-theme.page-home .events-intro .btn-primary { border-radius:30px; background:#f17132; border-color:#f17132; gap:20px; }
body.pali-theme.page-home .events-track { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding:0 0 18px; }
body.pali-theme.page-home .event-card { flex:0 0 250px; scroll-snap-align:start; padding:20px; border-radius:14px; background:#fffdf9f5; box-shadow:0 5px 20px #a46b1f0c; display:flex; flex-direction:column; gap:10px; color:#123248; }
body.pali-theme.page-home .event-card--empty { flex-basis:100%; max-width:510px; min-height:280px; }
body.pali-theme.page-home .event-date { display:flex; flex-direction:column; align-items:center; justify-content:center; width:64px; min-height:68px; background:#ca5526; color:#fff; border-radius:11px; line-height:1.1; }
body.pali-theme.page-home .event-date strong { font-size:29px; }
body.pali-theme.page-home .event-date span { font-size:12px; margin-top:4px; }
body.pali-theme.page-home .event-category { align-self:flex-start; border-radius:20px; background:#ffe9da; color:#ae4d27; padding:4px 10px; font-size:11px; }
body.pali-theme.page-home .event-card h3 { font-size:20px; line-height:1.25; margin:0; }
body.pali-theme.page-home .event-card p { font-size:13px; line-height:1.6; margin:0; }
body.pali-theme.page-home .event-card .event-meta { display:flex; gap:8px; align-items:center; }
body.pali-theme.page-home .event-card > a { margin-top:auto; padding-top:14px; color:#cb5225; font-size:13px; font-weight:700; }
@media(min-width:1101px) { body.pali-theme:not(.page-admin) .hdr-nav-link { font-size:15px; } body.pali-theme:not(.page-admin) .hdr-nav { gap:23px; } }
@media(min-width:801px) and (max-width:1100px) { body.pali-theme:not(.page-admin) .hdr-nav-link { font-size:13px; } body.pali-theme:not(.page-admin) .hdr-nav { gap:12px; } }
@media(prefers-reduced-motion:no-preference) {
 body.pali-theme .hdr-nav-link { transition:color .18s,transform .18s; }
 body.pali-theme .hdr-nav-link:hover { transform:translateY(-2px); color:#d15e2f; }
 body.pali-theme :is(.event-card,.place-card,.utility-card--hub) { transition:transform .2s,box-shadow .2s; }
 body.pali-theme :is(.event-card,.place-card,.utility-card--hub):hover { transform:translateY(-4px); box-shadow:0 10px 25px #153c3310; }
 body.pali-theme .is-entering { animation:pali-enter .45s ease-out both; }
 @keyframes pali-enter { from { opacity:.5; translate:0 12px; } to { opacity:1; translate:0 0; } }
}
@media(max-width:800px) {
 body.pali-theme :is(.home-place-grid,.place-grid--directory) { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.pali-theme.page-home .home-help .utility-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.pali-theme.page-home .home-events { padding:45px 0 150px; background-position:40% bottom; }
 body.pali-theme.page-home .events-layout { grid-template-columns:1fr; padding-inline:30px; gap:24px; }
 body.pali-theme.page-home .events-intro { max-width:470px; }
}
@media(max-width:520px) {
 body.pali-theme :is(.home-place-grid,.place-grid--directory) { grid-template-columns:1fr; }
 body.pali-theme.page-home .home-events { background-size:auto 100%; padding-bottom:120px; }
 body.pali-theme.page-home .events-layout { padding-inline:20px; }
 body.pali-theme.page-home .event-card--empty { min-width:0; }
}

body.pali-theme.page-home .events-track { flex-wrap:wrap; }
body.pali-theme.page-home .events-status { flex-basis:100%; font-size:12px; color:#365d70; }

body.pali-theme.page-home .pulse-board-footer p { color:#4c6a68; }
body.pali-theme.page-home .home-events { background-size:100% 100%; }
@media(max-width:800px) { body.pali-theme.page-home .home-events { background-size:auto 100%; } }
body.pali-theme .place-card .place-card-media--sketch { padding:0; background:#edf3ef; aspect-ratio:2; border:0; }
body.pali-theme .place-card .place-card-media--sketch img { height:100%; aspect-ratio:2; object-fit:cover; }
body.pali-theme.page-home .home-place-grid > :last-child { grid-column:auto; }
body.pali-theme.page-home .events-track { flex-wrap:nowrap; }
body.pali-theme.page-home .event-card:only-child { flex-basis:320px; }
@media(max-width:520px) { body.pali-theme.page-home .event-card:only-child { flex-basis:100%; } }
@media(min-width:801px) {
 body.pali-theme.page-home .events-layout { padding-left:clamp(130px,12vw,180px); padding-right:70px; grid-template-columns:minmax(300px,.9fr) minmax(0,2fr); }
 body.pali-theme.page-home .events-intro { background:radial-gradient(ellipse,#fff0d9d9,transparent 75%); }
}

/* Compact event composition with the artwork's natural proportions. */
body.pali-theme.page-home .home-events { background-size:cover; background-position:center bottom; padding-block:48px 95px; margin-block:0; }
body.pali-theme.page-home .events-layout { align-items:start; gap:28px; }
body.pali-theme.page-home .event-card,
body.pali-theme.page-home .event-card:only-child { flex-basis:260px; padding:17px; gap:8px; }
body.pali-theme.page-home .event-date { width:55px; min-height:57px; border-radius:9px; }
body.pali-theme.page-home .event-date strong { font-size:26px; }
body.pali-theme.page-home .event-card h3 { font-size:18px; }
body.pali-theme.page-home .event-card p { font-size:12px; line-height:1.5; }
body.pali-theme.page-home .event-card > a { font-size:12px; padding-top:10px; }
body.pali-theme.page-home .events-intro h2 { font-size:clamp(32px,3.1vw,46px); }
body.pali-theme.page-home .events-intro > p:not(.eyebrow) { font-size:14px; }
/* Full-width color bands make each content group easy to scan. */
body.pali-theme.page-home #categories { background:#fffaf5; }
body.pali-theme.page-home #home-emergency { background:#fff; border-block:1px solid #eef0ed; }
body.pali-theme.page-home #featured { background:#fff4e9; }
body.pali-theme.page-home #home-places { background:#fff; }
body.pali-theme.page-home #home-city-help { background:#edf5f1; }
body.pali-theme.page-home #home-news { background:#fff; }
body.pali-theme.page-home #home-noticeboard { background:#fff4e9; }
body.pali-theme.page-home .home-explore-shell { padding-block:28px; }
body.pali-theme.page-home .pulse-board-date { font:600 17px/1.5 var(--f-ui); color:#294f4c; }
/* Seven contacts, seven distinct pastel color pairs. */
body.pali-theme.view-emergency .utility-card--contact:nth-child(1) { background:#efefff; border-color:#deddf7; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(2) { background:#fff0e4; border-color:#f5ddc8; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(3) { background:#ffebee; border-color:#f5d4da; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(4) { background:#fbedf8; border-color:#eed5e9; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(5) { background:#eaf6ef; border-color:#d0e9da; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(6) { background:#fff8dc; border-color:#ede2b7; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(7) { background:#e8f4fc; border-color:#cfe5f3; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(2) .utility-card-icon { color:#b65f25; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(3) .utility-card-icon { color:#bc425b; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(4) .utility-card-icon { color:#a0438d; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(5) .utility-card-icon { color:#2a7b54; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(6) .utility-card-icon { color:#8d7019; }
body.pali-theme.view-emergency .utility-card--contact:nth-child(7) .utility-card-icon { color:#2976a3; }
@media(min-width:1001px) {
 body.pali-theme.view-emergency .content-main > .utility-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 body.pali-theme.view-emergency .content-main > .utility-grid .utility-card--hub { flex-direction:column; align-items:flex-start; }
}
@media(max-width:800px) {
 body.pali-theme.page-home .home-events { padding-block:36px 85px; background-size:cover; }
 body.pali-theme.page-home .pulse-board-date { font-size:15px; }
}
@media(max-width:520px) {
 body.pali-theme.page-home .event-card,
 body.pali-theme.page-home .event-card:only-child { flex-basis:min(280px,100%); }
}

body.pali-theme.view-emergency .sec-head > div:not(:has(.home-section-icon)) { display:block; }

/* Tonal section transitions follow the site's warm paper background. */
body.pali-theme.page-home :is(#featured,#home-noticeboard) { background:linear-gradient(180deg,#fffaf5 0%,#fbf5ed 18%,#fbf5ed 82%,#fffaf5 100%); }
body.pali-theme.page-home #home-city-help { background:linear-gradient(180deg,#fffaf5 0%,#f2f5ef 20%,#f2f5ef 80%,#fffaf5 100%); }
body.pali-theme.page-home :is(#home-places,#home-news,#home-emergency) { background:#fffaf5; }
body.pali-theme.page-home #home-emergency { border-color:#eee8df; }
body.pali-theme.page-home .home-owner { background:none; }
body.pali-theme.page-home .community-owner { margin:0; padding:18px 0; background:none; border:0; border-radius:0; box-shadow:none; }
body.pali-theme.page-home .community-owner h2 { font:750 24px/1.3 var(--f-ui); letter-spacing:-.035em; color:#103c36; margin:0 0 8px; }
body.pali-theme.view-emergency .emergency-listing-split { margin-top:36px; }
body.pali-theme.view-emergency .emergency-listing-split .sec-head { margin-top:0 !important; }
@media(min-width:1001px) {
 body.pali-theme.view-emergency .emergency-service-grid { grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; }
 body.pali-theme.view-emergency .emergency-service-grid .utility-card--hub { flex-direction:column; align-items:flex-start; }
}

/* Retain the owner card treatment inside its unpainted standalone section. */
body.pali-theme.page-home .home-owner { background:transparent; }
body.pali-theme.page-home .community-owner { padding:24px 28px; background:#eaf4ef; border:1px solid #d9e9df; border-radius:14px; box-shadow:none; }
/* Distinct warm and sage bands with short, soft transitions at the edges. */
body.pali-theme.page-home :is(#featured,#home-noticeboard) { background:linear-gradient(180deg,#fffaf5 0%,#f7eadb 8%,#f7eadb 92%,#fffaf5 100%); }
body.pali-theme.page-home #home-city-help { background:linear-gradient(180deg,#fffaf5 0%,#e4efe7 8%,#e4efe7 92%,#fffaf5 100%); }
body.pali-theme.page-home :is(#home-places,#home-news) { background:#fffaf5; }
@media(max-width:520px) { body.pali-theme.page-home .community-owner { padding:22px; } }
