.contact-fab{position:fixed;right:24px;bottom:24px;z-index:70;display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:0 18px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:var(--dark);color:#fff;box-shadow:0 16px 42px rgba(17,28,24,.24);font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,color .18s ease}.contact-fab:hover{transform:translateY(-2px);box-shadow:0 20px 50px rgba(17,28,24,.3);color:var(--green)}.contact-fab:focus-visible{outline:3px solid rgba(80,190,120,.35);outline-offset:3px}.contact-fab-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(80,190,120,.12)}
.contact-dialog{width:min(720px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px));margin:auto;padding:0;border:0;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 28px 90px rgba(8,20,14,.28);overflow:hidden}.contact-dialog::backdrop{background:rgba(8,20,14,.58);backdrop-filter:blur(5px)}.contact-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);max-height:min(820px,calc(100vh - 32px))}.contact-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 18px;background:linear-gradient(145deg,#111c18,#1d3028);color:#fff}.contact-panel-head .eyebrow{margin-bottom:6px;color:var(--green)}.contact-panel-head h2{margin:0;color:#fff;font-size:27px}.contact-panel-head p{max-width:540px;margin:8px 0 0;color:#c6d3cc;font-size:13px;line-height:1.55}.contact-close{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-size:24px;line-height:1;cursor:pointer}.contact-close:hover{background:rgba(255,255,255,.12)}
.contact-tabs{display:grid;grid-template-columns:1fr 1fr;padding:8px;background:#f4f7f5;border-bottom:1px solid var(--line)}.contact-tab{position:relative;min-height:44px;padding:0 38px 0 14px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:800;text-align:left;cursor:pointer}.contact-tab::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:18px;font-weight:500;color:var(--muted)}.contact-tab[aria-expanded="true"]::after{content:"−";color:var(--green-dark)}.contact-tab[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 2px 10px rgba(17,28,24,.08)}.contact-tab[aria-selected="true"][aria-expanded="false"]{box-shadow:none;background:#eef3f0}.contact-tab:focus-visible{outline:2px solid var(--green);outline-offset:1px}
.contact-panel-body{overflow:auto;padding:24px 26px 28px}.contact-pane[hidden]{display:none}.contact-intro{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.65}.contact-form{display:grid;gap:14px}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:800}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #cbd7d0;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:14px;padding:12px 13px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.contact-form textarea{min-height:125px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(80,190,120,.12)}.contact-form small{color:var(--muted);font-size:11px;line-height:1.5}.contact-check{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:10px!important;font-weight:500!important;line-height:1.5}.contact-check input{width:17px;height:17px;margin-top:2px;padding:0;accent-color:var(--green-dark)}.contact-check a{text-decoration:underline;text-underline-offset:2px}.contact-submit{min-height:48px;border:0;border-radius:10px;background:var(--dark);color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer}.contact-submit:hover{color:var(--green)}.contact-submit[disabled]{cursor:not-allowed;opacity:.55}.contact-status{min-height:20px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.contact-status.is-error{color:#9f2f2f}.contact-status.is-ok{color:#196b3a}
.contact-legal-note{margin-top:18px;padding:14px 15px;border:1px solid var(--line);border-radius:11px;background:#f7faf8;color:var(--muted);font-size:11px;line-height:1.55}.contact-legal-note strong{color:var(--ink)}.contact-live-option{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-top:18px;padding:16px;border:1px solid #bdd3c5;border-radius:12px;background:var(--green-soft)}.contact-live-option p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.contact-live-option a{white-space:nowrap;font-size:12px;font-weight:800}.newsletter-card{padding:20px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#f7faf8)}.newsletter-card h3{font-size:21px;margin-bottom:7px}.newsletter-card>p{margin:0 0 17px;color:var(--muted);font-size:13px;line-height:1.6}.newsletter-bullets{display:grid;gap:9px;margin:0 0 18px;padding:0;list-style:none}.newsletter-bullets li{display:flex;gap:9px;color:var(--muted);font-size:12px;line-height:1.5}.newsletter-bullets li::before{content:"✓";color:var(--green-dark);font-weight:900}.newsletter-badge{display:inline-flex;margin-bottom:10px;padding:5px 8px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:700px){.contact-fab{right:16px;bottom:16px;padding:0 15px}.contact-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:17px}.contact-panel{max-height:calc(100vh - 20px)}.contact-panel-head{padding:20px}.contact-panel-head h2{font-size:23px}.contact-panel-body{padding:20px}.contact-form-grid{grid-template-columns:1fr}.contact-live-option{grid-template-columns:1fr}.contact-live-option a{white-space:normal}.contact-fab-label{display:none}.contact-fab{width:50px;padding:0;justify-content:center}.contact-fab-dot{width:10px;height:10px}}
@media(prefers-reduced-motion:reduce){.contact-fab{transition:none}}

body.contact-open{overflow:hidden}
.contact-dialog,.contact-panel{max-height:min(820px,calc(100dvh - 32px))}
.contact-panel-body{min-height:0;overscroll-behavior:contain}
.contact-panel-head>div{min-width:0;overflow-wrap:anywhere}
.contact-close{flex-basis:44px;width:44px;height:44px}
.contact-tab{padding:10px 14px;text-align:center}
.contact-tab::after{content:none}
.contact-pane:focus-visible{outline:3px solid var(--green-dark);outline-offset:3px}
.contact-form :disabled{background:#f2f5f3;color:var(--muted);cursor:not-allowed}
.contact-form>.contact-status:first-child{padding:12px;border-radius:8px;background:var(--green-soft);color:var(--ink);font-size:13px}
.contact-form.is-unavailable>:not(.contact-status){display:none!important}
.contact-live-option{margin-bottom:18px}
.contact-check input{min-height:17px}
.contact-fab{bottom:max(24px,env(safe-area-inset-bottom))}
.contact-fab-icon{display:none}
@media(max-width:700px){
  .contact-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
  .contact-panel{max-height:calc(100dvh - 20px)}
  .contact-panel-head{padding:18px 16px}
  .contact-panel-head h2{font-size:21px}
  .contact-panel-head p{display:none}
  .contact-panel-body{padding:18px 16px}
  .contact-form input,.contact-form select,.contact-form textarea{font-size:16px}
  .contact-fab{bottom:max(16px,env(safe-area-inset-bottom))}
  .contact-fab-dot{display:none}
  .contact-fab-icon{display:block;width:23px;height:23px}
  .newsletter-card{padding:14px}
}
