/*
 * Hello Elementor child site chrome only.
 * Brand Green: #007500, Brand Red: #920000; Font: Nunito.
 * Scoped classes keep existing tour designs intact.
 */
:root {
  --tw-green: #007500;
  --tw-red: #920000;
  --tw-ink: #172b22;
  --tw-light: #f7faf7;
  --tw-max: 1400px;
  --tw-sticky-height: 72px;
}
body { font-family: 'Nunito', Arial, sans-serif; }
body.tw-layout-active { padding-bottom:var(--tw-sticky-height); }
body, button, input, textarea, select { font-family: 'Nunito', Arial, sans-serif; }
h1,h2,h3,h4,h5,h6 { font-family: 'Nunito', Arial, sans-serif; }
.tw-layout-container { width:min(var(--tw-max), calc(100% - 48px)); margin-inline:auto; }
.tw-svg { width:19px; height:19px; flex:0 0 auto; vertical-align:middle; }
.tw-site-header, .tw-site-footer, .tw-page-hero, .tw-sticky-contacts { font-family: 'Nunito', Arial, sans-serif; }
.tw-site-header *,.tw-site-footer *,.tw-page-hero *,.tw-sticky-contacts * { box-sizing:border-box; }
.tw-site-header a, .tw-site-footer a, .tw-page-hero a, .tw-sticky-contacts a { text-decoration:none; }
.tw-site-header a:focus-visible, .tw-site-header button:focus-visible, .tw-site-footer a:focus-visible, .tw-sticky-contacts a:focus-visible, .tw-page-hero a:focus-visible { outline:3px solid var(--tw-red); outline-offset:3px; }

/* Top line, background exactly as requested. */
.tw-header-topbar { background:#007500; color:#fff; font-size:13px; font-weight:750; }
.tw-header-topbar__inner { min-height:41px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.tw-topbar-contacts { display:flex; align-items:center; gap:28px; min-width:0; }
.tw-topbar-contacts a { display:inline-flex; align-items:center; gap:8px; color:#fff; white-space:nowrap; }
.tw-topbar-contacts a:hover { color:#e8ffec; }
.tw-topbar-contacts .tw-svg { width:15px; height:15px; }
.tw-topbar-default { opacity:.92; }
.tw-social { display:flex; align-items:center; gap:7px; }
.tw-social__link { width:31px; height:31px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.45); color:#fff!important; border-radius:4px; transition:background .15s ease,color .15s ease; }
.tw-social__link .tw-svg { width:16px; height:16px; }
.tw-social__link:hover { background:#920000; border-color:#920000; }

/* Main white header and horizontal menu with edge separators. */
.tw-header-main { background:#fff; box-shadow:0 4px 18px rgba(0,35,16,.09); position:relative; z-index:110; }
.tw-header-main__inner { display:flex; align-items:center; justify-content:space-between; gap:34px; min-height:94px; }
.tw-brand { display:inline-flex; max-width:310px; min-width:0; align-items:center; flex-shrink:1; color:var(--tw-green)!important; font-size:25px; line-height:1.1; font-weight:900; letter-spacing:-.5px; }
.tw-brand__image { display:block; width:auto; height:auto; max-height:70px; max-width:100%; object-fit:contain; }
.tw-primary-nav { margin-left:auto; min-width:0; }
.tw-primary-nav .tw-nav-list { list-style:none; display:flex; align-items:stretch; margin:0; padding:0; }
.tw-primary-nav .tw-nav-list > li { list-style:none; position:relative; margin:0; padding:0; border-left:1px solid #dce5dd; }
.tw-primary-nav .tw-nav-list > li:last-child { border-right:1px solid #dce5dd; }
.tw-primary-nav .tw-nav-list > li > a { display:flex; align-items:center; min-height:48px; padding:12px 18px; line-height:1.25; font-size:14px; font-weight:850; color:#203b2d; white-space:nowrap; transition:color .18s ease,background .18s ease; }
.tw-primary-nav .tw-nav-list > li > a:hover,.tw-primary-nav .tw-nav-list > li.current-menu-item > a,.tw-primary-nav .tw-nav-list > li.current-menu-ancestor > a { color:#920000; background:#f7faf7; }
.tw-primary-nav li { list-style:none; }
.tw-primary-nav .sub-menu { display:none; position:absolute; top:100%; left:-1px; min-width:240px; z-index:15; background:#fff; box-shadow:0 15px 30px rgba(11,48,27,.16); margin:0; padding:7px 0; border-top:3px solid var(--tw-green); }
.tw-primary-nav li:hover > .sub-menu,.tw-primary-nav li:focus-within > .sub-menu { display:block; }
.tw-primary-nav .sub-menu .sub-menu { left:100%; top:0; }
.tw-primary-nav .sub-menu li a { display:block; color:#203b2d; font-weight:750; font-size:14px; padding:10px 16px; }
.tw-primary-nav .sub-menu li a:hover { background:#f1f7f0; color:var(--tw-red); }
.tw-menu-toggle { display:none; align-items:center; justify-content:center; flex-shrink:0; width:46px; height:46px; padding:0; border:0; border-radius:6px; background:var(--tw-green); color:#fff; cursor:pointer; }
.tw-menu-toggle .tw-svg { width:25px; height:25px; }
.tw-menu-toggle__close { display:none; }

/* Left-hand photographic hero. The image itself is masked all the way to 0 opacity,
   so no rectangular image boundary can appear under the smooth colour gradient. */
.tw-page-hero { position:relative; isolation:isolate; min-height:345px; display:flex; align-items:center; width:100%; background:#f7faf7; overflow:hidden; }
.tw-page-hero__image { position:absolute; z-index:-2; inset:0 auto 0 0; width:84%; background-size:cover; background-position:left 45%; -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 30%,rgba(0,0,0,.84) 45%,rgba(0,0,0,.36) 70%,transparent 100%); mask-image:linear-gradient(90deg,#000 0%,#000 30%,rgba(0,0,0,.84) 45%,rgba(0,0,0,.36) 70%,transparent 100%); }
.tw-page-hero__fade { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(247,250,247,0) 0%,rgba(247,250,247,.06) 25%,rgba(247,250,247,.32) 43%,rgba(247,250,247,.85) 65%,#f7faf7 83%,#f7faf7 100%); }
.tw-page-hero--no-image { background:linear-gradient(130deg,#d8e9da 0%,#f7faf7 55%,#fff 100%); }
.tw-page-hero--no-image .tw-page-hero__fade { display:none; }
.tw-page-hero__inner { width:min(var(--tw-max), calc(100% - 48px)); margin-inline:auto; padding:55px 0; display:flex; justify-content:flex-end; }
.tw-page-hero__text { width:min(48%,660px); margin-left:auto; }
.tw-page-hero__label { display:flex; align-items:center; gap:11px; color:var(--tw-red); text-transform:uppercase; font-size:12px; font-weight:900; letter-spacing:2.2px; margin:0 0 14px; }
.tw-page-hero__label::before { content:''; display:block; width:28px; height:3px; background:var(--tw-green); }
.tw-page-hero__text h1 { color:var(--tw-green); font-size:clamp(32px,3.5vw,52px); line-height:1.12; font-weight:900; letter-spacing:-.8px; margin:0 0 13px; overflow-wrap:break-word; }
.tw-page-hero__description { font-size:17px; line-height:1.65; color:#4b5f51; margin:0 0 16px; }
.tw-crumbs { display:flex; align-items:center; gap:10px; font-size:13px; color:#637769; font-weight:750; flex-wrap:wrap; }
.tw-crumbs a { color:var(--tw-red); }
.tw-crumbs a:hover { text-decoration:underline; }
.tw-crumbs span[aria-current] { max-width:360px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* Hide duplicate title banners produced by Hello's fallback template only. */
.tw-has-page-hero .site-main > .page-header, .tw-has-page-hero .site-main > article > .page-header { display:none; }

/* Editable footer, optional background with dark readable overlay. */
.tw-site-footer { position:relative; isolation:isolate; width:100%; color:#fff; background:var(--tw-ink); }
.tw-site-footer:before { content:''; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(90deg,rgba(0,38,15,.93),rgba(0,37,17,.86)),var(--tw-footer-bg,none); background-size:cover; background-position:center; }
.tw-footer-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.15fr); gap:clamp(22px,3vw,52px); padding-top:73px; padding-bottom:68px; }
.tw-footer-col { min-width:0; }
.tw-site-footer .tw-brand { color:#fff!important; margin-bottom:22px; font-size:26px; }
.tw-site-footer .tw-brand__image { max-height:77px; }
.tw-footer-about { color:#d4e8da; line-height:1.85; font-size:15px; max-width:330px; margin:0 0 24px; white-space:pre-line; }
.tw-footer-socials { gap:9px; }
.tw-footer-socials .tw-social__link { height:36px; width:36px; border-color:rgba(255,255,255,.4); }
.tw-site-footer .tw-footer-col h2.tw-footer-heading { font-family:'Nunito',Arial,sans-serif; font-size:17px; line-height:1.3; color:#fff!important; font-weight:900; margin:0 0 23px; padding:0 0 13px; position:relative; }
.tw-footer-heading:after { content:''; position:absolute; bottom:0; left:0; width:33px; height:3px; background:var(--tw-red); }
.tw-footer-links,.tw-footer-contact-list { list-style:none; margin:0; padding:0; }
.tw-footer-links > li { margin:0 0 12px; padding:0; list-style:none; }
.tw-footer-links > li a { display:inline-block; color:#d4e8da; font-size:15px; font-weight:700; line-height:1.55; transition:color .15s ease; }
.tw-footer-links > li a:hover { color:#fff; text-decoration:underline; text-decoration-color:#cb4343; text-underline-offset:4px; }
.tw-footer-contact-list li { list-style:none; margin:0 0 18px; overflow-wrap:anywhere; }
.tw-footer-contact-list li a,.tw-footer-address { display:flex; align-items:flex-start; gap:12px; color:#d4e8da; font-size:15px; font-weight:700; line-height:1.55; }
.tw-footer-contact-list .tw-svg { margin-top:2px; color:#72d389; }
.tw-footer-contact-list a:hover { color:#fff; }
.tw-footer-bottom { border-top:1px solid rgba(255,255,255,.15); color:#c6d7c9; font-size:13px; padding:20px 0; }

/* Get Quote at far left; email and WhatsApp grouped at far right. */
.tw-sticky-contacts { position:fixed; bottom:0; left:0; right:0; z-index:999; background:#fff; box-shadow:0 -4px 22px rgba(0,42,17,.14); border-top:2px solid var(--tw-green); }
.tw-sticky-contacts__inner { min-height:var(--tw-sticky-height); display:flex; align-items:center; gap:15px; justify-content:space-between; }
.tw-sticky-contacts__actions { display:flex; align-items:center; gap:10px; margin-left:auto; flex-shrink:0; }
.tw-sticky-contacts .tw-sticky-quote { height:47px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:18px; flex-shrink:0; margin-right:auto; background:var(--tw-red); color:#fff!important; font-size:15px; font-weight:900; border-radius:5px; }
.tw-sticky-contacts .tw-sticky-quote:visited,.tw-sticky-contacts .tw-sticky-quote:focus,.tw-sticky-contacts .tw-sticky-quote:hover,.tw-sticky-contacts .tw-sticky-quote span { color:#fff!important; }
.tw-sticky-contacts .tw-sticky-quote:hover { background:#750000; }
.tw-sticky-quote .tw-svg { width:16px; }
.tw-sticky-icon { height:47px; min-width:47px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center; gap:7px; background:#f0f7f0; color:var(--tw-green)!important; border:1px solid #d5e4d5; border-radius:5px; font-weight:800; font-size:13px; }
.tw-sticky-icon .tw-svg { width:19px; height:19px; }
.tw-sticky-icon--whatsapp { background:#e8f9ec; border-color:#c4e9ca; }
.tw-sticky-icon:hover { background:#dceedd; }

@media(max-width:1100px) {
  .tw-header-main__inner { min-height:80px; }
  .tw-menu-toggle { display:inline-flex; margin-left:auto; }
  .tw-menu-toggle[aria-expanded="true"] .tw-menu-toggle__open { display:none; }
  .tw-menu-toggle[aria-expanded="true"] .tw-menu-toggle__close { display:inline-flex; }
  .tw-primary-nav { display:none; position:absolute; top:100%; left:0; right:0; width:100%; max-height:min(72vh,650px); overflow-y:auto; margin:0; padding:15px 24px 25px; box-shadow:0 18px 30px rgba(0,0,0,.15); background:#fff; border-top:3px solid var(--tw-green); }
  .tw-header-main.tw-menu-open .tw-primary-nav { display:block; }
  .tw-primary-nav .tw-nav-list { display:block; width:100%; }
  .tw-primary-nav .tw-nav-list > li { border-left:0; border-right:0; border-bottom:1px solid #e5ede5; }
  .tw-primary-nav .tw-nav-list > li:last-child { border-right:0; }
  .tw-primary-nav .tw-nav-list > li > a { white-space:normal; padding:15px 5px; min-height:48px; font-size:15px; }
  .tw-primary-nav .sub-menu { display:block; position:static; min-width:0; box-shadow:none; border:0; border-left:2px solid var(--tw-green); margin:0 0 11px 16px; padding:0 0 0 12px; background:#f8faf8; }
  .tw-primary-nav .sub-menu .sub-menu { margin-left:10px; }
  .tw-primary-nav .sub-menu li a { padding:8px 11px; }
  .tw-page-hero__text { width:min(53%,690px); }
  .tw-footer-grid { gap:30px; }
}
@media(max-width:780px) {
  :root { --tw-sticky-height:64px; }
  .tw-layout-container { width:calc(100% - 32px); }
  .tw-header-topbar__inner { min-height:36px; gap:10px; }
  .tw-topbar-contacts { gap:15px; }
  .tw-topbar-contacts a { font-size:12px; }
  .tw-topbar-contacts a:first-child { display:none; }
  .tw-topbar-contacts a:last-child { display:inline-flex; }
  .tw-header-topbar .tw-social { gap:3px; margin-left:auto; }
  .tw-topbar-socials .tw-social__link { height:26px; width:26px; border:0; }
  .tw-topbar-socials .tw-svg { width:15px; height:15px; }
  .tw-header-main__inner { min-height:72px; gap:10px; }
  .tw-brand { max-width:72%; font-size:20px; }
  .tw-brand__image { max-height:57px; }
  .tw-menu-toggle { width:44px; height:44px; }
  .tw-page-hero { min-height:390px; align-items:flex-end; }
  .tw-page-hero__image { width:100%; height:285px; top:0; bottom:auto; background-position:center 40%; -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 35%,rgba(0,0,0,.70) 60%,transparent 100%); mask-image:linear-gradient(180deg,#000 0%,#000 35%,rgba(0,0,0,.70) 60%,transparent 100%); }
  .tw-page-hero__fade { background:linear-gradient(180deg,rgba(247,250,247,0) 0%,rgba(247,250,247,.09) 30%,rgba(247,250,247,.74) 56%,#f7faf7 76%,#f7faf7 100%); }
  .tw-page-hero__inner { width:calc(100% - 40px); padding:180px 0 29px; }
  .tw-page-hero__text { width:100%; }
  .tw-page-hero__text h1 { font-size:clamp(28px,6vw,38px); }
  .tw-page-hero__description { font-size:15px; }
  .tw-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 30px; padding-top:50px; padding-bottom:48px; }
  .tw-footer-col--brand,.tw-footer-col--contact { grid-column:1/-1; }
  .tw-sticky-contacts__inner { width:100%; padding:6px 10px; min-height:var(--tw-sticky-height); justify-content:space-between; }
  .tw-sticky-contacts__actions { width:auto; justify-content:flex-end; gap:7px; margin-left:auto; }
	.tw-sticky-contacts .tw-sticky-quote { flex:0 0 auto; min-width:0; height:48px; padding:0 13px; gap:7px; font-size:13px; }
  .tw-sticky-icon { flex:0 0 auto; width:46px; min-width:46px; height:48px; padding:0 8px; gap:5px; }
  .tw-sticky-icon span { display:none; }
}
@media(max-width:370px) {
  .tw-topbar-contacts a span { font-size:11px; }
  .tw-page-hero__inner { width:calc(100% - 30px); }
  .tw-sticky-quote { font-size:12px; }
  .tw-sticky-icon span { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .tw-site-header *, .tw-site-footer *, .tw-sticky-contacts * { transition:none!important; }
}
