/* Extracted from inline <style> - linked at the same place in the page so the rule order is unchanged. */

  .kt-modal-overlay{
    position:fixed; inset:0; z-index:10050;
    background:rgba(15,26,20,0.55);
    -webkit-backdrop-filter:blur(3px);
    backdrop-filter:blur(3px);
    display:flex; align-items:center; justify-content:center;
    padding:24px;
    opacity:0; pointer-events:none;
    transition:opacity .3s ease;
  }
  .kt-modal-overlay.is-open{ opacity:1; pointer-events:auto; }

  .kt-modal-box{
    position:relative;
    width:100%; max-width:440px;
    background:#fff;
    border-radius:22px;
    padding:36px 32px 32px;
    box-shadow:0 30px 60px -20px rgba(10,20,14,0.45);
    transform:translateY(14px) scale(.98);
    transition:transform .35s cubic-bezier(.2,.7,.3,1);
    overflow:hidden;
    font-family: var(--font-body, inherit);
  }
  .kt-modal-overlay.is-open .kt-modal-box{ transform:translateY(0) scale(1); }

  .kt-modal-box::before{
    content:"";
    position:absolute; top:-70px; right:-60px;
    width:190px; height:190px;
    border-radius:58% 42% 39% 61% / 62% 44% 56% 38%;
    background:radial-gradient(circle at 32% 30%, var(--btn-bg-beige-hover, #c2a97e), var(--btn-bg-beige, #d8c39c));
    opacity:.25;
  }
  .kt-modal-box--newsletter::before{
    background:radial-gradient(circle at 32% 30%, var(--brand-primary-600, #2f6b4f), var(--brand-primary, #1B4332));
  }

  .kt-modal-close{
    position:absolute; top:18px; right:18px;
    width:34px; height:34px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:rgba(27,67,50,0.06); border:none; cursor:pointer;
    color:var(--brand-primary, #1B4332);
    transition:background .2s ease, transform .2s ease;
  }
  .kt-modal-close:hover{ background:rgba(27,67,50,0.14); transform:rotate(90deg); }
  .kt-modal-close svg{ width:16px; height:16px; }

  .kt-modal-icon{
    position:relative; z-index:1;
    width:46px; height:46px; border-radius:14px;
    display:flex; align-items:center; justify-content:center;
    background:var(--brand-primary, #1B4332); color:#fff; margin-bottom:18px;
  }
  .kt-modal-box--newsletter .kt-modal-icon{ background:var(--btn-bg-beige, #d8c39c); }
  .kt-modal-icon svg{ width:22px; height:22px; }

  .kt-modal-box h2{
    position:relative; z-index:1;
    font-weight:700; font-size:23px;
    color:var(--brand-primary, #1B4332); margin:0 0 8px;
  }
  .kt-modal-box p.kt-lede{
    position:relative; z-index:1;
    font-size:14.5px; line-height:1.55; color:#5B655E;
    margin:0 0 24px; max-width:34ch;
  }

  .kt-field{ position:relative; z-index:1; margin-bottom:14px; }
  .kt-field label{
    display:block; font-size:12.5px; font-weight:600;
    color:#1C231F; margin-bottom:6px; letter-spacing:.01em;
  }
  .kt-field input, .kt-field textarea{
    width:100%; font-size:14.5px; color:#1C231F;
    background:#fff; border:1.5px solid rgba(27,67,50,0.18);
    border-radius:12px; padding:11px 14px; outline:none;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .kt-field input:focus, .kt-field textarea:focus{
    border-color:var(--brand-primary, #1B4332);
    box-shadow:0 0 0 3px rgba(27,67,50,0.12);
  }
  .kt-field textarea{ resize:vertical; min-height:90px; }

  .kt-modal-submit{
    position:relative; z-index:1;
    width:100%; margin-top:8px;
    padding:13px 20px; border:none; border-radius:12px;
    font-weight:700; font-size:14.5px;
    color:#fff; background:var(--brand-primary, #1B4332); cursor:pointer;
    transition:background .2s ease, transform .2s ease;
  }
  .kt-modal-submit:hover{ background:var(--brand-primary-600, #153a29); transform:translateY(-1px); }
  .kt-modal-box--newsletter .kt-modal-submit{ background:var(--btn-bg-beige, #d8c39c); color:var(--btn-text-green, #1C231F); }
  .kt-modal-box--newsletter .kt-modal-submit:hover{ background:var(--btn-bg-beige-hover, #c2a97e); }

  .kt-modal-fineprint{
    position:relative; z-index:1;
    font-size:11.5px; color:#5B655E;
    margin:12px 0 0; line-height:1.5;
  }

  /* Phone modal styles */
  .km-call {
    --km-primary: var(--brand-primary, #1f4d3a);
    --km-primary-hover: var(--brand-primary-600, #173c2d);
    --km-accent: #a8763e;
    --km-whatsapp: #1c8a4f;
    --km-text: #1d2521;
    --km-muted: #5a645f;
    --km-line: #dde2df;
    font-family: inherit;
    color: var(--km-text);
    max-width: 480px;
    text-align: left;
  }
  .km-call * { box-sizing: border-box; }

  .km-call__head { padding: 0 0 4px; }
  .km-call__title { margin: 0 0 10px; font-size: 24px; line-height: 1.25; font-weight: 700; color: var(--km-primary); }
  .km-call__intro { margin: 0; font-size: 15px; line-height: 1.5; color: var(--km-text); }

  .km-call__phone {
    display: block; margin-top: 18px; padding: 18px 20px;
    background: var(--km-primary); color: #fff; border-radius: 12px; text-decoration: none;
    transition: background .2s ease;
  }
  .km-call__phone:hover { background: var(--km-primary-hover); color: #fff; text-decoration: none; }
  .km-call__phone-top { display: flex; align-items: center; gap: 8px; font-size: 15px; opacity: .9; }
  .km-call__phone-number { display: block; margin: 4px 0 2px; font-size: 28px; font-weight: 700; letter-spacing: .01em; white-space: nowrap; }
  .km-call__phone-hours { display: block; font-size: 14.5px; }
  .km-call__phone-hours strong { color: #f1d3a8; font-weight: 600; }

  .km-call__other { padding-top: 20px; }
  .km-call__other-title { margin: 0 0 6px; font-size: 15px; font-weight: 600; color: var(--km-muted); }
  .km-call__row {
    display: flex; align-items: center; gap: 14px; padding: 12px 0;
    border-top: 1px solid var(--km-line); color: var(--km-text); text-decoration: none;
    transition: color .2s ease;
  }
  .km-call__row:hover { color: var(--km-text); text-decoration: none; }
  .km-call__row:hover .km-call__row-main { text-decoration: underline; }
  .km-call__icon { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; }
  .km-call__icon--wa { background: #e3f3ea; color: var(--km-whatsapp); }
  .km-call__icon--mail { background: #f4ebe0; color: var(--km-accent); }
  .km-call__row-text { min-width: 0; }
  .km-call__row-label { display: block; font-size: 13.5px; color: var(--km-muted); }
  .km-call__row-main { display: block; font-size: 16.5px; font-weight: 600; overflow-wrap: anywhere; }
  .km-call__row-note { display: block; font-size: 13.5px; color: var(--km-muted); }

  .km-call__foot { margin: 0; padding-top: 10px; font-size: 13.5px; color: var(--km-muted); }

  .km-call a:focus-visible { outline: 3px solid var(--km-accent); outline-offset: 3px; }

  @media (max-width: 420px) {
    .km-call__title { font-size: 21px; }
    .km-call__phone-number { font-size: 24px; }
  }
