:root{
  --ink:#14232e;
  --ink-soft:#40536a;
  --navy:#0f2a43;
  --navy-deep:#0a1e31;
  --teal:#0b6b6a;
  --teal-dark:#084f4e;
  --teal-soft:#e6f3f2;
  --paper:#ffffff;
  --mist:#f4f7f9;
  --line:#d8e1e8;
  --amber:#b45309;
  --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;font-size:17px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.narrow{max-width:820px}
a{color:var(--teal-dark)}
h1{font-size:2.35rem;line-height:1.15;margin:.35em 0 .5em;color:var(--navy)}
h2{font-size:1.75rem;line-height:1.25;color:var(--navy);margin:0 0 .6em}
h3{color:var(--navy);margin:.2em 0 .45em}
p{margin:.55em 0}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--teal);margin:0}
.eyebrow.light{color:#7fd1cf}

/* Header */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);z-index:20}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-weight:700;font-size:1.15rem}
.brand em{font-style:normal;color:var(--teal)}
.main-nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.main-nav a{text-decoration:none;color:var(--ink-soft);font-size:.95rem;font-weight:600}
.main-nav a:hover{color:var(--navy)}
.main-nav .nav-cta{background:var(--teal);color:#fff;padding:8px 16px;border-radius:999px}
.main-nav .nav-cta:hover{background:var(--teal-dark);color:#fff}

/* Hero */
.hero{background:linear-gradient(160deg,#eef5f7 0%,#ffffff 70%);padding:56px 0 64px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:start}
.lede{font-size:1.13rem;color:var(--ink-soft)}
.hero-points{list-style:none;padding:0;margin:20px 0}
.hero-points li{padding:8px 0 8px 30px;position:relative}
.hero-points li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:7px;border-left:3px solid var(--teal);border-bottom:3px solid var(--teal);transform:rotate(-45deg)}
.cta-row{margin:22px 0 10px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;font-weight:700;border-radius:10px;padding:13px 22px;border:2px solid transparent;cursor:pointer;font-size:1rem}
.btn-primary{background:var(--teal);color:#fff}
.btn-primary:hover{background:var(--teal-dark)}
.btn-ghost{border-color:var(--teal);color:var(--teal-dark);background:#fff}
.btn-ghost:hover{background:var(--teal-soft)}
.fineprint{font-size:.88rem;color:var(--ink-soft)}

/* Chat mock */
.chat-mock{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 34px rgba(15,42,67,.10);padding:18px}
.mock-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--amber);font-weight:700;margin:0 0 10px}
.bubble{border-radius:14px;padding:10px 14px;margin:9px 0;font-size:.95rem;max-width:88%}
.bubble.visitor{background:var(--navy);color:#fff;margin-left:auto;border-bottom-right-radius:4px}
.bubble.bot-dead{background:#fdecec;color:#7a1f1f;border:1px dashed #d88}
.bubble.bot-good{background:var(--teal-soft);color:var(--ink);border-bottom-left-radius:4px}
.mock-note{font-size:.85rem;color:var(--ink-soft);margin:12px 0 0}

/* Sections */
.section{padding:58px 0}
.section.alt{background:var(--mist)}
.source-line{font-size:.88rem;color:var(--ink-soft)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0}
.stat{background:#fff;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:var(--radius);padding:18px}
.stat-num{display:block;font-size:2.1rem;font-weight:800;color:var(--navy)}
.stat-text{color:var(--ink-soft);font-size:.95rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.check-list{list-style:none;padding:0}
.check-list li{padding:9px 0 9px 30px;position:relative}
.check-list li::before{content:"";position:absolute;left:2px;top:16px;width:12px;height:7px;border-left:3px solid var(--teal);border-bottom:3px solid var(--teal);transform:rotate(-45deg)}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;margin-bottom:8px}

/* Script Builder (dark signature section) */
.script-section{background:var(--navy);color:#eaf2f7}
.script-section h2,.script-section h3{color:#fff}
.script-section .lede-dark{color:#c9dae6;font-size:1.08rem}
.script-section .step{background:var(--navy-deep);border-color:#274a68;color:#dbe7ef}
.script-section .step h3{color:#fff}
.example-box{background:#123650;border:1px solid #2c587c;border-left:5px solid var(--amber);border-radius:var(--radius);padding:20px 22px;margin:8px 0 20px}
.example-box h3{color:#ffd9a0}

/* Tables */
.table-scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
caption{text-align:left;font-weight:700;color:var(--navy);padding:10px 2px}
th,td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
thead th{background:var(--navy);color:#fff}
tbody tr:last-child td{border-bottom:none}

/* Pricing */
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0}
.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column}
.price-card.featured{border:2px solid var(--teal);box-shadow:0 12px 28px rgba(11,107,106,.13)}
.price{font-size:1.9rem;font-weight:800;color:var(--navy);margin:.1em 0}
.price span{font-size:.95rem;font-weight:600;color:var(--ink-soft)}
.setup{font-weight:600;color:var(--ink-soft);font-size:.92rem}
.price-card ul{padding-left:18px;margin:.6em 0}
.price-card li{margin:.35em 0}
.price-card ul ul{margin:.3em 0}
.card-note{font-size:.88rem;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:10px;margin-top:auto}
.price-intro{font-size:1.05rem;color:var(--ink-soft);max-width:760px}
.fit-banner{background:var(--teal);color:#fff;font-weight:700;font-size:.85rem;border-radius:8px;padding:7px 10px;text-align:center;margin:0 0 12px}
.fit-line{font-weight:700;color:var(--teal-dark);font-size:.92rem;margin:.3em 0}
.card-lead{font-weight:600;color:var(--navy)}
.card-spacer{flex:1}
.card-btn{margin-top:12px;text-align:center}
.cta-strip{background:var(--teal-soft);border:1px solid #bfe0de;border-radius:var(--radius);padding:20px 22px;margin-top:34px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta-strip p{margin:0;max-width:660px}
.cta-strip.on-dark{background:#123650;border-color:#2c587c;color:#eaf2f7}
.cost-lede{font-size:1.22rem;color:var(--ink-soft);line-height:1.55}
.plan-note{font-weight:600;color:var(--teal-dark);background:var(--teal-soft);border-radius:10px;padding:12px 16px}
.province-note{font-size:.82rem;font-weight:500;color:var(--ink-soft)}
.sticky-apply{display:none}
.terms-line{font-size:.92rem;color:var(--ink-soft)}

/* FAQ */
.section details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:10px 0}
.section summary{font-weight:700;color:var(--navy);cursor:pointer}
.section details p{color:var(--ink-soft)}

/* Form */
.pilot-form{display:grid;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;max-width:640px}
.pilot-form label{display:grid;gap:6px;font-weight:600;color:var(--navy);font-size:.95rem}
.pilot-form input,.pilot-form select{padding:11px 12px;border:1px solid #b9c7d1;border-radius:8px;font-size:1rem;font-family:inherit;color:var(--ink);background:#fff}
.pilot-form input:focus,.pilot-form select:focus{outline:3px solid #9fd8d6;outline-offset:1px}
.form-status{font-weight:600;color:var(--teal-dark);min-height:1.4em;margin:0}
.consent-label{display:flex!important;gap:9px;align-items:flex-start;font-weight:500!important;font-size:.88rem!important;color:var(--ink-soft)!important}
.consent-label input{margin-top:4px;width:17px;height:17px;flex:none}
.script-section .check-list li{color:#dbe7ef}
.chat-notice{background:#fff8ec;border:1px solid #ecd9ae;border-radius:10px;padding:10px 12px;font-size:.8rem;color:#5c4510;flex:none}
.chat-notice details{margin:6px 0 0;padding:0;border:none;background:transparent}
.chat-notice details p{margin:6px 0 0;color:#5c4510}
.chat-notice summary{cursor:pointer;font-weight:700;color:#7a5a12}
.chat-province{margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px;display:grid;gap:8px}
.chat-province select{padding:8px;border:1px solid #b9c7d1;border-radius:7px;font-family:inherit}

/* Sources + footer */
.sources{padding-left:18px}
.sources li{margin:.45em 0;color:var(--ink-soft)}
.site-footer{background:var(--navy);color:#c9dae6;padding:34px 0;margin-top:0}
.site-footer a{color:#9fe3e1}
.site-footer .ai-disclosure{font-size:.85em;opacity:.85}

/* Sub pages */
.page-main{padding:44px 0 58px}
.page-main h1{font-size:2rem}

/* Responsive */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .price-grid{grid-template-columns:repeat(2,1fr)}
  h1{font-size:1.9rem}
}
@media (max-width:560px){
  .steps,.price-grid,.stat-grid{grid-template-columns:1fr}
  .main-nav{gap:12px}
}

/* Demo chat bubble */
.chat-launcher{position:fixed;right:20px;bottom:20px;z-index:50;background:var(--teal);color:#fff;border:none;border-radius:999px;padding:14px 22px;font-size:1rem;font-weight:700;box-shadow:0 12px 28px rgba(15,42,67,.28);cursor:pointer}
.chat-launcher:hover{background:var(--teal-dark)}
.chat-panel{position:fixed;right:20px;bottom:84px;z-index:50;width:min(380px,calc(100vw - 32px));height:min(620px,calc(100dvh - 110px));max-height:min(620px,calc(100dvh - 110px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 48px rgba(15,42,67,.30);overflow:hidden}
.chat-panel[hidden]{display:none}
.chat-head{display:flex;align-items:center;gap:10px;background:var(--navy);color:#fff;padding:12px 16px}
.chat-badge{background:var(--amber);color:#fff;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:2px 9px}
.chat-close{margin-left:auto;background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer;line-height:1}
.chat-persona{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--mist);font-size:.85rem;font-weight:600;color:var(--navy);border-bottom:1px solid var(--line)}
.chat-persona select{padding:5px 8px;border:1px solid #b9c7d1;border-radius:7px;font-family:inherit}
.chat-msgs{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:9px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.chat-msg{max-width:88%;border-radius:13px;padding:9px 13px;font-size:.93rem}
.chat-msg p{margin:0}
.chat-msg.bot{background:var(--teal-soft);align-self:flex-start;border-bottom-left-radius:4px}
.chat-msg.user{background:var(--navy);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.chat-tag{display:block;margin-top:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-dark)}
.chat-msg .chat-chip{margin-top:8px}
.chat-quick{display:flex;flex-wrap:nowrap;gap:7px;padding:10px 14px;border-top:1px solid var(--line);overflow-x:auto;-webkit-overflow-scrolling:touch}
.chat-chip{background:#fff;border:1.5px solid var(--teal);color:var(--teal-dark);border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:600;cursor:pointer;flex:none}
.chat-chip:hover{background:var(--teal-soft)}
.script-chip{background:var(--teal);color:#fff}
.script-chip:hover{background:var(--teal-dark)}
.chat-form{display:flex;gap:8px;padding:11px 14px;border-top:1px solid var(--line)}
.chat-form input{flex:1;padding:10px 12px;border:1px solid #b9c7d1;border-radius:9px;font-size:.95rem;font-family:inherit;min-width:0}
.chat-send{background:var(--teal);color:#fff;border:none;border-radius:9px;padding:10px 16px;font-weight:700;cursor:pointer}
.chat-send:hover{background:var(--teal-dark)}
.chat-consent{margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px}
.chat-consent label{display:flex;gap:8px;font-size:.83rem;align-items:flex-start}
.chat-consent .chat-chip{margin-top:9px}
.chat-fine{font-size:.72rem;color:var(--ink-soft);padding:0 14px 11px;margin:0}
@media (max-width:900px){
  .sticky-apply{display:block;position:fixed;left:0;right:0;bottom:0;z-index:45;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:10px 14px}
  .sticky-apply .btn{display:block;text-align:center}
  body{padding-bottom:66px}
  .chat-launcher{bottom:80px}
  .chat-panel{bottom:144px;height:min(620px,calc(100dvh - 172px));max-height:calc(100dvh - 172px)}
}
@media (max-width:560px){.chat-panel{right:8px}.chat-launcher{right:12px}}
@media (max-height:700px){.chat-fine{display:none}}
