/*
 * Humming Gardens — classic refresh (2026).
 * Loaded after every legacy stylesheet so it restyles the site without touching
 * layout, images or copy. Typography: Cormorant Garamond (display) + Manrope (text).
 */
:root {
  --hg-forest: #1f3a2d;
  --hg-forest-deep: #15281f;
  --hg-sage: #6f8a6c;
  --hg-gold: #b08d57;
  --hg-gold-soft: #d8c39d;
  --hg-ivory: #faf7f1;
  --hg-cream: #f3ede2;
  --hg-ink: #22261f;
  --hg-text: #555a52;
  --hg-line: #e6dfd2;
  --hg-serif: "Cormorant Garamond", "Times New Roman", Georgia, serif;
  --hg-sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --hg-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Base typography ---------- */
html { scroll-behavior: smooth; }
body {
  font-family: var(--hg-sans) !important;
  color: var(--hg-text);
  font-size: 15.5px;
  letter-spacing: .005em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
p, .text, li, td, th, label, input, textarea, select, button, a, strong, em, small, blockquote {
  font-family: var(--hg-sans);
}
p, .text { color: var(--hg-text); line-height: 1.85; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4,
.sec-title h2, .page-title h1, .page-title h2 {
  font-family: var(--hg-serif) !important;
  color: var(--hg-ink);
  font-weight: 600 !important;
  letter-spacing: .005em;
  line-height: 1.2 !important;
}
h1, .h1 { font-size: clamp(34px, 4.2vw, 54px); }
h2, .h2 { font-size: clamp(28px, 3.2vw, 42px); }
h3, .h3 { font-size: clamp(22px, 2.2vw, 28px) !important; }
h4, .h4 { font-size: 21px; }
h5, h6 { font-size: 18px; }

/* Italic serif lead paragraphs (legacy used Lora / Times) */
em, i:not([class]), .bold-text, [style*="oblique"], [style*="italic"] {
  font-family: var(--hg-serif) !important;
}
.approach-section .content-column .bold-text,
.approach-section .bold-text,
.list-style-one li span {
  font-family: var(--hg-serif) !important;
  font-size: 21px !important;
  line-height: 1.6 !important;
  font-weight: 500;
}

a { color: var(--hg-forest); transition: color .3s var(--hg-ease); }
a:hover, a:focus { color: var(--hg-gold); }

::selection { background: var(--hg-gold-soft); color: var(--hg-forest-deep); }

/* ---------- Header ---------- */
.main-header { border-bottom: 0; }
.main-header .header-upper {
  background: var(--hg-ivory);
  border-bottom: 1px solid var(--hg-line);
}
.main-header .info-box li,
.main-header .info-box li strong {
  font-family: var(--hg-sans);
  color: var(--hg-text);
  font-size: 13.5px;
  letter-spacing: .02em;
}
.main-header .info-box li strong { color: var(--hg-ink); font-weight: 600; }
.main-header .info-box .icon-box { color: var(--hg-gold); }

.main-header.header-style-three .header-lower,
.main-header .header-lower {
  background-color: var(--hg-forest) !important;
  box-shadow: 0 6px 24px -12px rgba(21, 40, 31, .55);
}
.main-menu .navigation > li > a {
  font-family: var(--hg-sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .14em;
  text-transform: uppercase !important;
  color: #f4efe6 !important;
}
.main-menu .navigation > li > a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 10px;
  height: 1px;
  background: var(--hg-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s var(--hg-ease);
}
.main-menu .navigation > li:hover > a::after,
.main-menu .navigation > li.current > a::after,
.main-menu .navigation > li.current-menu-item > a::after { transform: scaleX(1); }
.main-menu .navigation > li:hover > a,
.main-menu .navigation > li.current > a,
.main-menu .navigation > li.current-menu-item > a { color: var(--hg-gold-soft) !important; }

.main-menu .navigation > li > ul,
.main-menu .navigation > li > ul > li > ul {
  background: var(--hg-ivory) !important;
  border-top: 2px solid var(--hg-gold) !important;
  box-shadow: 0 18px 40px -18px rgba(21, 40, 31, .35);
}
.main-menu .navigation > li > ul > li { border-bottom: 1px solid var(--hg-line) !important; }
.main-menu .navigation > li > ul > li > a,
.main-menu .navigation > li > ul > li > ul > li > a {
  font-family: var(--hg-sans) !important;
  font-size: 14px !important;
  color: var(--hg-ink) !important;
  transition: color .25s, padding .25s;
}
.main-menu .navigation > li > ul > li:hover > a { color: var(--hg-gold) !important; padding-left: 46px; }

.header-lower .social-icons a { color: var(--hg-gold-soft) !important; transition: color .3s, transform .3s; }
.header-lower .social-icons a:hover { color: #fff !important; transform: translateY(-2px); }

.main-menu .navbar-header .navbar-toggle { border-color: var(--hg-gold-soft); }
.main-menu .navbar-header .navbar-toggle .icon-bar { background: var(--hg-gold-soft); }
@media (max-width: 767px) {
  .main-menu .navbar-collapse { background: var(--hg-forest-deep) !important; }
  .main-menu .navigation > li { border-color: rgba(255, 255, 255, .08) !important; }
}

/* ---------- Page title banner ---------- */
.page-title { position: relative; }
.page-title::before { background: linear-gradient(180deg, rgba(21, 40, 31, .35), rgba(21, 40, 31, .7)) !important; }
.page-title h1, .page-title h2 { color: #fff !important; font-size: clamp(38px, 5vw, 62px) !important; font-weight: 500 !important; }
.page-title .bread-crumb li, .page-title .bread-crumb li a { font-family: var(--hg-sans); letter-spacing: .14em; text-transform: uppercase; font-size: 12px; color: var(--hg-gold-soft) !important; }

/* ---------- Section headings ---------- */
.sec-title h2::after, .sec-title h2::before { background-color: var(--hg-gold) !important; }
.sec-title .separator, .sec-title .separater { background-color: var(--hg-gold) !important; }

/* ---------- Buttons ---------- */
.theme-btn, .btn-style-one, .btn-style-two, .btn-style-three, .btn-primary, .btn-success, .btn-default {
  font-family: var(--hg-sans) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
  border-radius: 0 !important;
  transition: background-color .35s var(--hg-ease), color .35s var(--hg-ease), border-color .35s var(--hg-ease), transform .35s var(--hg-ease), box-shadow .35s var(--hg-ease) !important;
}
.btn-style-one, .btn-primary, .btn-success {
  background-color: var(--hg-forest) !important;
  border: 1px solid var(--hg-forest) !important;
  color: #fff !important;
}
.btn-style-one:hover, .btn-primary:hover, .btn-success:hover {
  background-color: var(--hg-gold) !important;
  border-color: var(--hg-gold) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -14px rgba(176, 141, 87, .8);
}
.btn-style-two, .btn-style-three {
  background-color: transparent !important;
  border: 1px solid var(--hg-gold) !important;
  color: var(--hg-gold) !important;
}
.btn-style-two:hover, .btn-style-three:hover { background-color: var(--hg-gold) !important; color: #fff !important; }
.call-to-action .btn-style-one,
.fluid-section-three .btn-style-one {
  background-color: var(--hg-gold) !important;
  border-color: var(--hg-gold) !important;
}
.call-to-action .btn-style-one:hover,
.fluid-section-three .btn-style-one:hover {
  background-color: transparent !important;
  border-color: #fff !important;
}

/* ---------- Brand green → forest / gold ---------- */
[style*="#02ad88"], [style*="#02AD88"] { border-color: var(--hg-forest) !important; }
.fluid-section-three .content-column,
.fluid-section-three .inner-column,
[class*="green-bg"] {
  background-color: var(--hg-forest) !important;
}
.call-to-action.style-two::before,
.call-to-action::before { background-color: rgba(21, 40, 31, .82) !important; }
.call-to-action h2, .call-to-action .text { color: #fff !important; }
.call-to-action h2 { font-weight: 500 !important; font-size: clamp(30px, 3.6vw, 46px) !important; }
.call-to-action .text { font-family: var(--hg-serif) !important; font-style: italic; font-size: 20px; color: var(--hg-gold-soft) !important; }

.list-style-one li::before, .list-style-two li::before { background-color: var(--hg-gold) !important; }
.list-style-two li, .list-style-two li .icon { color: var(--hg-forest) !important; }
.fa-check, .fa-check-circle, .fa-check-square-o { color: var(--hg-gold) !important; }

/* ---------- Images & cards ---------- */
img { image-rendering: auto; }
.image-column img, .image-box img, .gallery-item img, .news-block img, .project-block img {
  transition: transform .8s var(--hg-ease), filter .8s var(--hg-ease);
}
.image-box, .gallery-item .image-box, .news-block .image-box, .project-block .image-box { overflow: hidden; }
.image-box:hover img, .gallery-item:hover img, .news-block:hover img, .project-block:hover img { transform: scale(1.04); }

.news-block .inner-box, .blog-block .inner-box, .services-block .inner-box, .accordion, .accordion-box .block {
  border-radius: 2px;
  transition: box-shadow .4s var(--hg-ease), transform .4s var(--hg-ease);
}
.news-block .inner-box:hover, .blog-block .inner-box:hover, .services-block .inner-box:hover {
  box-shadow: 0 24px 48px -28px rgba(21, 40, 31, .35);
  transform: translateY(-3px);
}
.accordion-box .block .acc-btn { font-family: var(--hg-sans) !important; color: var(--hg-ink); }
.accordion-box .block .acc-btn .icon, .accordion-box .block .acc-btn.active .icon { color: var(--hg-gold) !important; }

/* ---------- Footer ---------- */
.main-footer { background-color: var(--hg-forest-deep) !important; }
.main-footer .widgets-section { border-bottom: 1px solid rgba(216, 195, 157, .15); }
.main-footer h2, .main-footer .footer-title h2, .main-footer .footer-widget h2 {
  font-family: var(--hg-serif) !important;
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  letter-spacing: .02em;
}
.main-footer .footer-widget h2::after, .main-footer h2::before { background: var(--hg-gold) !important; }
.main-footer, .main-footer p, .main-footer .text, .main-footer li, .main-footer a { color: rgba(244, 239, 230, .72) !important; }
.main-footer a:hover { color: var(--hg-gold-soft) !important; }
.main-footer .number { font-family: var(--hg-serif) !important; color: var(--hg-gold-soft) !important; }
.main-footer .social-icon-two a, .social-icon-two li a {
  border-color: rgba(216, 195, 157, .35) !important;
  color: var(--hg-gold-soft) !important;
  transition: all .3s var(--hg-ease);
}
.main-footer .social-icon-two a:hover, .social-icon-two li a:hover { background: var(--hg-gold) !important; border-color: var(--hg-gold) !important; color: #fff !important; }
.main-footer .footer-bottom, .footer-bottom { background-color: #0f1e17 !important; color: rgba(244, 239, 230, .55) !important; font-size: 12.5px; letter-spacing: .04em; }
.footer-bottom a, .footer-bottom .copyright { color: rgba(244, 239, 230, .65) !important; }

/* ---------- Disclaimer modal ---------- */
.modal-content { border-radius: 2px !important; border: 0 !important; box-shadow: 0 40px 80px -30px rgba(15, 30, 23, .55) !important; }
.modal-header { border-bottom: 1px solid var(--hg-line) !important; }
.modal-title, .modal-header h4 { font-family: var(--hg-serif) !important; font-size: 26px !important; color: var(--hg-ink) !important; }
.modal-body, .modal-body p { font-size: 13.5px !important; line-height: 1.75 !important; color: var(--hg-text) !important; }
.modal-backdrop.in { opacity: .6 !important; background: var(--hg-forest-deep); }
.modal-footer .btn, .modal .btn-primary {
  background: var(--hg-forest) !important;
  border-color: var(--hg-forest) !important;
  border-radius: 0 !important;
  padding: 10px 28px !important;
}
.modal-footer .btn:hover, .modal .btn-primary:hover { background: var(--hg-gold) !important; border-color: var(--hg-gold) !important; }

/* ---------- Forms ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], textarea, select {
  border-radius: 0 !important;
  border-color: var(--hg-line) !important;
}
input:focus, textarea:focus, select:focus { border-color: var(--hg-gold) !important; box-shadow: 0 0 0 3px rgba(176, 141, 87, .15) !important; }

/* ---------- Scroll to top ---------- */
.scroll-to-top { background: var(--hg-forest) !important; border-color: var(--hg-gold) !important; color: var(--hg-gold-soft) !important; border-radius: 0 !important; }
.scroll-to-top:hover { background: var(--hg-gold) !important; color: #fff !important; }

/* ---------- CTA band (phone number removed) ---------- */
.number-box { text-align: center; }
.number-box::before { display: none !important; }
.number-box .pull-right { float: none !important; display: inline-block; width: auto; }

/* Headings set to plain yellow inline in legacy markup */
.approach-section.call-to-action h2,
.approach-section.call-to-action h3 { color: var(--hg-gold-soft) !important; font-weight: 500 !important; }

/* Lining figures read better for prices, areas and addresses */
body, h1, h2, h3, h4, h5, h6, .number, em { font-variant-numeric: lining-nums; }
