:root{
  --pms-black:#111315;
  --pms-charcoal:#1A1D21;
  --pms-blue:#1E88FF;
  --pms-sky:#4FC3FF;
  --pms-white:#FFFFFF;
  --pms-muted:#C8D4E2;
}

body.pms-contact-active{
  background:#07111B!important;
  overflow-x:hidden!important;
}

body.pms-contact-active .pms-ul-header-spacer{
  height:0!important;
  min-height:0!important;
  display:none!important;
}

body.pms-contact-active .entry-title,
body.pms-contact-active .wp-block-post-title,
body.pms-contact-active h1.entry-title{
  display:none!important;
}

body.pms-contact-active .entry-content,
body.pms-contact-active .wp-block-post-content,
body.pms-contact-active .site-content,
body.pms-contact-active .content-area,
body.pms-contact-active article{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

.pms-contact-full-bleed{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:-50vw!important;
}

.pms-contact-page{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100vw;
  min-height:100vh;
  color:var(--pms-white);
  font-family:Inter,Arial,sans-serif;
  background:
    radial-gradient(circle at 14% 18%, rgba(30,136,255,.18), transparent 28%),
    radial-gradient(circle at 86% 22%, rgba(79,195,255,.12), transparent 26%),
    linear-gradient(180deg,#06101A 0%,#07111B 52%,#0D1117 100%);
}

.pms-contact-page *{
  box-sizing:border-box;
}

.pms-contact-page::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  opacity:.32;
  pointer-events:none;
  background:
    linear-gradient(rgba(79,195,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(79,195,255,.06) 1px, transparent 1px);
  background-size:72px 72px;
}

.pms-contact-bg{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}

.pms-contact-bolt{
  position:absolute;
  width:520px;
  height:180px;
  opacity:.10;
  background:linear-gradient(90deg, transparent, rgba(30,136,255,.35), rgba(255,255,255,.82), rgba(79,195,255,.45), transparent);
  clip-path:polygon(0 54%,17% 54%,24% 18%,31% 67%,45% 67%,52% 31%,60% 74%,75% 74%,82% 42%,100% 58%,100% 69%,82% 54%,75% 86%,60% 86%,52% 43%,45% 78%,31% 78%,24% 30%,17% 65%,0 65%);
  filter:drop-shadow(0 0 10px rgba(79,195,255,.85)) drop-shadow(0 0 34px rgba(30,136,255,.6));
  animation:pms-contact-bolt 10s steps(1,end) infinite;
}

.pms-contact-bolt-a{
  left:-100px;
  top:110px;
  transform:rotate(-12deg);
}

.pms-contact-bolt-b{
  right:-110px;
  top:160px;
  transform:rotate(12deg) scaleX(-1);
  animation-delay:3.6s;
}

@keyframes pms-contact-bolt{
  0%,55%,60%,100%{opacity:.08}
  56%{opacity:.62}
  57%{opacity:.22}
  58%{opacity:.46}
}

.pms-contact-container{
  width:min(1180px, calc(100% - 64px));
  margin:0 auto;
  position:relative;
  z-index:3;
}

.pms-contact-hero{
  position:relative;
  z-index:2;
  padding:68px 0 34px;
  text-align:center;
}

.pms-contact-kicker,
.pms-contact-label{
  margin:0 0 14px;
  color:var(--pms-sky);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:13px;
  line-height:1.2;
  font-weight:900;
}

.pms-contact-hero h1{
  max-width:820px;
  margin:0 auto;
  font-size:clamp(42px,4.8vw,68px);
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:500;
}

.pms-contact-lead{
  max-width:760px;
  margin:24px auto 0;
  color:#D5DFEA;
  font-size:18px;
  line-height:1.65;
}

.pms-contact-main{
  position:relative;
  z-index:2;
  padding:34px 0 72px;
}

.pms-contact-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:28px;
  align-items:start;
}

.pms-contact-info{
  display:grid;
  gap:22px;
}

.pms-contact-card,
.pms-contact-form{
  position:relative;
  border-radius:24px;
  background:
    radial-gradient(circle at 14% 10%, rgba(30,136,255,.12), transparent 34%),
    linear-gradient(180deg, rgba(5,18,31,.96), rgba(4,12,22,.96));
  border:1px solid rgba(30,136,255,.58);
  box-shadow:
    0 22px 64px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.055),
    inset 0 0 42px rgba(30,136,255,.045);
  overflow:hidden;
}

.pms-contact-card{
  padding:30px 34px;
}

.pms-contact-card-feature{
  padding:36px 38px;
}

.pms-contact-card-feature h2,
.pms-contact-form h2,
.pms-contact-cta h2{
  margin:0 0 14px;
  color:#FFFFFF;
  font-size:clamp(28px,3vw,42px);
  line-height:1.12;
  letter-spacing:-.035em;
}

.pms-contact-card p,
.pms-contact-form p,
.pms-contact-cta p{
  margin:0;
  color:var(--pms-muted);
  font-size:17px;
  line-height:1.6;
}

.pms-contact-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.pms-contact-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:42px;
  margin:0 0 18px;
  border-radius:12px;
  color:#fff;
  background:rgba(5,24,42,.88);
  border:1px solid var(--pms-blue);
  box-shadow:0 0 18px rgba(30,136,255,.24), inset 0 0 18px rgba(30,136,255,.12);
  font-size:18px;
  font-weight:900;
}

.pms-contact-card h3{
  margin:0 0 10px;
  color:#FFFFFF;
  font-size:21px;
  line-height:1.25;
}

.pms-contact-card a{
  color:#D7E0EA!important;
  text-decoration:none!important;
}

.pms-contact-card a:hover{
  color:var(--pms-sky)!important;
}

.pms-contact-form{
  padding:38px;
}

.pms-contact-form-head{
  margin-bottom:24px;
}

.pms-contact-alert{
  margin:0 0 20px;
  padding:14px 16px;
  border-radius:14px;
  font-weight:800;
}

.pms-contact-alert-success{
  color:#DFFFE8;
  background:rgba(19,174,89,.16);
  border:1px solid rgba(19,174,89,.38);
}

.pms-contact-alert-error{
  color:#FFE1E1;
  background:rgba(255,64,64,.15);
  border:1px solid rgba(255,64,64,.38);
}

.pms-contact-hidden{
  position:absolute!important;
  left:-9999px!important;
  opacity:0!important;
}

.pms-contact-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.pms-contact-form label{
  display:block;
  margin-bottom:16px;
}

.pms-contact-form label span{
  display:block;
  margin:0 0 8px;
  color:#FFFFFF;
  font-size:14px;
  font-weight:800;
}

.pms-contact-form input,
.pms-contact-form select,
.pms-contact-form textarea{
  width:100%;
  border:1px solid rgba(79,195,255,.24);
  border-radius:16px;
  padding:14px 16px;
  color:#FFFFFF;
  background:rgba(255,255,255,.045);
  outline:none;
  font-size:16px;
  line-height:1.35;
}

.pms-contact-form input:focus,
.pms-contact-form select:focus,
.pms-contact-form textarea:focus{
  border-color:rgba(79,195,255,.72);
  box-shadow:0 0 0 3px rgba(30,136,255,.12);
}

.pms-contact-form textarea{
  resize:vertical;
  min-height:145px;
}

.pms-contact-form button{
  width:100%;
  min-height:54px;
  border:0;
  border-radius:999px;
  color:#FFFFFF;
  background:linear-gradient(135deg,var(--pms-blue),var(--pms-sky));
  box-shadow:0 0 24px rgba(30,136,255,.36);
  font-size:16px;
  font-weight:900;
  cursor:pointer;
}

.pms-contact-note{
  margin:14px 0 0!important;
  color:#9FAEC0!important;
  font-size:13px!important;
}

.pms-contact-cta{
  position:relative;
  z-index:2;
  padding:0 0 84px;
  text-align:center;
}

.pms-contact-cta h2{
  margin-bottom:12px;
}

@media(max-width:980px){
  .pms-contact-grid{
    grid-template-columns:1fr;
  }

  .pms-contact-info-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:640px){
  .pms-contact-container{
    width:min(100% - 28px,1180px);
  }

  .pms-contact-hero{
    padding:46px 0 24px;
  }

  .pms-contact-main{
    padding:24px 0 56px;
  }

  .pms-contact-info-grid,
  .pms-contact-row{
    grid-template-columns:1fr;
  }

  .pms-contact-form,
  .pms-contact-card-feature{
    padding:28px;
  }

  .pms-contact-bolt{
    width:360px;
  }
}


/* PMS Contact v1.1
   Cleans up the contact boxes, fixes text overflow, improves spacing, and makes the layout look more professional. */

.pms-contact-container{
  width:min(1180px, calc(100% - 72px))!important;
}

.pms-contact-main{
  padding:32px 0 78px!important;
}

.pms-contact-grid{
  grid-template-columns:minmax(420px, .92fr) minmax(520px, 1.08fr)!important;
  gap:30px!important;
  align-items:stretch!important;
}

/* Main left panel */
.pms-contact-card-feature{
  padding:40px 42px!important;
  min-height:248px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

.pms-contact-card-feature h2{
  max-width:430px!important;
  margin-bottom:18px!important;
  font-size:clamp(32px, 3vw, 46px)!important;
  line-height:1.08!important;
}

.pms-contact-card-feature p{
  max-width:470px!important;
  font-size:17px!important;
  line-height:1.65!important;
}

/* Small contact cards */
.pms-contact-info-grid{
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
}

.pms-contact-info-grid .pms-contact-card{
  min-height:150px!important;
  padding:26px 28px!important;
  display:block!important;
  overflow:hidden!important;
}

.pms-contact-number{
  width:48px!important;
  height:40px!important;
  margin:0 0 16px!important;
  font-size:18px!important;
}

.pms-contact-card h3{
  margin:0 0 10px!important;
  font-size:21px!important;
  line-height:1.25!important;
}

.pms-contact-card p{
  font-size:16px!important;
  line-height:1.45!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

.pms-contact-card a{
  display:inline-block!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

/* Shared card polish */
.pms-contact-card,
.pms-contact-form{
  border-radius:24px!important;
  border:1px solid rgba(30,136,255,.54)!important;
  background:
    radial-gradient(circle at 14% 10%, rgba(30,136,255,.10), transparent 34%),
    linear-gradient(180deg, rgba(5,18,31,.96), rgba(4,12,22,.96))!important;
  box-shadow:
    0 22px 64px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 0 42px rgba(30,136,255,.04)!important;
}

.pms-contact-card::before,
.pms-contact-form::before{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:0;
  height:2px;
  background:linear-gradient(90deg, rgba(30,136,255,.82), rgba(79,195,255,.26), transparent);
  opacity:.8;
}

/* Form side */
.pms-contact-form{
  padding:40px 42px!important;
}

.pms-contact-form-head{
  margin-bottom:26px!important;
}

.pms-contact-form h2{
  font-size:clamp(34px, 3.1vw, 48px)!important;
  line-height:1.08!important;
  margin-bottom:14px!important;
}

.pms-contact-row{
  gap:18px!important;
}

.pms-contact-form label{
  margin-bottom:18px!important;
}

.pms-contact-form label span{
  margin-bottom:9px!important;
  font-size:14px!important;
}

.pms-contact-form input,
.pms-contact-form select,
.pms-contact-form textarea{
  min-height:52px!important;
  border-radius:17px!important;
  padding:14px 17px!important;
  border:1px solid rgba(79,195,255,.30)!important;
  background:rgba(255,255,255,.045)!important;
}

.pms-contact-form textarea{
  min-height:158px!important;
}

.pms-contact-form button{
  min-height:56px!important;
  margin-top:6px!important;
  font-size:17px!important;
}

/* Prevent the left info area from looking cramped */
.pms-contact-info{
  gap:22px!important;
}

/* Better tablet handling */
@media(max-width:1100px){
  .pms-contact-grid{
    grid-template-columns:1fr!important;
    max-width:760px!important;
    margin:0 auto!important;
  }

  .pms-contact-card-feature{
    min-height:auto!important;
  }
}

@media(max-width:680px){
  .pms-contact-container{
    width:min(100% - 30px, 1180px)!important;
  }

  .pms-contact-info-grid,
  .pms-contact-row{
    grid-template-columns:1fr!important;
  }

  .pms-contact-card-feature,
  .pms-contact-form{
    padding:30px 28px!important;
  }

  .pms-contact-info-grid .pms-contact-card{
    min-height:auto!important;
    padding:26px 28px!important;
  }

  .pms-contact-card::before,
  .pms-contact-form::before{
    left:28px!important;
    right:28px!important;
  }
}


/* PMS Contact v1.2
   Fixes dropdown option visibility when the select menu is opened. */

.pms-contact-form select{
  color:#FFFFFF!important;
  background-color:rgba(255,255,255,.045)!important;
}

.pms-contact-form select option,
.pms-contact-form select optgroup{
  color:#111315!important;
  background:#FFFFFF!important;
}

.pms-contact-form select option:checked{
  color:#FFFFFF!important;
  background:#1E88FF!important;
}


/* PMS Contact v1.4
   Uses Contact Form 7 for the form itself.
   This styles CF7 fields to match the Prestige contact page. */

.pms-contact-cf7-wrap .wpcf7{
  margin:0!important;
  padding:0!important;
}

.pms-contact-cf7-wrap .wpcf7-form{
  margin:0!important;
  padding:0!important;
}

.pms-contact-cf7-wrap .wpcf7 p{
  margin:0 0 18px!important;
}

.pms-contact-cf7-wrap .wpcf7 label{
  display:block!important;
  color:#FFFFFF!important;
  font-size:14px!important;
  font-weight:800!important;
  margin:0!important;
}

.pms-contact-cf7-wrap .wpcf7-form-control-wrap{
  display:block!important;
  margin-top:9px!important;
}

.pms-contact-cf7-wrap input[type="text"],
.pms-contact-cf7-wrap input[type="email"],
.pms-contact-cf7-wrap input[type="tel"],
.pms-contact-cf7-wrap select,
.pms-contact-cf7-wrap textarea{
  width:100%!important;
  min-height:52px!important;
  border-radius:17px!important;
  padding:14px 17px!important;
  border:1px solid rgba(79,195,255,.30)!important;
  background:rgba(255,255,255,.045)!important;
  color:#FFFFFF!important;
  outline:none!important;
  font-size:16px!important;
  line-height:1.35!important;
  box-shadow:none!important;
}

.pms-contact-cf7-wrap textarea{
  min-height:158px!important;
  resize:vertical!important;
}

.pms-contact-cf7-wrap input:focus,
.pms-contact-cf7-wrap select:focus,
.pms-contact-cf7-wrap textarea:focus{
  border-color:rgba(79,195,255,.72)!important;
  box-shadow:0 0 0 3px rgba(30,136,255,.12)!important;
}

.pms-contact-cf7-wrap select option,
.pms-contact-cf7-wrap select optgroup{
  color:#111315!important;
  background:#FFFFFF!important;
}

.pms-contact-cf7-wrap select option:checked{
  color:#FFFFFF!important;
  background:#1E88FF!important;
}

.pms-contact-cf7-wrap input[type="submit"]{
  width:100%!important;
  min-height:56px!important;
  border:0!important;
  border-radius:999px!important;
  color:#FFFFFF!important;
  background:linear-gradient(135deg,var(--pms-blue),var(--pms-sky))!important;
  box-shadow:0 0 24px rgba(30,136,255,.36)!important;
  font-size:17px!important;
  font-weight:900!important;
  cursor:pointer!important;
  margin-top:6px!important;
}

.pms-contact-cf7-wrap input[type="submit"]:hover{
  filter:brightness(1.08)!important;
}

.pms-contact-cf7-wrap .wpcf7-not-valid-tip{
  color:#FFB4B4!important;
  font-size:13px!important;
  margin-top:7px!important;
}

.pms-contact-cf7-wrap .wpcf7-response-output{
  margin:18px 0 0!important;
  padding:14px 16px!important;
  border-radius:14px!important;
  color:#FFFFFF!important;
  border-color:rgba(79,195,255,.38)!important;
  background:rgba(30,136,255,.12)!important;
}

.pms-contact-cf7-missing{
  border:1px solid rgba(79,195,255,.30);
  border-radius:18px;
  padding:20px;
  background:rgba(255,255,255,.045);
}

.pms-contact-cf7-missing h3{
  margin:0 0 10px;
  color:#FFFFFF;
}

.pms-contact-cf7-missing p{
  margin:0 0 12px;
  color:#C8D4E2;
}

.pms-contact-cf7-missing code{
  display:block;
  padding:12px;
  border-radius:12px;
  color:#FFFFFF;
  background:rgba(0,0,0,.32);
  white-space:normal;
}

/* Optional two-column CF7 helper classes */
.pms-cf7-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

@media(max-width:680px){
  .pms-cf7-row{
    grid-template-columns:1fr;
    gap:0;
  }
}


/* PMS Contact v1.5
   Fixes the CF7 layout shift: stops the left boxes stretching, tightens the form,
   and restores a cleaner balanced contact page layout. */

.pms-contact-main{
  padding:30px 0 68px!important;
}

.pms-contact-grid{
  grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr)!important;
  gap:30px!important;
  align-items:start!important;
}

/* Stop the left side from stretching to the full form height */
.pms-contact-info{
  align-self:start!important;
  display:grid!important;
  gap:22px!important;
}

.pms-contact-card-feature{
  min-height:auto!important;
  padding:34px 38px!important;
  display:block!important;
}

.pms-contact-card-feature h2{
  margin-bottom:16px!important;
  font-size:clamp(34px,3vw,46px)!important;
  line-height:1.08!important;
}

.pms-contact-card-feature p{
  max-width:520px!important;
  font-size:16.5px!important;
  line-height:1.6!important;
}

/* Small info boxes: compact and aligned */
.pms-contact-info-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
  align-items:start!important;
}

.pms-contact-info-grid .pms-contact-card{
  min-height:132px!important;
  height:auto!important;
  padding:24px 28px!important;
  display:block!important;
}

.pms-contact-number{
  width:48px!important;
  height:40px!important;
  margin:0 0 14px!important;
}

.pms-contact-card h3{
  margin:0 0 9px!important;
  font-size:21px!important;
  line-height:1.25!important;
}

.pms-contact-card p{
  font-size:15.5px!important;
  line-height:1.45!important;
}

/* Form panel: keep it clean, not stretched with huge gaps */
.pms-contact-form{
  padding:34px 40px 36px!important;
}

.pms-contact-form-head{
  margin-bottom:24px!important;
}

.pms-contact-form-head h2{
  font-size:clamp(36px,3.2vw,48px)!important;
  line-height:1.08!important;
  margin-bottom:12px!important;
}

.pms-contact-form-head p{
  font-size:16.5px!important;
}

/* Contact Form 7 spacing fixes */
.pms-contact-cf7-wrap .wpcf7-form{
  display:block!important;
}

.pms-contact-cf7-wrap .wpcf7 p{
  margin:0 0 16px!important;
}

.pms-contact-cf7-wrap .pms-cf7-row{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
  margin:0 0 16px!important;
}

.pms-contact-cf7-wrap .pms-cf7-row p{
  margin:0!important;
}

.pms-contact-cf7-wrap .wpcf7-form-control-wrap{
  margin-top:8px!important;
}

.pms-contact-cf7-wrap input[type="text"],
.pms-contact-cf7-wrap input[type="email"],
.pms-contact-cf7-wrap input[type="tel"],
.pms-contact-cf7-wrap select{
  min-height:52px!important;
  height:52px!important;
}

.pms-contact-cf7-wrap textarea{
  min-height:132px!important;
  height:132px!important;
}

.pms-contact-cf7-wrap input[type="submit"]{
  margin-top:8px!important;
  min-height:56px!important;
}

/* Keep email from breaking ugly */
.pms-contact-card a{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* Tablet/mobile */
@media(max-width:1100px){
  .pms-contact-grid{
    grid-template-columns:1fr!important;
    max-width:760px!important;
    margin:0 auto!important;
  }
}

@media(max-width:680px){
  .pms-contact-container{
    width:min(100% - 30px,1180px)!important;
  }

  .pms-contact-info-grid,
  .pms-contact-cf7-wrap .pms-cf7-row{
    grid-template-columns:1fr!important;
  }

  .pms-contact-card-feature,
  .pms-contact-form{
    padding:28px!important;
  }

  .pms-contact-info-grid .pms-contact-card{
    min-height:auto!important;
  }

  .pms-contact-cf7-wrap textarea{
    min-height:150px!important;
    height:150px!important;
  }
}


/* PMS Contact v1.6
   Adds a clear success/error message after Contact Form 7 submit. */

.pms-contact-submit-message{
  margin:0 0 22px!important;
  padding:16px 18px!important;
  border-radius:16px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  font-size:15px!important;
  line-height:1.45!important;
}

.pms-contact-submit-message strong{
  color:#FFFFFF!important;
  font-size:17px!important;
}

.pms-contact-submit-message span{
  color:#D7E0EA!important;
}

.pms-contact-submit-message-success{
  background:rgba(19,174,89,.16)!important;
  border:1px solid rgba(19,174,89,.46)!important;
  box-shadow:0 0 22px rgba(19,174,89,.12)!important;
}

.pms-contact-submit-message-error{
  background:rgba(255,64,64,.14)!important;
  border:1px solid rgba(255,64,64,.42)!important;
  box-shadow:0 0 22px rgba(255,64,64,.10)!important;
}

/* Also make Contact Form 7's own response message visible and styled. */
.pms-contact-cf7-wrap .wpcf7 form .wpcf7-response-output,
.pms-contact-cf7-wrap .wpcf7-response-output{
  display:block!important;
  margin:18px 0 0!important;
  padding:15px 17px!important;
  border-radius:16px!important;
  color:#FFFFFF!important;
  font-weight:800!important;
  background:rgba(30,136,255,.13)!important;
  border:1px solid rgba(79,195,255,.45)!important;
}

.pms-contact-cf7-wrap .wpcf7 form.sent .wpcf7-response-output{
  background:rgba(19,174,89,.16)!important;
  border-color:rgba(19,174,89,.46)!important;
}

.pms-contact-cf7-wrap .wpcf7 form.invalid .wpcf7-response-output,
.pms-contact-cf7-wrap .wpcf7 form.failed .wpcf7-response-output{
  background:rgba(255,64,64,.14)!important;
  border-color:rgba(255,64,64,.42)!important;
}


/* PMS Contact v1.7
   Restores the safety note before the submit button. */

.pms-contact-privacy-note{
  margin:2px 0 18px!important;
  padding:13px 15px!important;
  border-radius:14px!important;
  color:#C8D4E2!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(79,195,255,.24)!important;
  font-size:13.5px!important;
  line-height:1.45!important;
}


/* PMS Contact v1.8
   Uses the bottom CF7 response box as the safety note before sending.
   After submission, the same box changes into the success/error message. */

/* Hide the old separate safety note if an older cached version created it. */
.pms-contact-privacy-note,
.pms-contact-submit-message{
  display:none!important;
}

/* Bottom message box, always visible. */
.pms-contact-cf7-wrap .wpcf7 form .wpcf7-response-output,
.pms-contact-cf7-wrap .wpcf7-response-output{
  display:block!important;
  margin:24px 0 0!important;
  padding:16px 18px!important;
  border-radius:16px!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:700!important;
  color:#C8D4E2!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(79,195,255,.30)!important;
  box-shadow:none!important;
}

/* Default safety note state */
.pms-contact-cf7-wrap .wpcf7-response-output.pms-contact-cf7-default{
  color:#C8D4E2!important;
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(79,195,255,.30)!important;
}

/* Success state */
.pms-contact-cf7-wrap .wpcf7-response-output.pms-contact-cf7-success,
.pms-contact-cf7-wrap .wpcf7 form.sent .wpcf7-response-output{
  color:#DFFFE8!important;
  background:rgba(19,174,89,.16)!important;
  border-color:rgba(19,174,89,.48)!important;
  box-shadow:0 0 22px rgba(19,174,89,.10)!important;
  font-size:18px!important;
  font-weight:900!important;
}

/* Error state */
.pms-contact-cf7-wrap .wpcf7-response-output.pms-contact-cf7-error,
.pms-contact-cf7-wrap .wpcf7 form.invalid .wpcf7-response-output,
.pms-contact-cf7-wrap .wpcf7 form.failed .wpcf7-response-output{
  color:#FFE1E1!important;
  background:rgba(255,64,64,.14)!important;
  border-color:rgba(255,64,64,.42)!important;
  box-shadow:0 0 22px rgba(255,64,64,.10)!important;
}


/* PMS Contact v2.0
   Rollback-safe fix from v1.8.
   Keeps the working CF7 success/safety message and fixes the left info cards without clipping. */

.pms-contact-info-grid{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}

.pms-contact-info-grid .pms-contact-card{
  height:auto!important;
  min-height:178px!important;
  max-height:none!important;
  padding:26px 30px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  overflow:visible!important;
}

.pms-contact-info-grid .pms-contact-number{
  flex:0 0 auto!important;
  width:48px!important;
  height:40px!important;
  margin:0 0 16px!important;
}

.pms-contact-info-grid .pms-contact-card h3{
  margin:0 0 10px!important;
  font-size:21px!important;
  line-height:1.25!important;
}

.pms-contact-info-grid .pms-contact-card p{
  margin:0!important;
  max-width:100%!important;
  color:#C8D4E2!important;
  font-size:15.5px!important;
  line-height:1.45!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.pms-contact-info-grid .pms-contact-card a{
  color:#D7E0EA!important;
  text-decoration:none!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.pms-contact-info-grid .pms-contact-card a:hover{
  color:#4FC3FF!important;
}

/* Keep the big main contact card separate from the small info cards. */
.pms-contact-card-feature{
  height:auto!important;
  min-height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
}

/* Keep form column normal. */
.pms-contact-form{
  align-self:start!important;
}

/* Mobile: stack safely */
@media(max-width:680px){
  .pms-contact-info-grid{
    grid-template-columns:1fr!important;
  }

  .pms-contact-info-grid .pms-contact-card{
    min-height:145px!important;
    padding:26px 28px!important;
  }
}


/* PMS Contact v2.1
   Kadence header/footer compatibility, full-width page shell cleanup, and brighter text. */

html,
body{
  overflow-x:hidden!important;
}

body.pms-contact-active{
  background:#07111B!important;
  overflow-x:hidden!important;
}

/* Keep Kadence header/footer visible while removing the default page shell */
body.pms-contact-active .entry-hero,
body.pms-contact-active .entry-hero-container-inner,
body.pms-contact-active .entry-header,
body.pms-contact-active .page-header,
body.pms-contact-active .entry-title,
body.pms-contact-active .page-title,
body.pms-contact-active .wp-block-post-title,
body.pms-contact-active h1.entry-title{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

body.pms-contact-active #page,
body.pms-contact-active #inner-wrap,
body.pms-contact-active #content,
body.pms-contact-active #primary,
body.pms-contact-active #main,
body.pms-contact-active .site,
body.pms-contact-active .site-main,
body.pms-contact-active .site-content,
body.pms-contact-active .content-area,
body.pms-contact-active .content-container,
body.pms-contact-active .content-bg,
body.pms-contact-active .content-wrap,
body.pms-contact-active .site-container,
body.pms-contact-active .entry,
body.pms-contact-active article,
body.pms-contact-active .entry-content-wrap,
body.pms-contact-active .entry-content,
body.pms-contact-active .wp-block-post-content,
body.pms-contact-active .wp-site-blocks,
body.pms-contact-active .wp-block-group{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#07111B!important;
  box-shadow:none!important;
}

body.pms-contact-active .entry-content > *,
body.pms-contact-active .wp-block-post-content > *{
  max-width:none!important;
}

body.pms-contact-active .pms-ul-header-spacer{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

/* Stop the old full-bleed trick from creating white gutters or sideways offset */
body.pms-contact-active .entry-content > .pms-contact-page,
body.pms-contact-active .wp-block-post-content > .pms-contact-page,
body.pms-contact-active .entry-content > .pms-contact-full-bleed,
body.pms-contact-active .wp-block-post-content > .pms-contact-full-bleed,
.pms-contact-full-bleed{
  position:relative!important;
  left:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}

.pms-contact-page{
  width:100%!important;
  max-width:none!important;
  min-height:auto!important;
  margin:0!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 14% 0%, rgba(30,136,255,.22), transparent 34%),
    radial-gradient(circle at 92% 10%, rgba(79,195,255,.14), transparent 30%),
    linear-gradient(180deg,#07111B 0%,#081726 48%,#07111B 100%)!important;
}

/* Brighter contact page text */
.pms-contact-hero h1,
.pms-contact-card-feature h2,
.pms-contact-form h2,
.pms-contact-cta h2{
  color:#FFFFFF!important;
  opacity:1!important;
  text-shadow:0 0 22px rgba(30,136,255,.22)!important;
}

.pms-contact-lead,
.pms-contact-card p,
.pms-contact-form p,
.pms-contact-cta p,
.pms-contact-form label span{
  color:#DCE8F5!important;
  opacity:1!important;
}

.pms-contact-card h3{
  color:#FFFFFF!important;
  opacity:1!important;
}

.pms-contact-card a{
  color:#DCE8F5!important;
}

.pms-contact-card a:hover{
  color:var(--pms-sky)!important;
}

.pms-contact-card,
.pms-contact-form{
  background:
    radial-gradient(circle at 14% 10%, rgba(30,136,255,.14), transparent 34%),
    linear-gradient(180deg, rgba(5,18,31,.98), rgba(4,12,22,.98))!important;
  border-color:rgba(30,136,255,.62)!important;
}

.pms-contact-form input,
.pms-contact-form select,
.pms-contact-form textarea{
  color:#FFFFFF!important;
  background:rgba(255,255,255,.055)!important;
}

.pms-contact-form input::placeholder,
.pms-contact-form textarea::placeholder{
  color:rgba(220,232,245,.68)!important;
}

@media(max-width:680px){
  .pms-contact-page{
    padding-top:0!important;
  }

  .pms-contact-hero{
    padding-top:44px!important;
  }
}


/* PMS Contact v2.2
   Text alignment pass: keeps the hero centred, but makes the contact cards and form panels align cleanly. */

body.pms-contact-active .pms-contact-page{
  padding-top:0!important;
}

.pms-contact-hero{
  padding:72px 0 38px!important;
  text-align:center!important;
}

.pms-contact-hero h1,
.pms-contact-lead{
  text-align:center!important;
}

.pms-contact-main{
  padding:34px 0 78px!important;
}

.pms-contact-grid{
  grid-template-columns:minmax(430px,.94fr) minmax(540px,1.06fr)!important;
  gap:30px!important;
  align-items:start!important;
}

.pms-contact-info,
.pms-contact-form-wrap{
  align-self:start!important;
}

.pms-contact-card-feature,
.pms-contact-form{
  text-align:left!important;
}

.pms-contact-card-feature{
  display:block!important;
  padding:36px 38px!important;
  min-height:auto!important;
}

.pms-contact-card-feature .pms-contact-label,
.pms-contact-form-head .pms-contact-label{
  display:block!important;
  margin:0 0 56px!important;
  line-height:1.2!important;
}

.pms-contact-card-feature h2,
.pms-contact-form-head h2{
  margin:0 0 16px!important;
  padding:0!important;
  text-align:left!important;
  color:#FFFFFF!important;
  opacity:1!important;
}

.pms-contact-card-feature p,
.pms-contact-form-head p{
  margin:0!important;
  text-align:left!important;
  color:#DCE8F5!important;
  opacity:1!important;
}

.pms-contact-form{
  padding:36px 40px 38px!important;
}

.pms-contact-form-head{
  margin:0 0 26px!important;
  padding:0!important;
}

.pms-contact-info-grid{
  align-items:stretch!important;
}

.pms-contact-info-grid .pms-contact-card{
  text-align:left!important;
  padding:26px 28px!important;
}

.pms-contact-info-grid .pms-contact-card h3,
.pms-contact-info-grid .pms-contact-card p{
  text-align:left!important;
}

.pms-contact-cf7-wrap .pms-cf7-row{
  align-items:start!important;
}

.pms-contact-cf7-wrap .wpcf7 label,
.pms-contact-cf7-wrap .wpcf7-form-control-wrap,
.pms-contact-cf7-wrap .wpcf7 p{
  text-align:left!important;
}

@media(max-width:1100px){
  .pms-contact-grid{
    grid-template-columns:1fr!important;
    max-width:760px!important;
  }

  .pms-contact-card-feature .pms-contact-label,
  .pms-contact-form-head .pms-contact-label{
    margin-bottom:36px!important;
  }
}

@media(max-width:680px){
  .pms-contact-hero{
    padding:48px 0 28px!important;
  }

  .pms-contact-card-feature,
  .pms-contact-form{
    padding:28px!important;
  }

  .pms-contact-card-feature .pms-contact-label,
  .pms-contact-form-head .pms-contact-label{
    margin-bottom:26px!important;
  }
}

/* PMS Contact v2.3
   Final hero alignment fix: force the main hero title to sit centred with the kicker and lead text. */

body.pms-contact-active .pms-contact-hero .pms-contact-container{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
}

body.pms-contact-active .pms-contact-hero h1{
  display:block!important;
  width:100%!important;
  max-width:980px!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
  color:#FFFFFF!important;
  line-height:1.08!important;
  letter-spacing:-0.04em!important;
}

body.pms-contact-active .pms-contact-hero .pms-contact-kicker,
body.pms-contact-active .pms-contact-hero .pms-contact-lead{
  display:block!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

body.pms-contact-active .pms-contact-hero .pms-contact-lead{
  max-width:760px!important;
}

@media(max-width:680px){
  body.pms-contact-active .pms-contact-hero h1{
    max-width:100%!important;
    font-size:clamp(38px,12vw,56px)!important;
  }
}


/* PMS Contact v2.4
   True centre hero alignment fix confirmed from live test. */

body.page-id-contact .pms-contact-hero,
body.page-id-contact .pms-contact-hero-inner,
.pms-contact-hero,
.pms-contact-hero-inner,
.pms-contact-page .hero,
.pms-contact-page .hero-inner,
.pms-contact-wrap .hero,
.pms-contact-wrap .hero-inner {
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.pms-contact-hero h1,
.pms-contact-page h1,
.pms-contact-wrap h1,
body.page-id-contact h1 {
  display: block !important;
  width: 100% !important;
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
}

.pms-contact-hero p,
.pms-contact-page .hero p,
.pms-contact-wrap .hero p {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
