.ltc-contact { position:fixed; inset:0; z-index:120; opacity:0; pointer-events:none; transition:opacity .24s ease; color:#151816; font-family:"Segoe UI Variable","Aptos","Helvetica Neue",Arial,sans-serif; }
.ltc-contact.is-open { opacity:1; pointer-events:auto; }
.ltc-contact__backdrop { position:absolute; inset:0; background:rgba(8,12,9,.58); backdrop-filter:blur(10px); }
.ltc-contact__panel { position:absolute; inset:0 0 0 auto; width:min(720px,100%); background:#fbfaf6; transform:translateX(100%); transition:transform .36s cubic-bezier(.2,.78,.2,1); box-shadow:-36px 0 90px rgba(0,0,0,.2); display:flex; flex-direction:column; }
.ltc-contact.is-open .ltc-contact__panel { transform:translateX(0); }
.ltc-contact__topbar { min-height:76px; padding:18px 24px; display:grid; grid-template-columns:44px 1fr 44px; gap:18px; align-items:center; border-bottom:1px solid rgba(21,24,22,.09); }
.ltc-contact__back,.ltc-contact__close { border:0; width:42px; height:42px; border-radius:50%; background:transparent; cursor:pointer; font-size:23px; }
.ltc-contact__back:hover,.ltc-contact__close:hover { background:rgba(21,24,22,.06); }
.ltc-contact__back[hidden] { visibility:hidden; display:block; }
.ltc-contact__progress { display:flex; gap:7px; justify-content:center; }
.ltc-contact__progress span { width:36px; height:2px; background:#d9dcd7; transition:background .2s ease; }
.ltc-contact__progress span.is-active { background:#596b5b; }
.ltc-contact__body { flex:1; overflow-y:auto; overflow-x:hidden; padding:clamp(34px,5vw,58px) clamp(38px,7vw,76px) clamp(46px,7vw,76px); display:block; scroll-behavior:auto; overscroll-behavior:contain; }
.ltc-contact__context { display:inline-flex; align-items:center; margin:0 0 24px; border:1px solid rgba(36,50,42,.15); border-radius:999px; padding:8px 12px; font-size:11px; line-height:1.2; color:#59645c; background:#f2f3ee; }
.ltc-contact__context[hidden] { display:none !important; }
.ltc-contact__step { min-height:0; display:block; }
.ltc-contact__eyebrow { margin:0 0 12px; text-transform:uppercase; letter-spacing:.15em; font-size:10px; font-weight:750; color:#64745f; }
.ltc-contact__step h2 { margin:0; font-size:clamp(40px,5vw,64px); line-height:.98; letter-spacing:-.052em; font-weight:690; max-width:580px; }
.ltc-contact__intro { margin:18px 0 0; color:#69706a; font-size:16px; max-width:540px; }
.ltc-choice-grid { margin-top:32px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ltc-choice { border:1px solid rgba(21,24,22,.13); border-radius:16px; padding:17px 18px; background:#fff; text-align:left; cursor:pointer; min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:14px; transition:border .18s ease,transform .18s ease,box-shadow .18s ease; }
.ltc-choice:hover { border-color:rgba(61,83,67,.42); transform:translateY(-1px); box-shadow:0 10px 24px rgba(22,30,24,.06); }
.ltc-choice span:first-child { font-weight:620; }
.ltc-choice span:last-child { color:#8a918b; }
.ltc-form-block { margin-top:30px; display:grid; gap:14px; }
.ltc-label { font-size:12px; font-weight:700; color:#515852; }
.ltc-input,.ltc-textarea { width:100%; border:1px solid rgba(21,24,22,.14); background:#fff; border-radius:14px; padding:15px 16px; outline:none; transition:border .18s ease,box-shadow .18s ease; }
.ltc-input:focus,.ltc-textarea:focus { border-color:#667a69; box-shadow:0 0 0 3px rgba(102,122,105,.10); }
.ltc-textarea { min-height:170px; resize:vertical; }
.ltc-fields-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ltc-next { margin-top:22px; align-self:flex-start; border:0; border-radius:999px; background:#111613; color:#fff; padding:14px 20px; font-weight:650; cursor:pointer; }
.ltc-next:disabled { opacity:.45; cursor:not-allowed; }
.ltc-consent { display:flex; gap:10px; align-items:flex-start; color:#6a716b; font-size:12px; line-height:1.45; }
.ltc-consent input { margin-top:3px; }
.ltc-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.ltc-error { margin-top:12px; color:#9b3d36; font-size:13px; }
.ltc-success { text-align:left; }
.ltc-success__mark { width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:#e1e9df; color:#314136; font-size:24px; margin-bottom:28px; }
.ltc-success p { color:#68706a; font-size:17px; max-width:520px; }

@media(max-width:640px){
  .ltc-contact__topbar{min-height:64px;padding:10px 12px;}
  .ltc-contact__body{padding:28px 18px 40px;}
  .ltc-contact__step{min-height:0;}
  .ltc-choice-grid{grid-template-columns:1fr;}
  .ltc-fields-2{grid-template-columns:1fr;}
  .ltc-contact__progress span{width:26px;}
}

@media(prefers-reduced-motion:reduce){.ltc-contact,.ltc-contact__panel,.ltc-choice{transition:none!important;}}
