/* IHB Contact V14 - scoped, native SP Page Builder + Joomla server side mail form */
body.ihb-page--contact{--ct-deep:#142b42;--ct-ink:#1d3953;--ct-muted:#60758b;--ct-sand:#e6ceae;background:#f8fafc}
body.ihb-page--contact .ihb-content{padding-top:0!important;overflow:hidden}
body.ihb-page--contact .ihb-content>.page-header,body.ihb-page--contact .sppb-page-title,body.ihb-page--contact .sp-pagebuilder-title{display:none!important}
body.ihb-page--contact .sppb-section{margin:0!important}
body.ihb-page--contact .sppb-section>.sppb-container-inner,body.ihb-page--contact .sppb-section>.sppb-row-container{width:min(1300px,calc(100% - 96px))!important;max-width:1300px!important;margin-inline:auto!important;padding:0!important}
body.ihb-page--contact .sppb-section .sppb-row{margin:0!important;gap:0!important}
body.ihb-page--contact .sppb-section .sppb-row>.sppb-row-column{min-width:0}
body.ihb-page--contact .sppb-addon p{font:400 16px/1.78 var(--ihb-sans,Arial,sans-serif);color:#60768d;margin:0 0 20px}
.ihb-contact-eyebrow p{font:800 11px/1.55 var(--ihb-sans,Arial,sans-serif)!important;letter-spacing:.19em!important;color:#a5835f!important;text-transform:uppercase;margin:0 0 20px!important}
.ihb-contact-heading .sppb-addon-title{font:400 clamp(42px,4.3vw,75px)/1.07 var(--ihb-serif,Georgia,serif)!important;letter-spacing:-.045em;color:#1c3b56;margin:0 0 25px}
.ihb-contact-heading em,.ihb-contact-hero-title em,.ihb-contact-intro-title em{color:#bba07e;font-weight:400}
/* Buttons native: the SP class is on the anchor, never a wrapping column */
a.sppb-btn.ihb-contact-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:55px!important;padding:17px 25px!important;font:800 11px/1.4 var(--ihb-sans,Arial,sans-serif)!important;letter-spacing:.095em!important;text-transform:uppercase!important;text-decoration:none!important;background:#e6ceae!important;color:#18334c!important;border:1px solid #e6ceae!important;border-radius:2px!important;box-shadow:none!important;transition:background .2s,transform .2s!important}
a.sppb-btn.ihb-contact-button:hover{background:#f4dfbf!important;color:#18334c!important;transform:translateY(-2px)}
/* Hero */
.ihb-contact-hero{min-height:640px!important;background:#142c42!important;overflow:hidden!important}
.ihb-contact-hero>.sppb-container-inner,.ihb-contact-hero>.sppb-row-container{width:100%!important;max-width:none!important}
.ihb-contact-hero .sppb-row{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;min-height:640px!important}
.ihb-contact-hero .sppb-row>.sppb-row-column{width:auto!important;max-width:none!important;flex:none!important;min-width:0!important;padding:0!important}
.ihb-contact-hero .sppb-row>.sppb-row-column:first-child{background:linear-gradient(135deg,#11283e,#1c3a54);display:flex;align-items:center;position:relative}
.ihb-contact-hero .sppb-row>.sppb-row-column:first-child .sppb-column-addons{width:100%;padding:85px clamp(28px,5vw,95px) 80px max(50px,calc((100vw - 1300px)/2))}
.ihb-contact-hero .ihb-contact-eyebrow p{color:#dac1a0!important}
.ihb-contact-hero-title .sppb-addon-title{font:400 clamp(64px,6.3vw,112px)/.98 var(--ihb-serif,Georgia,serif)!important;letter-spacing:-.05em;color:#fff!important;margin:28px 0 26px!important}
.ihb-contact-hero-intro p{font-size:clamp(16px,1.2vw,19px)!important;line-height:1.75!important;color:#d0dfeb!important;max-width:610px;margin-bottom:30px!important}
.ihb-contact-hero-details p{font-size:13px!important;color:#bdcddd!important;margin:23px 0 0!important;line-height:1.8!important}
.ihb-contact-hero-details a{color:#e3d4c1!important;text-decoration:none!important}
.ihb-contact-hero-details a:hover{text-decoration:underline!important}
.ihb-contact-hero .sppb-row>.sppb-row-column:last-child{position:relative;overflow:hidden;min-height:640px!important;background:#213850}
.ihb-contact-hero .sppb-row>.sppb-row-column:last-child .sppb-column,.ihb-contact-hero .sppb-row>.sppb-row-column:last-child .sppb-column-addons{height:100%}
.ihb-contact-hero .sppb-row>.sppb-row-column:last-child .sppb-column-addons>.sppb-addon-wrapper{position:absolute;inset:0;height:100%}
.ihb-contact-hero-photo,.ihb-contact-hero-photo .sppb-addon-content,.ihb-contact-hero-photo .sppb-addon-single-image-container{height:100%!important;display:block!important}
.ihb-contact-hero-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
/* Editorial intro */
.ihb-contact-intro{background:#fff!important;padding:116px 0 98px!important}
.ihb-contact-intro .sppb-row{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;gap:12%!important}
.ihb-contact-intro .sppb-row>.sppb-row-column{width:auto!important;max-width:none!important;flex:none!important;padding:0!important}
.ihb-contact-intro-title .sppb-addon-title{font:400 clamp(34px,3.2vw,50px)/1.1 var(--ihb-serif,Georgia,serif)!important;letter-spacing:-.04em;color:#25455e;margin:0 0 20px}
.ihb-contact-intro .sppb-row>.sppb-row-column:last-child .sppb-column-addons{border-left:1px solid #d7e1ea;padding-left:10%}
.ihb-contact-address p{font-size:16px!important;color:#536b83!important;border-bottom:1px solid #e6ecf1;padding:0 0 20px;margin:0 0 20px!important;line-height:1.6!important}
.ihb-contact-address p strong{color:#1d3c56;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.ihb-contact-address a{color:#245476!important;font-weight:650;text-decoration:none!important}
.ihb-contact-address a:hover{text-decoration:underline!important}
.ihb-contact-form-intro{padding:91px 0 24px!important;background:#ebf1f7!important}
.ihb-contact-form-intro .sppb-row>.sppb-row-column{width:100%!important;max-width:none!important;flex:none!important;padding:0!important}
.ihb-contact-form-intro .ihb-contact-heading .sppb-addon-title{max-width:1000px}
.ihb-contact-form-lead p{max-width:750px}
/* Working Joomla form, not just presentation */
.ihb-contact-wrap{width:min(1300px,calc(100% - 96px));margin-inline:auto}
.ihb-contact-form-zone{background:#ebf1f7;padding:16px 0 125px}
.ihb-contact-form-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.65fr);align-items:stretch;gap:28px}
.ihb-contact-form-panel{background:#fff;padding:clamp(27px,4vw,63px);box-shadow:0 15px 50px #203d5712}
.ihb-contact-mini{display:block;font:800 11px/1.5 var(--ihb-sans,Arial,sans-serif);letter-spacing:.15em;text-transform:uppercase;color:#a48768;margin:0 0 22px}
.ihb-contact-form-panel h2,.ihb-contact-map-intro h2{font:400 clamp(33px,3.4vw,54px)/1.13 var(--ihb-serif,Georgia,serif);letter-spacing:-.04em;color:#1c3e57;margin:0 0 37px}
.ihb-contact-form-panel h2 em,.ihb-contact-map-intro h2 em,.ihb-contact-aside h3 em{color:#b79b79;font-weight:400}
.ihb-contact-form{margin:0}
.ihb-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 23px}
.ihb-contact-form label{display:block;color:#27465e;font:750 12px/1.5 var(--ihb-sans,Arial,sans-serif);letter-spacing:.02em}
.ihb-contact-form label>span:not(.ihb-contact-consent span){color:#b07d55}
.ihb-contact-form label small{color:#7c8c9e;font-weight:450;margin-left:5px}
.ihb-contact-form input:not([type=checkbox]):not([type=hidden]),.ihb-contact-form textarea,.ihb-contact-form select{display:block;width:100%;margin-top:9px;min-height:53px;padding:13px 15px;border:1px solid #cbd8e4;background:#fafcfe;color:#1c3b55;font:400 14px/1.5 var(--ihb-sans,Arial,sans-serif);border-radius:1px;box-shadow:none;transition:border-color .2s,background .2s}
.ihb-contact-form textarea{min-height:170px;resize:vertical}
.ihb-contact-form input:focus,.ihb-contact-form select:focus,.ihb-contact-form textarea:focus{outline:2px solid #bba07d;outline-offset:1px;background:white}
.ihb-contact-form input::placeholder,.ihb-contact-form textarea::placeholder{color:#8c9eae}
.ihb-field-wide{grid-column:1/-1}
.ihb-contact-bot-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none!important}
.ihb-contact-form-bottom{margin-top:31px;border-top:1px solid #e4eaf0;padding-top:29px}
.ihb-contact-form .ihb-contact-math{display:inline-block;max-width:230px;margin-bottom:20px}
.ihb-contact-math input{max-width:160px}
.ihb-contact-form .ihb-contact-consent{display:flex;align-items:flex-start;gap:11px;margin:0 0 10px;font:400 14px/1.65 var(--ihb-sans,Arial,sans-serif);color:#536a7f;letter-spacing:0}
.ihb-contact-form .ihb-contact-consent input{flex:0 0 auto;width:19px;height:19px;accent-color:#274660;margin:3px 0 0}
.ihb-contact-consent a{color:#245476;text-decoration:underline;text-underline-offset:3px}
.ihb-contact-privacy{font:400 12px/1.5 var(--ihb-sans,Arial,sans-serif);color:#8595a3;margin:0 0 25px}
.ihb-contact-send,.ihb-contact-route,.ihb-contact-map-activate{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:57px;padding:17px 25px;background:#e5cbaa;border:1px solid #e5cbaa;color:#163249;font:800 11px/1.4 var(--ihb-sans,Arial,sans-serif);letter-spacing:.105em;text-transform:uppercase;text-decoration:none!important;border-radius:1px;cursor:pointer;transition:background .2s,transform .2s}
.ihb-contact-send:hover,.ihb-contact-route:hover,.ihb-contact-map-activate:hover{background:#f0dcc0;color:#163249;transform:translateY(-2px)}
.ihb-contact-form-panel .ihb-contact-error{padding:18px 22px;background:#fff3f0;color:#8c3326;border:1px solid #f0c3b9;margin-bottom:24px;line-height:1.5}
.ihb-contact-error ul{padding-left:20px}
.ihb-contact-success{padding:25px;background:#edf6f0;color:#265438;border:1px solid #b2d4bd;line-height:1.6}
.ihb-contact-aside{padding:clamp(30px,3vw,55px);background:#17334d;color:#d5e0e9}
.ihb-contact-aside h3{font:400 clamp(34px,3.2vw,52px)/1.12 var(--ihb-serif,Georgia,serif);letter-spacing:-.04em;color:#fff;margin:0 0 19px}
.ihb-contact-aside>p{font:400 15px/1.75 var(--ihb-sans,Arial,sans-serif);color:#cad8e4;margin:0 0 47px}
.ihb-contact-aside-link{display:block;border-top:1px solid #ffffff36;padding:21px 0;color:#edf4fb!important;line-height:2!important;text-decoration:none!important;font-size:13px;overflow-wrap:anywhere}
.ihb-contact-aside-link span,.ihb-contact-hours>span{display:block;font:800 10px/1.4 var(--ihb-sans,Arial,sans-serif);letter-spacing:.12em;color:#e5cbaa}
.ihb-contact-aside-link strong{font-size:17px;font-weight:600}
.ihb-contact-aside-link:hover strong{text-decoration:underline;text-underline-offset:3px}
.ihb-contact-hours{border-top:1px solid #ffffff36;margin-top:40px;padding-top:27px}
.ihb-contact-hours p{font:400 14px/1.75 var(--ihb-sans,Arial,sans-serif);color:#d0e0ec}
/* Privacy-first Google map, no iframe until user opts in */
.ihb-contact-arrival{background:#fff;padding:117px 0 127px}
.ihb-contact-map-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:33px}
.ihb-contact-map-intro h2{margin-bottom:12px}
.ihb-contact-map-intro p{font-size:16px;line-height:1.75;color:#5f7387;max-width:680px;margin:0}
.ihb-contact-map-shell{height:445px;position:relative;overflow:hidden;background:linear-gradient(135deg,#d9e5ef,#e9eff4);border:1px solid #d3dfe9}
.ihb-contact-map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:15px;padding:35px}
.ihb-contact-map-pin{font-size:40px;color:#64809a}
.ihb-contact-map-placeholder h3{font:400 clamp(27px,3vw,43px)/1.2 var(--ihb-serif,Georgia,serif);color:#25445c;margin:0}
.ihb-contact-map-placeholder p{font-size:14px;line-height:1.7;max-width:480px;color:#5b7388;margin:0 0 12px}
@media(max-width:920px){
 .ihb-contact-hero .sppb-row{grid-template-columns:1fr!important}
 .ihb-contact-hero .sppb-row>.sppb-row-column:first-child .sppb-column-addons{padding:70px 38px 78px}
 .ihb-contact-hero .sppb-row>.sppb-row-column:last-child{min-height:380px!important}
 .ihb-contact-intro{padding:85px 0!important}
 .ihb-contact-intro .sppb-row{grid-template-columns:1fr!important;gap:42px!important}
 .ihb-contact-intro .sppb-row>.sppb-row-column:last-child .sppb-column-addons{border-left:0;border-top:1px solid #e0e8ef;padding:35px 0 0}
 .ihb-contact-form-grid{grid-template-columns:1fr}
 .ihb-contact-aside{padding:38px}
 .ihb-contact-arrival{padding:85px 0}
}
@media(max-width:600px){
 body.ihb-page--contact .sppb-section>.sppb-container-inner,body.ihb-page--contact .sppb-section>.sppb-row-container,.ihb-contact-wrap{width:calc(100% - 34px)!important}
 .ihb-contact-hero-title .sppb-addon-title{font-size:clamp(54px,12vw,78px)!important}
 .ihb-contact-hero .sppb-row>.sppb-row-column:first-child .sppb-column-addons{padding:55px 23px 67px}
 .ihb-contact-hero .sppb-row>.sppb-row-column:last-child{min-height:260px!important}
 .ihb-contact-intro{padding:68px 0!important}
 .ihb-contact-form-intro{padding:65px 0 24px!important}
 .ihb-contact-form-zone{padding-bottom:80px}
 .ihb-contact-form-panel{padding:26px 22px}
 .ihb-contact-fields{grid-template-columns:1fr;gap:17px}
 .ihb-contact-aside{padding:30px 25px}
 .ihb-contact-map-intro{display:block}
 .ihb-contact-route{margin-top:28px}
 .ihb-contact-map-shell{height:420px}
}


/* V14.1 — Contact hero layout: fix SP Page Builder per-column width constraints.
   Scope deliberately limited to the contact hero; the mail form and map are unchanged. */
body.ihb-page--contact .ihb-contact-hero {
  position:relative!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:0!important;
  min-height:0!important;
  overflow:hidden!important;
}
body.ihb-page--contact .ihb-contact-hero > .sppb-container-inner,
body.ihb-page--contact .ihb-contact-hero > .sppb-row-container {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.ihb-page--contact .ihb-contact-hero .sppb-row {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:0!important;
  width:100%!important;
  margin:0!important;
  min-height:660px!important;
  align-items:stretch!important;
}
/* The #column-wrap-id-* rules generated by SP Page Builder otherwise constrain each
   grid child to 50% OF its grid track, producing the very narrow text column. */
body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  flex-basis:auto!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  min-width:0!important;
  min-height:660px!important;
  margin:0!important;
  padding:0!important;
}
body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:first-child {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(135deg,#10283e,#1b3a54)!important;
}
body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:first-child > .sppb-column {
  width:100%!important;
  min-width:0!important;
}
body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:first-child .sppb-column-addons {
  width:100%!important;
  max-width:720px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:clamp(56px,6vw,96px) clamp(32px,5vw,90px)!important;
}
body.ihb-page--contact .ihb-contact-hero-title .sppb-addon-title {
  font-size:clamp(56px,5.3vw,94px)!important;
  line-height:1.05!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:610px!important;
}
body.ihb-page--contact .ihb-contact-hero-intro p {
  max-width:540px!important;
  font-size:clamp(16px,1.12vw,19px)!important;
}
/* Span the image all the way down the right-hand column, even when SP Page Builder
   adds .clearfix / .sppb-addon-wrapper / image-container wrappers. */
body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:last-child {
  position:relative!important;
  min-height:660px!important;
  overflow:hidden!important;
  background:#213850!important;
}
body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:last-child .sppb-column,
body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:last-child .sppb-column-addons {
  display:block!important;
  position:static!important;
  padding:0!important;
  margin:0!important;
  width:100%!important;
  height:100%!important;
  min-height:660px!important;
}
body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:last-child .sppb-addon-wrapper {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}
body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:last-child :is(.clearfix,.sppb-addon,.sppb-addon-content,.sppb-addon-single-image-container) {
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}
body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:last-child img {
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:920px){
  body.ihb-page--contact .ihb-contact-hero .sppb-row{grid-template-columns:minmax(0,1fr)!important;min-height:0!important;}
  body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column{min-height:0!important;}
  body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:first-child .sppb-column-addons{
    max-width:750px!important;
    padding:70px clamp(28px,7vw,65px)!important;
  }
  body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:last-child,
  body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:last-child .sppb-column,
  body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:last-child .sppb-column-addons{
    min-height:390px!important;
    height:390px!important;
  }
}
@media(max-width:600px){
  body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:first-child .sppb-column-addons{
    padding:54px 25px 60px!important;
  }
  body.ihb-page--contact .ihb-contact-hero-title .sppb-addon-title{
    font-size:clamp(49px,11.2vw,69px)!important;
  }
  body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:last-child,
  body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:last-child .sppb-column,
  body.ihb-page--contact .ihb-contact-hero .sppb-row > .sppb-row-column:last-child .sppb-column-addons{
    min-height:270px!important;
    height:270px!important;
  }
}
