/* Sovrakeep site styles. Fonts are self-hosted (SIL Open Font License): no third-party requests. */
@font-face{font-family:"Figtree";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/figtree-latin.woff2) format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-latin.woff2) format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic-latin.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2")}
html{scroll-behavior:smooth}
[hidden]{display:none!important}
img{max-width:100%}
/* Layout: long-scroll landing for regulated Canadian firms. Dark ink hero, cold-north palette, one warm signal color. */
:root{
  --bg:#F4F6F7; --ink:#0B1A24; --ink2:#1A2E3B; --fg:#0F1F2A; --fg2:#45596A; --muted:#7A8C99; --line:#D5DDE2; --surface:#FFFFFF; --surface2:#E8EEF1;
  --signal:#D97A2B; --signal-ink:#1A0E04; --glacier:#9FD3E0; --pine:#1F6F5C;
  --display:"Instrument Serif",Georgia,serif; --body:"Figtree",system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0B1218; --ink:#06101A; --ink2:#0F1E2A; --fg:#E9EEF2; --fg2:#AEBCC7; --muted:#7F8F9C; --line:#223240; --surface:#121D27; --surface2:#182633;
  --signal:#E8924A; --glacier:#6FB8CB; --pine:#3A9C83; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0B1218; --ink:#06101A; --ink2:#0F1E2A; --fg:#E9EEF2; --fg2:#AEBCC7; --muted:#7F8F9C; --line:#223240; --surface:#121D27; --surface2:#182633;
  --signal:#E8924A; --glacier:#6FB8CB; --pine:#3A9C83; color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 var(--body);padding-block:0}
h1,h2,h3{font-family:var(--display);font-weight:400;text-wrap:balance;margin:0;letter-spacing:-.01em}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.gut{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.in{max-width:1120px;margin:0 auto}
a{color:inherit}
.btn{display:inline-block;font:600 15px var(--body);padding:13px 22px;border-radius:6px;text-decoration:none;cursor:pointer;border:1px solid transparent}
.btn.p{background:var(--signal);color:var(--signal-ink)}
.btn.g{background:transparent;color:inherit;border-color:currentColor;opacity:.9}
.btn:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.eyebrow{font:600 12px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--signal)}
/* nav */
nav{background:var(--ink);color:#E6EEF3}
nav .in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px}
.mark{display:flex;align-items:center;gap:10px;font:500 18px var(--body);letter-spacing:.01em}
.mark svg{width:26px;height:26px}
nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;font-size:14px}
nav ul a{text-decoration:none;opacity:.85}
@media (max-width:760px){nav ul{display:none}}
/* hero */
.hero{background:var(--ink);color:#E6EEF3;position:relative;overflow:hidden}
.hero .in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;padding-block:64px 72px;align-items:end}
@media (max-width:860px){.hero .in{grid-template-columns:1fr;padding-block:44px 52px}}
.hero h1{font-size:clamp(40px,6vw,68px);line-height:1.02}
.hero h1 em{font-style:italic;color:var(--glacier)}
.hero p.lede{font-size:18px;color:#B8C7D1;max-width:54ch;margin:22px 0 28px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap}
.hero .cta .btn.g{color:#E6EEF3}
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#2A3C49;border:1px solid #2A3C49;border-radius:8px;overflow:hidden}
.proof div{background:var(--ink2);padding:18px 16px;min-width:0}
.proof .v{font:500 30px/1 var(--mono);color:#fff;letter-spacing:-.02em}
.proof .l{font-size:12.5px;color:#9FB0BC;margin-top:8px;line-height:1.35}
@media (max-width:480px){.proof{grid-template-columns:1fr}}
.topo{position:absolute;inset:auto -10% -30% auto;width:70%;opacity:.18;pointer-events:none}
/* sections */
section{padding-block:72px}
@media (max-width:760px){section{padding-block:52px}}
section h2{font-size:clamp(30px,4vw,44px);line-height:1.1;margin-top:10px}
.sub{color:var(--fg2);font-size:17px;max-width:60ch;margin-top:14px}
.alt{background:var(--surface2)}
.cols3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:40px}
.col h3{font-size:24px;line-height:1.15}
.col p{color:var(--fg2);margin:10px 0 0;font-size:15px}
.col .k{font:500 13px var(--mono);color:var(--signal);margin-bottom:12px}
/* compare table */
.cmp{margin-top:36px;overflow-x:auto}
.cmp table{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}
.cmp th,.cmp td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cmp th{font:600 12px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cmp td:first-child{color:var(--fg2);width:26%}
.cmp td.us{background:color-mix(in srgb,var(--pine) 9%,transparent);font-weight:500}
.cmp .y{color:var(--pine);font-weight:600}.cmp .n{color:var(--muted)}
/* calculator */
.calc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;margin-top:36px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:28px}
@media (max-width:860px){.calc{grid-template-columns:1fr;padding:20px}}
.ctl{padding-block:10px}
.ctl .row{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.ctl .row output{font:500 14px var(--mono)}
.ctl input[type=range]{width:100%;accent-color:var(--signal);margin:6px 0 0;height:24px}
.ctl .hint{font-size:12.5px;color:var(--muted);margin-top:2px}
.seg{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.seg button{font:500 13px var(--body);padding:7px 12px;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:4px;cursor:pointer}
.seg button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.out .big{font:500 46px/1 var(--mono);letter-spacing:-.03em}
.out .big small{font:400 18px var(--body);color:var(--fg2);letter-spacing:0}
.out .lbl{font:600 12px var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.bars{display:grid;gap:12px;margin-top:22px}
.bar{display:grid;grid-template-columns:150px 1fr 92px;gap:12px;align-items:center;font-size:14px}
.bar .t{font-size:14px}
.bar .r{height:22px;border-radius:4px;background:var(--surface2);overflow:hidden;position:relative}
.bar .r i{display:block;height:100%;border-radius:4px}
.bar .v{font:500 14px var(--mono);text-align:right}
@media (max-width:520px){.bar{grid-template-columns:1fr;gap:4px}.bar .v{text-align:left}}
.out .fine{font-size:12.5px;color:var(--muted);margin-top:18px;line-height:1.45}
.save{margin-top:18px;padding:14px 16px;border-radius:6px;background:color-mix(in srgb,var(--pine) 10%,transparent);color:var(--fg);font-size:15px}
.save b{color:var(--pine)}
/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:40px;counter-reset:s}
.step{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:22px 20px;position:relative}
.step .d{font:500 13px var(--mono);color:var(--signal)}
.step h3{font-size:22px;margin:8px 0 8px}
.step p{color:var(--fg2);font-size:14.5px;margin:0}
/* rights */
.rights{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:36px}
.rights div{background:var(--surface);padding:22px 20px}
.rights h3{font-size:21px}
.rights p{color:var(--fg2);font-size:14.5px;margin:8px 0 0}
/* who */
.who{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:36px}
.who div{border-left:3px solid var(--signal);padding:4px 0 4px 16px}
.who h3{font-size:20px}.who p{color:var(--fg2);font-size:14.5px;margin:6px 0 0}
/* faq */
details{border-bottom:1px solid var(--line);padding:16px 0}
summary{cursor:pointer;font:500 17px var(--body);list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::after{content:"+";font-family:var(--mono);color:var(--signal)}
details[open] summary::after{content:"−"}
details p{color:var(--fg2);margin:10px 0 0;max-width:68ch}
/* final */
.final{background:var(--ink);color:#E6EEF3}
.final h2{color:#fff}
.final .sub{color:#B8C7D1}
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;max-width:720px}
.form input,.form select{font:15px var(--body);padding:12px 14px;border-radius:6px;border:1px solid #3A4D5B;background:#0F1E2A;color:#fff;width:100%}
.form .full{grid-column:1/-1}
.form .btn{grid-column:1/-1;justify-self:start}
@media (max-width:560px){.form{grid-template-columns:1fr}}
.thanks{display:none;margin-top:20px;padding:16px;border:1px solid #3A4D5B;border-radius:6px;background:#0F1E2A}
footer{background:var(--ink);color:#8FA2AF;font-size:13px;border-top:1px solid #203240}
footer .in{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;padding-block:22px}
.note{font-size:13px;color:var(--muted);margin-top:14px}
@media (prefers-reduced-motion:no-preference){.bar .r i{transition:width .35s ease}}
/* ---- additions, Nov 2026 update ---- */
.quote{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 18px}
.quote .big{font-size:34px}
.quote .big small{display:block;font-size:13.5px;margin-top:6px}
.out .then{font:500 15px var(--mono);color:var(--fg2);margin-top:6px}
.minnote{margin-top:14px;padding:10px 12px;border-left:3px solid var(--signal);background:color-mix(in srgb,var(--signal) 8%,transparent);font-size:14px;color:var(--fg)}
.dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:18px 0 0;font-size:14px}
.dl dt{color:var(--fg2)}.dl dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums}
.consent{grid-column:1/-1;font-size:13px;color:#9FB0BC;margin:0}
.consent a,footer a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.doc{max-width:70ch;margin:0 auto;padding-block:56px 72px}
.doc h1{font-size:clamp(34px,5vw,48px);line-height:1.08}
.doc h2{font-size:26px;margin-top:38px}
.doc p,.doc li{color:var(--fg2)}
.doc p{margin:12px 0 0}
.doc ul{margin:12px 0 0;padding-left:20px}.doc li{margin:6px 0}
.doc .meta{font:500 13px var(--mono);color:var(--muted);margin-top:10px}
.doc table{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:14px}
.doc th,.doc td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.doc th{font:600 12px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.doc .tw{overflow-x:auto}
.doc a{color:var(--signal)}
.mark a{text-decoration:none;color:inherit;display:flex;align-items:center;gap:10px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
