
:root {
  --navy: #0F2D46;
  --navy-2: #153B59;
  --teal: #2EA3C7;
  --teal-dark: #1C7F9D;
  --light: #E7EEF4;
  --paper: #F7FAFC;
  --charcoal: #1F2937;
  --muted: #5F6D7A;
  --white: #FFFFFF;
  --border: #D8E2EA;
  --canada: #D52B1E;
  --shadow: 0 18px 55px rgba(15,45,70,.12);
  --radius: 22px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--charcoal);
  background: var(--white);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.58;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea { font: inherit; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.skip-link { position: absolute; left:-999px; top: 8px; background:#fff; padding:10px 14px; z-index:999; }
.skip-link:focus { left: 12px; }
.site-header {
  position: sticky; top: 0; z-index: 40;
  backdrop-filter: blur(18px);
  background: rgba(255,255,255,.9);
  border-bottom: 1px solid rgba(216,226,234,.8);
}
.nav { min-height: 74px; display:flex; align-items:center; gap:28px; }
.brand { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.brand-mark {
  width: 160px; height: 45px; object-fit: contain; object-position:left center;
}
.nav-links { display:flex; align-items:center; gap:24px; margin-left:auto; font-weight:650; font-size:14px; }
.nav-links a { color:#344453; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color:var(--teal-dark); }
.nav-actions { display:flex; align-items:center; gap:10px; }
.menu-button { display:none; border:1px solid var(--border); background:#fff; border-radius:12px; padding:9px 11px; }
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:46px; padding:0 18px; border-radius:12px; font-weight:750; border:1px solid transparent;
  transition: .2s ease; cursor:pointer;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background:var(--navy); color:#fff; box-shadow:0 9px 26px rgba(15,45,70,.16); }
.btn-primary:hover { background:var(--navy-2); }
.btn-secondary { color:var(--navy); background:#fff; border-color:var(--border); }
.btn-teal { background:var(--teal); color:#082334; }
.btn-disabled { background:#E9EEF2; color:#7C8B98; cursor:not-allowed; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; padding:7px 11px; border-radius:999px; background:#ECF7FB; color:#176B84; font-weight:800; font-size:12px; letter-spacing:.07em; text-transform:uppercase; }
.canada-badge { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:800; color:var(--navy); }
.canada-flag { width:26px; height:13px; flex:0 0 auto; display:block; border:1px solid rgba(255,255,255,.45); border-radius:2px; box-shadow:0 1px 2px rgba(0,0,0,.16); }
.maple { color:var(--canada); font-size:18px; line-height:1; }
.hero { position:relative; overflow:hidden; background:linear-gradient(140deg,#F7FBFD 0%,#FFFFFF 44%,#EDF7FA 100%); }
.hero:before { content:""; position:absolute; width:620px; height:620px; border-radius:50%; background:radial-gradient(circle,rgba(46,163,199,.18),rgba(46,163,199,0) 67%); right:-230px; top:-250px; }
.hero-inner { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; min-height:690px; padding:78px 0 86px; }
.hero h1, .page-hero h1 { color:var(--navy); margin:14px 0 18px; letter-spacing:-.045em; line-height:1.02; font-size:clamp(46px,6vw,76px); }
.hero p.lead, .page-hero p.lead { margin:0 0 27px; font-size:clamp(18px,2vw,22px); color:#4E5F6E; max-width:670px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 22px; }
.hero-proof { display:flex; flex-wrap:wrap; gap:18px; color:#5B6977; font-size:13px; font-weight:650; }
.hero-proof span:before { content:"✓"; color:var(--teal-dark); font-weight:900; margin-right:7px; }
.hero-visual { position:relative; }
.device-card { background:var(--navy); color:#fff; border-radius:32px; padding:20px; box-shadow:0 28px 70px rgba(15,45,70,.24); transform:rotate(1.5deg); }
.device-screen { background:#F8FBFD; color:var(--charcoal); border-radius:22px; overflow:hidden; }
.device-top { display:flex; justify-content:space-between; gap:12px; padding:18px 18px 12px; align-items:center; }
.device-top strong { color:var(--navy); }
.status-pill { font-size:11px; background:#E8F7EE; color:#277A4C; padding:5px 8px; border-radius:999px; font-weight:800; }
.evidence-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 13px 13px; }
.evidence-card { background:#fff; border:1px solid #DFE7ED; border-radius:15px; overflow:hidden; }
.evidence-card img { width:100%; height:190px; object-fit:cover; }
.evidence-meta { padding:10px 11px 12px; }
.evidence-meta b { color:var(--navy); font-size:13px; }
.evidence-meta small { display:block; color:#71808E; margin-top:4px; }
.approval-row { margin:0 13px 13px; background:#E8F6FA; padding:13px; border-radius:14px; display:flex; justify-content:space-between; gap:14px; align-items:center; }
.approval-row b { color:var(--navy); font-size:13px; }
.approval-row small { color:#527080; }
.section { padding:92px 0; }
.section.soft { background:var(--paper); }
.section.dark { background:var(--navy); color:#fff; }
.section-head { max-width:760px; margin-bottom:38px; }
.section-head.center { margin-inline:auto; text-align:center; }
.section h2, .page-section h2 { font-size:clamp(32px,4vw,48px); line-height:1.08; letter-spacing:-.035em; margin:12px 0 16px; color:var(--navy); }
.section.dark h2 { color:#fff; }
.section-head p { font-size:18px; color:#5B6B79; margin:0; }
.section.dark .section-head p { color:#C7D6E1; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.card { border:1px solid var(--border); border-radius:var(--radius); padding:26px; background:#fff; box-shadow:0 8px 28px rgba(15,45,70,.05); }
.card h3 { margin:12px 0 8px; color:var(--navy); font-size:21px; line-height:1.2; }
.card p { color:#5E6C79; margin:0; }
.icon { width:44px; height:44px; border-radius:13px; background:#EAF7FB; display:grid; place-items:center; color:var(--teal-dark); font-weight:900; font-size:20px; }
.photo-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.photo-card { position:relative; min-height:470px; border-radius:28px; overflow:hidden; background:#D7E0E7; box-shadow:var(--shadow); }
.photo-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.photo-card:after { content:""; position:absolute; inset:42% 0 0; background:linear-gradient(to bottom,transparent,rgba(7,25,38,.82)); }
.photo-label { position:absolute; left:22px; top:22px; z-index:2; background:rgba(255,255,255,.94); border-radius:999px; padding:8px 12px; color:var(--navy); font-weight:900; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.photo-copy { position:absolute; left:24px; right:24px; bottom:22px; z-index:2; color:#fff; }
.photo-copy h3 { margin:0 0 5px; font-size:24px; }
.photo-copy p { margin:0; color:#E7F0F5; font-size:14px; }
.note { color:#71808D; font-size:12px; margin-top:12px; }
.steps { counter-reset:steps; display:grid; gap:14px; }
.step { display:grid; grid-template-columns:52px 1fr; gap:16px; align-items:start; padding:18px 0; border-bottom:1px solid var(--border); }
.step:last-child { border-bottom:0; }
.step:before { counter-increment:steps; content:counter(steps); width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:var(--navy); color:#fff; font-weight:900; }
.step h3 { margin:0 0 4px; color:var(--navy); }
.step p { margin:0; color:#5E6C79; }
.kpi-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#C9DAE4; border:1px solid #C9DAE4; border-radius:22px; overflow:hidden; }
.kpi { background:#F8FBFD; padding:26px; text-align:center; }
.kpi strong { display:block; font-size:27px; color:var(--navy); }
.kpi span { color:#637583; font-size:13px; }
.product-card { display:flex; flex-direction:column; min-height:330px; }
.product-card .product-mark { min-height:70px; display:flex; align-items:center; }
.product-card .product-mark img { max-height:56px; max-width:200px; }
.product-card .product-kicker { color:var(--teal-dark); font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.product-card .product-footer { margin-top:auto; padding-top:24px; }
.price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
.price-card { position:relative; display:flex; flex-direction:column; }
.price-card.featured { border:2px solid var(--teal); transform:translateY(-8px); box-shadow:0 22px 60px rgba(46,163,199,.16); }
.price-kicker { font-size:12px; font-weight:900; color:var(--teal-dark); text-transform:uppercase; letter-spacing:.08em; }
.price { font-size:42px; letter-spacing:-.04em; font-weight:900; color:var(--navy); line-height:1.1; margin:12px 0 4px; }
.price small { font-size:14px; color:#6C7A87; font-weight:700; letter-spacing:0; }
.price-note { color:#6C7A87; font-size:13px; min-height:42px; }
.clean-list { list-style:none; padding:0; margin:20px 0 26px; display:grid; gap:11px; }
.clean-list li { display:flex; gap:9px; color:#4E5F6E; }
.clean-list li:before { content:"✓"; color:var(--teal-dark); font-weight:900; }
.price-card .btn { margin-top:auto; }
.callout { background:linear-gradient(135deg,#10324D,#164D6E); color:#fff; border-radius:30px; padding:42px; display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; }
.callout h2 { color:#fff; margin:0 0 8px; font-size:36px; }
.callout p { margin:0; color:#C9D9E3; max-width:720px; }
.page-hero { background:linear-gradient(145deg,#F7FBFD,#ECF7FA); padding:94px 0 76px; }
.page-hero .container { max-width:950px; }
.page-hero h1 { font-size:clamp(44px,5.5vw,68px); }
.page-section { padding:72px 0; }
.prose { max-width:850px; }
.prose h2 { margin-top:48px; font-size:30px; }
.prose h3 { color:var(--navy); margin-top:30px; }
.prose p, .prose li { color:#536473; }
.prose a { color:var(--teal-dark); text-decoration:underline; text-underline-offset:3px; }
.notice { background:#FFF8E8; border:1px solid #F1DDA7; padding:16px 18px; border-radius:14px; color:#6D5A28; }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:28px; }
.contact-panel { background:var(--navy); color:#fff; border-radius:26px; padding:30px; }
.contact-panel h2 { color:#fff; }
.contact-panel a { color:#CFEFF8; text-decoration:underline; }
.form-card { border:1px solid var(--border); border-radius:26px; padding:30px; }
.field { display:grid; gap:7px; margin-bottom:16px; }
.field label { color:var(--navy); font-weight:750; font-size:14px; }
.field input, .field textarea { width:100%; border:1px solid #C9D5DE; border-radius:12px; padding:13px 14px; outline:none; }
.field input:focus, .field textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(46,163,199,.13); }
.field textarea { min-height:140px; resize:vertical; }
.faq { display:grid; gap:13px; }
details { border:1px solid var(--border); border-radius:15px; padding:17px 18px; background:#fff; }
summary { cursor:pointer; color:var(--navy); font-weight:800; }
details p { color:#5E6C79; margin:12px 0 0; }
.site-footer { background:#0A2235; color:#D4E0E8; padding:56px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1.3fr repeat(3,.7fr); gap:34px; }
.footer-company-mark { color:#E7F0F5; font-size:24px; line-height:1.1; font-weight:900; letter-spacing:-.02em; margin-bottom:18px; }
.footer-brand p { max-width:370px; color:#AFC1CD; font-size:14px; }
.footer-col h3 { color:#fff; margin:0 0 13px; font-size:14px; }
.footer-col a { display:block; color:#B9CAD5; margin:8px 0; font-size:14px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:34px; padding-top:22px; display:flex; justify-content:space-between; gap:18px; color:#8FA8B8; font-size:12px; }
.site-footer .canada-badge { color:#DCE8EF; }
.tag-row { display:flex; flex-wrap:wrap; gap:8px; }
.tag { padding:7px 10px; border:1px solid var(--border); background:#fff; border-radius:999px; font-size:12px; color:#526574; font-weight:750; }
hr.sep { border:0; border-top:1px solid var(--border); margin:44px 0; }
@media (max-width: 920px) {
  .nav-links { display:none; position:absolute; top:74px; left:20px; right:20px; margin:0; padding:16px; border:1px solid var(--border); background:#fff; border-radius:16px; box-shadow:var(--shadow); flex-direction:column; align-items:flex-start; }
  .nav-links.open { display:flex; }
  .nav-actions .btn-secondary { display:none; }
  .menu-button { display:inline-flex; margin-left:auto; }
  .hero-inner, .contact-grid { grid-template-columns:1fr; }
  .hero-inner { min-height:auto; padding-top:58px; }
  .hero-visual { max-width:620px; }
  .grid-3, .price-grid { grid-template-columns:1fr; }
  .grid-2 { grid-template-columns:1fr; }
  .price-card.featured { transform:none; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .callout { grid-template-columns:1fr; }
}
@media (max-width: 660px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .brand-mark { width:138px; }
  .nav-actions .btn-primary { display:none; }
  .hero h1, .page-hero h1 { font-size:44px; }
  .section { padding:72px 0; }
  .photo-grid, .evidence-grid, .kpi-strip { grid-template-columns:1fr; }
  .photo-card { min-height:380px; }
  .device-card { padding:13px; transform:none; }
  .evidence-card img { height:220px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
  .callout { padding:30px; }
}
