/* Homepage (desktop): the visual language of the approved mock: a slim dark-green stats strip with gold icons,
   a single row of white tiles, horizontal news/event cards, an even row of place cards and a one-row photo strip. Styles only. */
@media (min-width: 900px) {
  body.home .hm-about h2 { font-size: clamp(2.2rem, 3.6vw, 3.1rem); line-height: 1.12; }

  /* stats strip */
  body.home .stats { padding: 0; background: linear-gradient(90deg, #0E3326, #1B4D3A); }
  body.home .stats .container { padding-block: 18px 12px; }
  body.home .stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
  body.home .stat-item { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-height: 64px; padding: 4px 20px 4px 66px; border-left: 1px solid rgba(255, 255, 255, .14); position: relative; text-align: left; }
  body.home .stat-item:first-child { border-left: 0; }
  body.home .stat-item::before { content: ""; position: absolute; left: 10px; top: 50%; width: 44px; height: 44px; margin-top: -22px; border-radius: 50%; background-color: rgba(217, 164, 65, .16); background-repeat: no-repeat; background-position: center; background-size: 24px; }
  body.home .stat-item:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E8B954' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6M16 11a3 3 0 1 0 0-6M17 14c2.5.4 4 2.6 4 6'/%3E%3C/svg%3E"); }
  body.home .stat-item:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E8B954' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11l8-7 8 7M6 10v10h12V10M10 20v-6h4v6'/%3E%3C/svg%3E"); }
  body.home .stat-item:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E8B954' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-8 5-13 14-14 0 9-5 14-14 14zM5 19c3-5 6-8 10-10'/%3E%3C/svg%3E"); }
  body.home .stat-item:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E8B954' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6 7-12a7 7 0 1 0-14 0c0 6 7 12 7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }
  body.home .stat-num { color: #fff; font-size: 1.625rem; line-height: 1.1; font-weight: 700; }
  body.home .stat-label { color: rgba(255, 255, 255, .78); font-size: 0.8125rem; }
  body.home .stats .verify-note { margin: 8px 0 0; color: rgba(255, 255, 255, .55); font-size: 0.6875rem; }

  /* one row of white tiles */
  body.home .hm-quick { padding-block: 28px 8px; }
  body.home .hm-quick-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
  body.home .hm-tile { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 18px 12px 16px; border: 0; border-radius: 16px; background: #fff; box-shadow: 0 4px 18px rgba(26, 34, 30, .08); text-align: center; }
  body.home .hm-tile-ic { width: 52px; height: 52px; border-radius: 14px; }
  body.home .hm-tile-t strong { font-size: 0.9375rem; }
  body.home .hm-tile-t span, body.home .hm-tile small { font-size: 0.75rem; }

  /* news and events: horizontal cards */
  body.home .news-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 18px; }
  body.home .news-card { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 0; overflow: hidden; border: 1px solid rgba(26, 34, 30, .06); border-radius: 18px; background: #fff; box-shadow: 0 4px 18px rgba(26, 34, 30, .07); }
  body.home .news-card .img-placeholder { height: 100%; min-height: 140px; aspect-ratio: auto; border-radius: 0; }
  body.home .news-card .img-placeholder img { width: 100%; height: 100%; object-fit: cover; }
  body.home .news-card .news-body { display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 14px 16px; }
  body.home .news-card h3 { font-size: 1.0625rem; line-height: 1.3; }

  /* places: an even row of tall photo cards */
  body.home .hm-bento { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 300px; }
  body.home .hm-pcard:first-child { grid-column: auto; grid-row: auto; }
  body.home .hm-pcard:first-child .hm-pcard-body strong { font-size: var(--h4); }
  body.home .hm-pcard { border-radius: 18px; }

  /* gallery: one row of photos */
  body.home #gallery .masonry { columns: auto; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
  body.home #gallery .masonry .tile { margin: 0; }
  body.home #gallery .masonry .tile .img-placeholder { aspect-ratio: 4 / 3; border-radius: 14px; }
}
@media (min-width: 900px) {
  body.home main > section:not(.hero):not(.stats):not(.hm-quick):not(.cta):not(.band) { padding-block: var(--sp-7); }
  body.home .section-head { margin-bottom: var(--sp-5); }
}

/* larger tile text and room below the tiles */
@media (min-width: 900px) {
  body.home main > .hm-quick { padding-block: 28px 44px; }
  body.home .hm-tile { gap: 10px; padding: 22px 14px 20px; }
  body.home .hm-tile-ic { width: 58px; height: 58px; }
  body.home .hm-tile-t strong, body.home .hm-tile strong { font-size: 1.0625rem; line-height: 1.25; }
  body.home .hm-tile-t span, body.home .hm-tile small, body.home .hm-tile p { font-size: 0.9375rem; line-height: 1.45; }
}
@media (min-width: 900px) { body.home .stat-item > svg { display: none; } }

/* one continuous colour flow: every section ends in the colour the next one begins with (the dark services band and the CTA stay as bands) */
@media (min-width: 900px) {
  body.home main > .hm-quick { background: linear-gradient(180deg, #EAF3EC 0%, #F3F5EA 100%); }
  body.home main > #news { background: linear-gradient(180deg, #F3F5EA 0%, #FBF1D8 100%); }
  body.home main > section:has(.event-card) { background: linear-gradient(180deg, #FBF1D8 0%, #EAF4F1 100%); }
  body.home main > #about { background: linear-gradient(180deg, #EAF3EC 0%, #F3F5EA 100%); }
  body.home main > #places { background: linear-gradient(180deg, #F3F5EA 0%, #FBF1D8 100%); }
  body.home main > #gallery { background: linear-gradient(180deg, #FBF1D8 0%, #EAF4F1 100%); }
  body.home main > #map { background: linear-gradient(180deg, #EAF4F1 0%, #EAF3EC 100%); }
}

/* the map gets a framed border: white inner rim, green outline, gold corner accent and a soft shadow */
body.home .map-static { padding: 8px; border: 2px solid rgba(27, 77, 58, .55); border-radius: 22px; background: #fff; box-shadow: 0 14px 34px rgba(14, 51, 38, .16), 0 0 0 6px rgba(217, 164, 65, .14); overflow: hidden; }
body.home .map-static iframe { display: block; border-radius: 14px; }

/* Homepage quick-link cards: cream card, large gold-to-rust icon tile, bold title with a short gold rule, description, soft wave and leaf at the bottom */
body.home .hm-quick .hm-tile { position: relative; overflow: hidden; gap: 0; padding: 22px 14px 56px; border: 0; border-radius: 22px; background: linear-gradient(180deg, #FFFEF9 0%, #F8F8EC 100%); box-shadow: 0 14px 34px rgba(60, 90, 60, .13); min-height: 0; }
body.home .hm-quick .hm-tile::before { display: none; }
body.home .hm-quick .hm-tile::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 52px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 70' preserveAspectRatio='none'><path d='M0 38 C60 18 120 52 190 40 S270 28 300 34 V70 H0 Z' fill='%23B9D08A' fill-opacity='.35'/><path d='M0 52 C70 36 130 62 200 52 S270 44 300 48 V70 H0 Z' fill='%23A8C77A' fill-opacity='.3'/></svg>") center bottom / 100% 100% no-repeat; pointer-events: none; }
body.home .hm-quick .hm-tile-t::after { content: ""; position: absolute; right: 14px; bottom: 10px; width: 32px; height: 32px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path d='M24 44 C24 28 14 20 4 16 C4 30 10 40 24 44 Z' fill='%2394B85E' fill-opacity='.45'/><path d='M24 44 C24 26 32 14 46 8 C46 26 40 38 24 44 Z' fill='%2394B85E' fill-opacity='.35'/></svg>") center / contain no-repeat; pointer-events: none; }
body.home .hm-quick .hm-tile-ic { width: 64px; height: 64px; border-radius: 19px; background: linear-gradient(135deg, #F6BE45 0%, #D98428 50%, #B5541C 100%); color: #fff; box-shadow: 0 10px 22px rgba(181, 84, 28, .32), inset 0 1px 0 rgba(255, 255, 255, .4); margin-bottom: 12px; }
body.home .hm-quick .hm-tile-ic .btn-ic { width: 30px; height: 30px; }
body.home .hm-quick .hm-tile:hover .hm-tile-ic { background: linear-gradient(135deg, #F6BE45 0%, #D98428 50%, #B5541C 100%); color: #fff; }
body.home .hm-quick .hm-tile-t { gap: 0; }
body.home .hm-quick .hm-tile-t strong { font-size: 1.1875rem; line-height: 1.25; color: var(--color-primary); font-weight: 800; }
body.home .hm-quick .hm-tile-t strong::after { content: ""; display: block; width: 38px; height: 3px; margin: 9px auto 9px; border-radius: 3px; background: #E3AC3F; }
body.home .hm-quick .hm-tile-t small { display: block; font-size: 1rem; line-height: 1.45; color: var(--color-text); margin: 0; }
body.home .hm-quick .hm-tile > .btn-ic:last-child { display: none; }
@media (max-width: 479px) { body.home .hm-quick .hm-tile { min-height: 0; padding: 22px 10px 64px; } body.home .hm-quick .hm-tile-ic { width: 60px; height: 60px; border-radius: 18px; } body.home .hm-quick .hm-tile-t small { display: block; font-size: .875rem; } }

/* ---------- Our village at a glance: photo banner, facts panel, location card, source bar ---------- */
body.home .stats.gl { position: relative; padding: clamp(110px, 14vw, 190px) 0 36px; background: linear-gradient(180deg, rgba(14, 51, 38, 0) 0%, rgba(14, 51, 38, .35) 100%), var(--gl-bg) center 30% / cover no-repeat, #0E3326; border: 0; }
body.home .gl .gl-wrap { display: grid; gap: 14px; }
body.home .gl-panel { position: relative; display: grid; grid-template-columns: minmax(190px, 1.15fr) repeat(4, minmax(0, 1fr)) minmax(250px, 1.7fr); gap: 14px; align-items: stretch; padding: 18px; border-radius: 28px; background: linear-gradient(160deg, rgba(14, 58, 40, .94) 0%, rgba(10, 44, 30, .94) 100%); border: 1px solid rgba(217, 164, 65, .35); box-shadow: 0 24px 60px rgba(0, 0, 0, .35); overflow: hidden; }
body.home .gl-panel::after { content: ""; position: absolute; left: -10px; bottom: -14px; width: 150px; height: 120px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 120'><path d='M10 118 C14 70 40 40 84 36 C84 86 56 112 10 118Z' fill='%232F7A58' fill-opacity='.85'/><path d='M40 118 C46 82 76 62 128 62 C124 100 90 118 40 118Z' fill='%233C8A56' fill-opacity='.75'/></svg>") left bottom / contain no-repeat; pointer-events: none; }
body.home .gl-intro { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 8px 6px 8px 10px; position: relative; z-index: 1; }
body.home .gl-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0; color: #E8B954; font-size: .8125rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
body.home .gl-eyebrow::before { content: ""; width: 44px; height: 10px; border-radius: 6px; background: linear-gradient(90deg, #F2C566, #D9A441); }
body.home .gl-intro h2 { margin: 0; color: #fff; font-size: clamp(2.2rem, 3.4vw, 3rem); line-height: 1.05; font-weight: 800; }
body.home .gl-intro h2::after { display: none; }
body.home .gl-tag { margin: 0; color: rgba(255, 255, 255, .85); font-size: 1rem; line-height: 1.45; max-width: 24ch; }
body.home .gl-tile { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 4px; padding: 20px 10px 18px; border-radius: 20px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .16); text-align: center; position: relative; z-index: 1; }
body.home .gl-ic { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; color: #fff; margin-bottom: 6px; box-shadow: 0 6px 16px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .25); }
body.home .gl-ic--g { background: linear-gradient(145deg, #3C9A66, #1F6B45); }
body.home .gl-ic--o { background: linear-gradient(145deg, #C98F2A, #8E5F12); }
body.home .gl-num { color: #fff; font-family: inherit; font-size: clamp(1.5rem, 2.2vw, 2rem); font-weight: 800; line-height: 1.1; }
body.home .gl-l { color: #fff; font-size: 1.0625rem; font-weight: 600; }
body.home .gl-l::after { content: ""; display: block; width: 30px; height: 3px; margin: 8px auto 0; border-radius: 3px; background: #E3AC3F; }
body.home .gl-sub { min-height: 1.2em; margin-top: 4px; color: rgba(255, 255, 255, .72); font-size: .875rem; }
body.home .gl-loc { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; padding: 14px 18px 14px 6px; border-radius: 20px; background: linear-gradient(180deg, #FFFEF9, #F6F6EA); color: var(--color-text); overflow: hidden; }
body.home .gl-map { flex: none; width: 112px; height: 112px; }
body.home .gl-pinlab { position: absolute; left: 66px; top: 84px; padding: 3px 10px; border-radius: 8px; background: var(--color-primary); color: #fff; font-size: .75rem; font-weight: 700; box-shadow: 0 3px 10px rgba(0, 0, 0, .25); }
body.home .gl-loc-t { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
body.home .gl-loc-k { margin: 0; color: var(--color-primary); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
body.home .gl-loc-n { margin: 0; color: var(--color-primary); font-size: 1.375rem; font-weight: 800; line-height: 1.15; }
body.home .gl-loc-a { margin: 2px 0 0; color: var(--color-muted); font-size: .875rem; line-height: 1.4; }
body.home .gl-loc-a::after { content: ""; display: block; width: 30px; height: 3px; margin: 8px 0 6px; border-radius: 3px; background: #E3AC3F; }
body.home .gl-map-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; align-self: flex-start; padding: 9px 14px; border-radius: 999px; border: 1.5px solid var(--color-primary); color: var(--color-primary); font-size: .875rem; font-weight: 700; text-decoration: none; background: transparent; }
body.home .gl-map-btn:hover { background: var(--color-primary); color: #fff; }
body.home .gl-bar { display: flex; align-items: center; gap: 16px; padding: 14px 22px; border-radius: 18px; background: rgba(10, 44, 30, .92); border: 1px solid rgba(217, 164, 65, .35); }
body.home .gl-book { flex: none; color: #E8B954; }
body.home .gl .gl-bar .verify-note { flex: 1; margin: 0; color: rgba(255, 255, 255, .85); font-size: .875rem; }
body.home .gl .gl-bar .verify-note b { color: #fff; }
body.home .gl-more { flex: none; display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 12px; border: 1.5px solid rgba(217, 164, 65, .7); color: #F2C566; font-size: .875rem; font-weight: 700; text-decoration: none; }
body.home .gl-more:hover { background: rgba(217, 164, 65, .18); }
@media (max-width: 1179px) {
  body.home .gl-panel { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.home .gl-intro { grid-column: 1 / -1; padding-bottom: 4px; }
  body.home .gl-tag { max-width: none; }
  body.home .gl-loc { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  body.home .stats.gl { padding-top: 90px; }
  body.home .gl-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px; border-radius: 22px; }
  body.home .gl-bar { flex-wrap: wrap; padding: 14px 16px; }
  body.home .gl .gl-bar .verify-note { flex-basis: calc(100% - 50px); }
  body.home .gl-more { width: 100%; justify-content: center; }
}
body.home .stats.gl .container { padding-block: 0; }

/* glance section, round 2: plain light background (a photo only when one is picked in the Customizer), roomier panel, location card that fits its text */
body.home .stats.gl { padding: var(--sp-6) 0 var(--sp-6); background: linear-gradient(180deg, #EAF3EC 0%, #F3F5EA 100%); }
body.home .stats.gl.gl--photo { padding-top: clamp(110px, 14vw, 190px); background: linear-gradient(180deg, rgba(14, 51, 38, 0) 0%, rgba(14, 51, 38, .35) 100%), var(--gl-bg) center 30% / cover no-repeat, #0E3326; }
body.home .gl-panel { gap: 16px; padding: 22px; box-shadow: 0 18px 44px rgba(14, 51, 38, .22); }
@media (min-width: 1180px) { body.home .gl-panel { grid-template-columns: minmax(230px, 1.2fr) repeat(4, minmax(0, .85fr)) minmax(310px, 1.55fr); } }
body.home .gl-eyebrow { white-space: nowrap; font-size: .75rem; gap: 8px; }
body.home .gl-eyebrow::before { width: 30px; height: 8px; }
body.home .gl-tile { justify-content: center; padding: 22px 10px; gap: 6px; }
body.home .gl-sub:empty { display: none; }
body.home .gl-loc { gap: 14px; padding: 18px 20px; }
body.home .gl-mapbox { position: relative; flex: none; width: 96px; height: 110px; }
body.home .gl-map { width: 96px; height: 96px; }
body.home .gl-pinlab { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); }
body.home .gl-loc-a { font-size: .9375rem; }
body.home .gl-map-btn { white-space: nowrap; margin-top: 4px; }
@media (max-width: 1279px) and (min-width: 1180px) { body.home .gl-panel { grid-template-columns: minmax(200px, 1.1fr) repeat(4, minmax(0, .8fr)) minmax(280px, 1.5fr); } }

/* glance tiles: numbers and the district name always fit their tile, and every tile lines up from the top */
body.home .gl-tile { justify-content: flex-start; min-width: 0; overflow: hidden; }
body.home .gl-num { max-width: 100%; font-size: clamp(1.25rem, 1.7vw, 1.75rem); letter-spacing: 0; overflow-wrap: anywhere; }
body.home .gl-num.stat-text { font-family: inherit; font-size: clamp(1.1rem, 1.5vw, 1.5rem); line-height: 1.15; min-height: 1.15em; }
body.home .gl-l { max-width: 100%; font-size: 1rem; overflow-wrap: anywhere; }

/* ---------- Homepage news: pill heading with a megaphone, wide cards with a photo on the left, gold bottom edge ---------- */
body.home main > #news { position: relative; overflow: hidden; padding-block: var(--sp-8) calc(var(--sp-8) + 40px); background: linear-gradient(180deg, #F3F5EA 0%, #FBF3DD 100%); }
body.home main > #news::before { content: ""; position: absolute; top: 0; right: 0; width: 280px; height: 280px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='%23C9D9A0' fill-opacity='.35'><path d='M190 10C130 20 80 60 70 130c60-8 110-50 120-120Z'/><path d='M150 90C110 100 80 130 76 180c40-10 68-44 74-90Z'/></g></svg>") right top / contain no-repeat; pointer-events: none; }
body.home main > #news::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 170px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 160' preserveAspectRatio='xMidYMax slice'><g fill='%23D9CBA0' fill-opacity='.38'><path d='M0 160V118c20-18 44-18 60-2 10-16 40-20 56-4 16-14 40-8 50 8 8-6 20-6 26 2V160Z'/><path d='M230 160V128c14-10 30-10 40 0 12-12 34-8 40 6V160Z'/><path d='M520 160V120l8-6 8 6v-14l8-10 8 10v-18l6-8 6 8v-12l6-10 6 10v-12l6-10 6 10v-8h4V160Z' transform='translate(0 8)'/><path d='M700 160V126c16-14 36-14 50 0 12-10 30-8 40 4V160Z'/><path d='M900 160v-62c-8-4-18-6-26-2 6-6 16-8 24-6-4-6-10-10-18-10 10-2 20 2 24 10 2-8 8-14 16-14-4 4-6 10-4 16 8-2 18 0 24 6-8-2-16 0-22 4v58Z'/><path d='M1010 160V122c14-12 34-12 46 2 12-10 30-8 40 6 10-12 28-12 40 0V160Z'/></g></svg>") center bottom / 100% 100% no-repeat; pointer-events: none; }
body.home #news .container { position: relative; z-index: 1; }
body.home #news .section-head { text-align: left; margin-bottom: var(--sp-6); }
body.home #news .nw-eyebrow { display: inline-flex; align-items: center; gap: 14px; margin: 0 0 var(--sp-4); padding: 6px 22px 6px 6px; border-radius: 999px; background: rgba(255, 255, 255, .72); box-shadow: 0 4px 16px rgba(26, 34, 30, .06); color: var(--color-text); font-size: .9375rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
body.home #news .nw-ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(145deg, #F2B83F, #D68A22); color: #fff; box-shadow: 0 4px 12px rgba(214, 138, 34, .4); }
body.home #news .nw-line { display: block; width: 36px; height: 2px; border-radius: 2px; background: #E3AC3F; }
body.home #news .section-head h2 { color: var(--color-primary); font-size: clamp(2rem, 3.6vw, 3rem); font-weight: 800; line-height: 1.12; }
body.home #news .section-head h2::after { content: ""; display: block; width: 64px; height: 4px; margin-top: 14px; border-radius: 4px; background: #E3AC3F; }
body.home #news .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
body.home #news .news-card { position: relative; display: grid; grid-template-columns: minmax(180px, 38%) minmax(0, 1fr); min-height: 270px; overflow: hidden; border: 0; border-bottom: 3px solid #E8B954; border-radius: 22px; background: linear-gradient(180deg, #FFFEFA, #FBF9F0); box-shadow: 0 12px 30px rgba(60, 70, 40, .12); }
body.home #news .news-card::after { content: ""; position: absolute; right: 14px; bottom: 10px; width: 64px; height: 64px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='%23C9D9A0' fill-opacity='.35'><path d='M190 10C130 20 80 60 70 130c60-8 110-50 120-120Z'/><path d='M150 90C110 100 80 130 76 180c40-10 68-44 74-90Z'/></g></svg>") center / contain no-repeat; opacity: .8; pointer-events: none; }
body.home #news .news-card .img-placeholder { min-height: 100%; border-radius: 22px 0 0 22px; }
body.home #news .news-card .news-body { justify-content: flex-start; gap: 14px; padding: 26px 26px 24px; }
body.home #news .news-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; }
body.home #news .news-meta .badge { padding: 7px 16px; border-radius: 999px; background: #F7E4DC; color: #B5471F; font-size: .875rem; font-weight: 700; text-transform: none; letter-spacing: 0; }
body.home #news .news-meta .updated-badge, body.home #news .news-meta [class*="updated"] { border-radius: 999px; }
body.home #news .news-meta time { display: inline-flex; align-items: center; gap: 6px; color: var(--color-muted); font-size: .9375rem; }
body.home #news .news-meta time .nw-cal { flex: none; color: var(--color-muted); }
body.home #news .news-card h3 { margin: 0; font-size: clamp(1.25rem, 1.8vw, 1.5rem); line-height: 1.3; color: var(--color-primary); font-weight: 800; }
body.home #news .news-card .link { margin-top: auto; align-self: flex-start; color: #1F6B45; font-size: 1.0625rem; font-weight: 700; }
body.home #news .hm-actions--center { gap: 18px; margin-top: var(--sp-7); }
body.home #news .hm-actions .btn { min-height: 62px; padding: 0 34px; border-radius: 14px; font-size: 1.125rem; font-weight: 700; gap: 12px; }
body.home #news .hm-actions .btn-primary { background: linear-gradient(180deg, #F6C458 0%, #E3A532 60%, #D18E19 100%); color: #1F1604; border: 0; box-shadow: 0 10px 24px rgba(201, 138, 46, .35); }
body.home #news .hm-actions .btn-secondary { background: rgba(255, 255, 255, .6); color: var(--color-primary); border: 1.5px solid var(--color-primary); }
@media (max-width: 1099px) { body.home #news .news-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
  body.home #news .news-card { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  body.home #news .news-card .img-placeholder { min-height: 190px; border-radius: 22px 22px 0 0; }
  body.home #news .news-card .news-body { padding: 20px; }
  body.home #news .hm-actions .btn { width: 100%; justify-content: center; }
}

/* homepage news: a more compact version of the same design */
body.home main > #news { padding-block: var(--sp-7) calc(var(--sp-7) + 24px); }
body.home main > #news::after { height: 120px; }
body.home #news .section-head { margin-bottom: var(--sp-5); }
body.home #news .nw-eyebrow { gap: 10px; margin-bottom: var(--sp-3); padding: 4px 16px 4px 4px; font-size: .75rem; letter-spacing: .14em; }
body.home #news .nw-ic { width: 32px; height: 32px; }
body.home #news .nw-ic svg { width: 17px; height: 17px; }
body.home #news .nw-line { width: 26px; }
body.home #news .section-head h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); }
body.home #news .section-head h2::after { width: 48px; height: 3px; margin-top: 10px; }
body.home #news .news-grid { gap: 20px; }
body.home #news .news-card { min-height: 190px; grid-template-columns: minmax(150px, 32%) minmax(0, 1fr); border-radius: 18px; border-bottom-width: 2px; }
body.home #news .news-card .img-placeholder { border-radius: 18px 0 0 18px; }
body.home #news .news-card::after { width: 44px; height: 44px; }
body.home #news .news-card .news-body { gap: 10px; padding: 18px 20px 16px; }
body.home #news .news-meta { gap: 8px; }
body.home #news .news-meta .badge { padding: 4px 12px; font-size: .75rem; }
body.home #news .news-meta time { font-size: .8125rem; }
body.home #news .news-meta time .nw-cal { width: 15px; height: 15px; }
body.home #news .news-card h3 { font-size: clamp(1.0625rem, 1.4vw, 1.1875rem); }
body.home #news .news-card .link { font-size: .9375rem; }
body.home #news .hm-actions--center { gap: 12px; margin-top: var(--sp-6); }
body.home #news .hm-actions .btn { min-height: 48px; padding: 0 24px; border-radius: 12px; font-size: 1rem; gap: 10px; }
body.home #news .hm-actions .btn svg { width: 19px; height: 19px; }
@media (max-width: 640px) { body.home #news .news-card { grid-template-columns: minmax(0, 1fr); } body.home #news .news-card .img-placeholder { min-height: 150px; border-radius: 18px 18px 0 0; } }

/* news pill: one icon only (the shared eyebrow icon is not needed next to the megaphone) */
body.home #news .nw-eyebrow::before, body.home #news .nw-eyebrow::after { display: none !important; content: none !important; }

/* ---------- Homepage on phone browsers (the installed app has its own home screen) ---------- */
@media (max-width: 640px) {
  /* less scrolling: tighter section spacing, and the long card lists become swipe rows */
  html:not(.yl-app) body.home main > section:not(.hero):not(.stats):not(.hm-quick) { padding-block: 36px; }
  html:not(.yl-app) body.home main > #news { padding-block: 36px 48px; }
  html:not(.yl-app) body.home .section-head { margin-bottom: var(--sp-4); }
  html:not(.yl-app) body.home .eyebrow { font-size: .75rem; }

  /* quick links: smaller cards, two to a row */
  html:not(.yl-app) body.home .hm-quick .hm-tile { padding: 18px 10px 54px; border-radius: 18px; }
  html:not(.yl-app) body.home .hm-quick .hm-tile-ic { width: 54px; height: 54px; border-radius: 16px; margin-bottom: 10px; }
  html:not(.yl-app) body.home .hm-quick .hm-tile-ic .btn-ic { width: 26px; height: 26px; }
  html:not(.yl-app) body.home .hm-quick .hm-tile-t strong { font-size: 1rem; }
  html:not(.yl-app) body.home .hm-quick .hm-tile-t strong::after { margin: 7px auto; }
  html:not(.yl-app) body.home .hm-quick .hm-tile-t small { font-size: .8125rem; line-height: 1.35; }
  html:not(.yl-app) body.home .hm-quick .hm-tile::after { height: 40px; }
  html:not(.yl-app) body.home .hm-quick .hm-tile-t::after { width: 24px; height: 24px; bottom: 6px; right: 10px; }

  /* village at a glance: compact panel */
  html:not(.yl-app) body.home .stats.gl { padding: 28px 0; }
  html:not(.yl-app) body.home .gl-panel { gap: 10px; padding: 14px; }
  html:not(.yl-app) body.home .gl-panel::after { display: none; }
  html:not(.yl-app) body.home .gl-intro h2 { font-size: 2rem; }
  html:not(.yl-app) body.home .gl-tile { padding: 14px 8px; border-radius: 16px; }
  html:not(.yl-app) body.home .gl-ic { width: 48px; height: 48px; }
  html:not(.yl-app) body.home .gl-ic svg { width: 24px; height: 24px; }
  html:not(.yl-app) body.home .gl-l { font-size: .9375rem; }
  html:not(.yl-app) body.home .gl-loc { padding: 14px; }
  html:not(.yl-app) body.home .gl-bar { padding: 12px 14px; gap: 10px; }
  html:not(.yl-app) body.home .gl-book { width: 24px; height: 24px; }

  /* news cards and place cards: swipe sideways, the next card peeks in */
  html:not(.yl-app) body.home #news .news-grid, html:not(.yl-app) body.home .hm-bento { display: flex; gap: 12px; margin-inline: -24px; padding: 4px 24px 14px; scroll-padding-inline: 24px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  html:not(.yl-app) body.home #news .news-grid::-webkit-scrollbar, html:not(.yl-app) body.home .hm-bento::-webkit-scrollbar { display: none; }
  html:not(.yl-app) body.home #news .news-card { flex: 0 0 84%; scroll-snap-align: start; min-width: 0; }
  html:not(.yl-app) body.home .hm-bento .hm-pcard { flex: 0 0 78%; height: 210px; scroll-snap-align: start; }
  html:not(.yl-app) body.home .hm-bento .hm-pcard img { height: 100%; }

  /* easier to tap */
  html:not(.yl-app) body.home #news .news-card .link { min-height: 44px; display: inline-flex; align-items: center; }
  html:not(.yl-app) body.home .hm-actions .btn { min-height: 48px; }
}

/* ---------- Homepage events: pill heading, village illustration, empty-state card, gold button ---------- */
body.home main > #events { position: relative; overflow: hidden; padding-block: var(--sp-7); background: linear-gradient(180deg, #FBF3DD 0%, #FBF8EC 100%); }
body.home #events .ev-art { position: absolute; top: 0; right: 0; width: min(54%, 640px); height: 300px; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 38%); mask-image: linear-gradient(90deg, transparent 0%, #000 38%), linear-gradient(180deg, #000 70%, transparent 100%); -webkit-mask-composite: source-in; mask-composite: intersect; }
body.home #events .ev-art svg, body.home #events .ev-art img { width: 100%; height: 100%; object-fit: cover; object-position: right top; display: block; }
body.home #events .container { position: relative; z-index: 1; }
body.home #events .section-head { text-align: left; margin-bottom: var(--sp-5); max-width: 640px; }
body.home #events .nw-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 var(--sp-3); padding: 4px 16px 4px 4px; border-radius: 999px; background: rgba(255, 255, 255, .78); box-shadow: 0 4px 16px rgba(26, 34, 30, .06); color: var(--color-text); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
body.home #events .nw-eyebrow::before, body.home #events .nw-eyebrow::after { display: none !important; content: none !important; }
body.home #events .nw-ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(145deg, #E8A03C, #B5541C); color: #fff; box-shadow: 0 4px 12px rgba(181, 84, 28, .35); }
body.home #events .nw-ic svg { width: 17px; height: 17px; }
body.home #events .nw-line { display: block; width: 26px; height: 2px; border-radius: 2px; background: #E3AC3F; }
body.home #events .section-head h2 { color: var(--color-primary); font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 800; line-height: 1.12; }
body.home #events .section-head h2::after { content: ""; display: block; width: 48px; height: 3px; margin-top: 10px; border-radius: 3px; background: linear-gradient(90deg, #D9A441, #B5541C); }
body.home #events .section-head p:not(.eyebrow) { margin-top: var(--sp-3); color: var(--color-muted); font-size: 1rem; line-height: 1.55; }

body.home #events .ev-none { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 28px 24px 34px; border: 1.5px dashed #BFCBA9; border-radius: 22px; background: linear-gradient(180deg, rgba(255, 255, 255, .7), rgba(251, 249, 238, .85)); text-align: center; }
body.home #events .ev-none > * { position: relative; z-index: 1; }
body.home #events .ev-none-ic { position: relative; display: grid; place-items: center; width: 72px; height: 72px; margin-bottom: 8px; border-radius: 50%; background: #E3F0E7; color: var(--color-primary); }
body.home #events .ev-none-ic::before, body.home #events .ev-none-ic::after { content: ""; position: absolute; top: 50%; width: 22px; height: 22px; margin-top: -11px; background: linear-gradient(#E3AC3F, #E3AC3F) center / 100% 2px no-repeat, linear-gradient(#E3AC3F, #E3AC3F) center / 100% 2px no-repeat; }
body.home #events .ev-none-ic::before { left: -34px; background: linear-gradient(#E3AC3F, #E3AC3F) 0 50% / 16px 2px no-repeat, linear-gradient(#E3AC3F, #E3AC3F) 2px 0 / 12px 2px no-repeat, linear-gradient(#E3AC3F, #E3AC3F) 2px 100% / 12px 2px no-repeat; transform: scaleX(1); }
body.home #events .ev-none-ic::after { right: -34px; background: linear-gradient(#E3AC3F, #E3AC3F) 100% 50% / 16px 2px no-repeat, linear-gradient(#E3AC3F, #E3AC3F) 100% 0 / 12px 2px no-repeat, linear-gradient(#E3AC3F, #E3AC3F) 100% 100% / 12px 2px no-repeat; }
body.home #events .ev-none-t { margin: 0; color: var(--color-primary); font-size: clamp(1.1875rem, 2vw, 1.5rem); font-weight: 800; line-height: 1.25; }
body.home #events .ev-none-s { margin: 0; color: var(--color-muted); font-size: 1rem; }
body.home #events .ev-none-leaf { position: absolute !important; bottom: 0; width: 110px; height: 110px; z-index: 0 !important; opacity: .9; }
body.home #events .ev-none-leaf--l { left: 4px; }
body.home #events .ev-none-leaf--r { right: 4px; }
body.home #events .ev-none-cal { position: absolute !important; right: 70px; bottom: 6px; width: 96px; height: 96px; z-index: 0 !important; }
body.home #events .events-more { margin-top: var(--sp-5); }
body.home #events .events-more .btn { min-height: 52px; padding: 0 28px; border: 0; border-radius: 12px; font-size: 1.0625rem; font-weight: 700; gap: 12px; background: linear-gradient(180deg, #F6C458 0%, #E3A532 60%, #D18E19 100%); color: #1F1604; box-shadow: 0 10px 24px rgba(201, 138, 46, .35); }
body.home #events .events-more .btn::after { content: "\2192"; font-size: 1.125rem; }
@media (max-width: 700px) {
  body.home main > #events { padding-block: 36px; }
  body.home #events .ev-art { width: 100%; height: 150px; opacity: .55; }
  body.home #events .ev-none { padding: 22px 16px 70px; }
  body.home #events .ev-none-cal { display: none; }
  body.home #events .ev-none-leaf { width: 84px; height: 84px; }
  body.home #events .events-more .btn { width: 100%; justify-content: center; }
}

/* ---------- Homepage village services: dark green with a village scene, glass emergency cards, light service cards with a picture ---------- */
body.home main > #services { position: relative; overflow: hidden; padding-block: var(--sp-7); background: linear-gradient(180deg, #123F2B 0%, #0C2D1F 100%); }
body.home #services::before { content: ""; position: absolute; top: 0; right: 0; width: min(72%, 900px); height: 380px; background: var(--svc-bg, url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 300' preserveAspectRatio='xMaxYMin slice'><path d='M0 190c70-44 150-56 230-30 80-48 170-60 260-24 70-22 140-8 210 30V300H0Z' fill='%23245C3E' fill-opacity='.55'/><g fill='%23163E2B' fill-opacity='.9'><path d='M470 270v-96l12-9 12 9v-20l12-12 12 12v-22l10-12 10 12v-18l10-14 10 14v-16l10-12 10 12v-10h8v-18l5-10 5 10v18h8V270Z'/><path d='M180 280c2-60 0-110-8-170-26-12-52-8-70 10 20-6 40 0 56 14-14-14-34-18-54-10 26-18 56-14 72 8 4-26 18-46 40-56-12 14-18 30-18 48 18-14 40-18 62-10-24 2-42 12-54 28 14 94 14 140 14 140Z'/><path d='M330 290c2-50 0-90-6-140-20-8-40-4-54 8 16-4 32 2 44 12-10-12-26-14-42-8 20-14 44-10 56 6 4-20 14-36 32-44-10 10-14 24-14 38 14-10 32-14 50-8-18 2-32 10-42 22 10 80 10 114 10 114Z'/></g><circle cx='560' cy='70' r='40' fill='%23F2C566' fill-opacity='.16'/></svg>")) right top / cover no-repeat; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 45%); mask-image: linear-gradient(90deg, transparent 0%, #000 45%); pointer-events: none; }
body.home #services::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 380px; background: linear-gradient(180deg, rgba(12, 45, 31, 0) 40%, #0C2D1F 100%); pointer-events: none; }
body.home #services .container { position: relative; z-index: 1; }
body.home #services .section-head { text-align: left; max-width: 620px; margin-bottom: var(--sp-5); }
body.home #services .nw-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 var(--sp-3); padding: 4px 16px 4px 4px; border-radius: 999px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .25); color: #F2C566; font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
body.home #services .nw-eyebrow::before, body.home #services .nw-eyebrow::after { display: none !important; content: none !important; }
body.home #services .nw-ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(145deg, #F2B83F, #D68A22); color: #fff; }
body.home #services .nw-line { display: block; width: 26px; height: 2px; border-radius: 2px; background: #E3AC3F; }
body.home #services .section-head h2 { color: #fff; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 800; line-height: 1.12; }
body.home #services .section-head h2 em { font-style: normal; color: #F2C566; }
body.home #services .section-head h2::after { display: none; }
body.home #services .section-head p:not(.eyebrow) { margin-top: var(--sp-3); color: rgba(255, 255, 255, .88); font-size: 1rem; line-height: 1.55; opacity: 1; }

body.home #services .hm-sos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: var(--sp-5); }
body.home #services .sos-card { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 14px; border-radius: 18px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22); backdrop-filter: blur(6px); color: #fff; text-decoration: none; }
body.home #services .sos-card:hover { background: rgba(255, 255, 255, .18); }
body.home #services .sos-ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; border: 2px solid #E3AC3F; color: #F2C566; background: rgba(0, 0, 0, .18); }
body.home #services .sos-ic svg { width: 26px; height: 26px; }
body.home #services .sos-t { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
body.home #services .sos-t strong { font-size: 1.5rem; font-weight: 800; color: #fff; }
body.home #services .sos-t b { font-size: .875rem; font-weight: 600; color: #fff; }
body.home #services .sos-t small { margin-top: 2px; font-size: .75rem; color: rgba(255, 255, 255, .72); }
body.home #services .sos-call { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid #E3AC3F; color: #F2C566; }
body.home #services .sos-go { color: rgba(255, 255, 255, .8); }

body.home #services .hm-svc-grid { gap: 16px; margin-top: var(--sp-4); }
body.home #services .hm-svc { position: relative; overflow: hidden; min-height: 190px; padding: 22px 22px 20px; border: 0; border-radius: 18px; background: linear-gradient(180deg, #FFFEF9, #F6F6EA); box-shadow: 0 12px 28px rgba(0, 0, 0, .22); }
body.home #services .hm-svc::after { content: ""; position: absolute; right: 8px; bottom: 6px; width: 46%; height: 62%; background-repeat: no-repeat; background-position: right bottom; background-size: contain; pointer-events: none; }
body.home #services .hm-svc--1::after { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 100'><g fill='%23A9C98B' fill-opacity='.55'><rect x='20' y='56' width='120' height='36' rx='3'/><path d='M12 56 80 22l68 34Z'/><rect x='72' y='8' width='16' height='14'/></g><g fill='%23fff' fill-opacity='.7'><rect x='34' y='64' width='10' height='28'/><rect x='56' y='64' width='10' height='28'/><rect x='94' y='64' width='10' height='28'/><rect x='116' y='64' width='10' height='28'/></g></svg>"); }
body.home #services .hm-svc--2::after { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 100'><g fill='%23F2C9B4' fill-opacity='.6'><rect x='60' y='14' width='84' height='46' rx='12'/><path d='M120 58l16 20-4-20Z'/></g><g fill='%23fff' fill-opacity='.8'><rect x='74' y='28' width='56' height='5' rx='2.5'/><rect x='74' y='40' width='38' height='5' rx='2.5'/></g><g fill='%238DB86A' fill-opacity='.55'><path d='M24 96C18 72 30 50 52 42c4 26-6 44-28 54Z'/><path d='M44 96c-1-20 8-34 26-40 1 20-8 34-26 40Z'/></g></svg>"); }
body.home #services .hm-svc--3::after { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 100'><path d='M0 78c30-26 60-30 90-16 24-14 50-14 70 4V100H0Z' fill='%23B8D8A0' fill-opacity='.6'/><path d='M0 92c40-14 80-16 160-2V100H0Z' fill='%2394BE78' fill-opacity='.6'/><g fill='%237FB15E' fill-opacity='.7'><circle cx='112' cy='44' r='14'/><circle cx='126' cy='54' r='12'/><circle cx='100' cy='54' r='11'/></g><rect x='110' y='58' width='4' height='20' fill='%236B8F4E' fill-opacity='.7'/><g fill='%23E3AC3F' fill-opacity='.8'><rect x='54' y='62' width='14' height='9' rx='2'/></g></svg>"); }
body.home #services .hm-svc > * { position: relative; z-index: 1; }
body.home #services .hm-theme-ic { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; }
body.home #services .hm-svc--1 .hm-theme-ic { background: #E3F0E7; color: #1B4D3A; }
body.home #services .hm-svc--2 .hm-theme-ic { background: #FBE5DA; color: #B5471F; }
body.home #services .hm-svc--3 .hm-theme-ic { background: #E1F0D6; color: #2F7A3C; }
body.home #services .hm-svc h3 { margin-top: var(--sp-3); font-size: 1.1875rem; font-weight: 800; color: #1B4D3A; }
body.home #services .hm-svc p { max-width: 24ch; color: #4A5750; font-size: .875rem; }
body.home #services .hm-svc .link { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding: 8px 16px; border-radius: 8px; font-size: .875rem; font-weight: 700; }
body.home #services .hm-svc--1 .link { background: #F2B83F; color: #1F1604; }
body.home #services .hm-svc--2 .link { background: #B5471F; color: #fff; }
body.home #services .hm-svc--3 .link { background: #1B4D3A; color: #fff; }
@media (max-width: 1099px) { body.home #services .hm-sos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 800px) {
  body.home #services .hm-svc-grid { grid-template-columns: minmax(0, 1fr); }
  body.home #services::before { width: 100%; height: 240px; opacity: .6; }
  body.home #services::after { height: 240px; }
}
@media (max-width: 520px) {
  body.home main > #services { padding-block: 36px; }
  body.home #services .hm-sos { grid-template-columns: minmax(0, 1fr); }
  body.home #services .sos-t strong { font-size: 1.375rem; }
}

/* ---------- Village services, light version (this replaces the dark one above) ---------- */
body.home main > #services { background: linear-gradient(180deg, #EEF6EE 0%, #F7F8EC 100%); color: var(--color-text); padding-block: var(--sp-7); }
body.home #services::before { height: 360px; background: var(--svc-bg, url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 340' preserveAspectRatio='xMaxYMin slice'><circle cx='610' cy='60' r='48' fill='%23FBE7A8' fill-opacity='.85'/><path d='M0 190c70-50 150-64 230-36 80-50 170-62 260-24 70-22 140-8 210 30V340H0Z' fill='%23CFE3B5'/><path d='M0 236c80-34 170-38 250-14 90-34 200-34 450 8V340H0Z' fill='%23B5D39A'/><g fill='%23C98A5A'><path d='M430 270v-120l14-10 14 10v-24l14-14 14 14v-26l12-14 12 14v-22l12-16 12 16v-18l12-12 12 12v-12h8v-22l6-12 6 12v22h8V270Z'/></g><g fill='%23E3B27A' fill-opacity='.9'><rect x='448' y='160' width='80' height='8'/><rect x='440' y='196' width='96' height='8'/><rect x='432' y='232' width='112' height='8'/></g><g fill='%2395B87A'><rect x='560' y='236' width='90' height='40' rx='3'/><path d='M552 236l53-22 53 22Z' fill='%23C98A5A'/></g><g stroke='%234F8A3A' stroke-width='6' stroke-linecap='round' fill='none'><path d='M200 300c2-50 0-90-6-130M194 170c-22-10-40-8-56 6M194 170c18-16 36-18 54-6M194 170c-6-24-4-40 6-54M194 170c8-20 24-32 44-34'/><path d='M300 310c2-40 0-70-4-96M296 214c-16-8-30-6-42 6M296 214c14-12 28-14 42-4'/></g><g fill='%236FA356'><circle cx='370' cy='250' r='34'/><circle cx='398' cy='232' r='28'/><circle cx='120' cy='260' r='30'/><circle cx='680' cy='250' r='36'/></g></svg>")) right top / cover no-repeat; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 42%); mask-image: linear-gradient(90deg, transparent 0%, #000 42%); }
body.home #services::after { height: 360px; background: linear-gradient(180deg, rgba(247, 248, 236, 0) 55%, #F3F7EA 100%); }
body.home #services .nw-eyebrow { background: rgba(255, 255, 255, .85); border: 0; box-shadow: 0 4px 16px rgba(26, 34, 30, .08); color: var(--color-text); }
body.home #services .nw-ic { color: #fff; }
body.home #services .section-head h2 { color: var(--color-primary); }
body.home #services .section-head h2 em { color: #E0A02A; }
body.home #services .section-head h2::after { display: block; content: ""; width: 56px; height: 4px; margin-top: 12px; border-radius: 4px; background: linear-gradient(90deg, #D9A441, #E8B954); }
body.home #services .section-head p:not(.eyebrow) { color: var(--color-text); }

body.home #services .sos-card { background: linear-gradient(180deg, #FFFFFF, #F8FAF1); border: 0; backdrop-filter: none; color: var(--color-text); box-shadow: 0 8px 22px rgba(26, 60, 40, .12); grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; }
body.home #services .sos-card:hover { background: #fff; box-shadow: 0 12px 28px rgba(26, 60, 40, .18); }
body.home #services .sos-ic { width: 56px; height: 56px; border: 0; color: #fff; box-shadow: 0 6px 14px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .35); }
body.home #services .sos-card:nth-child(1) .sos-ic, body.home #services .sos-card:nth-child(4) .sos-ic { background: linear-gradient(145deg, #2F8A5C, #176A44); }
body.home #services .sos-card:nth-child(2) .sos-ic { background: linear-gradient(145deg, #D9602B, #A8451C); }
body.home #services .sos-card:nth-child(3) .sos-ic { background: linear-gradient(145deg, #F2B83F, #D68A22); }
body.home #services .sos-t strong { color: var(--color-primary); font-size: 1.75rem; }
body.home #services .sos-t b { color: var(--color-primary); font-size: 1rem; font-weight: 700; }
body.home #services .sos-t small { color: #4A5750; font-size: .875rem; }
body.home #services .sos-call { width: 44px; height: 44px; border: 0; background: #E3F0E7; color: #1F6B45; align-self: start; }
body.home #services .sos-card:nth-child(2) .sos-call { background: #FBE5DA; color: #B5471F; }
body.home #services .sos-card:nth-child(3) .sos-call { background: #FBEFD0; color: #C98A1E; }
body.home #services .sos-go { display: none; }

body.home #services .hm-svc { background: linear-gradient(180deg, #FFFFFF, #F8FAF1); box-shadow: 0 8px 22px rgba(26, 60, 40, .12); min-height: 210px; }
body.home #services .hm-svc::after { width: 52%; height: 100%; right: 0; bottom: 0; background-position: right bottom; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 35%); mask-image: linear-gradient(90deg, transparent 0%, #000 35%); }
body.home #services .hm-svc--1::after { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 130'><g fill='%2395B87A' fill-opacity='.75'><circle cx='40' cy='92' r='22'/><circle cx='168' cy='88' r='26'/></g><rect x='54' y='62' width='96' height='58' rx='3' fill='%23F4EAD3'/><path d='M46 62 102 30l56 32Z' fill='%23C98A5A'/><rect x='64' y='46' width='76' height='14' fill='%23B64A3A'/><rect x='92' y='84' width='22' height='36' fill='%238A5A3A'/><g fill='%23E3B27A'><rect x='64' y='76' width='14' height='18'/><rect x='126' y='76' width='14' height='18'/></g><rect x='28' y='24' width='3' height='60' fill='%23888'/><path d='M31 24h20v10H31Z' fill='%23E8913A'/></svg>"); }
body.home #services .hm-svc--2::after { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 130'><rect x='70' y='22' width='84' height='100' rx='10' fill='%23C98A5A'/><rect x='78' y='34' width='68' height='82' rx='5' fill='%23FBF6EA'/><rect x='96' y='16' width='32' height='16' rx='6' fill='%233A3A3A'/><g fill='%23C9C2AE'><rect x='88' y='50' width='48' height='4' rx='2'/><rect x='88' y='62' width='48' height='4' rx='2'/><rect x='88' y='74' width='36' height='4' rx='2'/></g><rect x='28' y='54' width='54' height='34' rx='8' fill='%23F2B83F'/><path d='M44 88l-4 16 14-16Z' fill='%23F2B83F'/><g fill='%23fff' fill-opacity='.85'><rect x='38' y='64' width='34' height='4' rx='2'/><rect x='38' y='74' width='24' height='4' rx='2'/></g><path d='M150 30l14 70' stroke='%23222' stroke-width='6' stroke-linecap='round'/><g fill='%238DB86A' fill-opacity='.7'><path d='M10 124C4 100 16 80 38 72c4 26-6 44-28 52Z'/></g></svg>"); }
body.home #services .hm-svc--3::after { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 130'><path d='M0 90c40-30 90-36 200-10V130H0Z' fill='%23CFE3B5'/><path d='M110 130c10-30 40-46 90-50V130Z' fill='%23E8D9B0'/><path d='M60 130c20-26 60-36 140-40' stroke='%23fff' stroke-width='3' stroke-dasharray='8 8' fill='none' stroke-opacity='.8'/><g fill='%2395B87A'><circle cx='42' cy='58' r='22'/><circle cx='66' cy='68' r='18'/><circle cx='22' cy='72' r='16'/></g><rect x='40' y='70' width='5' height='34' fill='%236B8F4E'/><rect x='172' y='20' width='4' height='70' fill='%23999'/><path d='M158 20h28v8h-28Z' fill='%23456'/></svg>"); }
body.home #services .hm-svc--1 .link { background: #1B4D3A; color: #fff; }
body.home #services .hm-svc--2 .link { background: #E8B03A; color: #1F1604; }
body.home #services .hm-svc--3 .link { background: #1B4D3A; color: #fff; }
body.home #services .hm-svc p { max-width: 22ch; }
@media (max-width: 800px) { body.home #services::before { opacity: .85; } body.home #services .hm-svc::after { width: 44%; } }

/* ---------- Homepage About: pill heading, two-tone title, fact cards, highlights, and a framed photo with a location card ---------- */
body.home main > #about { position: relative; overflow: hidden; padding-block: var(--sp-7); background: linear-gradient(180deg, #F3F7EA 0%, #FBF7E8 100%); }
body.home #about .split { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--sp-7); align-items: center; }
body.home #about .split-text { display: flex; flex-direction: column; gap: var(--sp-4); }
body.home #about .nw-eyebrow { align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 4px 16px 4px 4px; border-radius: 999px; background: rgba(255, 255, 255, .85); box-shadow: 0 4px 16px rgba(26, 34, 30, .08); color: var(--color-text); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
body.home #about .nw-eyebrow::before, body.home #about .nw-eyebrow::after { display: none !important; content: none !important; }
body.home #about .nw-ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(145deg, #E8A03C, #B5541C); color: #fff; }
body.home #about .nw-line { display: block; width: 26px; height: 2px; border-radius: 2px; background: #E3AC3F; }
body.home #about h2 { margin: 0; font-size: clamp(2.2rem, 4.4vw, 3.6rem); line-height: 1.08; font-weight: 800; color: var(--color-primary); }
body.home #about h2 .ab-l1, body.home #about h2 .ab-l2 { display: block; }
body.home #about h2 .ab-l2 { color: #D9962A; }
body.home #about h2::after { content: ""; display: block; width: 64px; height: 4px; margin-top: 16px; border-radius: 4px; background: linear-gradient(90deg, #D9A441, #E8B954); }
body.home #about .split-text > p:not(.eyebrow) { margin: 0; color: #3F4A44; font-size: 1.0625rem; line-height: 1.6; max-width: 56ch; }
body.home #about .hm-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }
body.home #about .hm-facts li { position: relative; overflow: hidden; display: flex; align-items: center; gap: 12px; padding: 14px 14px 22px; border: 0; border-radius: 16px; background: linear-gradient(180deg, #FFFFFF, #F6F8EC); box-shadow: 0 8px 20px rgba(26, 60, 40, .1); }
body.home #about .hm-facts li::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 22px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'><path d='M0 40c30-22 60-24 90-8 30-16 70-12 110 8V60H0Z' fill='%23B8D8A0' fill-opacity='.5'/></svg>") center / 100% 100% no-repeat; }
body.home #about .hm-facts li.hf-2::after { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'><path d='M0 44c40-26 90-30 200-4V60H0Z' fill='%23F2D58A' fill-opacity='.55'/></svg>"); }
body.home #about .hf-ic { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #2F8A5C, #176A44); }
body.home #about .hf-2 .hf-ic { background: linear-gradient(145deg, #F7D58A, #EDB84A); color: #5A3B05; }
body.home #about .hm-facts li > span:last-child { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
body.home #about .hm-facts strong { font-size: 1.25rem; font-weight: 800; color: var(--color-primary); }
body.home #about .hm-facts b { font-size: .8125rem; font-weight: 500; color: #4A5750; }
body.home #about .hm-facts em { font-style: normal; font-size: .75rem; color: var(--color-muted); }
body.home #about .hm-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
body.home #about .hm-actions .btn { min-height: 50px; padding: 0 22px; border-radius: 12px; font-size: 1rem; font-weight: 700; gap: 10px; }
body.home #about .hm-actions .btn-primary { background: linear-gradient(180deg, #F6C458 0%, #E3A532 60%, #D18E19 100%); color: #1F1604; border: 0; box-shadow: 0 8px 20px rgba(201, 138, 46, .32); }
body.home #about .hm-actions .btn-primary::after { content: "\2192"; }
body.home #about .hm-actions .btn-secondary { background: rgba(255, 255, 255, .7); color: var(--color-primary); border: 1.5px solid var(--color-primary); }
body.home #about .ab-hl { display: flex; flex-wrap: wrap; gap: 0; margin: var(--sp-2) 0 0; }
body.home #about .ab-hl li { display: inline-flex; align-items: center; gap: 10px; padding: 4px 18px; border-left: 1px solid rgba(26, 34, 30, .15); color: #4A5750; font-size: .875rem; font-weight: 600; }
body.home #about .ab-hl li:first-child { padding-left: 0; border-left: 0; }
body.home #about .ab-hl svg { color: #D9962A; }

body.home #about .split-media { position: relative; }
body.home #about .split-media::before { content: ""; position: absolute; top: -12px; right: -12px; width: 62%; height: 62%; border-top: 8px solid #E8B03A; border-right: 8px solid #E8B03A; border-radius: 0 44px 0 0; pointer-events: none; }
body.home #about .split-media::after { content: ""; position: absolute; top: -26px; right: -14px; width: 120px; height: 120px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='%2377A855' fill-opacity='.85'><path d='M190 10C130 20 80 60 70 130c60-8 110-50 120-120Z'/><path d='M150 90C110 100 80 130 76 180c40-10 68-44 74-90Z' fill-opacity='.6'/></g></svg>") right top / contain no-repeat; pointer-events: none; z-index: 3; }
body.home #about .split-media .img-placeholder { position: relative; z-index: 1; min-height: 480px; height: 100%; border-radius: 40px; overflow: hidden; box-shadow: 0 24px 54px rgba(26, 60, 40, .25); }
body.home #about .split-media img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; }
body.home #about .ab-loc { position: absolute; z-index: 4; top: 22px; right: -10px; display: flex; align-items: center; gap: 12px; padding: 12px 18px 12px 12px; border-radius: 14px; background: #fff; box-shadow: 0 10px 28px rgba(0, 0, 0, .2); }
body.home #about .ab-loc-ic { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--color-primary); color: #fff; }
body.home #about .ab-loc-t { display: flex; flex-direction: column; line-height: 1.25; }
body.home #about .ab-loc-t b { font-size: 1rem; font-weight: 800; color: var(--color-primary); }
body.home #about .ab-loc-t small { font-size: .75rem; color: #4A5750; }
@media (max-width: 899px) {
  body.home #about .split { grid-template-columns: minmax(0, 1fr); gap: var(--sp-6); }
  body.home #about .split-media { order: -1; }
  body.home #about .split-media .img-placeholder, body.home #about .split-media img { min-height: 300px; }
  body.home #about .ab-loc { right: 8px; top: 14px; }
  body.home #about .split-media::before { right: -6px; top: -8px; }
}
@media (max-width: 560px) {
  body.home main > #about { padding-block: 36px; }
  body.home #about .hm-facts { grid-template-columns: minmax(0, 1fr); }
  body.home #about .hm-actions .btn { width: 100%; justify-content: center; }
  body.home #about .ab-hl li { padding: 4px 12px; }
}

/* ---------- Homepage places: pill heading with gold "Yellanda", village scene, photo cards with a curved green panel ---------- */
body.home main > #places { position: relative; overflow: hidden; padding-block: var(--sp-7); background: linear-gradient(180deg, #FBF8EC 0%, #F3F7EA 100%); }
body.home #places::before { content: ""; position: absolute; top: 0; right: 0; width: min(58%, 700px); height: 300px; background: var(--pl-art, url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 320' preserveAspectRatio='xMaxYMin slice'><circle cx='360' cy='64' r='46' fill='%23FBE7A8' fill-opacity='.85'/><path d='M0 170c70-46 150-60 230-34 80-48 170-60 260-22 70-22 140-8 210 28V320H0Z' fill='%23CFE3B5'/><path d='M0 226c80-34 170-38 250-14 90-34 200-34 450 8V320H0Z' fill='%23B5D39A'/><g fill='%23C98A5A'><path d='M560 250v-96l12-8 12 8v-20l12-12 12 12v-22l10-12 10 12v-16l10-12 10 12v-10h8v-18l5-10 5 10v18h8V250Z'/></g><g stroke='%234F8A3A' stroke-width='6' stroke-linecap='round' fill='none'><path d='M230 290c2-50 0-90-6-130M224 160c-22-10-40-8-56 6M224 160c18-16 36-18 54-6M224 160c-6-24-4-40 6-54M224 160c8-20 24-32 44-34'/><path d='M440 290c2-40 0-70-4-96M436 194c-16-8-30-6-42 6M436 194c14-12 28-14 42-4'/><path d='M330 296c2-44 0-76-4-104M326 192c-14-8-28-6-40 6M326 192c14-12 28-14 40-4'/></g><g fill='%236FA356'><circle cx='140' cy='250' r='32'/><circle cx='170' cy='236' r='26'/><circle cx='640' cy='246' r='34'/><circle cx='500' cy='260' r='24'/></g></svg>")) right top / cover no-repeat; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 40%); mask-image: linear-gradient(90deg, transparent 0%, #000 40%); pointer-events: none; }
body.home #places::after { content: ""; position: absolute; top: 0; right: 0; width: 150px; height: 150px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='%2377A855' fill-opacity='.8'><path d='M190 10C130 20 80 60 70 130c60-8 110-50 120-120Z'/><path d='M150 90C110 100 80 130 76 180c40-10 68-44 74-90Z' fill-opacity='.6'/></g></svg>") right top / contain no-repeat; pointer-events: none; }
body.home #places .container { position: relative; z-index: 1; }
body.home #places .section-head { text-align: left; max-width: 720px; margin-bottom: var(--sp-5); }
body.home #places .nw-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 var(--sp-3); padding: 4px 16px 4px 4px; border-radius: 999px; background: rgba(255, 255, 255, .85); box-shadow: 0 4px 16px rgba(26, 34, 30, .08); color: var(--color-text); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
body.home #places .nw-eyebrow::before, body.home #places .nw-eyebrow::after { display: none !important; content: none !important; }
body.home #places .nw-ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(145deg, #E8A03C, #B5541C); color: #fff; }
body.home #places .nw-line { display: block; width: 26px; height: 2px; border-radius: 2px; background: #E3AC3F; }
body.home #places .section-head h2 { color: var(--color-primary); font-size: clamp(1.75rem, 3.4vw, 2.75rem); font-weight: 800; line-height: 1.1; }
body.home #places .section-head h2 em { font-style: normal; color: #D9962A; }
body.home #places .section-head h2::after { content: ""; display: block; width: 56px; height: 4px; margin-top: 12px; border-radius: 4px; background: linear-gradient(90deg, #D9A441, #E8B954); }
body.home #places .section-head p:not(.eyebrow) { margin-top: var(--sp-3); color: #4A5750; font-size: 1rem; line-height: 1.55; max-width: 60ch; }

body.home .hm-bento { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 400px; gap: 20px; }
body.home .hm-pcard { border-radius: 22px; background: #145236; box-shadow: 0 14px 34px rgba(26, 60, 40, .22); }
body.home .hm-pcard img { height: calc(100% - 118px); bottom: auto; z-index: 0; }
body.home .hm-pcard::before { display: none; }
body.home .pc-panel { position: absolute; left: 0; right: 0; bottom: 0; min-height: 132px; display: flex; align-items: flex-end; gap: 10px; padding: 46px 16px 18px 20px; background: linear-gradient(180deg, #145236, #0F3D28); z-index: 1; }
body.home .pc-panel::before { content: ""; position: absolute; left: 0; right: 0; top: -33px; height: 34px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 40' preserveAspectRatio='none'><path d='M0 30C60 4 120 6 180 22S270 34 300 12V40H0Z' fill='%23145236'/><path d='M0 30C60 4 120 6 180 22S270 34 300 12' fill='none' stroke='%23E3AC3F' stroke-width='2'/></svg>") center / 100% 100% no-repeat; pointer-events: none; }
body.home .pc-ic { position: absolute; top: -34px; left: 20px; z-index: 2; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: #fff; color: #145236; box-shadow: 0 6px 16px rgba(0, 0, 0, .25); }
body.home .hm-pcard-body { position: static; flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
body.home .hm-pcard-body strong { font-size: 1.25rem !important; font-weight: 800; line-height: 1.2; color: #fff; }
body.home .hm-pcard-body small { font-size: .875rem; line-height: 1.4; color: rgba(255, 255, 255, .88); }
body.home .hm-pcard-go { position: static; flex: none; width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(180deg, #F6C458, #E3A532); color: #1F1604; box-shadow: 0 4px 12px rgba(0, 0, 0, .25); }
body.home #places .hm-actions--center { gap: 14px; margin-top: var(--sp-6); }
body.home #places .hm-actions .btn { min-height: 52px; padding: 0 26px; border-radius: 12px; font-size: 1.0625rem; font-weight: 700; gap: 10px; }
body.home #places .hm-actions .btn::after { content: "\2192"; }
body.home #places .hm-actions .btn-primary { background: linear-gradient(180deg, #F6C458 0%, #E3A532 60%, #D18E19 100%); color: #1F1604; border: 0; box-shadow: 0 10px 24px rgba(201, 138, 46, .35); }
body.home #places .hm-actions .btn-secondary { background: rgba(255, 255, 255, .75); color: var(--color-primary); border: 1.5px solid var(--color-primary); }
@media (max-width: 1099px) { body.home .hm-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  body.home main > #places { padding-block: 36px; }
  body.home #places::before { width: 100%; height: 190px; opacity: .55; }
  html:not(.yl-app) body.home .hm-bento .hm-pcard { flex: 0 0 82%; height: 340px; }
  html:not(.yl-app) body.home .hm-bento .hm-pcard img { height: calc(100% - 118px); }
  body.home #places .hm-actions .btn { width: 100%; justify-content: center; }
}

/* ---------- Homepage gallery: pill heading with gold "Gallery", icon chips, a big photo plus six smaller ones ---------- */
body.home main > #gallery { position: relative; overflow: hidden; padding-block: var(--sp-7) calc(var(--sp-7) + 30px); background: linear-gradient(180deg, #F6F8EC 0%, #F3F7EA 100%); }
body.home #gallery::before { content: ""; position: absolute; top: 0; right: 0; width: min(60%, 760px); height: 320px; background: var(--gl-art, url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 320' preserveAspectRatio='xMaxYMin slice'><circle cx='620' cy='56' r='44' fill='%23FBE7A8' fill-opacity='.85'/><path d='M0 170c70-46 150-60 230-34 80-48 170-60 260-22 70-22 140-8 210 28V320H0Z' fill='%23CFE3B5'/><path d='M0 226c80-34 170-38 250-14 90-34 200-34 450 8V320H0Z' fill='%23B5D39A'/><g fill='%23C98A5A'><path d='M360 250v-110l12-8 12 8v-20l12-12 12 12v-22l10-12 10 12v-16l10-12 10 12v-10h8v-18l5-10 5 10v18h8V250Z'/></g><g fill='%23D9B48A'><rect x='440' y='214' width='120' height='40' rx='3'/><path d='M432 214l68-26 68 26Z' fill='%23C0663F'/></g><g stroke='%234F8A3A' stroke-width='6' stroke-linecap='round' fill='none'><path d='M200 290c2-50 0-90-6-130M194 160c-22-10-40-8-56 6M194 160c18-16 36-18 54-6M194 160c-6-24-4-40 6-54M194 160c8-20 24-32 44-34'/><path d='M280 296c2-44 0-76-4-104M276 192c-14-8-28-6-40 6M276 192c14-12 28-14 40-4'/><path d='M600 296c2-50 0-86-6-120M594 176c-20-10-36-8-50 6M594 176c16-14 32-16 48-6'/></g><g fill='%236FA356'><circle cx='130' cy='250' r='32'/><circle cx='330' cy='262' r='24'/><circle cx='660' cy='250' r='34'/></g></svg>")) right top / cover no-repeat; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 42%); mask-image: linear-gradient(90deg, transparent 0%, #000 42%); pointer-events: none; }
body.home #gallery::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 90' preserveAspectRatio='none'><path d='M0 50c120-40 260-44 400-10 140-30 280-30 420 0 140-30 280-24 380 10V90H0Z' fill='%23CFE3B5' fill-opacity='.7'/><path d='M0 70c200-30 420-34 640-8 200-20 400-18 560 8V90H0Z' fill='%23B5D39A' fill-opacity='.75'/></svg>") center bottom / 100% 100% no-repeat; pointer-events: none; }
body.home #gallery .container { position: relative; z-index: 1; }
body.home #gallery .section-head { text-align: left; margin-bottom: var(--sp-4); }
body.home #gallery .nw-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 var(--sp-3); padding: 4px 16px 4px 4px; border-radius: 999px; background: rgba(255, 255, 255, .85); box-shadow: 0 4px 16px rgba(26, 34, 30, .08); color: var(--color-text); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
body.home #gallery .nw-eyebrow::before, body.home #gallery .nw-eyebrow::after { display: none !important; content: none !important; }
body.home #gallery .nw-ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(145deg, #E8A03C, #B5541C); color: #fff; }
body.home #gallery .nw-line { display: block; width: 26px; height: 2px; border-radius: 2px; background: #E3AC3F; }
body.home #gallery .section-head h2 { color: var(--color-primary); font-size: clamp(1.75rem, 3.4vw, 2.75rem); font-weight: 800; line-height: 1.1; }
body.home #gallery .section-head h2 em, #gallery .section-head h2 em { font-style: normal; color: #D9962A; }
body.home #gallery .section-head h2::after { content: ""; display: block; width: 56px; height: 4px; margin-top: 12px; border-radius: 4px; background: linear-gradient(90deg, #D9A441, #E8B954); }
.gt-ic { display: none; }
body.home #gallery .gallery-tabs { gap: 12px; margin-bottom: var(--sp-5); }
body.home #gallery .gallery-tabs button { display: inline-flex; align-items: center; gap: 10px; padding: 0 22px; min-height: 48px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .9); color: var(--color-primary); font-size: .9375rem; font-weight: 700; box-shadow: 0 4px 14px rgba(26, 60, 40, .1); }
body.home #gallery .gallery-tabs button .gt-ic { display: block; flex: none; }
body.home #gallery .gallery-tabs button[aria-pressed="true"] { background: #14543A; color: #fff; }

body.home #gallery .masonry { columns: auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 190px; grid-auto-flow: dense; gap: 16px; }
body.home #gallery .masonry .tile { position: relative; margin: 0; padding: 0; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 26px rgba(26, 60, 40, .16); }
body.home #gallery .masonry .tile:first-child { grid-row: span 2; }
body.home #gallery .masonry .tile .img-placeholder { aspect-ratio: auto !important; height: 100%; min-height: 0; border-radius: 0; }
body.home #gallery .masonry .tile .img-placeholder img { width: 100%; height: 100%; object-fit: cover; }
body.home #gallery .masonry .tile::after { content: ""; position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'><circle cx='22' cy='22' r='20' fill='%23ffffff' fill-opacity='.35'/><circle cx='22' cy='22' r='20' fill='none' stroke='%23ffffff' stroke-opacity='.8' stroke-width='1.5'/><g fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='12.5' y='13.5' width='19' height='17' rx='3'/><circle cx='18' cy='19' r='1.8'/><path d='m13 28 6-5 4 3 3-2.5 5 4'/></g></svg>") center / contain no-repeat; pointer-events: none; }
body.home #gallery .masonry .tile[hidden] { display: none; }
body.home #gallery .hm-actions--center { margin-top: var(--sp-5); }
body.home #gallery .hm-actions .btn { min-height: 52px; padding: 0 28px; border: 0; border-radius: 12px; font-size: 1.0625rem; font-weight: 700; gap: 12px; background: linear-gradient(180deg, #F6C458 0%, #E3A532 60%, #D18E19 100%); color: #1F1604; box-shadow: 0 10px 24px rgba(201, 138, 46, .35); }
body.home #gallery .hm-actions .btn::after { content: "\2192"; }
@media (max-width: 899px) { body.home #gallery .masonry { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; gap: 12px; } }
@media (max-width: 640px) {
  body.home main > #gallery { padding-block: 36px 52px; }
  body.home #gallery::before { width: 100%; height: 190px; opacity: .5; }
  body.home #gallery .gallery-tabs { flex-wrap: nowrap; overflow-x: auto; margin-inline: -24px; padding: 4px 24px 8px; scrollbar-width: none; }
  body.home #gallery .gallery-tabs::-webkit-scrollbar { display: none; }
  body.home #gallery .gallery-tabs button { flex: none; min-height: 44px; padding: 0 16px; }
  html:not(.yl-app) body.home #gallery .masonry .tile .img-placeholder { height: 100%; }
  body.home #gallery .hm-actions .btn { width: 100%; justify-content: center; }
}

/* ---------- Homepage location: pill heading with gold "Yellanda", framed map, "About Yellanda" card with icon rows and two buttons ---------- */
body.home main > #map { position: relative; overflow: hidden; padding-block: var(--sp-7) calc(var(--sp-7) + 30px); background: linear-gradient(180deg, #F3F7EA 0%, #F8F5E8 100%); }
body.home #map::before { content: ""; position: absolute; top: 0; right: 0; width: min(62%, 780px); height: 260px; background: var(--mp-art, url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 260' preserveAspectRatio='xMaxYMin slice'><path d='M0 150c70-46 150-60 230-34 80-48 170-60 260-22 70-22 140-8 210 28V260H0Z' fill='%23CFE3B5'/><path d='M0 196c80-34 170-38 250-14 90-34 200-34 450 8V260H0Z' fill='%23B5D39A'/><g fill='%23C98A5A'><path d='M560 210v-96l12-8 12 8v-20l12-12 12 12v-22l10-12 10 12v-16l10-12 10 12v-10h8v-18l5-10 5 10v18h8V210Z'/></g><g fill='%23E8D6B0'><rect x='290' y='170' width='80' height='34' rx='3'/><rect x='392' y='164' width='90' height='40' rx='3'/></g><g fill='%23C0663F'><path d='M282 170l48-20 48 20Z'/><path d='M384 164l53-22 53 22Z'/></g><g stroke='%234F8A3A' stroke-width='5' stroke-linecap='round' fill='none'><path d='M140 250c2-40 0-72-6-104M134 146c-18-8-32-6-44 4M134 146c14-12 28-14 42-4'/><path d='M230 256c2-34 0-60-4-82M226 174c-12-6-24-4-34 5M226 174c12-10 24-12 34-4'/></g><g fill='%236FA356'><circle cx='60' cy='210' r='28'/><circle cx='520' cy='200' r='22'/><circle cx='660' cy='206' r='30'/></g></svg>")) right top / cover no-repeat; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 42%); mask-image: linear-gradient(90deg, transparent 0%, #000 42%); pointer-events: none; }
body.home #map::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 90' preserveAspectRatio='none'><path d='M0 50c120-40 260-44 400-10 140-30 280-30 420 0 140-30 280-24 380 10V90H0Z' fill='%23CFE3B5' fill-opacity='.7'/><path d='M0 70c200-30 420-34 640-8 200-20 400-18 560 8V90H0Z' fill='%23B5D39A' fill-opacity='.75'/></svg>") center bottom / 100% 100% no-repeat; pointer-events: none; }
body.home #map .container { position: relative; z-index: 1; }
body.home #map .section-head { text-align: left; max-width: 760px; margin-bottom: var(--sp-5); }
body.home #map .nw-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 var(--sp-3); padding: 4px 16px 4px 4px; border-radius: 999px; background: rgba(255, 255, 255, .85); box-shadow: 0 4px 16px rgba(26, 34, 30, .08); color: var(--color-text); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
body.home #map .nw-eyebrow::before, body.home #map .nw-eyebrow::after { display: none !important; content: none !important; }
body.home #map .nw-ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(145deg, #F2B83F, #D68A22); color: #fff; }
body.home #map .nw-line { display: block; width: 26px; height: 2px; border-radius: 2px; background: #E3AC3F; }
body.home #map .section-head h2 { color: var(--color-primary); font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 800; line-height: 1.08; }
body.home #map .section-head h2 em { font-style: normal; color: #D9962A; }
body.home #map .section-head h2::after { content: ""; display: block; width: 56px; height: 4px; margin-top: 12px; border-radius: 4px; background: linear-gradient(90deg, #D9A441, #E8B954); }
body.home #map .mp-sub { margin-top: var(--sp-3); color: #4A5750; font-size: 1rem; line-height: 1.55; max-width: 62ch; }

body.home #map .map-wrap { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 28px; align-items: stretch; }
body.home #map .map-static { aspect-ratio: auto; min-height: 460px; padding: 6px; border: 2px solid rgba(27, 77, 58, .5); border-radius: 22px; background: #fff; box-shadow: 0 14px 34px rgba(14, 51, 38, .16); }
body.home #map .map-static iframe { height: 100%; min-height: 446px; border-radius: 16px; filter: none; }
body.home #map .map-facts { padding: 22px 24px; border-radius: 22px; background: rgba(255, 255, 255, .92); box-shadow: 0 14px 34px rgba(14, 51, 38, .12); display: flex; flex-direction: column; gap: 14px; }
body.home #map .mf-head { display: flex; align-items: center; gap: 16px; }
body.home #map .mf-pin { display: grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: 50%; background: #E3F0E7; color: #1B4D3A; }
body.home #map .mf-head h3 { margin: 0; color: var(--color-primary); font-size: 1.5rem; font-weight: 800; }
body.home #map .mf-head p { margin: 2px 0 0; font-size: .875rem; color: #4A5750; }
body.home #map .mf-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
body.home #map .mf-list li { display: grid; grid-template-columns: 44px 120px minmax(0, 1fr); align-items: center; gap: 12px; padding: 6px 12px 6px 6px; border-radius: 12px; background: #F6F7EF; }
body.home #map .mf-ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: #E3F0E7; color: #1B4D3A; }
body.home #map .mf-k { color: #5B6760; font-size: .9375rem; }
body.home #map .mf-v { color: var(--color-text); font-size: 1rem; font-weight: 600; }
body.home #map .mf-btns { display: grid; grid-template-columns: 1.35fr 1fr; gap: 12px; margin-top: auto; }
body.home #map .mf-btns a { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 16px; border-radius: 12px; font-size: 1rem; font-weight: 700; text-decoration: none; }
body.home #map .mf-open { background: linear-gradient(180deg, #F6C458 0%, #E3A532 60%, #D18E19 100%); color: #1F1604; box-shadow: 0 8px 20px rgba(201, 138, 46, .32); }
body.home #map .mf-open::after { content: "\2192"; }
body.home #map .mf-dir { background: #fff; color: var(--color-primary); border: 1.5px solid var(--color-primary); }
@media (max-width: 899px) { body.home #map .map-wrap { grid-template-columns: minmax(0, 1fr); } body.home #map .map-static, body.home #map .map-static iframe { min-height: 320px; } }
@media (max-width: 560px) {
  body.home main > #map { padding-block: 36px 52px; }
  body.home #map::before { width: 100%; height: 180px; opacity: .5; }
  body.home #map .map-facts { padding: 16px; }
  body.home #map .mf-list li { grid-template-columns: 40px minmax(0, 1fr); row-gap: 0; }
  body.home #map .mf-k { grid-column: 2; font-size: .8125rem; }
  body.home #map .mf-v { grid-column: 2; }
  body.home #map .mf-ic { grid-row: 1 / span 2; width: 40px; height: 40px; }
  body.home #map .mf-btns { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Desktop homepage: every section after the hero fits the screen height (sizes follow the window height) ---------- */
@media (min-width: 1000px) and (min-height: 600px) {
  html:not(.yl-app) body.home main > section:not(.hero):not(#home) { min-height: calc(100svh - var(--header-h, 80px)); display: flex; flex-direction: column; justify-content: center; padding-block: clamp(24px, 4.5vh, 56px); }
  html:not(.yl-app) body.home main > section:not(.hero):not(#home) > .container { width: 100%; }
  html:not(.yl-app) body.home main > section:not(.hero):not(#home) .section-head { margin-bottom: clamp(12px, 2.4vh, 28px); }
  html:not(.yl-app) body.home main > section:not(.hero):not(#home) .section-head h2 { font-size: clamp(1.6rem, 4.6vh, 2.75rem); }
  html:not(.yl-app) body.home main > section:not(.hero):not(#home) .hm-actions--center { margin-top: clamp(14px, 2.6vh, 32px); }
  html:not(.yl-app) body.home .hm-quick .hm-tile { min-height: clamp(190px, 30vh, 250px); }
  html:not(.yl-app) body.home #news .news-card { min-height: clamp(170px, 26vh, 230px); }
  html:not(.yl-app) body.home #events .ev-none { padding-block: clamp(18px, 4vh, 34px); }
  html:not(.yl-app) body.home #services .hm-svc { min-height: clamp(160px, 25vh, 210px); }
  html:not(.yl-app) body.home #about h2 { font-size: clamp(2rem, 6.4vh, 3.6rem); }
  html:not(.yl-app) body.home #about .split-text { gap: clamp(10px, 2vh, 16px); }
  html:not(.yl-app) body.home #about .split-media .img-placeholder, html:not(.yl-app) body.home #about .split-media img { min-height: clamp(320px, 54vh, 480px); }
  html:not(.yl-app) body.home .hm-bento { grid-auto-rows: clamp(250px, 40vh, 400px); }
  html:not(.yl-app) body.home #gallery .masonry { grid-auto-rows: clamp(110px, 20vh, 190px); gap: clamp(10px, 1.8vh, 16px); }
  html:not(.yl-app) body.home #gallery .gallery-tabs { margin-bottom: clamp(12px, 2.4vh, 24px); }
  html:not(.yl-app) body.home #map .map-static { min-height: clamp(300px, 50vh, 460px); }
  html:not(.yl-app) body.home #map .map-static iframe { min-height: clamp(286px, 48vh, 446px); }
  html:not(.yl-app) body.home #map .map-facts { gap: clamp(8px, 1.6vh, 14px); padding-block: clamp(14px, 2.4vh, 22px); }
  html:not(.yl-app) body.home #map .mf-list { gap: clamp(4px, 1vh, 8px); }
  html:not(.yl-app) body.home #map .mf-list li { padding-block: 2px; }
}

/* no hill / skyline strips along the bottom of the homepage sections */
body.home main > #news::after, body.home main > #gallery::after, body.home main > #map::after { display: none; }
body.home main > section { background-image: none; }

/* round 3: shorter place cards, About photo matches the text beside it, readable text on the emergency cards */
body.home .hm-bento { grid-auto-rows: 300px; }
@media (min-width: 1000px) and (min-height: 600px) { html:not(.yl-app) body.home .hm-bento { grid-auto-rows: clamp(230px, 34vh, 310px); } }
body.home .hm-pcard img { height: calc(100% - 112px); }
body.home .pc-panel { min-height: 112px; padding-top: 40px; padding-bottom: 14px; }
body.home .hm-pcard-body strong { font-size: 1.125rem !important; }
@media (min-width: 900px) {
  html:not(.yl-app) body.home #about .split { align-items: stretch; }
  html:not(.yl-app) body.home #about .split-media { min-height: 300px; }
  html:not(.yl-app) body.home #about .split-media .img-placeholder { position: absolute; inset: 0; min-height: 0 !important; height: auto; }
  html:not(.yl-app) body.home #about .split-media img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0 !important; }
}
body.home #services .sos-t span, body.home #services .sos-t b span, body.home #services .sos-t small span { color: inherit; font-size: inherit; }
body.home #services .sos-t b { color: var(--color-primary); }
body.home #services .sos-t small { color: #4A5750; }

/* every homepage section heading: the same size as "What's Happening in Yellanda", with a two-colour title (dark green + gold) */
html body.home main > section:not(.hero):not(#home) .section-head h2, html body.home main > section:not(.hero):not(#home) #about h2, html body.home #about h2 { font-size: clamp(1.5rem, 2.4vw, 2rem) !important; line-height: 1.15 !important; font-weight: 800; }
html body.home main > section:not(.hero):not(#home) .section-head h2 em, html body.home #about h2 .ab-l2 { font-style: normal; color: #D9962A; }
@media (max-width: 640px) { html body.home main > section:not(.hero):not(#home) .section-head h2, html body.home #about h2 { font-size: 1.5rem !important; } }

/* ---------- Homepage quick-link cards, version 3: pastel round icon with a colour dot, gold rule, faint outline picture, coloured wave with a drawing and a gold arrow ---------- */
body.home .hm-quick a.hm-tile { position: relative; overflow: hidden; align-items: flex-start; text-align: left; gap: 0; padding: 24px 18px 0; min-height: clamp(250px, 36vh, 300px); border: 0; border-radius: 22px; background: linear-gradient(180deg, #FFFEF9 0%, #F8F8EE 100%); box-shadow: 0 14px 30px rgba(40, 80, 50, .14); }
body.home .hm-quick a.hm-tile::before { display: none; }
body.home .hm-quick a.hm-tile::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 46%; height: 112px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 130' preserveAspectRatio='none'><defs><linearGradient id='g' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%232F8A4A'/><stop offset='1' stop-color='%230F4D2C'/></linearGradient></defs><path d='M0 28C40 20 80 40 120 70S180 96 200 80V130H0Z' fill='url(%23g)'/></svg>") center bottom / 100% 100% no-repeat; pointer-events: none; }
body.home .hm-quick a.hm-tile.qk-y::after { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 130' preserveAspectRatio='none'><defs><linearGradient id='y' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23F2C75A'/><stop offset='1' stop-color='%23C98A1E'/></linearGradient></defs><path d='M0 28C40 20 80 40 120 70S180 96 200 80V130H0Z' fill='url(%23y)'/></svg>"); }
body.home .hm-quick .hm-tile-t::after { display: none; }
body.home .hm-quick .qk-gh { position: absolute; top: 14px; right: 12px; width: 62px; height: 62px; color: #B8D2B2; opacity: .75; pointer-events: none; }
body.home .hm-quick .qk-y .qk-gh { color: #EBD7A4; }
body.home .hm-quick .qk-art { position: absolute; right: 8px; bottom: 6px; width: 64px; height: 64px; color: rgba(255, 255, 255, .55); z-index: 1; pointer-events: none; }
body.home .hm-quick .qk-y .qk-art { color: rgba(255, 244, 205, .75); }
body.home .hm-quick .hm-tile-ic { position: relative; width: 64px; height: 64px; margin: 0 0 14px; border-radius: 50%; background: #DDEFE3; color: #1B4D3A; box-shadow: none; }
body.home .hm-quick .qk-y .hm-tile-ic { background: #FBEFCB; color: #1B4D3A; }
body.home .hm-quick a.hm-tile:hover .hm-tile-ic { background: #DDEFE3; color: #1B4D3A; }
body.home .hm-quick a.hm-tile.qk-y:hover .hm-tile-ic { background: #FBEFCB; }
body.home .hm-quick .hm-tile-ic .btn-ic { width: 30px; height: 30px; }
body.home .hm-quick .qk-dot { position: absolute; top: -4px; right: -10px; width: 26px; height: 26px; border-radius: 50%; background: linear-gradient(145deg, #4FA05E, #1F6B3D); }
body.home .hm-quick .qk-y .qk-dot { background: linear-gradient(145deg, #F2B83F, #D68A22); }
body.home .hm-quick .hm-tile-t { align-items: flex-start; }
body.home .hm-quick .hm-tile-t strong { font-size: 1.25rem; font-weight: 800; color: #14543A; }
body.home .hm-quick .hm-tile-t strong::after { margin: 9px 0; width: 34px; height: 3px; background: #E3AC3F; }
body.home .hm-quick .hm-tile-t small { font-size: .9375rem; line-height: 1.4; color: #4A5750; }
body.home .hm-quick a.hm-tile > .btn-ic:last-child { display: grid; position: absolute; left: 16px; bottom: 16px; top: auto; right: auto; width: 44px; height: 44px; padding: 12px; box-sizing: border-box; border-radius: 50%; background: linear-gradient(180deg, #F6C458, #E3A532); color: #1F1604; box-shadow: 0 4px 12px rgba(0, 0, 0, .25); opacity: 1; transform: none; z-index: 2; }
body.home .hm-quick a.hm-tile:hover > .btn-ic:last-child { transform: translateX(3px); }
@media (max-width: 640px) {
  html:not(.yl-app) body.home .hm-quick a.hm-tile { min-height: 0; padding: 18px 12px 0; padding-bottom: 76px; border-radius: 18px; }
  html:not(.yl-app) body.home .hm-quick a.hm-tile::after { height: 70px; }
  html:not(.yl-app) body.home .hm-quick .hm-tile-ic { width: 52px; height: 52px; }
  html:not(.yl-app) body.home .hm-quick .hm-tile-ic .btn-ic { width: 26px; height: 26px; }
  html:not(.yl-app) body.home .hm-quick .qk-dot { width: 20px; height: 20px; right: -8px; }
  html:not(.yl-app) body.home .hm-quick .qk-gh { width: 44px; height: 44px; }
  html:not(.yl-app) body.home .hm-quick .qk-art { width: 44px; height: 44px; }
  html:not(.yl-app) body.home .hm-quick .hm-tile-t strong { font-size: 1.0625rem; }
  html:not(.yl-app) body.home .hm-quick .hm-tile-t small { font-size: .8125rem; }
  html:not(.yl-app) body.home .hm-quick a.hm-tile > .btn-ic:last-child { width: 36px; height: 36px; padding: 9px; left: 12px; bottom: 12px; }
}

/* round 4: readable "Village services" pill; a smaller About photo cropped on the statue */
body.home #services .nw-eyebrow { background: rgba(255, 255, 255, .92); border: 0; }
body.home #services .nw-eyebrow .nw-t, body.home #services .nw-eyebrow .nw-t span { color: #1F2A24 !important; }
body.home #services .nw-eyebrow .nw-ic { color: #fff !important; }
@media (min-width: 900px) {
  html:not(.yl-app) body.home #about .split { align-items: center; }
  html:not(.yl-app) body.home #about .split-media { align-self: center; height: clamp(300px, 46vh, 420px); min-height: 0; }
  html:not(.yl-app) body.home #about .split-media img { object-position: center 28%; }
}

/* quick-link cards: no coloured wave and no drawing at the bottom, so the text is always readable */
body.home .hm-quick a.hm-tile::after, html:not(.yl-app) body.home .hm-quick a.hm-tile::after, body.home .hm-quick a.hm-tile.qk-y::after { display: none !important; }
body.home .hm-quick .qk-art { display: none; }
body.home .hm-quick a.hm-tile { padding-bottom: 76px; }
body.home .hm-quick .hm-tile-t small { color: #3F4A44; }
body.home #about .split-media { aspect-ratio: auto; width: 100%; }

/* quick-link cards: three to a row (two rows of three) */
@media (min-width: 720px) {
  body.home .hm-quick-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  body.home .hm-quick a.hm-tile { padding: 22px 22px 70px; }
  body.home .hm-quick .hm-tile-t small { font-size: 1rem; max-width: 34ch; }
}
@media (min-width: 1000px) and (min-height: 600px) { html:not(.yl-app) body.home .hm-quick a.hm-tile { min-height: clamp(180px, 25vh, 240px); } }

/* quick-link cards: no arrow button, bigger titles, four to a row on desktop (the last two centred) */
body.home .hm-quick a.hm-tile > .btn-ic:last-child, html:not(.yl-app) body.home .hm-quick a.hm-tile > .btn-ic:last-child { display: none !important; }
body.home .hm-quick a.hm-tile { padding-bottom: 28px; }
body.home .hm-quick .hm-tile-t strong { font-size: 1.5rem; }
@media (max-width: 640px) { html:not(.yl-app) body.home .hm-quick a.hm-tile { padding-bottom: 22px; } html:not(.yl-app) body.home .hm-quick .hm-tile-t strong { font-size: 1.1875rem; } }
@media (min-width: 1000px) {
  body.home .hm-quick-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
  body.home .hm-quick a.hm-tile { flex: 0 0 calc((100% - 60px) / 4); min-width: 0; }
}
@media (min-width: 1000px) and (min-height: 600px) { html:not(.yl-app) body.home .hm-quick a.hm-tile { min-height: clamp(170px, 24vh, 220px); } }
body.home #events .ev-recent { margin: 0 0 var(--sp-4); color: var(--color-muted); font-size: .9375rem; }

/* ---------- Homepage events, version 2: icon + title + "View all events" on one row, then a swipe row of event cards with arrows ---------- */
body.home main > #events { position: relative; overflow: hidden; padding-block: var(--sp-7); background: linear-gradient(180deg, #FBF6E6 0%, #F7F8EC 100%); }
body.home #events::before, body.home #events::after { display: none; }
body.home #events .evh-head { display: flex; align-items: center; gap: 18px; margin-bottom: var(--sp-5); }
body.home #events .evh-ic { display: grid; place-items: center; flex: none; width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(145deg, #F6C458, #E09A23); color: #3A2A05; box-shadow: 0 8px 20px rgba(214, 138, 34, .35); }
body.home #events .evh-head .section-head { flex: 1; min-width: 0; margin: 0; max-width: none; text-align: left; }
body.home #events .evh-head .section-head h2::after { content: ""; display: block; width: 36px; height: 3px; margin-top: 8px; border-radius: 3px; background: #E3AC3F; }
body.home #events .evh-head .section-head p { margin-top: 8px; color: #4A5750; font-size: 1rem; }
body.home #events .evh-all { flex: none; display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 24px; border-radius: 999px; background: #0F3D28; color: #fff; font-weight: 700; text-decoration: none; box-shadow: 0 10px 22px rgba(15, 61, 40, .3); }
body.home #events .evh-all:hover { background: #14543A; }
body.home #events .evh-wrap { position: relative; }
body.home #events .evh-track { display: flex; gap: 20px; overflow-x: auto; padding: 4px 4px 18px; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-padding-inline: 4px; }
body.home #events .evh-track::-webkit-scrollbar { display: none; }
body.home #events .evh-card { position: relative; flex: 0 0 calc((100% - 60px) / 4); min-width: 0; scroll-snap-align: start; display: flex; flex-direction: column; overflow: hidden; border-radius: 22px; background: linear-gradient(180deg, #FFFFFF, #F8FAF1); box-shadow: 0 12px 28px rgba(26, 60, 40, .14); }
body.home #events .evh-img { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #E7E2D3; }
body.home #events .evh-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.home #events .evh-img > svg { position: absolute; inset: 0; margin: auto; opacity: .4; }
body.home #events .evh-img .bc-date { position: absolute; top: 14px; left: 14px; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-width: 58px; padding: 8px 12px; border-radius: 14px; background: #fff; box-shadow: 0 4px 14px rgba(0, 0, 0, .2); color: var(--color-text); line-height: 1.2; }
body.home #events .evh-img .bc-date b { font-size: 1.5rem; font-weight: 800; }
body.home #events .evh-img .bc-date span { display: block; padding: 0; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--color-muted); }
body.home #events .evh-pill { position: relative; z-index: 2; align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin: -16px 0 0 14px; padding: 7px 16px; border-radius: 999px; background: var(--evc, #256349); color: var(--evt, #fff); font-size: .875rem; font-weight: 700; box-shadow: 0 4px 12px rgba(0, 0, 0, .2); }
body.home #events .evh-body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 14px 18px 20px; }
body.home #events .evh-body h3 { margin: 0; font-size: 1.25rem; line-height: 1.25; font-weight: 800; }
body.home #events .evh-body h3 a { color: var(--color-primary); text-decoration: none; }
body.home #events .evh-d { margin: 0; color: #4A5750; font-size: .9375rem; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.home #events .evh-m { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0; font-size: .875rem; color: var(--color-text); }
body.home #events .evh-m span { display: inline-flex; align-items: center; gap: 8px; }
body.home #events .evh-m i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #FBEFCB; color: #8A5A0A; font-style: normal; }
body.home #events .evh-go { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 22px; border-radius: 12px; border: 1.5px solid var(--color-primary); color: var(--color-primary); font-weight: 700; text-decoration: none; background: transparent; }
body.home #events .evh-card:first-child .evh-go { background: linear-gradient(180deg, #F6C458, #E3A532); border-color: transparent; color: #1F1604; box-shadow: 0 6px 16px rgba(201, 138, 46, .3); }
body.home #events .evh-nav { position: absolute; top: 34%; z-index: 4; display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: #fff; color: var(--color-primary); box-shadow: 0 6px 18px rgba(0, 0, 0, .2); cursor: pointer; }
body.home #events .evh-nav[hidden] { display: none; }
body.home #events .evh-prev { left: -20px; }
body.home #events .evh-next { right: -20px; }
@media (max-width: 1099px) { body.home #events .evh-card { flex-basis: calc((100% - 40px) / 3); } }
@media (max-width: 800px) {
  body.home #events .evh-head { flex-wrap: wrap; }
  body.home #events .evh-all { width: 100%; justify-content: center; }
  body.home #events .evh-card { flex-basis: 78%; }
  body.home #events .evh-prev { left: 4px; } body.home #events .evh-next { right: 4px; }
}
@media (max-width: 640px) { body.home main > #events { padding-block: 36px; } body.home #events .evh-ic { width: 52px; height: 52px; } body.home #events .evh-track { margin-inline: -24px; padding-inline: 24px; scroll-padding-inline: 24px; } }

/* homepage event cards: wider and shorter */
body.home #events .evh-card { flex-basis: calc((100% - 40px) / 3); }
body.home #events .evh-img { aspect-ratio: 2 / 1; }
body.home #events .evh-img .bc-date { top: 10px; left: 10px; min-width: 50px; padding: 6px 10px; }
body.home #events .evh-img .bc-date b { font-size: 1.25rem; }
body.home #events .evh-pill { margin-top: -14px; padding: 5px 14px; font-size: .8125rem; }
body.home #events .evh-body { gap: 8px; padding: 10px 16px 16px; }
body.home #events .evh-body h3 { font-size: 1.125rem; }
body.home #events .evh-d { font-size: .875rem; -webkit-line-clamp: 1; }
body.home #events .evh-m { gap: 6px 14px; font-size: .8125rem; }
body.home #events .evh-m i { width: 24px; height: 24px; }
body.home #events .evh-go { min-height: 40px; padding: 0 18px; font-size: .9375rem; }
body.home #events .evh-track:has(.evh-card:only-child) .evh-card { flex-basis: min(100%, 560px); }
body.home #events .evh-track:has(.evh-card:nth-child(2):last-child) .evh-card { flex-basis: calc((100% - 20px) / 2); max-width: 560px; }
@media (max-width: 1099px) { body.home #events .evh-card { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 800px) { body.home #events .evh-card { flex-basis: 84%; } body.home #events .evh-track:has(.evh-card:only-child) .evh-card { flex-basis: 100%; } }

/* homepage event cards: a middle width (not as narrow as before, not as wide as the last version) */
body.home #events .evh-card { flex-basis: calc((100% - 60px) / 4); min-width: 280px; }
body.home #events .evh-track:has(.evh-card:only-child) .evh-card { flex-basis: 380px; max-width: 100%; }
body.home #events .evh-track:has(.evh-card:nth-child(2):last-child) .evh-card { flex-basis: 380px; max-width: 100%; }
@media (max-width: 1099px) { body.home #events .evh-card { flex-basis: calc((100% - 40px) / 3); min-width: 260px; } }
@media (max-width: 800px) { body.home #events .evh-card { flex-basis: 78%; min-width: 0; } body.home #events .evh-track:has(.evh-card:only-child) .evh-card, body.home #events .evh-track:has(.evh-card:nth-child(2):last-child) .evh-card { flex-basis: 78%; } }

/* ---------- Homepage scenery, one shared look: a soft village scene fades in at the top right of every section (behind the content), and the backgrounds flow from one section into the next ---------- */
body.home { --hm-scene: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 260' preserveAspectRatio='xMaxYMin slice'><circle cx='430' cy='62' r='38' fill='%23FBE7A8' fill-opacity='.9'/><path d='M0 150C90 96 190 90 280 120 380 80 500 70 600 110 650 100 680 108 700 118V260H0Z' fill='%23DCEBC8'/><path d='M0 190C100 150 210 150 310 176 410 150 520 150 700 184V260H0Z' fill='%23C7DEAD'/><g fill='%23DDAE78'><rect x='512' y='196' width='128' height='34'/><rect x='524' y='168' width='104' height='28'/><rect x='538' y='144' width='76' height='24'/><rect x='550' y='124' width='52' height='20'/><rect x='562' y='108' width='28' height='16'/><path d='M570 108l6-18 6 18Z'/></g><g fill='%23EDCB9A'><rect x='512' y='196' width='128' height='5'/><rect x='524' y='168' width='104' height='5'/><rect x='538' y='144' width='76' height='5'/><rect x='550' y='124' width='52' height='5'/></g><g fill='%23C4905C'><rect x='566' y='206' width='20' height='24' rx='8'/></g><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><g fill='%2380B25F' fill-opacity='.9'><circle cx='110' cy='214' r='24'/><circle cx='140' cy='222' r='20'/><circle cx='330' cy='224' r='22'/><circle cx='460' cy='222' r='20'/><circle cx='676' cy='222' r='22'/></g><path d='M230 236 q7 -55 14 -110' stroke='%2378A35A' stroke-width='5' fill='none' stroke-linecap='round'/><path d='M244 126 q-17 2 -34 14 M244 126 q-12 -18 -24 -6 M244 126 q0 -26 0 -14 M244 126 q12 -18 24 -6 M244 126 q17 2 34 14' stroke='%2378A35A' stroke-width='4' fill='none' stroke-linecap='round'/><path d='M390 238 q-6 -42 -12 -84' stroke='%2378A35A' stroke-width='5' fill='none' stroke-linecap='round'/><path d='M378 154 q-17 2 -34 14 M378 154 q-12 -18 -24 -6 M378 154 q0 -26 0 -14 M378 154 q12 -18 24 -6 M378 154 q17 2 34 14' stroke='%2378A35A' stroke-width='4' fill='none' stroke-linecap='round'/></svg>"); }
body.home main > #news, body.home main > #events, body.home main > #courses, body.home main > #services, body.home main > #about, body.home main > #places, body.home main > #gallery, body.home main > #map { position: relative; overflow: hidden; }
body.home main > #news::before, body.home main > #events::before, body.home main > #courses::before, body.home main > #services::before, body.home main > #about::before, body.home main > #places::before, body.home main > #gallery::before, body.home main > #map::before {
  content: ""; display: block; position: absolute; top: 0; right: 0; bottom: auto; left: auto; width: min(46%, 560px); height: 210px; z-index: 0; pointer-events: none; opacity: .85;
  background: var(--svc-bg, var(--pl-art, var(--gl-art, var(--mp-art, var(--hm-scene))))) right top / cover no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 45%), linear-gradient(180deg, #000 55%, transparent 100%); -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent 0%, #000 45%), linear-gradient(180deg, #000 55%, transparent 100%); mask-composite: intersect;
}
body.home main > #services::after, body.home main > #places::after, body.home main > #news::after, body.home main > #gallery::after, body.home main > #map::after, body.home main > #events::after { display: none !important; }
body.home main > #news > .container, body.home main > #events > .container, body.home main > #courses > .container, body.home main > #services > .container, body.home main > #about > .container, body.home main > #places > .container, body.home main > #gallery > .container, body.home main > #map > .container { position: relative; z-index: 1; }
@media (max-width: 800px) { body.home main > #news::before, body.home main > #events::before, body.home main > #courses::before, body.home main > #services::before, body.home main > #about::before, body.home main > #places::before, body.home main > #gallery::before, body.home main > #map::before { width: 78%; height: 150px; opacity: .55; } }

/* the colour at the bottom of each section is the colour at the top of the next one */
html body.home main > .hm-quick { background: linear-gradient(180deg, #EAF3EC 0%, #F3F7EA 100%); }
html body.home main > #news { background: linear-gradient(180deg, #F3F7EA 0%, #FAF5E4 100%); }
html body.home main > #events { background: linear-gradient(180deg, #FAF5E4 0%, #F3F7EA 100%); }
html body.home main > #services { background: linear-gradient(180deg, #F3F7EA 0%, #EDF5EE 100%); }
html body.home main > #about { background: linear-gradient(180deg, #EDF5EE 0%, #F7F8EC 100%); }
html body.home main > #places { background: linear-gradient(180deg, #F7F8EC 0%, #F3F7EA 100%); }
html body.home main > #gallery { background: linear-gradient(180deg, #F3F7EA 0%, #F7F8EC 100%); }
html body.home main > #map { background: linear-gradient(180deg, #F7F8EC 0%, #F3F7EA 100%); }

/* ---------- each homepage section has its own scene (same soft style, different picture) ---------- */
body.home { --sc-news: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 260' preserveAspectRatio='xMaxYMin slice'><circle cx='470' cy='64' r='34' fill='%23FBE7A8' fill-opacity='.9'/><path d='M0 150 C90 96 190 90 280 120 380 80 500 70 600 110 650 100 680 108 700 118 V260H0Z' fill='%23DCEBC8'/><path d='M0 190 C100 150 210 150 310 176 410 150 520 150 700 184 V260H0Z' fill='%23C7DEAD'/><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><rect x='400' y='190' width='56' height='36' fill='%23F4E8CF'/><path d='M394 190 L428 168 L462 190 Z' fill='%23D98B5B'/><rect x='423' y='208' width='10' height='18' fill='%23C4905C'/><rect x='470' y='182' width='64' height='42' fill='%23F4E8CF'/><path d='M464 182 L502 157 L540 182 Z' fill='%23C9714A'/><rect x='497' y='206' width='10' height='18' fill='%23C4905C'/><rect x='548' y='192' width='52' height='34' fill='%23F4E8CF'/><path d='M542 192 L574 171 L606 192 Z' fill='%23D98B5B'/><rect x='569' y='208' width='10' height='18' fill='%23C4905C'/><rect x='612' y='184' width='60' height='40' fill='%23F4E8CF'/><path d='M606 184 L642 160 L678 184 Z' fill='%23C9714A'/><rect x='637' y='206' width='10' height='18' fill='%23C4905C'/><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><circle cx='360' cy='200' r='22' fill='%2380B25F' fill-opacity='.9'/><rect x='358' y='200' width='4' height='22' fill='%236E9A4F'/><circle cx='690' cy='206' r='20' fill='%2380B25F' fill-opacity='.9'/><rect x='688' y='206' width='4' height='20' fill='%236E9A4F'/><circle cx='120' cy='208' r='24' fill='%2380B25F' fill-opacity='.9'/><rect x='118' y='208' width='4' height='24' fill='%236E9A4F'/><path d='M250 236 q6 -48 12 -96' stroke='%2378A35A' stroke-width='5' fill='none' stroke-linecap='round'/><path d='M262 140 q-17 2 -34 14 M262 140 q-12 -18 -24 -6 M262 140 q12 -18 24 -6 M262 140 q17 2 34 14' stroke='%2378A35A' stroke-width='4' fill='none' stroke-linecap='round'/></svg>"); }
body.home { --sc-events: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 260' preserveAspectRatio='xMaxYMin slice'><circle cx='150' cy='70' r='30' fill='%23FBE7A8' fill-opacity='.9'/><path d='M0 150 C90 96 190 90 280 120 380 80 500 70 600 110 650 100 680 108 700 118 V260H0Z' fill='%23DCEBC8'/><path d='M0 190 C100 150 210 150 310 176 410 150 520 150 700 184 V260H0Z' fill='%23C7DEAD'/><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><path d='M290 60 Q480 120 680 62' stroke='%23B7A26A' stroke-width='2' fill='none'/><path d='M300 74 l12 0 l-6 16 Z' fill='%23E8B03A' fill-opacity='.9'/><path d='M344 67 l12 0 l-6 16 Z' fill='%23C9714A' fill-opacity='.9'/><path d='M388 63 l12 0 l-6 16 Z' fill='%2380B25F' fill-opacity='.9'/><path d='M432 60 l12 0 l-6 16 Z' fill='%23E8B03A' fill-opacity='.9'/><path d='M476 60 l12 0 l-6 16 Z' fill='%23C9714A' fill-opacity='.9'/><path d='M520 60 l12 0 l-6 16 Z' fill='%2380B25F' fill-opacity='.9'/><path d='M564 63 l12 0 l-6 16 Z' fill='%23E8B03A' fill-opacity='.9'/><path d='M608 67 l12 0 l-6 16 Z' fill='%23C9714A' fill-opacity='.9'/><path d='M652 74 l12 0 l-6 16 Z' fill='%2380B25F' fill-opacity='.9'/><g fill='%23DDAE78'><rect x='540' y='200' width='110' height='30'/><rect x='552' y='168' width='86' height='32'/><rect x='564' y='140' width='62' height='28'/><rect x='576' y='116' width='38' height='24'/><path d='M585 116 Q595 84 605 116Z'/></g><g fill='%23EDCB9A'><rect x='540' y='200' width='110' height='4'/><rect x='552' y='168' width='86' height='4'/><rect x='564' y='140' width='62' height='4'/></g><g fill='%23E8B03A' fill-opacity='.85'><circle cx='420' cy='140' r='9'/><circle cx='470' cy='150' r='9'/><circle cx='370' cy='150' r='9'/></g><g stroke='%23B7A26A' stroke-width='1.5'><path d='M420 112v19M470 120v21M370 120v21'/></g><circle cx='320' cy='206' r='22' fill='%2380B25F' fill-opacity='.9'/><rect x='318' y='206' width='4' height='22' fill='%236E9A4F'/><circle cx='690' cy='208' r='20' fill='%2380B25F' fill-opacity='.9'/><rect x='688' y='208' width='4' height='20' fill='%236E9A4F'/><path d='M200 238 q-5 -42 -10 -84' stroke='%2378A35A' stroke-width='5' fill='none' stroke-linecap='round'/><path d='M190 154 q-17 2 -34 14 M190 154 q-12 -18 -24 -6 M190 154 q12 -18 24 -6 M190 154 q17 2 34 14' stroke='%2378A35A' stroke-width='4' fill='none' stroke-linecap='round'/></svg>"); }
body.home { --sc-services: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 260' preserveAspectRatio='xMaxYMin slice'><circle cx='170' cy='66' r='32' fill='%23FBE7A8' fill-opacity='.9'/><path d='M0 150 C90 96 190 90 280 120 380 80 500 70 600 110 650 100 680 108 700 118 V260H0Z' fill='%23DCEBC8'/><path d='M0 190 C100 150 210 150 310 176 410 150 520 150 700 184 V260H0Z' fill='%23C7DEAD'/><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><rect x='420' y='160' width='200' height='70' fill='%23F4E8CF'/><path d='M410 160 L520 118 L630 160Z' fill='%23D98B5B'/><g fill='%23E8D6AF'><rect x='440' y='170' width='14' height='60'/><rect x='480' y='170' width='14' height='60'/><rect x='546' y='170' width='14' height='60'/><rect x='586' y='170' width='14' height='60'/></g><rect x='508' y='190' width='24' height='40' rx='10' fill='%23C4905C'/><rect x='518' y='70' width='3' height='50' fill='%23888'/><rect x='521' y='70' width='22' height='5' fill='%23E8913A'/><rect x='521' y='75' width='22' height='5' fill='%23FFFFFF'/><rect x='521' y='80' width='22' height='5' fill='%2368B05A'/><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><path d='M380 260 Q470 232 560 230 L620 230 L640 260Z' fill='%23E8E0C8' fill-opacity='.9'/><circle cx='360' cy='206' r='22' fill='%2380B25F' fill-opacity='.9'/><rect x='358' y='206' width='4' height='22' fill='%236E9A4F'/><circle cx='668' cy='208' r='20' fill='%2380B25F' fill-opacity='.9'/><rect x='666' y='208' width='4' height='20' fill='%236E9A4F'/><circle cx='110' cy='212' r='24' fill='%2380B25F' fill-opacity='.9'/><rect x='108' y='212' width='4' height='24' fill='%236E9A4F'/><path d='M260 238 q6 -45 12 -90' stroke='%2378A35A' stroke-width='5' fill='none' stroke-linecap='round'/><path d='M272 148 q-17 2 -34 14 M272 148 q-12 -18 -24 -6 M272 148 q12 -18 24 -6 M272 148 q17 2 34 14' stroke='%2378A35A' stroke-width='4' fill='none' stroke-linecap='round'/></svg>"); }
body.home { --sc-about: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 260' preserveAspectRatio='xMaxYMin slice'><circle cx='500' cy='78' r='36' fill='%23FBE7A8' fill-opacity='.9'/><path d='M0 130 C90 76 190 70 280 100 380 60 500 50 600 90 650 80 680 88 700 98 V260H0Z' fill='%23DCEBC8'/><path d='M0 170 C100 130 210 130 310 156 410 130 520 130 700 164 V260H0Z' fill='%23C7DEAD'/><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><path d='M0 150 C140 134 300 160 470 144 S640 158 700 146 V260H0Z' fill='%23CFE3A8'/><path d='M0 178 C140 162 300 188 470 172 S640 186 700 174 V260H0Z' fill='%23BBD793'/><path d='M0 206 C140 190 300 216 470 200 S640 214 700 202 V260H0Z' fill='%23A9CB84'/><path d='M0 234 C140 218 300 244 470 228 S640 242 700 230 V260H0Z' fill='%2397BE76'/><g stroke='%2388B067' stroke-width='1.5' stroke-opacity='.7' fill='none'><path d='M60 214 H300 M90 238 H340 M380 196 H640 M400 222 H680'/></g><rect x='560' y='170' width='44' height='30' fill='%23F4E8CF'/><path d='M554 170 L582 151 L610 170 Z' fill='%23D98B5B'/><rect x='577' y='182' width='10' height='18' fill='%23C4905C'/><path d='M180 214 q6 -44 12 -88' stroke='%2378A35A' stroke-width='5' fill='none' stroke-linecap='round'/><path d='M192 126 q-17 2 -34 14 M192 126 q-12 -18 -24 -6 M192 126 q12 -18 24 -6 M192 126 q17 2 34 14' stroke='%2378A35A' stroke-width='4' fill='none' stroke-linecap='round'/><path d='M330 216 q-5 -35 -10 -70' stroke='%2378A35A' stroke-width='5' fill='none' stroke-linecap='round'/><path d='M320 146 q-17 2 -34 14 M320 146 q-12 -18 -24 -6 M320 146 q12 -18 24 -6 M320 146 q17 2 34 14' stroke='%2378A35A' stroke-width='4' fill='none' stroke-linecap='round'/><circle cx='110' cy='200' r='18' fill='%2380B25F' fill-opacity='.9'/><rect x='108' y='200' width='4' height='18' fill='%236E9A4F'/><circle cx='660' cy='196' r='18' fill='%2380B25F' fill-opacity='.9'/><rect x='658' y='196' width='4' height='18' fill='%236E9A4F'/></svg>"); }
body.home { --sc-places: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 260' preserveAspectRatio='xMaxYMin slice'><circle cx='210' cy='62' r='30' fill='%23FBE7A8' fill-opacity='.9'/><path d='M0 150 C90 96 190 90 280 120 380 80 500 70 600 110 650 100 680 108 700 118 V260H0Z' fill='%23DCEBC8'/><path d='M0 190 C100 150 210 150 310 176 410 150 520 150 700 184 V260H0Z' fill='%23C7DEAD'/><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><ellipse cx='420' cy='214' rx='190' ry='26' fill='%23CFE6EA'/><ellipse cx='420' cy='214' rx='150' ry='18' fill='%23BDDDE3'/><path d='M330 210q20 6 40 0M440 220q20 6 40 0M390 226q20 5 40 0' stroke='%23fff' stroke-width='2' fill='none' stroke-opacity='.8'/><g fill='%23DDAE78'><rect x='560' y='170' width='60' height='36'/><path d='M552 170 590 134 628 170Z'/><rect x='584' y='116' width='4' height='20'/></g><rect x='578' y='184' width='24' height='22' rx='10' fill='%23C4905C'/><g stroke='%2378A35A' stroke-width='2' fill='none' stroke-linecap='round'><path d='M300 90 q8 -8 16 0 q8 -8 16 0 M360 66 q6 -6 12 0 q6 -6 12 0 M430 96 q6 -6 12 0 q6 -6 12 0'/></g><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><path d='M250 226 q7 -48 14 -96' stroke='%2378A35A' stroke-width='5' fill='none' stroke-linecap='round'/><path d='M264 130 q-17 2 -34 14 M264 130 q-12 -18 -24 -6 M264 130 q12 -18 24 -6 M264 130 q17 2 34 14' stroke='%2378A35A' stroke-width='4' fill='none' stroke-linecap='round'/><circle cx='150' cy='204' r='22' fill='%2380B25F' fill-opacity='.9'/><rect x='148' y='204' width='4' height='22' fill='%236E9A4F'/><circle cx='676' cy='208' r='20' fill='%2380B25F' fill-opacity='.9'/><rect x='674' y='208' width='4' height='20' fill='%236E9A4F'/></svg>"); }
body.home { --sc-gallery: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 260' preserveAspectRatio='xMaxYMin slice'><circle cx='150' cy='58' r='28' fill='%23FBE7A8' fill-opacity='.9'/><path d='M0 160 C90 106 190 100 280 130 380 90 500 80 600 120 650 110 680 118 700 128 V260H0Z' fill='%23DCEBC8'/><path d='M0 200 C100 160 210 160 310 186 410 160 520 160 700 194 V260H0Z' fill='%23C7DEAD'/><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><g transform='rotate(-7 385 102)'><rect x='330' y='60' width='110' height='84' rx='8' fill='%23FFFFFF'/><rect x='338' y='68' width='94' height='68' rx='4' fill='%23DCEBC8'/><circle cx='410' cy='86' r='9' fill='%23FBE7A8'/><path d='M338 136 l22 -26 l18 20 l12 -12 l22 28Z' fill='%2380B25F' fill-opacity='.85'/></g><g transform='rotate(5 510 150)'><rect x='450' y='104' width='120' height='92' rx='8' fill='%23FFFFFF'/><rect x='458' y='112' width='104' height='76' rx='4' fill='%23DCEBC8'/><circle cx='540' cy='130' r='9' fill='%23FBE7A8'/><path d='M458 188 l22 -26 l18 20 l12 -12 l22 28Z' fill='%2380B25F' fill-opacity='.85'/></g><g transform='rotate(-3 630 89)'><rect x='580' y='50' width='100' height='78' rx='8' fill='%23FFFFFF'/><rect x='588' y='58' width='84' height='62' rx='4' fill='%23DCEBC8'/><circle cx='650' cy='76' r='9' fill='%23FBE7A8'/><path d='M588 120 l22 -26 l18 20 l12 -12 l22 28Z' fill='%2380B25F' fill-opacity='.85'/></g><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><g fill='%2380B25F' fill-opacity='.9'><path d='M240 250 C230 220 246 196 276 190 C280 218 268 238 240 250Z'/><path d='M264 252 C262 230 276 212 300 208 C300 230 288 246 264 252Z' fill-opacity='.7'/></g><circle cx='676' cy='210' r='20' fill='%2380B25F' fill-opacity='.9'/><rect x='674' y='210' width='4' height='20' fill='%236E9A4F'/><path d='M200 238 q-4 -40 -8 -80' stroke='%2378A35A' stroke-width='5' fill='none' stroke-linecap='round'/><path d='M192 158 q-17 2 -34 14 M192 158 q-12 -18 -24 -6 M192 158 q12 -18 24 -6 M192 158 q17 2 34 14' stroke='%2378A35A' stroke-width='4' fill='none' stroke-linecap='round'/></svg>"); }
body.home { --sc-map: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 260' preserveAspectRatio='xMaxYMin slice'><circle cx='110' cy='62' r='28' fill='%23FBE7A8' fill-opacity='.9'/><path d='M0 140 C90 86 190 80 280 110 380 70 500 60 600 100 650 90 680 98 700 108 V260H0Z' fill='%23DCEBC8'/><path d='M0 180 C100 140 210 140 310 166 410 140 520 140 700 174 V260H0Z' fill='%23C7DEAD'/><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><ellipse cx='520' cy='140' rx='200' ry='90' fill='none' stroke='%23B9D5A0' stroke-width='2' stroke-opacity='.75'/><ellipse cx='520' cy='140' rx='160' ry='70' fill='none' stroke='%23B9D5A0' stroke-width='2' stroke-opacity='.75'/><ellipse cx='520' cy='140' rx='120' ry='52' fill='none' stroke='%23B9D5A0' stroke-width='2' stroke-opacity='.75'/><ellipse cx='520' cy='140' rx='80' ry='36' fill='none' stroke='%23B9D5A0' stroke-width='2' stroke-opacity='.75'/><path d='M260 260 C320 200 380 190 440 170 S560 120 700 100' stroke='%23BDDDE3' stroke-width='12' fill='none' stroke-linecap='round'/><path d='M120 230 C220 200 330 214 430 176 S580 150 650 130' stroke='%23E3AC3F' stroke-width='3' fill='none' stroke-dasharray='2 9' stroke-linecap='round'/><g transform='translate(500 70)'><path d='M22 62 C-2 36 2 4 22 4 42 4 46 36 22 62Z' fill='%23E3AC3F'/><circle cx='22' cy='24' r='9' fill='%23fff'/></g><circle cx='300' cy='206' r='20' fill='%2380B25F' fill-opacity='.9'/><rect x='298' y='206' width='4' height='20' fill='%236E9A4F'/><circle cx='640' cy='214' r='18' fill='%2380B25F' fill-opacity='.9'/><rect x='638' y='214' width='4' height='18' fill='%236E9A4F'/><path d='M190 234 q5 -40 10 -80' stroke='%2378A35A' stroke-width='5' fill='none' stroke-linecap='round'/><path d='M200 154 q-17 2 -34 14 M200 154 q-12 -18 -24 -6 M200 154 q12 -18 24 -6 M200 154 q17 2 34 14' stroke='%2378A35A' stroke-width='4' fill='none' stroke-linecap='round'/></svg>"); }
html body.home main > #news::before { background-image: var(--sc-news); }
html body.home main > #events::before { background-image: var(--sc-events); }
html body.home main > #services::before { background-image: var(--svc-bg, var(--sc-services)); }
html body.home main > #about::before { background-image: var(--sc-about); }
html body.home main > #places::before { background-image: var(--pl-art, var(--sc-places)); }
html body.home main > #gallery::before { background-image: var(--gl-art, var(--sc-gallery)); }
html body.home main > #map::before { background-image: var(--mp-art, var(--sc-map)); }

/* events header: the same pill, title and underline as the other sections */
body.home #events .evh-head { align-items: flex-end; gap: 24px; }
body.home #events .evh-head .section-head h2::after { width: 56px; height: 4px; margin-top: 12px; border-radius: 4px; background: linear-gradient(90deg, #D9A441, #E8B954); }
body.home #events .nw-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 var(--sp-3); padding: 4px 16px 4px 4px; border-radius: 999px; background: rgba(255, 255, 255, .85); box-shadow: 0 4px 16px rgba(26, 34, 30, .08); color: var(--color-text); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
body.home #events .nw-eyebrow::before, body.home #events .nw-eyebrow::after { display: none !important; content: none !important; }
body.home #events .nw-ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(145deg, #E8A03C, #B5541C); color: #fff; }
body.home #events .nw-line { display: block; width: 26px; height: 2px; border-radius: 2px; background: #E3AC3F; }

/* ---------- Section labels, as in the design: a big gold coin with a white ring and two leaves behind it, a soft pill, spaced capitals, a gold line and a faint leaf ---------- */
html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-eyebrow { position: relative; isolation: isolate; display: inline-flex; align-items: center; gap: 18px; min-height: 46px; margin: 8px 0 var(--sp-4) 26px; padding: 0 74px 0 0; border: 1px solid rgba(143, 186, 112, .35); border-radius: 999px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 70'><g fill='%23A9C58A' fill-opacity='.38'><path d='M30 6C14 14 10 36 18 56c20-8 24-30 12-50Z'/><path d='M10 54C0 44 2 30 14 24c10 12 8 24-4 30Z' fill-opacity='.8'/></g></svg>") right 18px center / 34px 40px no-repeat, linear-gradient(180deg, #FFFFFF 0%, #F6F9EC 100%); box-shadow: 0 8px 22px rgba(70, 110, 60, .13); color: #14543A; font-size: .9375rem; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-ic { position: relative; display: grid; place-items: center; flex: none; width: 62px; height: 62px; margin: -8px 0 -8px -26px; border-radius: 50%; background: radial-gradient(circle at 35% 25%, #F8C65A 0%, #E39A2B 55%, #C27216 100%); color: #fff; box-shadow: 0 0 0 5px #fff, inset 0 0 0 3px rgba(255, 255, 255, .28), 0 8px 18px rgba(181, 100, 20, .35); }
html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-ic::before { content: ""; position: absolute; left: -22px; bottom: -6px; width: 34px; height: 40px; z-index: -1; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 70'><defs><linearGradient id='a' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%2377B24A'/><stop offset='1' stop-color='%231F6B3D'/></linearGradient></defs><path d='M30 6C10 12 4 32 8 50c18-4 28-18 22-44Z' fill='url(%23a)'/><path d='M22 66C10 52 12 36 26 26c14 14 12 30-4 40Z' fill='url(%23a)' fill-opacity='.9'/><path d='M30 8C22 22 16 34 10 48' stroke='%23fff' stroke-opacity='.35' stroke-width='1.2' fill='none'/></svg>") center / contain no-repeat; filter: drop-shadow(0 4px 6px rgba(20, 80, 40, .25)); }
html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-ic svg { width: 28px; height: 28px; }
html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-t, html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-t span { color: #14543A; font-weight: 800; }
html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-line { display: block; flex: none; width: 56px; height: 3px; border-radius: 3px; background: #E3A92E; }
html body.home #services .nw-eyebrow .nw-t, html body.home #services .nw-eyebrow .nw-t span { color: #14543A !important; }
@media (max-width: 640px) {
  html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-eyebrow { min-height: 40px; gap: 12px; margin-left: 22px; padding-right: 52px; font-size: .8125rem; letter-spacing: .16em; background-position: right 12px center; }
  html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-ic { width: 50px; height: 50px; margin-left: -22px; box-shadow: 0 0 0 4px #fff, inset 0 0 0 2px rgba(255, 255, 255, .28), 0 6px 14px rgba(181, 100, 20, .35); }
  html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-ic svg { width: 24px; height: 24px; }
  html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-line { width: 34px; }
}

/* section labels: a clearly visible pill body (white, green edge, a real shadow) on every section background */
html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-eyebrow { border: 1.5px solid rgba(90, 150, 70, .5); background-color: #FFFFFF; box-shadow: 0 10px 24px rgba(30, 80, 45, .22), inset 0 0 0 1px rgba(255, 255, 255, .9); }
html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-ic::before { left: -24px; bottom: -8px; width: 38px; height: 44px; }

/* events: "View all events" sits under the cards, in the same gold as the other section buttons */
body.home #events .evh-more { display: flex; justify-content: center; margin-top: clamp(14px, 2.6vh, 32px); }
body.home #events .evh-all { min-height: 52px; padding: 0 28px; border: 0; border-radius: 12px; background: linear-gradient(180deg, #F6C458 0%, #E3A532 60%, #D18E19 100%); color: #1F1604; font-size: 1.0625rem; font-weight: 700; box-shadow: 0 10px 24px rgba(201, 138, 46, .35); }
body.home #events .evh-all:hover { background: linear-gradient(180deg, #F8CE6E 0%, #E8AE3E 60%, #D69520 100%); }
@media (max-width: 800px) { body.home #events .evh-all { width: 100%; justify-content: center; } }

/* homepage news cards: no coloured border */
body.home #news .news-card { border: 0 !important; border-bottom-width: 0 !important; }

/* Village services label: an older "glass tag" rule was winning, so it looked faint; force the same white pill as the other sections */
html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-eyebrow { background-color: #FFFFFF !important; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 70'><g fill='%23A9C58A' fill-opacity='.38'><path d='M30 6C14 14 10 36 18 56c20-8 24-30 12-50Z'/><path d='M10 54C0 44 2 30 14 24c10 12 8 24-4 30Z' fill-opacity='.8'/></g></svg>"), linear-gradient(180deg, #FFFFFF 0%, #F6F9EC 100%) !important; border: 1.5px solid rgba(90, 150, 70, .5) !important; box-shadow: 0 10px 24px rgba(30, 80, 45, .22), inset 0 0 0 1px rgba(255, 255, 255, .9) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; color: #14543A !important; }

/* section labels: no leaf pattern inside the pill, just the clean white body (the leaves stay behind the gold coin) */
html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-eyebrow { background-image: linear-gradient(180deg, #FFFFFF 0%, #F6F9EC 100%) !important; background-repeat: no-repeat !important; background-size: 100% 100% !important; background-position: center !important; padding-right: 30px !important; }
@media (max-width: 640px) { html body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-eyebrow { padding-right: 22px !important; } }

/* Telugu section labels: bigger text, and no wide letter spacing (it breaks Telugu letters apart) */
html[data-lang="te"] body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-eyebrow { font-size: 1.25rem !important; letter-spacing: 0 !important; text-transform: none !important; line-height: 1.3; min-height: 50px; }
html[data-lang="te"] body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-t, html[data-lang="te"] body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-t span { font-size: 1.25rem; letter-spacing: 0; font-weight: 800; }
@media (max-width: 640px) { html[data-lang="te"] body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-eyebrow, html[data-lang="te"] body.home :is(#news, #events, #courses, #services, #about, #places, #gallery, #map) .nw-t span { font-size: 1.0625rem !important; } }

/* quick-link cards: bigger titles and descriptions (English and Telugu) */
html body.home .hm-quick a.hm-tile .hm-tile-t strong { font-size: 1.625rem !important; line-height: 1.2 !important; }
html body.home .hm-quick a.hm-tile .hm-tile-t small, html body.home .hm-quick a.hm-tile .hm-tile-t small span { font-size: 1.125rem !important; line-height: 1.45 !important; }
html[data-lang="te"] body.home .hm-quick a.hm-tile .hm-tile-t strong { font-size: 1.6875rem !important; }
html[data-lang="te"] body.home .hm-quick a.hm-tile .hm-tile-t small, html[data-lang="te"] body.home .hm-quick a.hm-tile .hm-tile-t small span { font-size: 1.1875rem !important; line-height: 1.6 !important; }
@media (max-width: 640px) {
  html body.home .hm-quick a.hm-tile .hm-tile-t strong { font-size: 1.3125rem !important; }
  html body.home .hm-quick a.hm-tile .hm-tile-t small, html body.home .hm-quick a.hm-tile .hm-tile-t small span { font-size: .9375rem !important; }
  html[data-lang="te"] body.home .hm-quick a.hm-tile .hm-tile-t strong { font-size: 1.375rem !important; }
  html[data-lang="te"] body.home .hm-quick a.hm-tile .hm-tile-t small, html[data-lang="te"] body.home .hm-quick a.hm-tile .hm-tile-t small span { font-size: 1rem !important; }
}

/* ---------- Homepage "Learn something new": a swipe row of course cards ---------- */
body.home { --sc-courses: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 260' preserveAspectRatio='xMaxYMin slice'><circle cx='560' cy='60' r='34' fill='%23FBE7A8' fill-opacity='.9'/><path d='M0 150C90 100 190 96 280 124 380 84 500 76 600 112 650 102 680 110 700 120V260H0Z' fill='%23DCEBC8'/><path d='M0 192C100 154 210 154 310 178 410 152 520 152 700 186V260H0Z' fill='%23C7DEAD'/><g fill='%23F2E6CB'><rect x='440' y='150' width='160' height='60'/><rect x='520' y='126' width='24' height='28'/></g><path d='M430 150 520 112 610 150Z' fill='%23D98B5B'/><g fill='%23C4905C'><rect x='505' y='176' width='30' height='34' rx='12'/></g><g fill='%23E8D6AF'><rect x='456' y='162' width='22' height='26'/><rect x='562' y='162' width='22' height='26'/></g><rect x='480' y='70' width='3' height='56' fill='%23888'/><rect x='483' y='70' width='22' height='5' fill='%23E8913A'/><rect x='483' y='75' width='22' height='5' fill='%23FFFFFF'/><rect x='483' y='80' width='22' height='5' fill='%2368B05A'/><path d='M0 226C120 196 260 200 380 222 480 202 600 204 700 224V260H0Z' fill='%23B2D197'/><g transform='rotate(-8 230 190)'><rect x='170' y='160' width='56' height='40' rx='4' fill='%23FFFFFF'/><rect x='228' y='160' width='56' height='40' rx='4' fill='%23FFFFFF'/><path d='M178 172h40M178 182h40M236 172h40M236 182h40' stroke='%23BFD6AB' stroke-width='3'/></g><g stroke='%234F8A3A' stroke-width='5' stroke-linecap='round' fill='none'><path d='M120 240c2-40 0-70-6-100M114 140c-16-8-30-6-42 4M114 140c14-12 28-14 42-4'/></g><g fill='%236FA356'><circle cx='640' cy='226' r='26'/><circle cx='380' cy='232' r='20'/></g></svg>"); }
html body.home main > #courses::before { background-image: var(--sc-courses); }
html body.home main > #courses { background: #F3F7EA; padding-block: var(--sp-7); }
body.home #courses .section-head { text-align: left; max-width: 720px; margin-bottom: var(--sp-5); }
body.home #courses .section-head h2 em { font-style: normal; color: #D9962A; }
body.home #courses .section-head h2::after { content: ""; display: block; width: 56px; height: 4px; margin-top: 12px; border-radius: 4px; background: linear-gradient(90deg, #D9A441, #E8B954); }
body.home #courses .section-head p:not(.eyebrow) { margin-top: var(--sp-3); color: #4A5750; font-size: 1rem; line-height: 1.55; max-width: 60ch; }
body.home #courses .crh-track { display: flex; gap: 20px; overflow-x: auto; padding: 4px 4px 18px; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-padding-inline: 4px; }
body.home #courses .crh-track::-webkit-scrollbar { display: none; }
body.home #courses .crh-track .cr-card { flex: 0 0 calc((100% - 60px) / 4); min-width: 270px; scroll-snap-align: start; }
body.home #courses .cr-img { aspect-ratio: 2 / 1; }
body.home #courses .crh-more { display: flex; justify-content: center; margin-top: clamp(14px, 2.6vh, 32px); }
@media (max-width: 1099px) { body.home #courses .crh-track .cr-card { flex-basis: calc((100% - 40px) / 3); } }
@media (max-width: 800px) { body.home #courses .crh-track .cr-card { flex-basis: 78%; min-width: 0; } body.home #courses .evh-all { width: 100%; justify-content: center; } }
@media (max-width: 640px) { body.home main > #courses { padding-block: 36px; } body.home #courses .crh-track { margin-inline: -24px; padding-inline: 24px; scroll-padding-inline: 24px; } }
body.home #courses .evh-all { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 28px; border: 0; border-radius: 12px; background: linear-gradient(180deg, #F6C458 0%, #E3A532 60%, #D18E19 100%); color: #1F1604; font-size: 1.0625rem; font-weight: 700; text-decoration: none; box-shadow: 0 10px 24px rgba(201, 138, 46, .35); }
