/* SOTA AI · Public homepage. Liquid Glass inspired surfaces. */
:root {
  color-scheme: light;
  --ink:#1d1e23;
  --muted:#696b74;
  --quiet:#686a73;
  --red:#c43d33;
  --red-deep:#a92c25;
  --page:#f5f5f7;
  --line:rgba(33,38,52,.085);
  --glass:rgba(255,255,255,.74);
  --glass-border:rgba(255,255,255,.92);
  --shadow:0 20px 60px -25px rgba(24,32,55,.15),0 2px 8px rgba(24,32,55,.025);
  --spring:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:130px}
body{margin:0;background:var(--page);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;border:0}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(196,61,51,.7);outline-offset:5px}
p{line-height:1.85;text-wrap:pretty}
h1,h2,h3{text-wrap:balance;word-break:keep-all;overflow-wrap:break-word}
img,svg{display:block;max-width:100%}
svg{flex-shrink:0}
.container{width:calc(100% - 112px);max-width:1200px;margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:20px;top:-100px;background:var(--ink);color:#fff;padding:14px 20px;border-radius:12px;z-index:200}
.skip-link:focus{top:20px}
.site-header{position:sticky;top:16px;z-index:50;height:76px;margin-top:8px}
.nav{height:76px;border:1px solid var(--glass-border);border-radius:999px;padding:0 18px 0 22px;display:flex;align-items:center;gap:24px;background:var(--glass);background-clip:padding-box;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);box-shadow:0 8px 28px -12px rgba(24,32,55,.17),0 1px 3px rgba(24,32,55,.035);transition:height .32s var(--spring),box-shadow .32s,background .32s}
.site-header.is-scrolled .nav{height:66px;background:rgba(255,255,255,.88);box-shadow:0 12px 32px -14px rgba(24,32,55,.22),0 1px 3px rgba(24,32,55,.04)}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#fff}
.brand img{width:30px;height:30px}
.brand>span:last-child{font-size:16px;line-height:1.3;font-weight:680;letter-spacing:-.3px}
.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:1.55px;margin-top:4px;color:var(--quiet)}
.nav-links{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav-links a{padding:10px 12px;border-radius:999px;font-size:13px;color:#5d5f68;transition:background .2s,color .2s}
.nav-links a:hover,.nav-links a[aria-current="location"]{background:rgba(35,40,55,.055);color:var(--ink)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:0 24px;border-radius:999px;font-size:15px;font-weight:600;line-height:1.3;white-space:nowrap;transition:transform .28s var(--spring),box-shadow .28s,background .28s}
.button-arrow{font-size:22px;font-weight:400;line-height:1;display:inline-block}
.button:hover{transform:translateY(-2px)}
.button:active{transform:scale(.975)}
.button-red{color:#fff;background:linear-gradient(160deg,rgba(255,255,255,.1),transparent 60%),var(--red);box-shadow:0 7px 20px -9px rgba(156,36,29,.52),inset 0 0 0 1px rgba(255,255,255,.17)}
.button-red:hover{background-color:var(--red-deep);box-shadow:0 10px 26px -10px rgba(156,36,29,.5)}
.button-dark{background:#26272c;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.13)}
.button-dark:hover{background:#3a3b42}
.button-light{background:#f8f8fa;color:#24252b;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.button-light:hover{background:#fff}
.button-soft{background:#f0f0f3;color:var(--ink)}
.button-soft:hover{background:#e7e7ec}
.nav-cta{min-height:42px;font-size:12px;padding-inline:18px;gap:18px}
.nav-cta .button-arrow{font-size:18px}
.text-link,.inline-link{display:inline-flex;align-items:center;justify-content:flex-start;gap:12px;background:none;padding:10px 0;font-size:14px;font-weight:600;color:var(--ink)}
.text-link>span,.inline-link>span{transition:transform .25s var(--spring)}
.text-link:hover,.inline-link:hover{color:var(--red)}
.text-link:hover>span,.inline-link:hover>span{transform:translate(2px,-2px)}
.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;padding:92px 0 68px}
.hero:before{content:"";position:absolute;inset:-100px 0 -50px;z-index:-1;background:radial-gradient(ellipse at 87% 40%,rgba(208,221,236,.45),transparent 48%),radial-gradient(ellipse at 57% 61%,rgba(238,209,201,.17),transparent 38%);mask-image:radial-gradient(ellipse at center,#000 32%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at center,#000 32%,transparent 72%);pointer-events:none}
.hero-copy{padding-bottom:7px;min-width:0}
.location-pill{display:inline-flex;gap:9px;align-items:center;border:1px solid rgba(196,61,51,.09);background:rgba(255,255,255,.6);padding:8px 13px;border-radius:999px;font-size:12px;font-weight:550;color:#69646a}
.maple-mark{width:16px;height:18px;color:var(--red)}
.maple-mark svg{width:100%;height:100%}
h1{font-size:clamp(40px,4.35vw,64px);line-height:1.3;letter-spacing:-2.4px;font-weight:700;margin:24px -12px 24px 0}
h1>span{color:var(--red)}
.hero-description{font-size:clamp(14px,1.2vw,17px);color:var(--muted);margin:0;line-height:1.95;letter-spacing:.05px}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap}
.hero-actions .text-link{font-size:13px;gap:8px}
.refund-note{display:flex;align-items:center;gap:8px;margin:23px 0 0;font-size:12px;line-height:1.7;color:#666870}
.refund-note svg{width:16px;height:18px;color:#858893}
.hero-art{min-width:0;position:relative;border-radius:32px;padding:28px 26px 22px;background:radial-gradient(ellipse at 80% 0%,#e9edf5,transparent 62%),linear-gradient(150deg,#fcfcfd,#eef0f4);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.95);background-clip:padding-box;overflow:hidden}
.art-heading{display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:2}
.art-wordmark{font-size:15px;letter-spacing:4px;font-weight:620;color:#414551}
.art-wordmark>span{display:block;font-size:12px;font-weight:400;color:#636874;letter-spacing:.3px;margin-top:7px}
.art-maple{width:26px;height:28px;color:#bf4a43;padding-top:2px}
.map-canvas{position:relative;aspect-ratio:500/355;margin:-4px -12px -12px}
.map-orbit{position:absolute;width:85%;aspect-ratio:1;top:0;left:8%;border-radius:50%;border:1px solid rgba(119,132,155,.06);background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.38),transparent 66%);pointer-events:none}
.canada-map{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:grayscale(1);opacity:.48}
.route-line{position:absolute;inset:0;width:100%;height:100%}
.route-guide{stroke:rgba(196,61,51,.19);stroke-width:1.5}
.route-active{stroke:#bc4e43;stroke-width:1.5;stroke-dasharray:3 7}
.origin-tag{position:absolute;left:5%;top:84%;font-size:12px;color:#62656f}
.map-label{position:absolute;left:65.8%;top:66.5%;translate:-50% calc(-100% - 22px);display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.95);border-radius:14px;padding:12px 14px;box-shadow:0 7px 24px -12px rgba(39,45,62,.25)}
.map-label>svg{width:21px;color:var(--red)}
.map-label>span{font-size:12px;line-height:1.4;font-weight:600;white-space:nowrap}
.map-label small{display:block;font-size:12px;color:#62666f;font-weight:400;margin-top:3px}
.route-summary{position:relative;z-index:2;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.88);border:1px solid #fff;border-radius:18px;padding:15px 14px;box-shadow:0 4px 14px -10px rgba(24,32,55,.15)}
.route-summary-icon{display:grid;place-items:center;width:36px;height:36px;background:#f1f2f5;color:#626674;border-radius:12px}
.route-summary-icon svg{width:20px}
.route-summary>div{min-width:0}
.route-summary strong{display:block;font-size:13px;font-weight:600}
.route-summary>div>span{display:block;font-size:12px;line-height:1.6;color:#626773;margin-top:5px}
.route-summary b{font-weight:400;margin-inline:4px;color:#6f737d}
.diagram-label{margin-left:auto;font-size:11px;color:#6b707b;white-space:nowrap;align-self:flex-end;margin-bottom:1px}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0 33px;border-block:1px solid var(--line)}
.trust-strip>div{display:flex;align-items:center;gap:13px;justify-content:center}
.trust-strip>div+div{border-left:1px solid var(--line)}
.trust-strip>div:first-child{justify-content:flex-start}
.trust-strip>div:last-child{justify-content:flex-end}
.trust-strip svg{width:24px;height:27px;color:#727783;stroke-width:1.35}
.trust-strip strong{display:block;font-size:14px;font-weight:600;letter-spacing:-.15px}
.trust-strip small{display:block;font-size:12px;color:var(--quiet);margin-top:6px;word-break:keep-all}
.section{padding-block:108px}
.eyebrow{display:block;font-size:12px;color:var(--red);font-weight:600;letter-spacing:.6px;line-height:1.7}
h2{font-size:44px;font-weight:660;letter-spacing:-1.7px;line-height:1.4;margin:16px 0 0}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}
.section-heading>p{font-size:15px;color:var(--muted);line-height:1.9;margin:0 0 8px}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.principles article{min-width:0;background:#fff;border-radius:28px;padding:30px 30px 24px;display:flex;flex-direction:column;border:1px solid rgba(33,38,52,.025);box-shadow:0 6px 22px -14px rgba(24,32,55,.09);transition:box-shadow .3s var(--spring)}
.principles article:hover{box-shadow:0 18px 36px -23px rgba(24,32,55,.2)}
.feature-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}
.feature-icon{display:grid;place-items:center;width:47px;height:47px;background:#f4f4f7;border-radius:16px;color:#555c69}
.feature-icon svg{width:25px;height:25px;stroke-width:1.45}
.feature-number{font-size:12px;letter-spacing:1px;color:#6c6f78}
.feature-index{font-size:12px;font-weight:550;color:#6a6d77}
.principles h3{font-size:24px;letter-spacing:-.65px;line-height:1.5;font-weight:640;margin:10px 0 16px}
.principles p{color:var(--muted);font-size:clamp(14px,1.05vw,15px);line-height:1.9;margin:0 0 20px}
.principles .inline-link{font-size:12px;margin-top:auto;padding-top:12px;gap:10px}
.principles .button-arrow{font-size:19px}
.transparency-section{background:linear-gradient(180deg,rgba(235,237,242,.45),rgba(235,237,242,.65) 60%,rgba(235,237,242,.15))}
.transparency-layout{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:90px}
.transparency-copy h2{font-size:48px;line-height:1.36}
.transparency-copy>p{font-size:clamp(14px,1.12vw,16px);color:var(--muted);line-height:1.9;margin:24px 0 26px}
.transparency-points{display:grid;gap:12px;margin-bottom:29px}
.transparency-points>span{display:flex;align-items:center;gap:9px;font-size:13px;color:#5d626c}
.transparency-points svg{width:16px;height:16px;color:#858b96}
.transparency-copy .text-link{font-size:13px}
.record-workspace{min-width:0}
.transparency-tabs{--active-tab:0;position:relative;isolation:isolate;display:flex;padding:6px;border-radius:999px;margin-bottom:18px;background:rgba(222,225,232,.54);border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 2px rgba(35,40,55,.02)}
.tab-indicator{position:absolute;z-index:-1;top:6px;bottom:6px;left:6px;width:calc((100% - 12px)/3);background:rgba(255,255,255,.95);border-radius:999px;box-shadow:0 2px 7px rgba(31,38,59,.06),inset 0 0 0 1px rgba(255,255,255,.8);transform:translateX(calc(var(--active-tab)*100%));transition:transform .4s var(--spring)}
.transparency-tabs>button{position:relative;flex:1;min-width:0;min-height:42px;padding:10px 8px;border-radius:999px;background:transparent;font-size:13px;color:#565a64;white-space:nowrap;transition:color .25s}
.transparency-tabs>button[aria-selected="true"]{color:var(--ink);font-weight:600}
.record-card{background:rgba(255,255,255,.96);border:1px solid #fff;border-radius:28px;box-shadow:var(--shadow);overflow:clip}
.record-header{display:flex;align-items:center;gap:12px;padding:23px 28px;border-bottom:1px solid var(--line)}
.record-icon{width:39px;height:39px;display:grid;place-items:center;background:#f4f4f7;border-radius:13px;color:#737988}
.record-icon svg{width:20px}
.record-header>span:nth-child(2){font-size:13px;font-weight:600;line-height:1.4}
.record-header small{display:block;font-weight:400;font-size:10px;letter-spacing:1.1px;margin-top:4px;color:#6c707a}
.sample-tag{margin-left:auto;font-size:12px;color:#5f6470;background:#f3f4f7;border-radius:999px;padding:5px 9px;white-space:nowrap}
.record-content{padding:28px 30px 26px;min-height:414px}
.record-kicker{font-size:12px;letter-spacing:1px;color:#696d78}
.record-content h3{font-size:24px;line-height:1.45;font-weight:650;letter-spacing:-.65px;margin:11px 0 8px}
.record-content>p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 20px}
.record-rows>div{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);font-size:clamp(12px,.94vw,13px);line-height:1.6}
.record-rows>div>span{color:#646874;flex-shrink:0}
.record-rows strong{font-weight:500;color:#4c525f;text-align:right;overflow-wrap:anywhere}
.record-note{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.8;color:#4f6658;margin-top:21px}
.record-note>span{color:#4f6658}
.record-footer{padding:18px 28px;display:flex;align-items:center;gap:12px;background:#fafbfc;border-top:1px solid var(--line)}
.record-footer>svg{width:21px;height:23px;color:#959eaa}
.record-footer p{font-size:12px;color:#5f6671;line-height:1.8;margin:0}
.service-section{padding-bottom:0}
.service-panel{display:grid;grid-template-columns:1.15fr 1fr;position:relative;border-radius:32px;overflow:hidden;color:#f5f5f7;background:radial-gradient(ellipse at 93% 0%,rgba(85,107,138,.2),transparent 60%),linear-gradient(145deg,#242832,#20222b);box-shadow:0 20px 50px -30px rgba(18,23,39,.4)}
.service-main{padding:62px 58px}
.service-main>.eyebrow{color:#d3b1ac;font-size:12px;letter-spacing:.6px}
.service-main h2{font-size:48px;font-weight:600;line-height:1.35;margin:21px 0 23px}
.service-main p{font-size:clamp(13px,1.05vw,15px);color:#b4b8c3;line-height:1.95;margin:0 0 31px}
.service-main .button{font-size:13px;min-height:49px}
.service-graphic{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:46px 32px;border-left:1px solid rgba(255,255,255,.06);background:radial-gradient(ellipse at 80% 60%,rgba(255,255,255,.02),transparent 60%)}
.service-hours{font-size:112px;font-weight:250;line-height:1.1;letter-spacing:-7px;color:#f2f3f6}
.service-hours>span{color:#c17e74;font-size:.82em;display:inline-block;margin-inline:9px;font-weight:200}
.service-hours-caption{font-size:13px;letter-spacing:2px;color:#aab2c2;margin-top:9px}
.service-flow{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;align-items:center;margin-top:32px}
.service-flow>span{display:flex;gap:6px;align-items:center;font-size:12px;color:#d0d4dc;white-space:nowrap}
.service-flow i{font-style:normal;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid rgba(255,255,255,.16);font-size:10px;color:#aab2c2}
.service-graphic>p{font-size:13px;color:#a3abba;text-align:center;line-height:1.85;margin:27px 0 0}
.refund-panel{display:flex;align-items:center;gap:24px;padding:30px 36px;border-radius:28px;margin-top:20px;background:#fff}
.refund-seal{display:grid;place-items:center;width:65px;height:65px;border-radius:22px;background:#f1f3f5;color:#79858a;flex-shrink:0}
.refund-seal svg{width:33px;height:37px;stroke-width:1.3}
.refund-panel .eyebrow{font-size:12px;color:#686d77;letter-spacing:.4px}
.refund-panel h3{font-size:25px;font-weight:640;letter-spacing:-.7px;line-height:1.5;margin:7px 0 8px}
.refund-panel p{font-size:clamp(12px,.98vw,14px);line-height:1.9;color:var(--muted);margin:0}
.refund-panel>.button{margin-left:auto;min-height:46px;font-size:13px;gap:16px;padding-inline:19px}
.faq-section{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px}
.faq-intro h2{font-size:42px}
.faq-intro>p{font-size:15px;color:var(--muted);margin-top:23px}
.faq-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-content:start}
.faq-list details{background:#fff;border-radius:20px;border:1px solid rgba(35,40,55,.02)}
.faq-list summary{list-style:none;padding:21px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:clamp(14px,1.12vw,16px);line-height:1.65;font-weight:550;cursor:pointer}
.faq-list summary{word-break:keep-all;overflow-wrap:anywhere}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{width:25px;height:25px;flex-shrink:0;border-radius:50%;background:#f4f4f7;color:#5f6470;font-size:20px;font-weight:300;display:grid;place-items:center;line-height:1;transition:transform .25s var(--spring),background .25s}
.faq-list details[open] summary>span{transform:rotate(45deg);background:#f6ebe9;color:var(--red)}
.faq-list details>div{padding:0 24px 23px;color:var(--muted);font-size:14px;line-height:1.95;animation:answerIn .24s var(--spring)}
.closing{position:relative;text-align:center;padding:25px 0 100px;isolation:isolate}
.closing:before{content:"";position:absolute;inset:0 10% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,rgba(227,208,202,.27),transparent 65%)}
.closing-maple{display:grid;place-items:center;margin:0 auto 19px;background:rgba(255,255,255,.8);width:55px;height:55px;border-radius:19px;color:var(--red);box-shadow:0 5px 16px -12px rgba(118,49,37,.3)}
.closing-maple svg{width:24px;height:27px}
.closing .eyebrow{font-size:13px;color:#76625f;font-weight:500}
.closing h2{font-size:45px;font-weight:650;line-height:1.45;letter-spacing:-1.55px;margin:17px 0 29px}
.closing>div{display:flex;align-items:center;justify-content:center;gap:29px}
.closing .button{min-width:158px;font-size:14px}
.closing .text-link{font-size:13px}
.closing>p{font-size:12px;color:#67666e;margin:24px 0 0;word-break:keep-all}
.closing>p>span{margin-inline:9px;color:#a19ea6}
.site-footer{border-top:1px solid var(--line);padding:34px 0 24px}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:28px}
.site-footer .brand-icon{width:36px;height:36px;background:transparent}
.site-footer .brand img{width:25px;height:25px}
.site-footer .brand>span:last-child{font-size:14px}
.site-footer .brand small{font-size:12px;letter-spacing:.3px}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:24px;font-size:13px;color:var(--muted)}
.footer-links button{background:transparent;padding:10px 0;color:inherit;font-size:inherit}
.footer-links a{padding:10px 0}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:31px;font-size:12px;color:#6a6c75}
.footer-canada{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1.6px}
.footer-canada svg{width:12px;height:15px;color:#b95a50}
dialog{width:min(580px,calc(100% - 40px));max-height:85dvh;padding:29px 32px 32px;border:1px solid rgba(255,255,255,.95);border-radius:28px;background:rgba(252,252,254,.96);color:var(--ink);box-shadow:0 30px 100px rgba(18,24,42,.2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
dialog[open]{animation:dialogIn .28s var(--spring)}
dialog::backdrop{background:rgba(26,29,39,.23);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:16px}
.dialog-header>.eyebrow{font-size:12px;color:#646a76}
.dialog-header button{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#e9eaf0;color:#737989;font-size:24px;line-height:1;padding:0}
.dialog-header+h2{font-size:28px;margin:21px 0 20px;letter-spacing:-.8px}
#dialog-content{font-size:14px;color:#646b78;line-height:1.9}
#dialog-content p{margin:15px 0}
#dialog-content strong{font-weight:600;color:#303845}
#dialog-content ul,#dialog-content ol{padding-left:21px;margin:0}
#dialog-content li{padding-left:3px;margin:12px 0}
.dialog-notice{background:#f0f1f5;padding:15px 17px;border-radius:15px;font-size:12px;line-height:1.85}
.dialog-endpoint{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:13px;background:#eceef3;padding:14px 16px;border-radius:15px;font-size:13px}
.dialog-endpoint>span{font-family:Consolas,monospace}
.dialog-endpoint button{border-radius:999px;background:#303642;color:#fff;font-size:11px;padding:10px 14px}
.toast{position:fixed;z-index:200;bottom:28px;left:50%;transform:translate(-50%,15px);border-radius:999px;background:rgba(34,40,52,.94);color:#fff;box-shadow:0 10px 30px rgba(24,32,55,.17);padding:14px 24px;font-size:13px;max-width:calc(100% - 40px);text-align:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--spring)}
.toast.visible{opacity:1;transform:translate(-50%,0)}
@keyframes routeMove{to{stroke-dashoffset:-100}}
@keyframes dialogIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes answerIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero{padding-top:112px;padding-bottom:88px}.container{max-width:1260px}h1{font-size:68px}.hero-art{padding:32px 29px 26px}.section{padding-block:120px}}
@media(max-width:1160px){
 .container{width:calc(100% - 72px)}
 .nav{gap:17px;padding-inline:18px}.nav-links{gap:0}.nav-links a{font-size:13px;padding-inline:9px}.brand>span:last-child{font-size:15px}.brand small{font-size:8px}.brand-icon{width:36px;height:38px}.nav-cta{padding-inline:15px;gap:12px}
 .hero{gap:30px;padding-top:72px;padding-bottom:52px}h1{font-size:4.6vw;letter-spacing:-1.8px}.hero-description{font-size:clamp(14px,1.2vw,17px)}.hero-actions{gap:19px}.hero-actions .button{font-size:13px;min-height:51px;padding-inline:20px;gap:18px}.hero-actions .text-link{font-size:13px}.refund-note{font-size:12px}
 .hero-art{padding:25px 20px 20px}.map-label{padding:10px 11px;gap:7px}.map-label>span{font-size:12px}.map-label small{font-size:11px}.route-summary{padding:13px 11px;gap:9px}.diagram-label{display:none}
 .trust-strip{padding-block:27px}.trust-strip>div{gap:10px}.trust-strip strong{font-size:13px}.trust-strip small{font-size:12px}.trust-strip svg{width:22px}
 .section{padding-block:85px}h2{font-size:39px}.section-heading>p{font-size:14px}.principles{gap:16px}.principles article{padding:26px 25px 21px}.principles h3{font-size:21px}.principles p{font-size:clamp(14px,1.05vw,15px)}.feature-top{margin-bottom:29px}
 .transparency-layout{gap:55px}.transparency-copy h2{font-size:42px}.transparency-copy>p{font-size:clamp(14px,1.12vw,16px)}.record-content{padding-inline:25px}.record-header{padding-inline:24px}.record-content h3{font-size:22px}.record-rows>div{font-size:clamp(12px,.94vw,13px)}.record-footer{padding-inline:24px}
 .service-section{padding-bottom:0}.service-main{padding:50px 40px}.service-main h2{font-size:43px}.service-main p{font-size:clamp(13px,1.05vw,15px)}.service-hours{font-size:102px}.service-graphic{padding-inline:25px}.service-flow{gap:10px}.service-flow i{width:22px;height:22px}
 .refund-panel{padding:28px 30px;gap:20px}.refund-panel h3{font-size:23px}.refund-panel>.button{font-size:12px;padding-inline:16px;gap:12px}.refund-seal{width:57px;height:59px}
 .faq-section{gap:50px}.faq-intro h2{font-size:37px}.faq-list summary{font-size:clamp(14px,1.12vw,16px);padding:20px}.faq-list details>div{font-size:14px;padding-inline:20px}
}
@media(max-width:900px){
 .container{width:calc(100% - 56px)}
 .nav{gap:12px}.nav-links a{font-size:12px;padding-inline:7px}.brand>span:last-child{font-size:14px}.brand small{letter-spacing:1px}.nav-cta{font-size:12px;padding-inline:13px;gap:10px}.brand{gap:7px}
 .hero{gap:23px}.hero-description{font-size:clamp(14px,1.2vw,17px)}.hero-actions{gap:10px}.hero-actions .button{font-size:13px;padding-inline:17px;gap:15px}.hero-actions .text-link{font-size:12px}.location-pill{font-size:12px;padding:7px 10px}.hero-art{padding:23px 17px 17px;border-radius:28px}.art-wordmark{font-size:13px}.art-wordmark>span{font-size:12px}.map-label{padding:9px;gap:5px}.map-label>svg{width:16px}.map-label>span{font-size:11px}.map-label small{font-size:10px}.route-summary-icon{width:29px;height:31px;border-radius:10px}.route-summary strong{font-size:12px}.route-summary>div>span{font-size:12px}.route-summary b{margin-inline:2px}.origin-tag{font-size:12px}
 .trust-strip>div{gap:8px;padding-inline:6px}.trust-strip strong{font-size:12px}.trust-strip svg{width:20px}.trust-strip small{font-size:12px}
 .section{padding-block:75px}h2{font-size:35px}.section-heading>p{font-size:14px}.principles article{padding:24px 20px 20px}.principles h3{font-size:18px}.principles p{font-size:clamp(14px,1.05vw,15px)}.principles .inline-link{font-size:12px}.feature-top{margin-bottom:25px}.feature-icon{width:41px;height:43px;border-radius:14px}
 .transparency-layout{gap:38px;grid-template-columns:.84fr 1.16fr}.transparency-copy h2{font-size:37px}.transparency-copy>p{font-size:clamp(14px,1.12vw,16px)}.transparency-points>span{font-size:13px}.transparency-tabs>button{font-size:12px}.record-header{padding:20px}.record-content{padding:25px 22px;min-height:414px}.record-content h3{font-size:20px}.record-content>p{font-size:13px}.record-rows>div{font-size:clamp(12px,.94vw,13px);gap:10px}.record-note{font-size:12px}.record-footer{padding:17px 20px;gap:10px}.record-footer p{font-size:12px}
 .service-section{padding-bottom:0}.service-main{padding:42px 30px}.service-main h2{font-size:36px}.service-main p{font-size:clamp(13px,1.05vw,15px)}.service-graphic{padding:35px 20px}.service-hours{font-size:90px}.service-flow{gap:8px 12px}.service-flow>span{gap:5px}.service-flow i{width:22px;height:22px}.service-graphic>p{font-size:12px}.service-hours-caption{font-size:12px}
 .refund-panel{padding:25px;gap:18px}.refund-panel p{font-size:clamp(12px,.98vw,14px)}.refund-panel>.button{font-size:12px;padding-inline:14px;gap:9px}.refund-seal{width:48px;height:54px}.refund-seal svg{width:28px}.refund-panel h3{font-size:21px}.refund-panel .eyebrow{font-size:12px}
 .faq-section{gap:35px}.faq-intro h2{font-size:33px}.faq-intro p{font-size:13px}.faq-list summary{font-size:clamp(14px,1.12vw,16px)}.faq-list details>div{font-size:14px}.closing h2{font-size:39px}.closing{padding-bottom:80px}
}
@media(max-width:760px){
 html{scroll-padding-top:107px}
 .container{width:calc(100% - 40px)}
 .site-header{top:10px;height:67px;margin-top:4px}
 .nav{height:67px;padding:0 12px 0 15px;gap:11px;position:relative}.site-header.is-scrolled .nav{height:61px}
 .brand-icon{width:31px;height:34px;border-radius:11px}.brand img{width:27px;height:27px}.brand>span:last-child{font-size:14px}.brand small{font-size:8px;letter-spacing:1px}
 .nav-cta{margin-left:auto;min-height:40px;padding-inline:14px;font-size:12px;gap:10px}
 .menu-toggle{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:5px;width:40px;height:40px;flex-shrink:0;padding:0;background:transparent;border-radius:50%}
 .menu-toggle span{width:17px;height:1.5px;border-radius:2px;background:#69717e;transition:transform .3s var(--spring)}
 .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.25px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
 .nav-links{display:none;position:absolute;top:calc(100% + 9px);left:0;right:0;margin:0;flex-direction:column;align-items:stretch;padding:12px;border-radius:24px;background:rgba(253,253,255,.98);border:1px solid #fff;box-shadow:0 16px 38px -12px rgba(31,38,59,.17)}
 .nav-links.open{display:flex;animation:dialogIn .22s var(--spring)}
 .nav-links a{font-size:14px;padding:14px 15px;border-radius:14px}
 .hero{grid-template-columns:1fr;padding-top:49px;padding-bottom:40px;gap:36px}
 .hero-copy{text-align:center;padding:0}.hero:before{inset:10% 0 0;background:radial-gradient(ellipse at 65% 72%,rgba(207,217,236,.4),transparent 63%)}
 .location-pill{font-size:12px;padding:8px 12px}
 h1{font-size:clamp(34px,8.5vw,54px);line-height:1.36;letter-spacing:-1.6px;margin:22px 0 22px}
 .hero-description{font-size:clamp(14px,1.2vw,17px);line-height:1.95}.hero-actions{justify-content:center;gap:20px;margin-top:27px}.hero-actions .button{font-size:13px;min-height:51px;padding-inline:23px;gap:23px}.hero-actions .text-link{font-size:13px}
 .refund-note{justify-content:center;font-size:12px;margin-top:21px}
 .hero-art{max-width:500px;width:100%;margin-inline:auto;padding:25px 23px 21px;border-radius:30px}
 .art-wordmark{font-size:15px;letter-spacing:3.5px}.art-wordmark>span{font-size:12px}.art-maple{width:23px;height:26px}
 .map-canvas{margin:-2px -13px -8px}.map-label{padding:11px 12px;gap:7px}.map-label>span{font-size:12px}.map-label small{font-size:11px}.map-label>svg{width:19px}.origin-tag{font-size:12px}
 .route-summary{padding:14px;gap:11px}.route-summary-icon{width:33px;height:35px;border-radius:12px}.route-summary strong{font-size:13px}.route-summary>div>span{font-size:12px}.route-summary b{margin-inline:4px}
 .trust-strip{grid-template-columns:repeat(2,1fr);padding:6px 0}
 .trust-strip>div,.trust-strip>div:first-child,.trust-strip>div:last-child{justify-content:flex-start;padding:21px 12px;gap:13px}
 .trust-strip>div+div{border-left:0}.trust-strip>div:nth-child(even){border-left:1px solid var(--line)}.trust-strip>div:nth-child(n+3){border-top:1px solid var(--line)}
 .trust-strip strong{font-size:13px}.trust-strip small{font-size:12px}.trust-strip svg{width:23px;height:25px}
 .section{padding-block:65px}.eyebrow{font-size:12px;letter-spacing:.3px}h2{font-size:34px;line-height:1.45;letter-spacing:-1.15px}
 .section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:14px;line-height:1.85;margin:20px 0 0}
 .principles{grid-template-columns:1fr;gap:14px}.principles article{padding:27px 27px 22px;border-radius:26px;position:relative}
 .feature-top{margin-bottom:18px}.feature-icon{width:44px;height:44px;border-radius:15px}.feature-number{font-size:12px}
 .feature-index{font-size:12px}.principles h3{font-size:24px;line-height:1.4;margin:9px 0 15px}.principles h3 br{display:none}.principles p{font-size:clamp(14px,1.05vw,15px);line-height:1.9;margin-bottom:14px}.principles .inline-link{font-size:12px}
 .transparency-layout{display:block}.transparency-copy h2{font-size:38px}.transparency-copy>p{font-size:clamp(14px,1.12vw,16px);margin:21px 0}
 .transparency-points{gap:10px;margin-bottom:13px}.transparency-points>span{font-size:13px}.transparency-copy .text-link{font-size:13px}
 .record-workspace{margin-top:31px}
 .transparency-tabs{padding:5px;margin-bottom:14px}.tab-indicator{top:5px;bottom:5px;left:5px;width:calc((100% - 10px)/3)}.transparency-tabs>button{min-height:44px;font-size:13px;padding-inline:6px}
 .record-card{border-radius:26px}.record-header{padding:21px 23px;gap:10px}.record-icon{width:36px;height:37px;border-radius:12px}.record-header>span:nth-child(2){font-size:13px}.record-header small{font-size:10px;letter-spacing:.75px}.sample-tag{font-size:12px}
 .record-content{padding:26px 24px;min-height:414px}.record-content h3{font-size:23px}.record-content>p{font-size:13px}.record-kicker{font-size:12px}.record-rows>div{font-size:clamp(12px,.94vw,13px);padding-block:14px;gap:12px}.record-note{font-size:13px}
 .record-footer{padding:18px 22px;gap:11px}.record-footer p{font-size:12px}.record-footer>svg{width:19px}
 .service-section{padding-bottom:0}.service-panel{grid-template-columns:1fr;border-radius:28px}.service-main{padding:38px 29px}
 .service-main .eyebrow{font-size:12px}.service-main h2{font-size:39px;margin:19px 0 23px}.service-main p{font-size:clamp(13px,1.05vw,15px);line-height:1.95;margin-bottom:27px}.service-main .button{min-height:49px;font-size:13px}
 .service-graphic{padding:34px 26px 33px;border-left:0;border-top:1px solid rgba(255,255,255,.065)}
 .service-hours{font-size:107px;letter-spacing:-7px}.service-hours-caption{font-size:12px;margin-top:9px}.service-flow{margin-top:27px;gap:10px 18px}.service-flow>span{font-size:12px;gap:6px}.service-flow i{width:24px;height:24px;font-size:10px}.service-graphic>p{font-size:12px;margin-top:24px}
 .refund-panel{position:relative;margin-top:15px;display:grid;grid-template-columns:42px 1fr;align-items:start;gap:17px;padding:26px 25px;border-radius:25px}.refund-seal{width:42px;height:48px;border-radius:15px;margin-top:4px}.refund-seal svg{width:25px;height:30px}
 .refund-panel .eyebrow{font-size:12px}.refund-panel h3{font-size:22px;margin:8px 0 11px}.refund-panel p{font-size:clamp(12px,.98vw,14px);line-height:1.9}.refund-panel p br{display:none}.refund-panel>.button{grid-column:2;margin:0;justify-self:start;min-height:44px;font-size:13px;padding-inline:17px;gap:15px}
 .faq-section{display:block}.faq-intro h2{font-size:34px}.faq-intro p{font-size:14px;margin-top:20px}.faq-list{margin-top:27px;gap:10px}.faq-list summary{font-size:clamp(14px,1.12vw,16px);padding:20px;gap:12px}.faq-list details>div{font-size:14px;padding:0 20px 23px}
 .closing{padding:8px 0 64px}.closing>div{flex-direction:column;align-items:stretch;max-width:340px;margin-inline:auto}.closing>div>.support-contact{flex-wrap:nowrap;padding-block:13px}.closing-maple{width:49px;height:51px;border-radius:17px;margin-bottom:19px}.closing h2{font-size:32px;line-height:1.5;letter-spacing:-1.1px;margin:17px 0 28px}.closing .eyebrow{font-size:12px}.closing>div{gap:12px}.closing .button{min-height:51px;min-width:144px;font-size:13px}.closing .text-link{font-size:13px}.closing>p{font-size:12px;line-height:1.9;margin-top:23px}.closing>p>span{margin-inline:5px}
 .site-footer{padding:29px 0 22px}.footer-top{flex-direction:column;align-items:stretch;gap:16px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px;font-size:13px}.footer-links>a,.footer-links>button:not(.support-contact){text-align:left;padding:11px 0}.footer-links>.support-contact{grid-column:1/-1;justify-self:start;margin-top:8px}
 .footer-bottom{flex-wrap:wrap;margin-top:22px;gap:13px;font-size:12px}.footer-bottom>span:nth-child(2){order:3;width:100%;font-size:12px}.footer-canada{font-size:10px}
 dialog{padding:25px 24px 26px;width:calc(100% - 30px);border-radius:26px}.dialog-header+h2{font-size:25px;margin:20px 0 17px}#dialog-content{font-size:13px}.dialog-notice{font-size:12px}.dialog-endpoint{font-size:12px}
}
@media(max-width:400px){
 .container{width:calc(100% - 32px)}
 .nav{padding-left:12px;padding-right:10px;gap:7px}.brand{gap:6px}.brand>span:last-child{font-size:13px}.brand small{font-size:7px}.brand-icon{width:27px}.brand img{width:25px;height:25px}.nav-cta{font-size:12px;padding-inline:12px;gap:8px}.nav-cta .button-arrow{font-size:15px}.menu-toggle{width:36px}
 h1{font-size:8.5vw;letter-spacing:-1.1px}.hero-description{font-size:clamp(14px,1.2vw,17px)}.hero-actions{gap:17px}.hero-actions .button{font-size:13px;padding-inline:20px;gap:20px}.hero-actions .text-link{font-size:12px}
 .hero-art{padding:23px 18px 18px;border-radius:28px}.map-label{padding:9px 10px;gap:6px}.map-label>span{font-size:11px}.map-label small{font-size:10px}.route-summary{padding:12px;gap:9px}.route-summary>div>span{font-size:12px}.route-summary strong{font-size:12px}.route-summary b{margin-inline:3px}
 .trust-strip>div,.trust-strip>div:first-child,.trust-strip>div:last-child{padding:19px 8px;gap:9px}.trust-strip strong{font-size:12px}.trust-strip small{font-size:12px}.trust-strip svg{width:21px}
 h2,.faq-intro h2{font-size:30px}.section-heading>p{font-size:13px}.principles article{padding:25px 24px 21px}.principles h3{font-size:23px}.principles p{font-size:clamp(14px,1.05vw,15px)}
 .transparency-copy h2{font-size:35px}.record-header{padding:20px;gap:9px}.record-header small{font-size:9px}.sample-tag{font-size:12px;padding-inline:7px}.record-content{padding:24px 21px;min-height:414px}.record-content h3{font-size:21px}.record-rows>div{font-size:clamp(12px,.94vw,13px)}.record-footer{padding:17px 20px;gap:9px}.record-footer p{font-size:12px}.record-note{font-size:13px}.transparency-tabs>button{font-size:12px}
 .service-main{padding:34px 25px}.service-main h2{font-size:36px}.service-main p{font-size:clamp(13px,1.05vw,15px)}.service-flow{gap:8px 12px}.service-flow>span{gap:5px}.service-flow i{width:22px;height:22px}.service-graphic>p{font-size:12px}
 .refund-panel{padding:24px 21px;gap:13px;grid-template-columns:37px 1fr}.refund-seal{width:37px;height:43px}.refund-panel h3{font-size:20px}.refund-panel p{font-size:clamp(12px,.98vw,14px)}
 .closing h2{font-size:29px}.closing>p{font-size:12px}.closing>p>span{margin-inline:3px}
}
@media(max-width:340px){
 .nav-cta .button-arrow{display:none}.brand small{letter-spacing:.6px}.hero-description{font-size:clamp(14px,1.2vw,17px)}.hero-actions{gap:11px}.hero-actions .button{font-size:12px;padding-inline:17px;gap:16px}.hero-actions .text-link{font-size:12px}.location-pill{font-size:12px}.refund-note{font-size:12px}
 .hero-art{padding-inline:15px}.map-label{padding:8px}.route-summary{gap:8px;padding:10px}.route-summary-icon{width:29px;height:31px}.route-summary strong{font-size:12px}.route-summary>div>span{font-size:12px}
 .trust-strip>div,.trust-strip>div:first-child,.trust-strip>div:last-child{gap:7px;padding-inline:5px}.trust-strip strong{font-size:12px}.trust-strip small{font-size:12px}.trust-strip svg{width:19px}
 .record-header{padding-inline:17px}.record-content{padding-inline:18px}.record-content h3{font-size:19px}.record-content>p{font-size:13px}.record-footer{padding-inline:17px}.record-footer p{font-size:12px}.record-note{font-size:12px}.transparency-tabs>button{font-size:12px}
 .service-main{padding-inline:22px}.service-main h2{font-size:34px}.service-main p{font-size:clamp(13px,1.05vw,15px)}.service-flow{gap:8px 10px}.refund-panel{padding-inline:19px;gap:11px}.refund-panel h3{font-size:19px}.closing h2{font-size:26px}.closing>p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(prefers-reduced-transparency:reduce){
 .nav,.site-header.is-scrolled .nav,dialog{background:#fcfcfd;backdrop-filter:none;-webkit-backdrop-filter:none}
 .transparency-tabs{background:#e8eaf0;backdrop-filter:none;-webkit-backdrop-filter:none}
 dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(26,29,39,.45)}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .nav,.site-header.is-scrolled .nav{background:#fcfcfd}
}
/* Production entry links retain the approved button surfaces. */
.dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.dialog-actions .button{font-size:13px;min-height:46px;padding-inline:20px;gap:12px}
@media(max-width:760px){.footer-links{justify-content:flex-start}}

.support-contact{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 10px;max-width:100%;padding:12px 16px;border:1px solid #d7e3dd;border-radius:12px;background:#edf4f0;color:#2b6258;font:inherit;font-size:12px;line-height:1.5;cursor:pointer}.support-contact strong{font-weight:650;overflow-wrap:anywhere}.support-contact [data-copy-status]{font-size:12px;opacity:.85}.support-contact:hover{background:#e1eee7}.support-contact:focus-visible{outline:2px solid #34786c;outline-offset:3px}.service-main .support-contact{background:#fff;color:#2b6258}.footer-links .support-contact{padding:8px 10px;font-size:12px}.dialog-actions{flex-wrap:wrap}

/* ---- Decoration & motion ----
   Only transform/opacity are animated. Everything is decorative (aria-hidden) and the
   reduced-motion rule above disables it; home.js pauses loops while off screen. */
:root{--ease-out:cubic-bezier(.16,1,.3,1)}

/* Hero entrance */
.hero-copy>*{animation:rise .8s var(--ease-out) both}
.hero-copy>:nth-child(2){animation-delay:.06s}
.hero-copy>:nth-child(3){animation-delay:.14s}
.hero-copy>:nth-child(4){animation-delay:.22s}
.hero-copy>:nth-child(5){animation-delay:.3s}
.hero-art{animation:rise 1s .12s var(--ease-out) both}
@keyframes rise{from{opacity:0;translate:0 16px}to{opacity:1;translate:none}}

/* Hero map: glow at the node, radar sweep on the orbit, route draw-in, pulse rings */
.map-canvas:before{content:"";position:absolute;left:65.8%;top:66.5%;width:46%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(196,61,51,.16),rgba(196,61,51,.05) 42%,transparent 70%);animation:glow 5s ease-in-out infinite;pointer-events:none}
@keyframes glow{50%{opacity:.55;scale:.9}}
.map-orbit{overflow:hidden}
.map-orbit:after{content:"";position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 72%,rgba(196,61,51,.05) 86%,rgba(196,61,51,.32) 99.6%,transparent 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));animation:spin 26s linear infinite}
@keyframes spin{to{rotate:1turn}}
.route-guide{stroke-dasharray:1;stroke-dashoffset:0;animation:draw 1.4s .45s var(--ease-out) both}
.route-active{animation:fadeIn .6s 1.7s both,routeMove 28s 1.7s linear infinite}
@keyframes draw{from{stroke-dashoffset:1}}
@keyframes fadeIn{from{opacity:0}}
.route-ring{fill:none;stroke:#bd342c;stroke-width:1.2;transform-box:fill-box;transform-origin:center;opacity:0;animation:ring 3.6s 1.8s var(--ease-out) infinite}
.route-ring-late{animation-delay:3.6s}
.route-ring-origin{stroke-width:1;animation-duration:3.6s;animation-delay:.6s}
@keyframes ring{0%{opacity:.55;scale:1}70%,100%{opacity:0;scale:3.2}}
.map-label{animation:pop .7s 1.5s var(--ease-out) both}
.map-label:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:14px;background:linear-gradient(rgba(196,61,51,.5),rgba(196,61,51,0))}
@keyframes pop{from{opacity:0;scale:.92}}
.origin-tag{animation:fadeIn .6s .5s both}

/* Pointer-following sheen on the hero card (fine pointers only, set by home.js) */
.hero-art:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,30%),rgba(255,255,255,.55),transparent 60%);transition:opacity .5s}
.hero-art.has-sheen:hover:after{opacity:1}

/* Scroll reveal: home.js adds .reveal only to elements that start below the fold */
.reveal{opacity:0;translate:0 22px}
.reveal.is-in{opacity:1;translate:none;transition:opacity .8s var(--ease-out),translate .9s var(--ease-out);transition-delay:var(--reveal-delay,0s)}
@media print{.reveal{opacity:1;translate:none}}

/* Buttons and links */
.button-red{position:relative;overflow:hidden;isolation:isolate}
.button-red:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.26) 50%,transparent 70%);translate:-110% 0;transition:translate .8s var(--ease-out)}
.button-red:hover:after{translate:110% 0}
.button .button-arrow{transition:transform .3s var(--spring)}
.button:hover .button-arrow{transform:translate(2px,-2px)}

/* Principle cards */
.principles article{transition:box-shadow .35s var(--spring),transform .35s var(--spring)}
.principles article:hover{transform:translateY(-4px)}
.feature-icon,.feature-number{transition:background .3s,color .3s}
.principles article:hover .feature-icon{background:#fbeeec;color:var(--red)}
.principles article:hover .feature-number{color:var(--red)}
.trust-strip svg{transition:color .3s}
.trust-strip>div:hover svg{color:var(--red)}

/* 24/7 panel: dot texture and a 24-tick dial whose red dot turns once every 24 s */
.service-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(rgba(255,255,255,.075) 1px,transparent 1.5px) 0 0/15px 15px;-webkit-mask:radial-gradient(ellipse at 78% 50%,#000,transparent 62%);mask:radial-gradient(ellipse at 78% 50%,#000,transparent 62%)}
.service-main{position:relative;z-index:1}
.service-graphic>*{position:relative;z-index:1}
.service-graphic:before,.service-graphic:after{content:"";position:absolute;left:50%;top:50%;width:min(80%,340px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;pointer-events:none}
.service-graphic:before{background:repeating-conic-gradient(rgba(255,255,255,.16) 0 .7deg,transparent .7deg 15deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 calc(100% - 8px));mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 calc(100% - 8px));box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.service-graphic:after{background:radial-gradient(circle at 50% 4px,#d4685d 3px,rgba(212,104,93,.35) 5px,transparent 11px);animation:spin 24s linear infinite}
.service-flow>span:not(:last-child):after{content:"";width:14px;height:1px;margin-left:6px;background:rgba(255,255,255,.2)}
.service-flow i{animation:step 4.5s infinite}
.service-flow>span:nth-child(2) i{animation-delay:1.5s}
.service-flow>span:nth-child(3) i{animation-delay:3s}
@keyframes step{0%,40%,100%{border-color:rgba(255,255,255,.16);background:transparent;color:#aab2c2}8%,28%{border-color:rgba(212,104,93,.85);background:rgba(196,61,51,.22);color:#fff}}
.service-hours>span{display:inline-block;animation:slash 6s ease-in-out infinite}
@keyframes slash{50%{opacity:.6}}

/* Refund seal: the check draws itself when the panel is revealed */
.refund-panel.reveal .seal-check{stroke-dasharray:1;stroke-dashoffset:1}
.refund-panel.reveal.is-in .seal-check{animation:drawCheck .7s .5s var(--ease-out) forwards}
@keyframes drawCheck{to{stroke-dashoffset:0}}

/* FAQ: animate height where the browser can interpolate to auto */
@supports (interpolate-size:allow-keywords){
 .faq-list{interpolate-size:allow-keywords}
 .faq-list details::details-content{height:0;overflow:clip;transition:height .4s var(--ease-out),content-visibility .4s allow-discrete}
 .faq-list details[open]::details-content{height:auto}
}

/* Closing: faint map of Canada behind the call to action, floating maple */
.closing:after{content:"";position:absolute;inset:0 4% 30px;z-index:-1;pointer-events:none;background:url(/home-assets/canada-dots.svg) center/contain no-repeat;opacity:.3;-webkit-mask:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(0,0,0,.25) 30%,#000 62%,transparent 100%);mask:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(0,0,0,.25) 30%,#000 62%,transparent 100%)}
.closing-maple svg{animation:float 6s ease-in-out infinite}
@keyframes float{50%{translate:0 -3px;rotate:-4deg}}

/* home.js pauses looping decoration that is off screen */
.is-paused,.is-paused *,.is-paused:before,.is-paused:after,.is-paused *:before,.is-paused *:after{animation-play-state:paused!important}
