/*
Theme Name: Bounty Facilities
Theme URI: https://bountyfacilities.com/
Author: Bounty Facilities
Description: A polished, responsive WordPress theme for Bounty Facilities, a commercial cleaning and facilities support company.
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: bounty-facilities
*/
:root{--ink:#111512;--green:#5f963e;--green-dark:#416f29;--cream:#f5f3ec;--white:#fff;--muted:#6d746f;--line:#dfe3dd;--shadow:0 18px 50px rgba(18,35,22,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{display:inline-block;color:var(--green-dark);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.2s ease;cursor:pointer}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark);transform:translateY(-2px)}.btn-secondary{border-color:#cfd5ce;background:#fff}.btn-secondary:hover{border-color:var(--green);color:var(--green-dark)}
.site-header{position:sticky;top:0;z-index:50;background:#071f3e;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 8px 28px rgba(7,31,62,.16)}.nav-wrap{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img,.brand .custom-logo{display:block;width:270px;max-width:100%;max-height:72px;object-fit:contain;object-position:left center}.site-nav ul{list-style:none;display:flex;align-items:center;gap:28px;margin:0;padding:0}.site-nav a{color:#fff;font-weight:700;font-size:.95rem;transition:color .2s ease}.site-nav a:hover,.site-nav .current-menu-item>a,.site-nav .current_page_item>a{color:#9bcf72}.nav-cta,.site-nav .menu-item-quote>a{display:inline-flex;padding:12px 20px!important;background:var(--green);color:#fff!important;border-radius:999px;box-shadow:0 7px 18px rgba(0,0,0,.16)}.nav-cta:hover,.site-nav .menu-item-quote>a:hover{background:#72ad4d;color:#fff!important}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
.hero{position:relative;overflow:hidden;padding:112px 0 96px;background:linear-gradient(135deg,#f7f8f4 0%,#edf4e8 100%)}.hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(95,150,62,.12);right:-180px;top:-220px}.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:70px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.1rem,6vw,6.2rem);line-height:.95;letter-spacing:-.055em;margin:0 0 24px;max-width:820px}.hero h1 span{color:var(--green-dark)}.hero p{font-size:1.16rem;color:#4f5852;max-width:680px;margin:0 0 30px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-card{background:var(--ink);color:#fff;border-radius:30px;padding:42px;box-shadow:var(--shadow);position:relative}.hero-card img{width:180px;margin-bottom:28px}.hero-card h3{font-family:Georgia,serif;font-size:2rem;margin:0 0 12px}.hero-card p{color:#ced5cf;font-size:1rem;margin:0}.trust-strip{padding:22px 0;border-bottom:1px solid var(--line);background:#fff}.trust-items{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center;font-weight:800}.trust-items span{padding:8px}
.section{padding:92px 0}.section-soft{background:var(--cream)}.section-dark{background:var(--ink);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px}.section-head h2,.split-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,4vw,4rem);line-height:1.05;letter-spacing:-.035em;margin:0}.section-head p{max-width:560px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 8px 24px rgba(20,35,22,.04);transition:.2s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#edf4e8;color:var(--green-dark);font-size:1.3rem;font-weight:900;margin-bottom:20px}.card h3{font-family:Georgia,serif;font-size:1.45rem;margin:0 0 10px}.card p{color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split-visual{min-height:520px;background:linear-gradient(160deg,#182019,#29402d);border-radius:28px;padding:48px;display:flex;align-items:flex-end;position:relative;overflow:hidden;color:#fff}.split-visual:before{content:"BF";position:absolute;font-family:Georgia,serif;font-size:17rem;line-height:1;color:rgba(255,255,255,.06);top:20px;right:-10px}.split-visual blockquote{font-family:Georgia,serif;font-size:2.15rem;line-height:1.2;margin:0;max-width:480px;position:relative}.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{padding:10px 0 10px 32px;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.stat strong{display:block;font-family:Georgia,serif;font-size:2.3rem;color:var(--green-dark)}.stat span{font-size:.9rem;color:var(--muted)}
.process{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.process-item{counter-increment:step;background:#fff;border-radius:20px;padding:28px;border:1px solid var(--line)}.process-item:before{content:"0" counter(step);display:block;color:var(--green);font-weight:900;letter-spacing:.12em;margin-bottom:22px}.process-item h3{margin:0 0 8px;font-family:Georgia,serif}.process-item p{margin:0;color:var(--muted)}
.cta{background:var(--green);color:#fff;border-radius:30px;padding:54px;display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,3.8rem);line-height:1;margin:0 0 12px}.cta p{margin:0;color:#e9f2e4}.cta .btn{background:#fff;color:var(--ink);white-space:nowrap}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px}.contact-details{display:grid;gap:14px;margin-top:30px}.contact-item{padding:18px 0;border-bottom:1px solid var(--line)}.contact-item strong{display:block}.contact-item span{color:var(--muted)}.contact-form{background:#fff;border:1px solid var(--line);padding:34px;border-radius:24px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.9rem}.field input,.field textarea,.field select{width:100%;border:1px solid #ccd3cc;border-radius:12px;padding:13px 14px;font:inherit;background:#fff}.field textarea{min-height:140px;resize:vertical}.notice{padding:12px 14px;border-radius:10px;margin-bottom:15px}.notice-success{background:#e8f5e2;color:#2c6220}.notice-error{background:#fbe8e8;color:#8a2525}
.site-footer{background:#0d110e;color:#fff;padding:64px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:60px}.footer-logo{width:250px;margin-bottom:18px}.footer-copy{color:#aeb7b0;max-width:430px}.site-footer h4{margin-top:0}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;color:#c7cec8}.footer-bottom{border-top:1px solid #28302a;margin-top:45px;padding-top:22px;color:#939d95;font-size:.9rem;display:flex;justify-content:space-between;gap:20px}
.page-hero{padding:90px 0 70px;background:var(--cream)}.page-hero h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.5rem);margin:0;line-height:1}.content-area{padding:75px 0}.content-area h2,.content-area h3{font-family:Georgia,serif}.content-area p{max-width:780px}.screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
@media(max-width:900px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:92px;left:0;right:0;background:#071f3e;border-bottom:1px solid rgba(255,255,255,.12);padding:20px;box-shadow:0 16px 28px rgba(7,31,62,.2)}.site-nav.open{display:block}.site-nav ul{flex-direction:column;align-items:flex-start}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.hero{padding-top:78px}.hero-card{max-width:620px}.cards{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.trust-items{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.cta{align-items:flex-start;flex-direction:column}.brand img,.brand .custom-logo{width:220px}}
@media(max-width:620px){.container{width:min(100% - 28px,1180px)}.hero h1{font-size:3.15rem}.cards,.process,.form-grid,.stats,.trust-items,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.section{padding:68px 0}.section-head{align-items:flex-start;flex-direction:column}.hero-card,.cta,.contact-form{padding:28px}.footer-bottom{flex-direction:column}.split-visual{min-height:400px;padding:30px}.split-visual blockquote{font-size:1.7rem}}


/* Gravity Forms integration */
.gravity-form-wrap{background:#fff;border:1px solid var(--line);padding:34px;border-radius:24px;box-shadow:var(--shadow)}
.gravity-form-wrap .gform_wrapper{margin:0}
.gravity-form-wrap .gform_heading{display:none}
.gravity-form-wrap .gform_fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px!important;grid-row-gap:18px!important}
.gravity-form-wrap .gfield{grid-column:span 1;margin:0!important;padding:0!important}
.gravity-form-wrap .gfield.gfield--width-full,.gravity-form-wrap .gfield.bounty-full-width{grid-column:1/-1}
.gravity-form-wrap .gfield_label{display:block;font-weight:800!important;font-size:.9rem!important;margin:0 0 7px!important}
.gravity-form-wrap input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=file]),.gravity-form-wrap textarea,.gravity-form-wrap select{width:100%!important;border:1px solid #ccd3cc!important;border-radius:12px!important;padding:13px 14px!important;font:inherit!important;background:#fff!important;box-shadow:none!important;min-height:50px}
.gravity-form-wrap textarea{min-height:140px!important;resize:vertical}
.gravity-form-wrap input:focus,.gravity-form-wrap textarea:focus,.gravity-form-wrap select:focus{border-color:var(--green)!important;outline:2px solid rgba(91,148,61,.16)!important;outline-offset:1px}
.gravity-form-wrap .gform_footer,.gravity-form-wrap .gform_page_footer{display:flex!important;align-items:center!important;gap:12px!important;margin:20px 0 0!important;padding:0!important;visibility:visible!important;opacity:1!important}
.gravity-form-wrap .gform_footer input[type=submit],.gravity-form-wrap .gform_page_footer input[type=submit],.gravity-form-wrap button[type=submit],.gravity-form-wrap .gform_button{display:inline-flex!important;visibility:visible!important;opacity:1!important;width:auto!important;min-width:160px!important;min-height:50px!important;align-items:center!important;justify-content:center!important;padding:14px 22px!important;border:0!important;border-radius:999px!important;background:var(--green)!important;color:#fff!important;font:inherit!important;font-weight:800!important;cursor:pointer!important;line-height:1.2!important;box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important}
.gravity-form-wrap .gform_footer input[type=submit]:hover,.gravity-form-wrap .gform_page_footer input[type=submit]:hover,.gravity-form-wrap button[type=submit]:hover,.gravity-form-wrap .gform_button:hover{background:var(--green-dark)!important;color:#fff!important;transform:translateY(-2px)}
.gravity-form-wrap .gfield_validation_message,.gravity-form-wrap .validation_message{border-radius:10px!important;padding:10px 12px!important}
.gravity-form-wrap .gform_validation_errors{border-radius:12px!important;margin:0 0 18px!important}
.gravity-form-wrap .gform_confirmation_message{background:#e8f5e2;color:#2c6220;padding:16px 18px;border-radius:12px}
.gravity-form-wrap .gform_ajax_spinner{margin-left:12px}
.form-unavailable{margin:0;color:var(--muted)}
@media(max-width:620px){.gravity-form-wrap .gform_fields{grid-template-columns:1fr}.gravity-form-wrap .gfield{grid-column:1/-1}.gravity-form-wrap{padding:28px}}


/* Gravity Forms field refinements */
.gravity-form-wrap .gfield_required,
.gravity-form-wrap .gfield_required_text,
.gravity-form-wrap .gfield_required_asterisk{display:none!important}
.gravity-form-wrap .ginput_container_select{position:relative;width:100%}
.gravity-form-wrap .ginput_container_select select,
.gravity-form-wrap select.gfield_select{
  display:block!important;
  width:100%!important;
  height:64px!important;
  min-height:64px!important;
  padding:0 48px 0 20px!important;
  line-height:1.2!important;
  border:1px solid #ccd3cc!important;
  border-radius:16px!important;
  background-color:#fff!important;
  background-image:linear-gradient(45deg,transparent 50%,#071f3e 50%),linear-gradient(135deg,#071f3e 50%,transparent 50%)!important;
  background-position:calc(100% - 22px) 28px,calc(100% - 16px) 28px!important;
  background-size:6px 6px,6px 6px!important;
  background-repeat:no-repeat!important;
  color:#071f3e!important;
  font:inherit!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  overflow:visible!important;
}
.gravity-form-wrap input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=file]){
  height:64px!important;
  min-height:64px!important;
  padding:0 20px!important;
  border-radius:16px!important;
}
.gravity-form-wrap .gfield_label{color:#071f3e!important}
.contact-item a{color:var(--muted);text-decoration:none}
.contact-item a:hover{color:var(--green-dark)}
.site-footer a:hover{color:#9bcf72}


/* Heading contrast fix: headings on standard and WPBakery light content areas */
h1,h2,h3,h4,h5,h6{color:#071f3e}
.page-hero h1,
.content-area h1,
.content-area h2,
.content-area h3,
.content-area h4,
.content-area h5,
.content-area h6,
.content-area .vc_custom_heading,
.content-area .wpb_heading,
.content-area .wpb_wrapper > h1,
.content-area .wpb_wrapper > h2,
.content-area .wpb_wrapper > h3,
.content-area .wpb_wrapper > h4,
.content-area .wpb_wrapper > h5,
.content-area .wpb_wrapper > h6,
.card h1,.card h2,.card h3,.card h4,.card h5,.card h6,
.section-soft h1,.section-soft h2,.section-soft h3,.section-soft h4,.section-soft h5,.section-soft h6{
  color:#071f3e!important;
  text-shadow:none!important;
}
/* Preserve deliberate white headings on genuinely dark theme sections. */
.site-header h1,.site-header h2,.site-header h3,.site-header h4,.site-header h5,.site-header h6,
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,.site-footer h5,.site-footer h6,
.hero-card h1,.hero-card h2,.hero-card h3,.hero-card h4,.hero-card h5,.hero-card h6,
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4,.section-dark h5,.section-dark h6,
.split-visual h1,.split-visual h2,.split-visual h3,.split-visual h4,.split-visual h5,.split-visual h6,
.bounty-dark-section h1,.bounty-dark-section h2,.bounty-dark-section h3,.bounty-dark-section h4,.bounty-dark-section h5,.bounty-dark-section h6,
.bounty-dark-section .vc_custom_heading{
  color:#fff!important;
}
/* The green CTA is intentionally dark enough for white copy. */
.cta h1,.cta h2,.cta h3,.cta h4,.cta h5,.cta h6{color:#fff!important}


/* v1.2.2: Light cards nested inside dark sections must keep dark, readable copy.
   This rule intentionally follows the general dark-section rules and uses !important
   to override WPBakery inline/custom heading colours where necessary. */
.section-dark .card,
.bounty-dark-section .card,
.section-dark .bounty-light-card,
.bounty-dark-section .bounty-light-card{
  color:#071f3e;
}
.section-dark .card h1,
.section-dark .card h2,
.section-dark .card h3,
.section-dark .card h4,
.section-dark .card h5,
.section-dark .card h6,
.section-dark .card .vc_custom_heading,
.section-dark .card .vc_custom_heading *,
.bounty-dark-section .card h1,
.bounty-dark-section .card h2,
.bounty-dark-section .card h3,
.bounty-dark-section .card h4,
.bounty-dark-section .card h5,
.bounty-dark-section .card h6,
.bounty-dark-section .card .vc_custom_heading,
.bounty-dark-section .card .vc_custom_heading *,
.section-dark .bounty-light-card h1,
.section-dark .bounty-light-card h2,
.section-dark .bounty-light-card h3,
.section-dark .bounty-light-card h4,
.section-dark .bounty-light-card h5,
.section-dark .bounty-light-card h6,
.section-dark .bounty-light-card .vc_custom_heading,
.section-dark .bounty-light-card .vc_custom_heading *,
.bounty-dark-section .bounty-light-card h1,
.bounty-dark-section .bounty-light-card h2,
.bounty-dark-section .bounty-light-card h3,
.bounty-dark-section .bounty-light-card h4,
.bounty-dark-section .bounty-light-card h5,
.bounty-dark-section .bounty-light-card h6,
.bounty-dark-section .bounty-light-card .vc_custom_heading,
.bounty-dark-section .bounty-light-card .vc_custom_heading *{
  color:#071f3e!important;
  -webkit-text-fill-color:#071f3e!important;
  text-shadow:none!important;
}
.section-dark .card p,
.bounty-dark-section .card p,
.section-dark .bounty-light-card p,
.bounty-dark-section .bounty-light-card p{
  color:#6d746f!important;
  -webkit-text-fill-color:#6d746f!important;
}


/* v1.3.0: responsive homepage anchor navigation */
:root{--header-offset:112px}
section[id]{scroll-margin-top:var(--header-offset)}
.site-nav a.is-active:not(.menu-item-quote a){color:#9bcf72}
.site-nav a.is-active:not(.menu-item-quote a)::after{transform:scaleX(1)}
.site-nav li:not(.menu-item-quote)>a{position:relative;padding:12px 0}
.site-nav li:not(.menu-item-quote)>a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:#9bcf72;transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.site-nav li:not(.menu-item-quote)>a:hover::after,.site-nav li:not(.menu-item-quote)>a.is-active::after{transform:scaleX(1)}
.menu-toggle{width:48px;height:48px;padding:11px;border-radius:10px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle:hover{background:rgba(255,255,255,.08)}
.menu-toggle-line{display:block;width:25px;height:2px;border-radius:2px;background:#fff;transition:transform .25s ease,opacity .2s ease}
.menu-toggle.is-open .menu-toggle-line:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-open .menu-toggle-line:nth-child(2){opacity:0}
.menu-toggle.is-open .menu-toggle-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1100px) and (min-width:901px){.site-nav ul{gap:17px}.site-nav a{font-size:.86rem}.brand img,.brand .custom-logo{width:225px}.nav-wrap{gap:18px}}
@media(max-width:900px){
  :root{--header-offset:92px}
  .nav-wrap{height:82px}
  .menu-toggle{display:flex;position:relative;z-index:102}
  .site-nav{display:block;visibility:hidden;opacity:0;transform:translateY(-10px);pointer-events:none;top:82px;padding:12px 20px 24px;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
  .site-nav.open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
  .site-nav ul{gap:0;align-items:stretch;width:min(100%,520px);margin:auto}
  .site-nav li{width:100%;border-bottom:1px solid rgba(255,255,255,.1)}
  .site-nav li:last-child{border-bottom:0;margin-top:14px}
  .site-nav a{display:block;width:100%;padding:14px 4px;font-size:1rem}
  .site-nav li:not(.menu-item-quote)>a::after{bottom:8px;right:auto;width:38px;transform-origin:left}
  .site-nav .menu-item-quote>a{display:flex;justify-content:center;padding:14px 20px!important}
  body.menu-open{overflow:hidden}
  body.menu-open::after{content:"";position:fixed;inset:82px 0 0;background:rgba(2,14,29,.5);z-index:40;pointer-events:none}
}
@media(max-width:520px){.brand img,.brand .custom-logo{width:190px}.container.nav-wrap{width:min(100% - 24px,1180px)}}

/* v1.3.1 — Gravity Forms select alignment
   Gravity Forms' framework can apply its own block-size and padding to native
   selects. Reset those values so the selected option is vertically centred. */
.gravity-form-wrap .ginput_container_select{
  display:block!important;
  width:100%!important;
  margin:0!important;
}
.gravity-form-wrap .ginput_container_select select,
.gravity-form-wrap select.gfield_select,
.gravity-form-wrap .gform-theme--framework .ginput_container_select select,
.gform-theme--framework .gravity-form-wrap .ginput_container_select select{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  height:80px!important;
  min-height:80px!important;
  block-size:80px!important;
  min-block-size:80px!important;
  margin:0!important;
  padding-top:0!important;
  padding-right:54px!important;
  padding-bottom:0!important;
  padding-left:26px!important;
  padding-block:0!important;
  padding-inline:26px 54px!important;
  line-height:normal!important;
  vertical-align:middle!important;
  background-position:calc(100% - 25px) 50%,calc(100% - 19px) 50%!important;
}
@media(max-width:620px){
  .gravity-form-wrap .ginput_container_select select,
  .gravity-form-wrap select.gfield_select{
    height:64px!important;
    min-height:64px!important;
    block-size:64px!important;
    min-block-size:64px!important;
    padding-left:20px!important;
    padding-inline-start:20px!important;
  }
}

/* v1.3.2 — final Gravity Forms native select correction
   Keep the select identical in height to text inputs and neutralise the
   Gravity Forms 2.8 theme sizing variables that can otherwise add height. */
.gravity-form-wrap .ginput_container_select{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  block-size:auto!important;
  min-block-size:0!important;
  margin:0!important;
  padding:0!important;
  line-height:normal!important;
}
.gravity-form-wrap .ginput_container_select select,
.gravity-form-wrap select.gfield_select,
.gravity-form-wrap .gform-theme--framework select.gfield_select,
.gform-theme--framework .gravity-form-wrap select.gfield_select{
  --gf-local-height:64px!important;
  --gf-local-min-height:64px!important;
  --gf-local-padding-y:0!important;
  --gf-local-padding-x:20px!important;
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  height:64px!important;
  min-height:64px!important;
  max-height:64px!important;
  block-size:64px!important;
  min-block-size:64px!important;
  max-block-size:64px!important;
  margin:0!important;
  padding:0 50px 0 20px!important;
  padding-block:0!important;
  padding-inline:20px 50px!important;
  border:1px solid #ccd3cc!important;
  border-radius:16px!important;
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:400!important;
  line-height:normal!important;
  color:#071f3e!important;
  background-color:#fff!important;
  background-image:linear-gradient(45deg,transparent 50%,#071f3e 50%),linear-gradient(135deg,#071f3e 50%,transparent 50%)!important;
  background-position:calc(100% - 24px) 50%,calc(100% - 18px) 50%!important;
  background-size:6px 6px,6px 6px!important;
  background-repeat:no-repeat!important;
  box-shadow:none!important;
  vertical-align:middle!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.gravity-form-wrap .ginput_container_select::before,
.gravity-form-wrap .ginput_container_select::after{
  content:none!important;
  display:none!important;
}
@media(max-width:620px){
  .gravity-form-wrap .ginput_container_select select,
  .gravity-form-wrap select.gfield_select,
  .gravity-form-wrap .gform-theme--framework select.gfield_select,
  .gform-theme--framework .gravity-form-wrap select.gfield_select{
    --gf-local-height:64px!important;
    --gf-local-min-height:64px!important;
    height:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    block-size:64px!important;
    min-block-size:64px!important;
    max-block-size:64px!important;
    padding:0 48px 0 20px!important;
  }
}



/* v1.4.0 — complete Gravity Forms visual rebuild
   A compact, consistent form system that works with Gravity Forms 2.7/2.8,
   avoids stretched grid cards, and keeps native selects aligned correctly. */
.contact-grid{align-items:start}
.contact-form.gravity-form-wrap{
  align-self:start;
  min-height:0!important;
  height:auto!important;
  padding:34px!important;
  border:1px solid #d9dfd8!important;
  border-radius:26px!important;
  background:#fff!important;
  box-shadow:0 16px 45px rgba(7,31,62,.08)!important;
}
.gravity-form-wrap .gform_wrapper,
.gravity-form-wrap .gform_wrapper form,
.gravity-form-wrap .gform_body{
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:auto!important;
}
.gravity-form-wrap .gform_fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:22px!important;
  row-gap:20px!important;
  margin:0!important;
  padding:0!important;
}
.gravity-form-wrap .gfield{
  grid-column:span 1!important;
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.gravity-form-wrap .gfield.gfield--width-full,
.gravity-form-wrap .gfield.bounty-full-width,
.gravity-form-wrap .gfield--type-textarea{
  grid-column:1/-1!important;
}
.gravity-form-wrap .gfield_label,
.gravity-form-wrap .gform-field-label{
  display:block!important;
  margin:0 0 8px!important;
  padding:0!important;
  color:#071f3e!important;
  font-size:1rem!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.gravity-form-wrap .gfield_required,
.gravity-form-wrap .gfield_required_text,
.gravity-form-wrap .gfield_required_asterisk{
  display:none!important;
}
.gravity-form-wrap .ginput_container{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.gravity-form-wrap input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]),
.gravity-form-wrap select,
.gravity-form-wrap select.gfield_select{
  --gf-local-height:58px!important;
  --gf-local-min-height:58px!important;
  display:block!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  block-size:58px!important;
  min-block-size:58px!important;
  max-block-size:58px!important;
  box-sizing:border-box!important;
  margin:0!important;
  border:1px solid #cbd4cb!important;
  border-radius:16px!important;
  background-color:#fff!important;
  color:#071f3e!important;
  font-family:inherit!important;
  font-size:1rem!important;
  font-weight:400!important;
  line-height:1.25!important;
  box-shadow:none!important;
  outline:none!important;
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease!important;
}
.gravity-form-wrap input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]){
  padding:0 18px!important;
}
.gravity-form-wrap .ginput_container_select{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.gravity-form-wrap select,
.gravity-form-wrap select.gfield_select{
  padding:0 50px 0 18px!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  background-image:linear-gradient(45deg,transparent 50%,#071f3e 50%),linear-gradient(135deg,#071f3e 50%,transparent 50%)!important;
  background-position:calc(100% - 23px) 26px,calc(100% - 17px) 26px!important;
  background-size:6px 6px,6px 6px!important;
  background-repeat:no-repeat!important;
}
.gravity-form-wrap textarea,
.gravity-form-wrap textarea.textarea{
  display:block!important;
  width:100%!important;
  min-height:150px!important;
  height:150px!important;
  max-height:none!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:15px 18px!important;
  border:1px solid #cbd4cb!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#071f3e!important;
  font-family:inherit!important;
  font-size:1rem!important;
  line-height:1.5!important;
  resize:vertical!important;
  box-shadow:none!important;
  outline:none!important;
  transition:border-color .2s ease,box-shadow .2s ease!important;
}
.gravity-form-wrap input:focus,
.gravity-form-wrap select:focus,
.gravity-form-wrap textarea:focus{
  border-color:#5f963e!important;
  box-shadow:0 0 0 4px rgba(95,150,62,.14)!important;
}
.gravity-form-wrap .gfield_description,
.gravity-form-wrap .ginput_counter{
  margin:7px 0 0!important;
  padding:0!important;
  color:#64706a!important;
  font-size:.86rem!important;
  line-height:1.35!important;
}
.gravity-form-wrap .gform_footer,
.gravity-form-wrap .gform_page_footer{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:0!important;
  height:auto!important;
  margin:24px 0 0!important;
  padding:0!important;
}
.gravity-form-wrap .gform_footer input[type=submit],
.gravity-form-wrap .gform_page_footer input[type=submit],
.gravity-form-wrap button[type=submit],
.gravity-form-wrap .gform_button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:176px!important;
  min-height:54px!important;
  height:54px!important;
  margin:0!important;
  padding:0 26px!important;
  border:0!important;
  border-radius:999px!important;
  background:#5f963e!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:1rem!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
.gravity-form-wrap .gform_footer input[type=submit]:hover,
.gravity-form-wrap .gform_page_footer input[type=submit]:hover,
.gravity-form-wrap button[type=submit]:hover,
.gravity-form-wrap .gform_button:hover{
  background:#416f29!important;
  transform:translateY(-2px)!important;
  box-shadow:0 8px 20px rgba(65,111,41,.22)!important;
}
.gravity-form-wrap .gform_validation_errors{
  margin:0 0 20px!important;
  padding:16px 18px!important;
  border:1px solid #e5b8b8!important;
  border-radius:14px!important;
  background:#fff4f4!important;
  box-shadow:none!important;
}
.gravity-form-wrap .gfield_error input,
.gravity-form-wrap .gfield_error select,
.gravity-form-wrap .gfield_error textarea{
  border-color:#c73939!important;
}
.gravity-form-wrap .validation_message{
  margin:7px 0 0!important;
  padding:0!important;
  color:#a12626!important;
  font-size:.85rem!important;
}
@media(max-width:700px){
  .contact-form.gravity-form-wrap{padding:24px!important;border-radius:22px!important}
  .gravity-form-wrap .gform_fields{grid-template-columns:1fr!important;gap:18px!important}
  .gravity-form-wrap .gfield{grid-column:1/-1!important}
  .gravity-form-wrap input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]),
  .gravity-form-wrap select,
  .gravity-form-wrap select.gfield_select,
  .gravity-form-wrap .ginput_container_select{
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    block-size:56px!important;
    min-block-size:56px!important;
    max-block-size:56px!important;
  }
  .gravity-form-wrap select,
  .gravity-form-wrap select.gfield_select{
    background-position:calc(100% - 23px) 25px,calc(100% - 17px) 25px!important;
  }
  .gravity-form-wrap textarea,
  .gravity-form-wrap textarea.textarea{min-height:140px!important;height:140px!important}
  .gravity-form-wrap .gform_footer input[type=submit],
  .gravity-form-wrap .gform_page_footer input[type=submit],
  .gravity-form-wrap button[type=submit],
  .gravity-form-wrap .gform_button{width:100%!important}
}
