.kc-restored-cta{background:#101c3b!important;color:white!important;padding:48px max(30px,5vw)!important}.kc-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1400px;margin:auto}.kc-cta-inner h2{font:700 clamp(27px,3vw,40px)/1.2 Georgia,serif!important;color:white!important;margin:0 0 8px}.kc-cta-inner p{color:#d5d8df;margin:0;font-size:14px}.kc-contact-submit{background:#b8a894;color:#101c3b;border:0;border-radius:9px;padding:15px 23px;font:700 14px inherit;cursor:pointer;white-space:nowrap}.kc-contact-modal[hidden],.kc-contact-modal [hidden]{display:none!important}.kc-contact-modal{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:18px}.kc-modal-shade{position:absolute;inset:0;background:#0e1c36b8;backdrop-filter:blur(5px)}.kc-modal-panel{position:relative;background:#fff;color:#101c3b;border-radius:22px;width:min(850px,100%);max-height:min(92dvh,900px);overflow:auto;padding:30px 35px;box-shadow:0 28px 80px #0004;font-family:inherit}.kc-modal-panel:focus{outline:none}.kc-modal-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:22px}.kc-modal-head h2{font:700 34px/1.1 Georgia,serif;margin:7px 0 0;color:#101c3b}.kc-modal-head .eyebrow{color:#98846e;font-size:11px;letter-spacing:.15em}.kc-modal-close{border:0;background:#f4f1ec;border-radius:50%;width:40px;height:40px;font-size:28px;color:#101c3b;cursor:pointer}.kc-contact-options{display:flex;gap:5px;padding:5px;background:#f3f0eb;border-radius:11px;margin-bottom:24px}.kc-contact-options button{flex:1;border:0;border-radius:8px;background:transparent;color:#536174;padding:14px;font:600 14px inherit;cursor:pointer}.kc-contact-options button[aria-selected=true]{background:#101c3b;color:#fff}.kc-contact-required{font-size:12px;color:#657183;margin:0 0 16px}.kc-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.kc-contact-fields label{font-size:13px;font-weight:650;color:#273952;min-width:0}.kc-contact-fields label span{font-weight:400;color:#768091}.kc-contact-fields input,.kc-contact-fields textarea{display:block;width:100%;box-sizing:border-box;min-height:48px;margin-top:7px;border:1px solid #d7dce1;border-radius:9px;background:white;color:#101c3b;padding:12px;font:400 15px inherit}.kc-contact-fields textarea{min-height:120px;resize:vertical}.kc-contact-full{grid-column:1/-1}.kc-contact-fields :is(input,textarea):focus{outline:2px solid #b8a894;outline-offset:1px}.kc-contact-privacy{font-size:12px;color:#697485;margin:20px 0}.kc-contact-privacy a{color:#364e6d}.kc-contact-feedback{font-size:13px;margin:14px 0;color:#21633b}.kc-contact-feedback[data-error=true]{color:#a12e2e}.kc-contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.kc-contact-property{padding:12px;background:#f5f2ee;margin-top:15px;display:flex;justify-content:space-between}.kc-contact-property button{border:0;background:transparent;cursor:pointer}.kc-calendar iframe{width:100%;height:min(68dvh,760px);border:0;border-radius:9px;background:white}.kc-phone-line{display:flex;align-items:stretch;gap:8px}.kc-phone-line>input{flex:1;min-width:0}.kc-country-box{position:relative;flex:0 0 auto;margin-top:7px}.kc-country-box>button{height:48px;border:1px solid #d7dce1;background:#fff;border-radius:9px;padding:0 10px;cursor:pointer;color:#101c3b}.kc-country-picker{position:absolute;top:52px;left:0;width:min(330px,78vw);max-height:290px;overflow:auto;background:white;border:1px solid #d9d7d3;box-shadow:0 15px 40px #0002;border-radius:10px;z-index:5;padding:8px}.kc-country-picker input{margin:0 0 8px!important}.kc-country-picker [role=option]{display:block;width:100%;text-align:left;background:white;border:0;padding:9px;border-radius:6px;cursor:pointer;color:#101c3b}.kc-country-picker [role=option]:hover{background:#f4f0e9}body.kc-contact-open{overflow:hidden}.kc-contact-modal :is(button,a,input,textarea):focus-visible{outline:2px solid #b8a894;outline-offset:2px}@media(max-width:650px){.kc-restored-cta{padding:36px 20px!important}.kc-cta-inner{flex-direction:column;align-items:flex-start}.kc-modal-panel{padding:22px 17px;max-height:95dvh}.kc-contact-fields{grid-template-columns:1fr}.kc-contact-full{grid-column:auto}.kc-modal-head h2{font-size:29px}.kc-calendar iframe{height:68dvh}.kc-contact-modal{padding:8px}}

/* KCMO shared typography and button system: reuse the existing hero visual language. */
.kc-restored-cta .kc-contact-submit,
.kc-contact-modal .kc-contact-submit{
  display:inline-flex!important;align-items:center;justify-content:center;gap:9px;
  min-height:48px;padding:0 20px;border:1px solid transparent;border-radius:11px;
  background:linear-gradient(135deg,#B8A894,#A99B89);
  color:#fff!important;font-family:var(--sans)!important;font-size:14px;
  font-weight:800;line-height:1.35;letter-spacing:0;
  box-shadow:0 8px 24px rgba(170,146,118,.22);
  transition:background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.kc-restored-cta .kc-contact-submit:hover,
.kc-contact-modal .kc-contact-submit:hover{
  background:linear-gradient(135deg,#C6B8A7,#B8A894);
  box-shadow:0 12px 28px rgba(170,146,118,.28);transform:translateY(-1px);
}
.kc-contact-modal,.kc-modal-panel,.kc-modal-panel button,
.kc-modal-panel input,.kc-modal-panel textarea{
  font-family:var(--sans)!important;
}
.kc-modal-head h2{font-family:var(--serif)!important;font-weight:700;letter-spacing:-.03em}
.kc-modal-head .eyebrow{font-family:var(--sans)!important;font-weight:800}
.kc-modal-panel .kc-contact-options button{
  font-family:var(--sans)!important;font-size:13px;font-weight:800;line-height:1.4;
}
.kc-modal-panel .kc-contact-fields label{
  font-family:var(--sans)!important;font-size:13px;font-weight:700;line-height:1.5;
}
.kc-modal-panel .kc-contact-fields input,
.kc-modal-panel .kc-contact-fields textarea{
  font-family:var(--sans)!important;font-size:15px;font-weight:400;line-height:1.5;
  border-color:var(--line);border-radius:10px;
}
.kc-modal-panel .kc-contact-fields input::placeholder,
.kc-modal-panel .kc-contact-fields textarea::placeholder{font-family:var(--sans)!important;font-size:13px;color:#87909d}
.kc-modal-panel .kc-contact-required,.kc-modal-panel .kc-contact-privacy,
.kc-modal-panel .kc-contact-feedback{font-family:var(--sans)!important}
.kc-modal-close{font-family:var(--sans)!important;font-weight:500}
.kc-modal-panel .kc-country-box>button{font-family:var(--sans)!important;font-size:13px;font-weight:700}
@media(max-width:680px){
 .kc-restored-cta .kc-contact-submit{display:inline-flex!important;width:auto!important}
}

/* Compact direct-email alternative, shared across message and calendar tabs. */
.kc-direct-email{display:flex;align-items:center;gap:9px 12px;flex-wrap:wrap;margin:-6px 0 21px;color:var(--muted);font-family:var(--sans);font-size:13px;line-height:1.5}
.kc-direct-email>a{color:var(--navy);font-weight:700;text-decoration:underline;text-decoration-color:#b8a894;text-underline-offset:3px;overflow-wrap:anywhere}
.kc-direct-email>button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;background:#f6f3ee;color:var(--navy);padding:7px 10px;font-family:var(--sans);font-size:12px;font-weight:700;cursor:pointer;transition:background .2s ease}
.kc-direct-email>button:hover{background:#eae3d8}
.kc-copy-feedback{color:#2b6843;font-size:12px}
@media(max-width:650px){.kc-direct-email{margin-top:-7px;font-size:12px}}

/* Polished email alternative: quiet card with a clearly separated copy action. */
.kc-modal-panel .kc-direct-email{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;padding:14px 16px;margin:0 0 22px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#f9f7f4,#f3efe9);font:500 13px/1.5 var(--sans);color:var(--muted)}
.kc-modal-panel .kc-direct-email>span:first-child{font-size:12px;font-weight:700;color:#7d6e60;white-space:nowrap}
.kc-modal-panel .kc-direct-email>a{font-size:13px;font-weight:800;color:var(--navy);text-decoration:none;border-bottom:1px solid #b8a894;overflow-wrap:anywhere}
.kc-modal-panel .kc-direct-email>a:hover{color:#786650}
.kc-modal-panel .kc-direct-email>button{margin-left:auto;min-height:36px;padding:7px 12px;border:1px solid #ded7cb;border-radius:9px;background:#fff;box-shadow:0 2px 7px #101c3b0a;color:var(--navy);font:700 12px var(--sans)}
.kc-modal-panel .kc-direct-email>button:hover{background:#ebe5db;border-color:#c8b9a6}
.kc-modal-panel .kc-copy-feedback:not(:empty){width:100%;font-size:12px;color:#276a48}
@media(max-width:520px){.kc-modal-panel .kc-direct-email{padding:13px 12px;gap:8px}.kc-modal-panel .kc-direct-email>button{margin-left:0}.kc-modal-panel .kc-direct-email>a{font-size:12px}}

/* Direct email: refined compact panel with icon-only copy action. */
.kc-modal-panel .kc-direct-email{display:flex;align-items:center;gap:13px;padding:15px 17px;margin:0 0 24px;background:#f7f5f1;border:1px solid #e9e3da;border-radius:14px;box-shadow:none}
.kc-modal-panel .kc-email-symbol{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#ece6dc;color:#8f7a60}
.kc-modal-panel .kc-email-text{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:3px}
.kc-modal-panel .kc-email-text>span{font:500 12px/1.35 var(--sans);color:#70798a}
.kc-modal-panel .kc-email-text>a{font:750 14px/1.35 var(--sans);color:var(--navy);text-decoration:none;border:0;overflow-wrap:anywhere}
.kc-modal-panel .kc-email-text>a:hover{text-decoration:underline;text-decoration-color:var(--taupe);text-underline-offset:3px}
.kc-modal-panel .kc-direct-email>button.kc-email-copy{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;min-height:42px;margin-left:auto;padding:0;background:#fff;border:1px solid #e0d9ce;border-radius:11px;color:#71604e;box-shadow:0 2px 8px rgba(16,28,59,.06);transition:background .2s,border-color .2s,transform .2s}
.kc-modal-panel .kc-direct-email>button.kc-email-copy:hover{background:#eee7dd;border-color:#b8a894;transform:translateY(-1px)}
.kc-modal-panel .kc-copy-feedback:not(:empty){width:100%;margin-left:55px;font-weight:700}
@media(max-width:520px){.kc-modal-panel .kc-direct-email{padding:12px;gap:10px}.kc-modal-panel .kc-email-symbol{width:36px;height:36px;flex-basis:36px}.kc-modal-panel .kc-email-text>a{font-size:12px}.kc-modal-panel .kc-direct-email>button.kc-email-copy{width:38px;height:38px;min-height:38px;flex-basis:38px}.kc-modal-panel .kc-copy-feedback:not(:empty){margin-left:46px}}

/* Two clear, equal-weight contact routes. */
.kc-modal-panel .kc-contact-choices{display:grid;gap:0;margin:0 0 24px}
.kc-modal-panel .kc-contact-choice{display:flex;align-items:center;gap:14px;min-width:0;padding:16px 18px;background:#f8f6f2;border:1px solid #e8e1d8;border-radius:13px;box-shadow:none}
.kc-modal-panel .kc-contact-choice .kc-choice-icon{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:11px;background:#ebe4d9;color:#8c745a}
.kc-modal-panel .kc-contact-choice .kc-choice-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.kc-modal-panel .kc-contact-choice .kc-choice-content strong{font:800 15px/1.3 var(--sans);color:var(--navy)}
.kc-modal-panel .kc-contact-choice .kc-choice-content>span{font:400 12px/1.5 var(--sans);color:#667184}
.kc-modal-panel .kc-contact-choice .kc-choice-content>a{font:700 13px/1.4 var(--sans);color:var(--navy);text-decoration:underline;text-decoration-color:#b8a894;text-underline-offset:3px;overflow-wrap:anywhere}
.kc-modal-panel .kc-choice-divider{display:flex;align-items:center;gap:15px;margin:11px 4px;color:#8b7b68;font:800 11px/1 var(--sans);letter-spacing:.12em}
.kc-modal-panel .kc-choice-divider:before,.kc-modal-panel .kc-choice-divider:after{content:"";height:1px;flex:1;background:#e7e1d8}
.kc-modal-panel .kc-contact-choice.kc-direct-email{margin:0;flex-wrap:wrap;background:#f8f6f2}
.kc-modal-panel .kc-contact-choice .kc-email-copy{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;min-height:42px;margin-left:auto;border:1px solid #ded7ca;border-radius:10px;background:white;color:#806a52;cursor:pointer}
.kc-modal-panel .kc-contact-choice .kc-email-copy:hover{background:#eee7dd;border-color:#b8a894}
.kc-modal-panel .kc-contact-choice .kc-copy-feedback:not(:empty){width:100%;margin-left:57px;color:#276a48;font:700 12px var(--sans)}
@media(max-width:520px){.kc-modal-panel .kc-contact-choice{padding:12px;gap:10px}.kc-modal-panel .kc-contact-choice .kc-choice-icon{width:37px;height:37px;flex-basis:37px}.kc-modal-panel .kc-contact-choice .kc-choice-content strong{font-size:13px}.kc-modal-panel .kc-contact-choice .kc-choice-content>a{font-size:12px}.kc-modal-panel .kc-contact-choice .kc-email-copy{width:38px;height:38px;min-height:38px;flex-basis:38px}.kc-modal-panel .kc-contact-choice .kc-copy-feedback:not(:empty){margin-left:47px}}

/* Three equal contact tiles — shared KCMO navy, taupe and type scale. */
.kc-modal-panel .kc-contact-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:6px 0 8px}
.kc-modal-panel .kc-contact-tile{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;min-width:0;min-height:215px;margin:0;padding:25px 12px 19px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--navy);font-family:var(--sans);text-align:center;box-shadow:0 8px 24px rgba(16,28,59,.045);transition:border-color .2s,box-shadow .2s,transform .2s;cursor:pointer}
.kc-modal-panel .kc-contact-tile:hover{border-color:var(--taupe);box-shadow:0 12px 30px rgba(16,28,59,.11);transform:translateY(-2px)}
.kc-modal-panel .kc-contact-tile .kc-choice-icon{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:15px;background:#f1ede6;color:#967e62}
.kc-modal-panel .kc-contact-tile strong{font:800 19px/1.3 var(--sans);color:var(--navy)}
.kc-modal-panel .kc-contact-tile>span:not(.kc-choice-icon):not(.kc-tile-arrow):not(.kc-copy-feedback){font:400 16px/1.5 var(--sans);color:var(--muted)}
.kc-modal-panel .kc-contact-tile .kc-tile-arrow{margin-top:auto;font-size:20px;line-height:1;color:#9b8369}
.kc-modal-panel .kc-email-tile{cursor:default}
.kc-modal-panel .kc-email-tile>a{display:block;width:100%;font:700 15px/1.5 var(--sans);color:var(--navy);text-decoration:underline;text-decoration-color:var(--taupe);text-underline-offset:3px;overflow-wrap:anywhere}
.kc-modal-panel .kc-email-tile>button.kc-email-copy{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-height:36px;margin:auto auto 0;padding:0;background:#f6f3ee;border:1px solid #e2d9cc;border-radius:9px;color:#8e755b;cursor:pointer}
.kc-modal-panel .kc-email-tile>button.kc-email-copy:hover{background:#e9e0d3;border-color:var(--taupe)}
.kc-modal-panel .kc-email-tile>.kc-copy-feedback:not(:empty){width:100%;margin:0;color:#276a48;font:700 11px var(--sans)}
.kc-contact-backbar{margin:0 0 18px}
.kc-contact-backbar>button{border:0;background:transparent;color:var(--navy);padding:8px 2px;font:700 13px var(--sans);cursor:pointer}
.kc-contact-backbar>button span{color:#947c60;margin-right:6px;font-size:18px}
.kc-contact-backbar>button:hover{text-decoration:underline;text-underline-offset:4px}
.kc-modal-panel [hidden]{display:none!important}
@media(max-width:680px){.kc-modal-panel .kc-contact-tiles{grid-template-columns:1fr;gap:12px}.kc-modal-panel .kc-contact-tile{min-height:0;display:grid;grid-template-columns:48px minmax(0,1fr) 22px;grid-template-rows:auto auto;column-gap:12px;row-gap:3px;padding:16px;text-align:left;align-items:center}.kc-modal-panel .kc-contact-tile .kc-choice-icon{grid-column:1;grid-row:1/3;width:48px;height:48px;flex-basis:auto}.kc-modal-panel .kc-contact-tile strong{grid-column:2;grid-row:1;font-size:18px}.kc-modal-panel .kc-contact-tile>span:not(.kc-choice-icon):not(.kc-tile-arrow):not(.kc-copy-feedback),.kc-modal-panel .kc-email-tile>a{grid-column:2;grid-row:2;text-align:left}.kc-modal-panel .kc-contact-tile .kc-tile-arrow{grid-column:3;grid-row:1/3;margin:0}.kc-modal-panel .kc-email-tile>button.kc-email-copy{grid-column:3;grid-row:1/3;margin:0}.kc-modal-panel .kc-email-tile>.kc-copy-feedback:not(:empty){grid-column:2/4;grid-row:3;margin:4px 0 0;text-align:left}}

/* Precisely center the close glyph regardless of inherited button line-height. */
.kc-modal-panel .kc-modal-close{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;line-height:1;font-family:var(--sans)!important;font-size:26px;font-weight:400;text-align:center;appearance:none}

/* Matching circular navigation controls for the contact modal. */
.kc-modal-panel .kc-contact-backbar{margin:0 0 16px}
.kc-modal-panel .kc-contact-backbar>button.kc-modal-back{display:grid;place-items:center;width:40px;height:40px;min-width:40px;padding:0;border:0;border-radius:50%;background:#f4f1ec;color:#101c3b;cursor:pointer;transition:background .2s ease,transform .2s ease}
.kc-modal-panel .kc-contact-backbar>button.kc-modal-back:hover{background:#e9e2d8;transform:translateX(-1px)}
.kc-modal-panel .kc-contact-backbar>button.kc-modal-back svg{display:block}
.kc-modal-panel .kc-contact-backbar>button.kc-modal-back:focus-visible{outline:2px solid #b8a894;outline-offset:3px}

/* Keep back navigation next to Contact Us, aligned with the close control. */
.kc-modal-panel .kc-modal-title-group{min-width:0;flex:1}
.kc-modal-panel .kc-modal-title-row{display:flex;align-items:center;gap:16px;min-height:40px}
.kc-modal-panel .kc-modal-title-row h2{margin:7px 0 0}
.kc-modal-panel .kc-modal-title-row .kc-contact-backbar{margin:7px 0 0;display:flex;align-items:center}
.kc-modal-panel .kc-modal-title-row .kc-contact-backbar[hidden]{display:none!important}
.kc-modal-panel .kc-modal-title-row .kc-modal-back{flex-shrink:0}
@media(max-width:520px){.kc-modal-panel .kc-modal-title-row{gap:12px}}

/* Fit more of the Calendly scheduling interface into the modal viewport. */
.kc-modal-panel .kc-calendar{overflow:hidden}
.kc-modal-panel .kc-calendar iframe{
  display:block;
  width:125%;
  max-width:none;
  height:clamp(800px,105dvh,1080px);
  zoom:.8;
  border:0;
  margin:0;
}
@media(max-width:680px){
  .kc-modal-panel .kc-calendar iframe{
    width:111.12%;
    height:clamp(760px,100dvh,1000px);
    zoom:.9;
  }
}

/* Navigation buttons aligned on one horizontal axis at the top of the dialog. */
.kc-modal-panel .kc-modal-head{display:flex;align-items:center;gap:14px}
.kc-modal-panel .kc-modal-head>.kc-contact-backbar{flex:0 0 40px;width:40px;height:40px;margin:0;align-self:center}
.kc-modal-panel .kc-modal-head>.kc-contact-backbar[hidden]{display:none!important}
.kc-modal-panel .kc-modal-head>.kc-contact-backbar .kc-modal-back{display:grid;place-items:center;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:50%;background:#f4f1ec;color:#101c3b;box-shadow:none}
.kc-modal-panel .kc-modal-head>.kc-contact-backbar .kc-modal-back svg{display:block}
.kc-modal-panel .kc-modal-head>.kc-modal-title-group{flex:1;min-width:0}
.kc-modal-panel .kc-modal-head>.kc-modal-title-group h2{margin:7px 0 0}
.kc-modal-panel .kc-modal-head>.kc-modal-close{display:grid!important;place-items:center!important;flex:0 0 40px;width:40px;height:40px;min-width:40px;min-height:40px;margin:0;padding:0!important;border:0;border-radius:50%;background:#f4f1ec;color:#101c3b;line-height:0!important}
.kc-modal-panel .kc-modal-head>.kc-modal-close svg{display:block;width:20px;height:20px;margin:0}
@media(max-width:520px){.kc-modal-panel .kc-modal-head{gap:10px}}

/* Give the contact heading breathing room when the back button is hidden. */
.kc-modal-panel .kc-modal-head:has(>.kc-contact-backbar[hidden])>.kc-modal-title-group{padding-left:14px}

/* Match the existing property-detail modal's navy controls and refined cards. */
.kc-contact-modal{background:transparent;backdrop-filter:none}
.kc-contact-modal .kc-modal-shade{background:rgba(9,18,38,.72);backdrop-filter:blur(8px)}
.kc-contact-modal .kc-modal-panel{border-radius:24px;box-shadow:0 30px 90px rgba(8,18,40,.32);background:#fff;color:var(--ink);font-family:var(--sans)}
.kc-contact-modal .kc-modal-head>.kc-modal-close,
.kc-contact-modal .kc-modal-head>.kc-contact-backbar .kc-modal-back{
  display:grid!important;place-items:center!important;width:42px;height:42px;min-width:42px;min-height:42px;
  padding:0!important;margin:0;border-radius:50%;
  border:1px solid rgba(255,255,255,.55);
  background:rgba(16,28,59,.90);color:#fff;
  box-shadow:0 5px 16px rgba(16,28,59,.15);
  backdrop-filter:blur(8px);line-height:0!important;
  transition:background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.kc-contact-modal .kc-modal-head>.kc-modal-close:hover,
.kc-contact-modal .kc-modal-head>.kc-contact-backbar .kc-modal-back:hover{
  background:var(--navy-2);box-shadow:0 8px 20px rgba(16,28,59,.22);transform:translateY(-1px);
}
.kc-contact-modal .kc-modal-head>.kc-modal-close svg,
.kc-contact-modal .kc-modal-head>.kc-contact-backbar .kc-modal-back svg{display:block;width:19px;height:19px;stroke:#fff;stroke-width:2.25}
.kc-contact-modal .kc-modal-head>.kc-contact-backbar{width:42px;height:42px;flex-basis:42px}
.kc-contact-modal .kc-modal-head .eyebrow{font-family:var(--sans);font-weight:800;letter-spacing:.17em;color:#8e765b}
.kc-contact-modal .kc-modal-head h2{font-family:var(--serif);font-weight:700;letter-spacing:-.03em;color:var(--navy)}
.kc-contact-modal .kc-contact-tiles{gap:14px}
.kc-contact-modal .kc-contact-tile{
  background:#fbfaf8;border:1px solid #e8e2d9;border-radius:14px;
  box-shadow:0 5px 18px rgba(16,28,59,.045);
}
.kc-contact-modal .kc-contact-tile:hover{background:#fff;border-color:var(--taupe);box-shadow:0 12px 26px rgba(16,28,59,.12)}
.kc-contact-modal .kc-contact-tile .kc-choice-icon{background:#f0eae1;color:#8e765b;border-radius:14px}
.kc-contact-modal .kc-contact-tile strong{color:var(--navy);font-family:var(--sans);font-weight:800}
.kc-contact-modal .kc-contact-tile .kc-tile-arrow{display:grid;place-items:center;align-self:center;width:36px;height:36px;margin-top:auto;border-radius:50%;background:var(--navy);color:#fff;font-size:21px;line-height:1;box-shadow:0 4px 12px rgba(16,28,59,.14)}
.kc-contact-modal .kc-email-tile>button.kc-email-copy{
  display:grid;place-items:center;align-self:center;flex:0 0 36px;width:36px;height:36px;min-height:36px;
  margin:auto auto 0;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;
  background:var(--navy);color:#fff;box-shadow:0 4px 12px rgba(16,28,59,.14);
}
.kc-contact-modal .kc-email-tile>button.kc-email-copy:hover{background:var(--navy-2);border-color:var(--navy-2)}
.kc-contact-modal .kc-email-tile>button.kc-email-copy svg{stroke:#fff}
.kc-contact-modal .kc-contact-fields input,.kc-contact-modal .kc-contact-fields textarea{
  border:1px solid #e8e2d9;border-radius:12px;background:#fbfaf8;
  color:var(--navy);font-family:var(--sans);
}
.kc-contact-modal .kc-contact-fields :is(input,textarea):focus{background:#fff;border-color:var(--taupe);outline:2px solid rgba(184,168,148,.35)}
@media(max-width:680px){
 .kc-contact-modal .kc-contact-tile .kc-tile-arrow{grid-column:3;grid-row:1/3;margin:0}
 .kc-contact-modal .kc-email-tile>button.kc-email-copy{grid-column:3;grid-row:1/3;margin:0}
}

/* Calendly: use the full modal width, without scaled iframe overflow or clipped dates. */
.kc-modal-panel .kc-calendar{width:100%;max-width:100%;overflow:visible;margin:0;padding:0}
.kc-modal-panel .kc-calendar #contactCalendarEmbed{width:100%;max-width:100%;margin:0;padding:0}
.kc-modal-panel .kc-calendar iframe{
 display:block;width:100%!important;max-width:100%!important;
 height:clamp(650px,76dvh,900px)!important;
 margin:0!important;padding:0;border:0;border-radius:9px;
 zoom:1!important;transform:none!important;
}
.kc-modal-panel:has(.kc-calendar:not([hidden])){width:min(1080px,calc(100vw - 36px));padding:24px 26px}
.kc-modal-panel:has(.kc-calendar:not([hidden])) .kc-modal-head{margin-bottom:12px}
@media(max-width:680px){
 .kc-modal-panel:has(.kc-calendar:not([hidden])){width:100%;padding:18px 12px}
 .kc-modal-panel .kc-calendar iframe{height:clamp(630px,77dvh,850px)!important}
}

/* Keep the email address on one line inside its contact tile. */
.kc-modal-panel .kc-contact-tile.kc-email-tile>a{font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.5;letter-spacing:-.035em;white-space:nowrap;overflow-wrap:normal;word-break:normal;text-decoration-thickness:1px}
@media(max-width:680px){.kc-modal-panel .kc-contact-tile.kc-email-tile>a{font-size:12px;letter-spacing:-.035em}}
@media(max-width:360px){.kc-modal-panel .kc-contact-tile.kc-email-tile>a{font-size:11px}}

/* Mobile contact cards: center each action circle vertically in its row. */
@media(max-width:680px){
 .kc-contact-modal .kc-contact-tiles .kc-contact-tile{align-items:center}
 .kc-contact-modal .kc-contact-tiles .kc-contact-tile .kc-tile-arrow,
 .kc-contact-modal .kc-contact-tiles .kc-email-tile>button.kc-email-copy{
   grid-column:3;grid-row:1 / 3;align-self:center;justify-self:center;
   margin:0!important;transform:none;
 }
 .kc-contact-modal .kc-contact-tiles .kc-contact-tile .kc-tile-arrow{
   display:grid;place-items:center;width:36px;height:36px;line-height:1;
 }
}

/* Align all three contact actions and share the copy control's subtle feedback. */
.kc-contact-modal .kc-contact-tile{position:relative}
.kc-contact-modal .kc-email-tile>.kc-copy-feedback:empty{display:none}
.kc-contact-modal .kc-email-tile>.kc-copy-feedback:not(:empty){position:absolute;bottom:2px;left:0;margin:0;line-height:14px}
.kc-contact-modal .kc-contact-tile .kc-tile-arrow,
.kc-contact-modal .kc-email-tile>button.kc-email-copy{
 box-sizing:border-box;display:grid;place-items:center;flex:0 0 36px;
 width:36px;height:36px;min-height:36px;padding:0;
 border:1px solid rgba(255,255,255,.5);border-radius:50%;
 background:var(--navy);color:#fff;box-shadow:0 4px 12px rgba(16,28,59,.14);
 transition:background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.kc-contact-modal button.kc-contact-tile:hover .kc-tile-arrow,
.kc-contact-modal .kc-email-tile>button.kc-email-copy:hover{
 background:var(--navy-2);border-color:var(--navy-2);
 box-shadow:0 6px 16px rgba(16,28,59,.2);transform:translateY(-1px);
}
.kc-contact-modal button.kc-contact-tile:active .kc-tile-arrow,
.kc-contact-modal .kc-email-tile>button.kc-email-copy:active{transform:scale(.96)}
@media(max-width:680px){
 .kc-contact-modal .kc-contact-tiles .kc-contact-tile{grid-template-columns:48px minmax(0,1fr) 36px}
}
@media(prefers-reduced-motion:reduce){
 .kc-contact-modal .kc-contact-tile .kc-tile-arrow,
 .kc-contact-modal .kc-email-tile>button.kc-email-copy{transition:none;transform:none!important}
}
