@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#a6a6a6
;--red:#DE2121;--orange:#EFB500;--paper:#f7f8f4;--muted:#000000;--line:#e1e6df;--white:#fff;--shadow:0 18px 50px rgba(21,42,28,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px}a{color:inherit}.site-header{height:78px;padding:0 max(5vw,22px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.12em;font-size:14px}.brand small{display:block;font-size:9px;letter-spacing:.22em;margin-top:3px}.brand-mark{display:grid;place-items:center;width:37px;height:37px;background:var(--lime);border-radius:11px;font-size:23px;letter-spacing:-.08em;color:var(--ink)}nav{display:flex;align-items:center;gap:28px;font-size:13px}nav a{text-decoration:none}.nav-cta{padding:12px 16px;border:1px solid var(--ink);border-radius:7px;font-weight:700}.hero{padding:76px max(7vw,24px) 66px;display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center;background:#eef1e9;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:800;color:var(--green);margin:0 0 17px}.hero h1,.section-heading h2,.how-section h2,.enquiry-section h2{font:800 clamp(36px,5vw,65px)/1.06 Manrope,sans-serif;letter-spacing:-.055em;margin:0}.hero h1 em{font-style:normal;color:var(--green)}.hero-copy>p:not(.eyebrow){max-width:510px;color:#000000;line-height:1.8;margin:22px 0}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:15px 20px;border:0;border-radius:7px;text-decoration:none;font:700 13px 'DM Sans',sans-serif;cursor:pointer}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--green)}.text-link{font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid #9ba69d;padding-bottom:4px}.hero-stats{display:flex;gap:42px;margin-top:48px}.hero-stats div{display:flex;flex-direction:column;gap:4px}.hero-stats strong{font:800 24px Manrope,sans-serif}.hero-stats span{font-size:11px;color:var(--muted)}.hero-art{position:relative;min-height:365px;display:grid;place-items:center}.art-card{position:absolute;border-radius:15px;box-shadow:var(--shadow);overflow:hidden}.art-back{width:64%;height:280px;right:0;top:15px;background:#c9d8c8;padding:22px;transform:rotate(7deg)}.art-back span{font-size:10px;font-weight:800;letter-spacing:.2em}.art-lines{margin-top:24px;height:175px;background:repeating-linear-gradient(0deg,transparent 0 22px,rgba(35,86,59,.18) 23px 24px),repeating-linear-gradient(90deg,transparent 0 35px,rgba(35,86,59,.15) 36px 37px)}.art-front{width:68%;height:310px;left:5%;top:28px;background:#fff;transform:rotate(-5deg);padding:15px}.art-label{font-size:9px;letter-spacing:.2em;font-weight:800}.art-wall{height:215px;margin-top:12px;background:linear-gradient(135deg,#DE2121 0 37%,#c8f169 37% 59%,#e8e9dd 59%);position:relative}.art-wall:after{content:'LOCAL\\A IMPACT';white-space:pre;position:absolute;left:16px;top:32px;color:white;font:800 32px/1 Manrope,sans-serif;letter-spacing:-.06em}.art-bottom{display:flex;flex-direction:column;gap:4px;padding-top:10px}.art-bottom b{font:800 16px Manrope}.art-bottom span{font-size:10px;color:var(--muted)}.floating-tag{position:absolute;bottom:0;right:0;background:#fff;border-radius:30px;padding:13px 17px;box-shadow:var(--shadow);font-size:11px;font-weight:700;display:flex;align-items:center;gap:9px}.pulse{width:8px;height:8px;border-radius:50%;background:#2a9b57;box-shadow:0 0 0 5px #e3f4e7}.setup-notice{margin:24px auto;max-width:1200px;padding:14px 18px;border:1px solid #e8c982;background:#fff6df;border-radius:8px;color:#76571c}.map-section{padding:76px max(5vw,22px) 85px;background:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-heading h2,.how-section h2,.enquiry-section h2{font-size:clamp(30px,3.6vw,44px)}.section-heading .muted{color:var(--muted);margin-bottom:0}.status-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;color:#5c685f}.status-legend span{display:flex;align-items:center;gap:6px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%}.available{background:#ffffff}.on_hold{background:#d88919}.booked{background:#c84646}.unavailable{background:#718078}.filter-bar{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;margin-bottom:15px}.filter-bar input,.filter-bar select{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;background:#fff;padding:13px 12px;font:12px 'DM Sans',sans-serif;color:var(--ink)}.search-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;padding-left:12px}.search-field span{font-size:22px;color:var(--muted)}.search-field input{border:0;outline:0}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-height:510px}.map-layout #mapCanvas{height:570px;min-width:0;background:#e6ece4;z-index:1}.results-panel{background:#fbfcf9;display:flex;flex-direction:column;min-height:510px;max-height:570px}.results-top{padding:17px 17px 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px}.results-top span{font-size:10px;color:var(--muted)}.site-list{overflow:auto;flex:1}.site-card{padding:13px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;cursor:pointer}.site-card:hover,.site-card.active{background:#eef4e9}.site-card img,.site-placeholder{width:86px;height:85px;object-fit:cover;border-radius:7px;background:#e1e9df}.site-placeholder{display:grid;place-items:center;color:#ffffff;font-size:23px}.site-card h3{font:700 12px/1.35 Manrope,sans-serif;margin:4px 0 5px}.site-card p{font-size:10px;color:var(--muted);margin:0 0 6px;line-height:1.45}.site-card .meta{font-size:10px;font-weight:700}.status-pill{display:inline-block;font-size:9px;font-weight:800;border-radius:30px;padding:5px 8px;background:#e7eee8;color:#266b3f}.status-pill.on_hold{background:#fff0d6;color:#8a590b}.status-pill.booked{background:#fce5e5;color:#a52c2c}.status-pill.unavailable{background:#e8ece9;color:#53625a}.list-foot{padding:12px 15px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}.map-pin{width:42px;height:42px;border:3px solid white;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);overflow:hidden;box-shadow:0 3px 12px #18271d55;background:#ddd}.map-pin img{width:100%;height:100%;object-fit:cover;transform:rotate(45deg) scale(1.4)}.map-pin .pin-letter{display:grid;place-items:center;width:100%;height:100%;transform:rotate(45deg);font-weight:800}.map-pin.status-available{outline:3px solid #ffffff}.map-pin.status-on_hold{outline:3px solid #d88919}.map-pin.status-booked{outline:3px solid #c84646}.map-pin.status-unavailable{outline:3px solid #718078}.leaflet-popup-content-wrapper{border-radius:10px}.leaflet-popup-content{margin:13px;width:220px!important}.popup-photo{width:100%;height:105px;object-fit:cover;border-radius:6px;margin-bottom:8px}.popup-title{font:800 13px Manrope;margin-bottom:5px}.popup-meta{font-size:10px;line-height:1.6;color:#56645a}.popup-link{display:inline-block;margin-top:9px;font-size:11px;font-weight:800;color:#DE2121;cursor:pointer}.how-section{padding:82px max(7vw,24px);background:#eaf0e6}.how-section h2{max-width:570px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:42px}.how-grid article{border-top:1px solid #c5d1c4;padding-top:20px}.how-grid article>span{font:800 11px Manrope;color:var(--green)}.how-grid h3{font:800 20px Manrope;margin:22px 0 8px}.how-grid p{font-size:13px;color:#637067;line-height:1.8;max-width:310px}.enquiry-section{padding:85px max(7vw,24px);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#fff}.enquiry-section>div>p:not(.eyebrow){max-width:350px;line-height:1.8;color:var(--muted)}.contact-note{display:flex;align-items:center;gap:12px;margin-top:30px;font-size:12px;line-height:1.8}.contact-note>span{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:#eef4e9;font-size:18px}.contact-note a{text-decoration:none;color:var(--green)}.enquiry-form{padding:26px;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 38px #1b39230b;display:flex;flex-direction:column;gap:15px}.form-title{font:800 18px Manrope;display:flex;justify-content:space-between;gap:15px;align-items:center}.form-title span{font:400 10px 'DM Sans';color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.enquiry-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700}.enquiry-form input:not([type=checkbox]),.enquiry-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;font:12px 'DM Sans';background:#fcfdfb;outline-color:#f06d26}.enquiry-form textarea{resize:vertical}.enquiry-form .consent{display:flex;flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.5}.consent input{margin-top:3px}.privacy-note{font-size:10px;line-height:1.6;color:var(--muted);margin:-8px 0 0}.enquiry-form .button{align-self:flex-start}.form-message{font-size:12px;margin:0}footer{padding:26px max(5vw,22px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#000000;color:#e9eee9;font-size:10px}footer a{text-decoration:none}.footer-brand{color:#fff}.footer-brand .brand-mark{color:#a6a6a6}
@media(max-width:1000px){.hero{padding-top:58px}.filter-bar{grid-template-columns:repeat(3,1fr)}.search-field{grid-column:span 3}.map-layout{grid-template-columns:minmax(0,1fr) 290px}.section-heading{align-items:start;flex-direction:column}.status-legend{margin-top:4px}.enquiry-section{gap:4vw}}
@media(max-width:720px){.site-header{height:66px}nav{gap:12px}nav>a:not(.nav-cta){display:none}.nav-cta{font-size:11px;padding:10px}.hero{grid-template-columns:1fr;padding-top:48px;gap:20px}.hero-art{min-height:320px;margin:0 4%}.hero-stats{gap:25px;margin-top:35px}.hero-stats strong{font-size:21px}.map-section{padding-top:55px;padding-bottom:55px}.filter-bar{grid-template-columns:1fr 1fr}.search-field{grid-column:span 2}.map-layout{grid-template-columns:1fr}.map-layout #mapCanvas{height:420px}.results-panel{max-height:400px;min-height:260px}.site-list{max-height:320px}.how-grid{grid-template-columns:1fr;gap:20px}.how-grid article{padding-top:15px}.how-grid h3{margin-top:12px}.enquiry-section{grid-template-columns:1fr;padding-top:58px;padding-bottom:58px;gap:30px}.enquiry-form{padding:18px}.form-title{align-items:flex-start;flex-direction:column;gap:5px}footer{flex-wrap:wrap}footer>span{order:3;width:100%}}
@media(max-width:390px){.hero h1{font-size:37px}.hero-actions{gap:13px}.button{padding:13px 14px}.hero-stats{gap:18px}.filter-bar{grid-template-columns:1fr}.search-field{grid-column:auto}.form-row{grid-template-columns:1fr}}
```css
/* Optional additional information section */
.additional-info {
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fcfdfb;
}

.additional-info h3 {
  margin: 0 0 6px;
  font: 800 14px Manrope, sans-serif;
  color: var(--ink);
}

.additional-info h3 span {
  font: 400 11px 'DM Sans', sans-serif;
  color: #68736b;
}

.additional-info > p {
  margin: 0 0 15px;
  font-size: 11px;
  line-height: 1.6;
  color: #68736b;
}

.checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.enquiry-form .option-checkbox {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 9px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  transition: border-color .2s, background .2s;
}

.enquiry-form .option-checkbox:hover {
  border-color: var(--green);
  background: #f3f7f0;
}

.enquiry-form .option-checkbox input {
  width: 16px;
  height: 16px;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--green);
  cursor: pointer;
}

.enquiry-form .option-checkbox span {
  line-height: 1.4;
}

@media (max-width: 480px) {
  .checkbox-grid {
    grid-template-columns: 1fr;
  }

  .additional-info {
    padding: 13px;
  }
}
/* Site descriptions and specifications */

.site-description {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.6;
    color: #555f59;
}

.site-features {
    margin-top: 10px;
    padding-top: 9px;
    border-top: 1px solid #e8e8e8;
}

.site-features strong,
.popup-description strong,
.popup-features strong {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #222;
    margin-bottom: 5px;
}

.site-features p,
.popup-description p,
.popup-features p {
    margin: 0;
    font-size: 12px;
    line-height: 1.6;
    color: #59635d;
    overflow-wrap: anywhere;
}

.popup-description,
.popup-features {
    margin-top: 12px;
}

.popup-link {
    display: inline-block;
    margin-top: 12px;
}
/* ========================================
   UYADI - IMPROVED TEXT CONTRAST
======================================== */

:root {
    --ink: #171717;
    --muted: #333333;
    --red: #DE2121;
    --red-hover: #F05A5A;
}

/* Main website text */
body {
    color: #171717;
}

/* Navigation */
.site-header,
.site-header a {
    color: #171717;
}

/* Paragraphs and secondary text */
.hero-copy > p:not(.eyebrow),
.how-grid p,
.site-card p,
.site-card .meta,
.list-foot,
.popup-meta,
.additional-info > p,
.privacy-note {
    color: #333333;
}

/* Form labels and descriptions */
.enquiry-form label,
.form-title,
.additional-info h3,
.additional-info h3 span {
    color: #171717;
}

/* Inputs and dropdowns */
.filter-bar input,
.filter-bar select,
.enquiry-form input,
.enquiry-form textarea {
    color: #171717;
}

/* Footer */
footer {
    color: #ffffff;
}
/* ========================================
   UYADI - RED BUTTON DESIGN
======================================== */

.button,
.button-dark,
.enquiry-form .button,
.nav-cta {
    background-color: #DE2121;
    color: #ffffff;
    border: 1px solid #DE2121;
    transition: background-color .2s ease,
                border-color .2s ease,
                color .2s ease;
}

/* Lighter red when hovering */
.button:hover,
.button-dark:hover,
.enquiry-form .button:hover,
.nav-cta:hover {
    background-color: #F05A5A;
    border-color: #F05A5A;
    color: #ffffff;
    opacity: 1;
}

/* Keep buttons readable when clicked or focused */
.button:focus-visible,
.nav-cta:focus-visible {
    outline: 3px solid rgba(222, 33, 33, .3);
    outline-offset: 3px;
}

/* Text links remain separate from buttons */
.text-link {
    color: #171717;
}
/* ========================================
   UYADI - CHECKBOX BRAND COLOURS
======================================== */

.enquiry-form .option-checkbox:hover {
    border-color: #DE2121;
    background: #fff5f5;
}

.enquiry-form .option-checkbox input {
    accent-color: #DE2121;
}
.site-description,
.site-features p,
.popup-description p,
.popup-features p {
    color: #222222;
}

.site-features strong,
.popup-description strong,
.popup-features strong {
    color: #111111;
}

/* =========================================
   UYADI OOH MAP - STYLE OVERRIDES
   Text colours and red buttons
========================================= */

:root {
    --ink: #171717;
    --muted: #333333;
    --red: #DE2121;
    --red-hover: #F05A5A;
}

/* Main text */
body {
    color: #171717;
}

/* Header and navigation */
.site-header,
.site-header a {
    color: #171717;
}

/* Secondary text */
.hero-copy > p:not(.eyebrow),
.how-grid p,
.site-card p,
.site-card .meta,
.list-foot,
.popup-meta,
.additional-info > p,
.privacy-note {
    color: #333333;
}

/* Form labels and headings */
.enquiry-form label,
.form-title,
.additional-info h3,
.additional-info h3 span {
    color: #171717;
}

/* Inputs */
.filter-bar input,
.filter-bar select,
.enquiry-form input,
.enquiry-form textarea {
    color: #171717;
}

/* Red buttons */
.button,
.button-dark,
.enquiry-form .button,
.nav-cta {
    background-color: #DE2121;
    color: #ffffff;
    border: 1px solid #DE2121;
    transition: background-color 0.2s ease,
                border-color 0.2s ease;
}

/* Lighter red on hover */
.button:hover,
.button-dark:hover,
.enquiry-form .button:hover,
.nav-cta:hover {
    background-color: #F05A5A;
    border-color: #F05A5A;
    color: #ffffff;
}

/* Text links */
.text-link {
    color: #171717;
}

/* Optional enquiry checkboxes */
.option-checkbox:hover {
    background: #fff5f5;
}

.option-checkbox input[type="checkbox"] {
    accent-color: #DE2121;
}

/* Site descriptions and specifications */
.site-description,
.site-features,
.site-card .site-description,
.site-card .site-features {
    color: #171717;
}

/* Footer */
footer {
    color: #ffffff;
}

/* =========================================
   UYADI SITE IMAGE ENLARGEMENT
========================================= */

.site-image-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 10px;
    background: #eeeeee;
}

/* Keep site preview images at their original size */
.site-card .site-image-wrap > img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

/* Keep map popup images at their original preview size */
.leaflet-popup .site-image-wrap > img {
    display: block;
    width: 100%;
    height: 170px;
    object-fit: cover;
}

/* Enlarge image button */
.image-enlarge {
    position: absolute;
    top: 10px;
    right: 10px;
    bottom: auto;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border: none;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.78);
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    z-index: 2;
}

.image-enlarge:hover {
    background: #DE2121;
    color: #ffffff;
}

.image-enlarge span:first-child {
    font-size: 14px;
}

/* Popup photograph */
.popup-photo {
    width: 100%;
    height: 170px;
    object-fit: cover;
    display: block;
}

/* Full-screen image background */
.image-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(0, 0, 0, 0.93);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 55px 20px 30px;
}

.image-lightbox.active {
    display: flex;
}

/* Enlarged photograph */
.lightbox-image {
    display: block;
    max-width: 95%;
    max-height: 82vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 5px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

/* Image caption */
.lightbox-caption {
    color: #ffffff;
    font-size: 14px;
    margin-top: 14px;
    text-align: center;
}

/* Close button */
.lightbox-close {
    position: absolute;
    top: 15px;
    right: 22px;
    border: none;
    background: transparent;
    color: #ffffff;
    font-size: 40px;
    line-height: 1;
    cursor: pointer;
}

.lightbox-close:hover {
    color: #DE2121;
}

/* Prevent background scrolling */
body.lightbox-open {
    overflow: hidden;
}

/* Mobile adjustments */
@media (max-width: 600px) {
    @media (max-width: 600px) {
    .site-card .site-image-wrap > img {
        height: auto;
    }
}

    .image-enlarge {
        font-size: 10px;
        padding: 6px 8px;
    }

    .lightbox-image {
        max-width: 100%;
        max-height: 78vh;
    }

    .lightbox-close {
        top: 10px;
        right: 15px;
    }
}

```