/* /book-a-demo/: styles from the WordPress page https://novatools.org/book-a-demo/ (ported by scripts/port/port.mjs) */

/* ══════════════════════════════════════════
   NOVA CONTACT — namespace: nvct-
   ══════════════════════════════════════════ */
.nvct-page{font-family:'Figtree',-apple-system,BlinkMacSystemFont,sans-serif;background:#f9fcfe;color:#13233d;-webkit-font-smoothing:antialiased;line-height:1.5;min-height:100vh;overflow-x:hidden;}
.nvct-page *,.nvct-page *::before,.nvct-page *::after{margin:0;padding:0;box-sizing:border-box;}
.nvct-page svg{display:block;}

@keyframes nvct-fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes nvct-fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes nvct-pop{from{opacity:0;transform:translateY(16px) scale(.97);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes nvct-check{from{stroke-dashoffset:34;}to{stroke-dashoffset:0;}}

/* ─── Language switcher ─── */
.nvct-lang{display:inline-flex;padding:4px;border-radius:14px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 20px rgba(19,35,61,.16),inset 0 0 0 1px rgba(211,227,254,.9);transition:opacity .26s ease,transform .26s ease;}
.nvct-lang-btn{display:inline-flex;align-items:center;text-decoration:none;line-height:normal;font-family:'Figtree',sans-serif;font-size:.8125rem;font-weight:800;letter-spacing:.02em;color:#13233d;background:transparent;border:none;border-radius:11px;padding:8px 13px;cursor:pointer;transition:all .2s ease;opacity:.5;min-height:38px;}
.nvct-lang-btn:hover{opacity:.85;}
.nvct-lang-btn.nvct-lang-on{background:#13233d;color:#ffffff;opacity:1;}
.nvct-lang-btn:focus-visible{outline:3px solid rgba(81,112,255,.4);outline-offset:2px;}

/* ─── Hero ─── */
.nvct-hero{max-width:820px;margin:0 auto;padding:72px 24px 12px;text-align:center;}
.nvct-eyebrow{font-size:.8125rem;font-weight:700;color:#5170ff;letter-spacing:.07em;text-transform:uppercase;margin-bottom:20px;animation:nvct-fadeUp .6s ease-out both;}
.nvct-title{font-size:clamp(2.1rem,5.2vw,3.4rem);font-weight:900;line-height:1.08;letter-spacing:-.038em;color:#13233d;margin-bottom:18px;animation:nvct-fadeUp .6s ease-out .08s both;}
.nvct-title-accent{font-family:'Playfair Display',serif;font-style:italic;font-weight:600;letter-spacing:-.01em;}
.nvct-sub{font-size:clamp(1.02rem,1.8vw,1.16rem);line-height:1.7;color:#13233d;opacity:.68;max-width:560px;margin:0 auto;animation:nvct-fadeUp .6s ease-out .16s both;}

/* ─── Cards ─── */
.nvct-cards{max-width:1140px;margin:0 auto;padding:56px 24px 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.nvct-card{background:#ffffff;border:1.5px solid rgba(211,227,254,.7);border-radius:22px;padding:34px 30px 30px;display:flex;flex-direction:column;box-shadow:0 4px 22px rgba(19,35,61,.04);transition:transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s ease,border-color .3s ease;animation:nvct-fadeUp .6s ease-out both;}
.nvct-card:nth-child(1){animation-delay:.24s;}
.nvct-card:nth-child(2){animation-delay:.32s;}
.nvct-card:nth-child(3){animation-delay:.40s;}
.nvct-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(19,35,61,.08);border-color:rgba(81,112,255,.28);}
.nvct-card-icon{height:66px;display:flex;align-items:center;margin-bottom:26px;}
.nvct-card-icon svg{width:auto;height:100%;}
.nvct-card-title{font-size:1.3rem;font-weight:800;letter-spacing:-.022em;color:#13233d;margin-bottom:12px;}
.nvct-card-body{font-size:.9688rem;line-height:1.65;color:#13233d;opacity:.68;margin-bottom:26px;flex:1;}
.nvct-card-cta{margin-top:auto;}

/* ─── Buttons ─── */
.nvct-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 26px;border-radius:13px;font-size:.9688rem;font-weight:700;cursor:pointer;border:none;text-decoration:none;font-family:'Figtree',sans-serif;letter-spacing:-.01em;min-height:48px;white-space:nowrap;transition:all .26s cubic-bezier(.23,1,.32,1);}
.nvct-btn-black{background:#13233d;color:#ffffff;box-shadow:0 4px 16px rgba(19,35,61,.18);}
.nvct-btn-black:hover{background:#ffffff;color:#13233d;box-shadow:inset 0 0 0 2px #13233d,0 6px 20px rgba(19,35,61,.1);transform:translateY(-2px);}
.nvct-btn-outline{background:#ffffff;color:#13233d;box-shadow:inset 0 0 0 1.5px rgba(211,227,254,1);}
.nvct-btn-outline:hover{background:#ffffff;color:#13233d;box-shadow:inset 0 0 0 2px #13233d;transform:translateY(-2px);}
.nvct-btn-full{width:100%;}
.nvct-btn:focus-visible{outline:3px solid rgba(81,112,255,.4);outline-offset:2px;}

/* ─── Footer note ─── */
.nvct-foot{max-width:640px;margin:0 auto;padding:8px 24px 72px;text-align:center;}
.nvct-foot-line{font-size:.9375rem;color:#13233d;opacity:.6;}
.nvct-foot-line a{color:#5170ff;font-weight:700;text-decoration:none;}
.nvct-foot-line a:hover{text-decoration:underline;}
.nvct-foot-pkg{margin-top:20px;}
.nvct-pkg-link{display:inline-flex;align-items:center;gap:8px;font-size:.9688rem;font-weight:700;color:#13233d;text-decoration:none;padding:11px 22px;border-radius:12px;background:#ffffff;box-shadow:inset 0 0 0 1.5px rgba(211,227,254,1);transition:all .24s cubic-bezier(.23,1,.32,1);}
.nvct-pkg-link:hover{box-shadow:inset 0 0 0 2px #13233d;transform:translateY(-2px);}

/* ══════════════════════════════════════════
   MODALS — frosted glass
   ══════════════════════════════════════════ */
.nvct-overlay{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(19,35,61,.34);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:nvct-fadeIn .22s ease-out;}
.nvct-overlay.nvct-open{display:flex;}
.nvct-modal{width:100%;max-width:490px;max-height:calc(100vh - 40px);overflow-y:auto;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);border:1px solid rgba(255,255,255,.7);border-radius:26px;box-shadow:0 24px 70px rgba(19,35,61,.24);padding:32px 32px 30px;animation:nvct-pop .34s cubic-bezier(.23,1,.32,1);}
.nvct-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:6px;}
.nvct-modal-title{font-size:1.45rem;font-weight:800;letter-spacing:-.026em;color:#13233d;line-height:1.15;}
.nvct-modal-desc{font-size:.9375rem;line-height:1.6;color:#13233d;opacity:.66;margin-bottom:24px;margin-top:8px;}
.nvct-close{flex-shrink:0;width:36px;height:36px;border-radius:11px;border:none;background:#edf2f9;color:#13233d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;}
.nvct-close:hover{background:#d3e3fe;}
.nvct-close svg{width:16px;height:16px;}

/* ─── Form fields ─── */
.nvct-field{margin-bottom:18px;}
.nvct-label{display:block;font-size:.8125rem;font-weight:700;color:#13233d;margin-bottom:8px;letter-spacing:-.005em;}
.nvct-label .nvct-req{color:#5170ff;}
.nvct-optional{font-weight:600;color:#13233d;opacity:.4;font-size:.75rem;margin-left:4px;}
.nvct-input,.nvct-select,.nvct-textarea{width:100%;font-family:'Figtree',sans-serif;font-size:.9688rem;font-weight:500;color:#13233d;background:#f9fcfe;border:1.5px solid rgba(211,227,254,1);border-radius:13px;padding:13px 15px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;-webkit-appearance:none;appearance:none;}
.nvct-textarea{resize:vertical;min-height:112px;line-height:1.55;}
.nvct-input::placeholder,.nvct-textarea::placeholder{color:#13233d;opacity:.36;}
.nvct-input:focus,.nvct-select:focus,.nvct-textarea:focus{outline:none;background:#ffffff;border-color:#5170ff;box-shadow:0 0 0 3px rgba(81,112,255,.14);}
.nvct-select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2313233d' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px;cursor:pointer;}
.nvct-input.nvct-err,.nvct-textarea.nvct-err{border-color:#ec4899;box-shadow:0 0 0 3px rgba(236,72,153,.13);}

/* ─── Employee pills ─── */
.nvct-pills{display:flex;flex-wrap:wrap;gap:8px;}
.nvct-pill{font-family:'Figtree',sans-serif;font-size:.875rem;font-weight:700;color:#13233d;background:#f9fcfe;border:1.5px solid rgba(211,227,254,1);border-radius:11px;padding:9px 15px;cursor:pointer;transition:all .2s ease;min-height:40px;}
.nvct-pill:hover{border-color:#5170ff;}
.nvct-pill.nvct-pill-on{background:#13233d;color:#ffffff;border-color:#13233d;}
.nvct-pills.nvct-err .nvct-pill{border-color:#ec4899;}

/* ─── Modal actions ─── */
.nvct-actions{display:flex;gap:12px;margin-top:26px;}
.nvct-actions .nvct-btn{flex:1;padding:14px 18px;}
.nvct-book-note{font-size:.8125rem;color:#13233d;opacity:.52;text-align:center;margin-top:14px;line-height:1.5;}

/* ─── Sent screen ─── */
.nvct-sent{display:none;flex-direction:column;align-items:center;text-align:center;padding:22px 6px 8px;animation:nvct-pop .34s cubic-bezier(.23,1,.32,1);}
.nvct-sent.nvct-show{display:flex;}
.nvct-sent-ring{width:74px;height:74px;border-radius:50%;background:#c6efe9;display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.nvct-sent-ring svg{width:34px;height:34px;stroke:#0d9488;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:34;animation:nvct-check .5s ease-out .12s both;}
.nvct-sent-title{font-size:1.4rem;font-weight:800;letter-spacing:-.024em;color:#13233d;margin-bottom:10px;}
.nvct-sent-body{font-size:.9688rem;line-height:1.65;color:#13233d;opacity:.68;max-width:320px;margin-bottom:24px;}
.nvct-err-msg{display:none;font-size:.875rem;color:#ec4899;font-weight:600;text-align:center;margin-top:14px;line-height:1.5;}
.nvct-err-msg.nvct-show{display:block;}
.nvct-err-msg a{color:#5170ff;font-weight:700;text-decoration:none;}

/* ─── Responsive ─── */
@media(max-width:880px){
  .nvct-cards{grid-template-columns:1fr;gap:16px;max-width:520px;padding:44px 20px 32px;}
  .nvct-card{padding:30px 26px 26px;}
  .nvct-card-icon{height:56px;margin-bottom:22px;}
}
@media(max-width:560px){
  .nvct-hero{padding:44px 20px 8px;}
  .nvct-modal{padding:26px 22px 24px;border-radius:22px;}
  .nvct-modal-title{font-size:1.28rem;}
  .nvct-actions{flex-direction:column;}
  .nvct-overlay{padding:0;align-items:flex-end;}
  .nvct-modal{max-width:100%;max-height:94vh;border-radius:26px 26px 0 0;}
}
@media(prefers-reduced-motion:reduce){
  .nvct-page *{animation-duration:.001s !important;transition-duration:.01s !important;}
}
/* ══════════════════════════════════════════
   CHAT WIDGET — Eva
   ══════════════════════════════════════════ */
.nvct-chat{position:fixed;bottom:22px;right:22px;z-index:999;font-family:'Figtree',sans-serif;}
.nvct-chat *,.nvct-chat *::before,.nvct-chat *::after{box-sizing:border-box;}

/* Launcher */
.nvct-chat-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;}
.nvct-chat-launch{position:relative;width:46px;height:46px;border-radius:15px;border:none;background:#13233d;color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(19,35,61,.28);display:flex;align-items:center;justify-content:center;transition:transform .26s cubic-bezier(.23,1,.32,1),box-shadow .26s ease,background .26s ease;flex-shrink:0;}
.nvct-chat-launch:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 12px 30px rgba(19,35,61,.34);}
.nvct-chat-launch svg{width:22px;height:22px;position:absolute;transition:opacity .2s ease,transform .3s cubic-bezier(.23,1,.32,1);}
.nvct-chat-ic-close{opacity:0;transform:rotate(-90deg) scale(.6);}
.nvct-chat.nvct-chat-active .nvct-chat-ic-open{opacity:0;transform:rotate(90deg) scale(.6);}
.nvct-chat.nvct-chat-active .nvct-chat-ic-close{opacity:1;transform:rotate(0) scale(1);}

/* Panel */
.nvct-chat-panel{position:absolute;bottom:60px;right:0;width:min(374px,calc(100vw - 32px));height:min(560px,calc(100vh - 130px));background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);border:1px solid rgba(211,227,254,.8);border-radius:24px;box-shadow:0 24px 60px rgba(19,35,61,.24);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(16px) scale(.96);transform-origin:bottom right;transition:opacity .28s ease,transform .32s cubic-bezier(.23,1,.32,1),visibility .28s;}
.nvct-chat.nvct-chat-active .nvct-chat-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1);}

/* Header */
.nvct-chat-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(211,227,254,.7);flex-shrink:0;}
.nvct-chat-av{width:42px;height:42px;border-radius:13px;flex-shrink:0;overflow:hidden;background:linear-gradient(135deg,#5170ff,#2dcdb5);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1.05rem;letter-spacing:-.02em;box-shadow:0 3px 10px rgba(81,112,255,.28);}
.nvct-chat-av img{width:100%;height:100%;object-fit:cover;display:block;}
.nvct-chat-hmeta{flex:1;min-width:0;}
.nvct-chat-name{font-size:1rem;font-weight:800;color:#13233d;letter-spacing:-.02em;line-height:1.2;}
.nvct-chat-status{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:#13233d;opacity:.6;margin-top:1px;}
.nvct-chat-dot{width:7px;height:7px;border-radius:50%;background:#15bba4;box-shadow:0 0 0 3px rgba(21,187,164,.18);flex-shrink:0;}
.nvct-chat-x{width:32px;height:32px;border-radius:9px;border:none;background:transparent;color:#13233d;opacity:.55;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;}
.nvct-chat-x:hover{opacity:1;background:#edf2f9;}
.nvct-chat-x svg{width:17px;height:17px;}

/* Body */
.nvct-chat-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch;}
.nvct-chat-body::-webkit-scrollbar{width:6px;}
.nvct-chat-body::-webkit-scrollbar-thumb{background:#d2dbe7;border-radius:3px;}
.nvct-msg{max-width:82%;padding:11px 15px;font-size:.9375rem;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;animation:nvct-msgIn .3s cubic-bezier(.23,1,.32,1);}
@keyframes nvct-msgIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.nvct-msg-eva{align-self:flex-start;background:#edf2f9;color:#13233d;border-radius:16px 16px 16px 5px;}
.nvct-msg-eva a{color:#5170ff;font-weight:700;text-decoration:none;}
.nvct-msg-eva a:hover{text-decoration:underline;}
.nvct-msg-user{align-self:flex-end;background:#13233d;color:#fff;border-radius:16px 16px 5px 16px;}
.nvct-typing{align-self:flex-start;background:#edf2f9;border-radius:16px 16px 16px 5px;padding:14px 16px;display:none;gap:4px;align-items:center;}
.nvct-typing.nvct-show{display:flex;animation:nvct-msgIn .3s ease;}
.nvct-typing span{width:7px;height:7px;border-radius:50%;background:#9fb0c9;animation:nvct-bounce 1.3s infinite ease-in-out;}
.nvct-typing span:nth-child(2){animation-delay:.18s;}
.nvct-typing span:nth-child(3){animation-delay:.36s;}
@keyframes nvct-bounce{0%,60%,100%{transform:translateY(0);opacity:.5;}30%{transform:translateY(-5px);opacity:1;}}

/* Input */
.nvct-chat-input{display:flex;align-items:flex-end;gap:9px;padding:12px 14px;border-top:1px solid rgba(211,227,254,.7);flex-shrink:0;}
.nvct-chat-text{flex:1;font-family:'Figtree',sans-serif;font-size:.9375rem;font-weight:500;line-height:1.45;color:#13233d;background:#f9fcfe;border:1.5px solid rgba(211,227,254,1);border-radius:14px;padding:11px 15px;resize:none;overflow-y:auto;min-height:78px;max-height:150px;transition:border-color .2s ease,box-shadow .2s ease;}
.nvct-chat-text::placeholder{color:#13233d;opacity:.4;}
.nvct-chat-text:focus{outline:none;border-color:#5170ff;box-shadow:0 0 0 3px rgba(81,112,255,.13);background:#fff;}
.nvct-chat-text::-webkit-scrollbar{width:6px;}
.nvct-chat-text::-webkit-scrollbar-thumb{background:#d2dbe7;border-radius:3px;}
.nvct-chat-send{width:44px;height:44px;flex-shrink:0;border-radius:12px;border:none;background:#13233d;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .24s cubic-bezier(.23,1,.32,1);}
.nvct-chat-send:hover{background:#fff;color:#13233d;box-shadow:inset 0 0 0 2px #13233d;}
.nvct-chat-send svg{width:19px;height:19px;}
@media(max-width:560px){
  .nvct-chat{bottom:16px;right:16px;}
  .nvct-chat-panel{bottom:58px;height:min(72vh,540px);}
}
@media(prefers-reduced-motion:reduce){
  .nvct-chat *{animation-duration:.001s !important;transition-duration:.01s !important;}
}
