/* RefAssure v2 design system (concept E). Light, calm, on brand: navy ink, blue to green signature gradient. */
:root{
  --bg:#fbfcfe; --bg-2:#f3f7fb; --mint:#eefaf5; --sky:#eef4fe; --white:#ffffff;
  --line:#e4eaf2; --line-2:#d5dde9;
  --ink:#0a1730; --ink-2:#44526b; --muted:#66758d;
  --navy:#071228; --blue:#0B5ED7; --green:#19C37D; --teal:#14a3a0; --green-d:#0d8a57;
  --grad:linear-gradient(120deg,#0B5ED7 0%,#14a3a0 55%,#19C37D 100%);
  --shadow-s:0 1px 2px rgba(10,23,48,.05),0 4px 14px -6px rgba(10,23,48,.08);
  --shadow:0 2px 4px rgba(10,23,48,.04),0 24px 60px -24px rgba(10,40,90,.22);
  --r:24px; --ease:cubic-bezier(.16,1,.3,1);
  --font-d:"Plus Jakarta Sans",Inter,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body.ra2{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.ra2 a{color:inherit;text-decoration:none}
.ra2 img{display:block;max-width:100%;height:auto}
.ra2 ul,.ra2 ol{list-style:none}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px}
.skip:focus{left:8px}
.wrap{max-width:1280px;margin:0 auto;padding:0 28px}
.narrow{max-width:820px}
.disp{font-family:var(--font-d);letter-spacing:-.035em;line-height:1.04;font-weight:800;color:var(--ink)}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .08em .18em 0;margin-right:-.08em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* gradient text paints only inside its box: the padding gives descenders (g, y, p) and overhangs room, the negative margin keeps spacing unchanged */
.ra2 a:focus-visible,.ra2 button:focus-visible,.ra2 summary:focus-visible,.ra2 input:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
@media (max-width:640px){.wrap{padding:0 18px}}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 28px;border-radius:999px;font-weight:600;font-size:15.5px;white-space:nowrap;border:0;cursor:pointer;font-family:inherit;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .25s,border-color .25s;will-change:transform}
.btn:active{transform:scale(.97)}
.btn-main{background:var(--grad);color:#fff!important;box-shadow:0 12px 28px -12px rgba(11,94,215,.55),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-main:hover{box-shadow:0 18px 38px -12px rgba(20,163,160,.6),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-ghost{background:var(--white);border:1px solid var(--line-2);color:var(--ink);box-shadow:var(--shadow-s)}
.btn-ghost:hover{border-color:#b9c5d6}
.btn-ghost i{color:var(--blue)}
.btn i{font-size:18px;transition:transform .35s var(--ease)}
.btn:hover i.ph-arrow-right{transform:translateX(3px)}
.btn-sm{height:44px;padding:0 20px;font-size:14px}
.ctas{display:flex;gap:12px;flex-wrap:wrap}

/* nav */
.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:50;width:min(1220px,calc(100% - 28px));height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 10px 0 20px;border-radius:999px;border:1px solid transparent;transition:background .4s,border-color .4s,box-shadow .4s}
.nav::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);opacity:0;transition:opacity .4s}
.nav.solid,.nav.always{background:rgba(255,255,255,.82);border-color:var(--line);box-shadow:var(--shadow-s)}
.nav.solid::before,.nav.always::before{opacity:1}
.nav .logo img{height:32px;width:auto}
.nav-links{display:flex;align-items:center;gap:28px;font-size:14.5px;color:var(--ink-2);font-weight:500}
.nav-links > a:hover,.panel-btn:hover{color:var(--ink)}
.has-panel{position:relative}
.panel-btn{font:inherit;color:inherit;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 0}
.panel-btn i{font-size:13px;transition:transform .3s}
.has-panel:hover .panel-btn i,.panel-btn[aria-expanded="true"] i{transform:rotate(180deg)}
.panel{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,8px);width:560px;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px;border-radius:22px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
.panel::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.has-panel:hover .panel,.has-panel:focus-within .panel,.panel.open{opacity:1;visibility:visible;transform:translate(-50%,0)}
.panel a{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;transition:background .2s}
.panel a:hover{background:var(--bg-2)}
.panel .pi{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--mint);color:var(--green-d);font-size:19px;flex-shrink:0}
.panel b{display:block;color:var(--ink);font-size:14.5px;font-weight:600}
.panel small{display:block;color:var(--muted);font-size:12.5px;font-weight:400}
.nav-r{display:flex;align-items:center;gap:14px;font-size:14.5px;font-weight:500}
.nav-r .login{color:var(--ink-2)}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--white);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{width:18px;height:2px;border-radius:2px;background:var(--ink);transition:transform .3s var(--ease)}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:45;background:rgba(251,252,254,.98);padding:96px 22px 28px;display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto}
.mnav[hidden]{display:none}
.mnav nav{display:flex;flex-direction:column}
.mnav nav a{font-family:var(--font-d);font-weight:700;font-size:22px;letter-spacing:-.02em;padding:11px 0;border-bottom:1px solid var(--line)}
.mnav nav a.sub{font-size:17px;font-weight:600;color:var(--ink-2);padding:9px 0 9px 14px}
.mnav-h{margin-top:18px;font-size:13px;color:var(--muted);font-weight:600}
.mnav .btn{margin-top:24px;width:100%}
@media (max-width:1060px){.nav-links,.nav-r .login{display:none}.burger{display:flex}}
@media (max-width:420px){.nav-r .btn-sm{display:none}}

/* hero (home) */
.hero{position:relative;min-height:100dvh;display:flex;align-items:center;overflow:hidden;padding:120px 0 80px;background:linear-gradient(180deg,#f7faff 0%,var(--bg) 100%)}
.aurora{position:absolute;inset:-10%;z-index:0;pointer-events:none;filter:blur(60px)}
.aurora span{position:absolute;border-radius:50%}
.aurora .a1{width:48vw;height:48vw;left:46%;top:-6%;background:radial-gradient(circle,rgba(11,94,215,.16),transparent 62%)}
.aurora .a2{width:40vw;height:40vw;left:62%;top:30%;background:radial-gradient(circle,rgba(25,195,125,.16),transparent 62%)}
.aurora .a3{width:34vw;height:34vw;left:-6%;top:50%;background:radial-gradient(circle,rgba(20,184,166,.10),transparent 62%)}
.gridlines{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(10,23,48,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(10,23,48,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse 60% 55% at 65% 42%,#000 10%,transparent 70%)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(50px,7.6vw,116px)}
.hero h1 .line{display:block;overflow:hidden;padding:0 .1em .2em 0;margin-bottom:-.13em}
.hero h1 .line > span{display:inline-block}
.hero .lede{font-size:19.5px;color:var(--ink-2);max-width:32ch;margin:28px 0 36px;line-height:1.55}
.hero-vis{position:relative;justify-self:end;width:100%;max-width:500px;margin:0}
.shield-photo{width:100%;height:auto;display:block;overflow:visible;filter:drop-shadow(0 34px 50px rgba(10,40,90,.18))}
.hero-cap{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:20px;color:var(--ink-2);font-size:15px;text-align:center}
.hero-cap i{color:var(--green);font-size:20px;flex-shrink:0}
.hero-cap b{color:var(--ink);font-weight:600}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr}.hero-vis{justify-self:center;max-width:360px}}
@media (max-width:640px){.hero{padding-top:110px;min-height:auto}.hero .lede{font-size:17.5px}}

/* page hero (inner pages) */
.phero{position:relative;padding:150px 0 70px;overflow:hidden;background:linear-gradient(180deg,#f5f9ff 0%,var(--bg) 100%)}
.phero .aurora{opacity:.8}
.phero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.phero-grid.solo{grid-template-columns:1fr}
.crumbs{position:relative;z-index:2;display:flex;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);margin-bottom:22px}
.crumbs a:hover{color:var(--ink)}
.crumbs i{font-size:11px;align-self:center}
.phero h1{font-size:clamp(38px,4.8vw,66px);max-width:16ch}
.phero .lede{font-size:19px;color:var(--ink-2);max-width:46ch;margin:24px 0 34px;line-height:1.55}
.phero .pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.pill-fact{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:8px 14px}
.pill-fact i{color:var(--teal);font-size:16px}
@media (max-width:960px){.phero{padding:120px 0 56px}.phero-grid{grid-template-columns:1fr;gap:40px}}

/* facts marquee */
.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);overflow:hidden;position:relative;z-index:2}
.facts-track{display:flex;width:max-content;gap:64px;padding:22px 0;animation:mq 50s linear infinite}
.facts-track span{display:inline-flex;align-items:center;gap:12px;font-size:15px;color:var(--ink-2);white-space:nowrap}
.facts-track b{font-family:var(--font-d);color:var(--ink);font-size:17px;letter-spacing:-.01em}
.facts-track i{color:var(--teal);font-size:18px}
@keyframes mq{to{transform:translateX(-50%)}}

/* sections */
section{position:relative}
.sec{padding:130px 0}
.sec.tight{padding:90px 0}
.sec.alt{background:var(--bg-2)}
.sec.white{background:var(--white)}
.sec h2{font-size:clamp(36px,4.8vw,66px);max-width:17ch}
.h2s{font-size:clamp(30px,3.6vw,48px)!important}
.sub{font-size:18.5px;color:var(--ink-2);max-width:56ch;margin-top:22px}
.center{text-align:center}.center h2,.center .sub{margin-left:auto;margin-right:auto}
@media (max-width:768px){.sec{padding:90px 0}.sec.tight{padding:64px 0}}

/* quick answer (AI + featured snippet target) */
.answer{margin-top:34px;max-width:780px;border-radius:22px;padding:26px 28px;background:linear-gradient(160deg,var(--sky),var(--mint));border:1px solid var(--line)}
.answer .lbl{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--green-d);margin-bottom:10px}
.answer p{font-size:17.5px;color:var(--ink);line-height:1.6}
.answer p + p{margin-top:10px}

/* prose */
.prose{max-width:740px;color:var(--ink-2);font-size:17px;line-height:1.75}
.prose h2{font-family:var(--font-d);font-size:clamp(28px,3vw,38px);letter-spacing:-.03em;line-height:1.15;color:var(--ink);margin:56px 0 16px;max-width:none}
.prose h3{font-family:var(--font-d);font-size:22px;letter-spacing:-.02em;color:var(--ink);margin:34px 0 10px}
.prose p{margin:0 0 18px}
.prose ul{margin:0 0 20px;display:grid;gap:10px}
.prose li{position:relative;padding-left:30px}
.prose li::before{content:"";position:absolute;left:4px;top:.6em;width:10px;height:10px;border-radius:50%;background:var(--grad)}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--ink)}
.prose .note{font-size:14.5px;color:var(--muted);border-left:3px solid var(--line-2);padding-left:14px}

/* split rows */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split.flip > :first-child{order:2}
.split h2{font-size:clamp(32px,3.8vw,52px)}
.ticks{display:grid;gap:14px;margin-top:28px}
.ticks li{display:flex;gap:12px;color:var(--ink-2);font-size:16.5px}
.ticks i{color:var(--green);font-size:20px;margin-top:2px;flex-shrink:0}
@media (max-width:960px){.split{grid-template-columns:1fr;gap:40px}.split.flip > :first-child{order:0}}

/* product screenshot frame */
.shot{border-radius:20px;overflow:hidden;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}
.shot-bar{display:flex;align-items:center;gap:6px;padding:11px 14px;background:#f6f8fb;border-bottom:1px solid var(--line)}
.shot-bar i{width:10px;height:10px;border-radius:50%;background:#dfe5ee}
.shot-bar span{margin-left:10px;font-size:12px;color:var(--muted);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:3px 12px}
.shot img{width:100%;height:auto}
.shot-caption{font-size:13.5px;color:var(--muted);margin-top:12px;text-align:center}

/* cards and grids */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{position:relative;border-radius:var(--r);padding:32px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-s);transition:box-shadow .4s var(--ease),transform .4s var(--ease)}
a.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.card h3{font-family:var(--font-d);font-size:22px;letter-spacing:-.02em;line-height:1.25;color:var(--ink);margin:16px 0 8px}
.card p{color:var(--ink-2);font-size:15.5px}
.card .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:23px;background:var(--mint);color:var(--green-d)}
.card .ic.b{background:var(--sky);color:var(--blue)}
.card .more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:600;font-size:14.5px;color:var(--blue)}
@media (max-width:960px){.grid2,.grid3{grid-template-columns:1fr}}

/* numbered steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px;counter-reset:st}
.step{position:relative;padding:30px 26px;border-radius:var(--r);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-s)}
.step .n{font-family:var(--font-d);font-weight:800;font-size:15px;color:#fff;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--grad)}
.step h3{font-family:var(--font-d);font-size:20px;letter-spacing:-.02em;margin:18px 0 8px;color:var(--ink)}
.step p{color:var(--ink-2);font-size:15.5px}
@media (max-width:960px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* timeline (chase schedule) */
.tl{margin-top:48px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative}
.tl::before{content:"";position:absolute;left:4%;right:4%;top:26px;height:3px;border-radius:3px;background:var(--grad);opacity:.35}
.tl div{position:relative;text-align:center}
.tl .dot{width:54px;height:54px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--white);border:2px solid var(--teal);font-size:22px;color:var(--teal);box-shadow:var(--shadow-s)}
.tl b{display:block;font-family:var(--font-d);font-size:17px;color:var(--ink)}
.tl span{display:block;font-size:14px;color:var(--ink-2);margin-top:4px}
@media (max-width:760px){.tl{grid-template-columns:1fr;text-align:left}.tl::before{left:26px;right:auto;top:0;bottom:0;width:3px;height:auto}.tl div{display:grid;grid-template-columns:54px 1fr;gap:14px;text-align:left;align-items:center}.tl .dot{margin:0}}

/* comparison table */
.cmp{width:100%;border-collapse:separate;border-spacing:0;margin-top:44px;background:var(--white);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-s);font-size:15.5px}
.cmp th,.cmp td{padding:18px 22px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cmp tr:last-child td{border-bottom:0}
.cmp thead th{font-family:var(--font-d);font-size:15px;color:var(--ink);background:var(--bg-2)}
.cmp thead th.us{background:var(--grad);color:#fff}
.cmp td:first-child{font-weight:600;color:var(--ink);width:26%}
.cmp td.us{color:var(--ink);background:rgba(238,250,245,.55)}
.cmp td{color:var(--ink-2)}
.cmp-wrap{overflow-x:auto}
@media (max-width:700px){.cmp{min-width:620px}}

/* fact strip / stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:72px;border-top:1px solid var(--line)}
.stats > div{padding:30px 30px 0 0}
.stats > div + div{padding-left:30px;border-left:1px solid var(--line)}
.stats strong{display:block;font-family:var(--font-d);font-weight:800;font-size:clamp(46px,5.2vw,78px);letter-spacing:-.05em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.stats strong small{font-size:.42em;letter-spacing:-.02em;color:var(--teal);font-weight:700}
.stats > div > span{display:block;margin-top:12px;color:var(--ink-2);font-size:15.5px;max-width:26ch}
.src{margin-top:30px;font-size:13px;color:var(--muted)}
@media (max-width:768px){.stats{grid-template-columns:1fr}.stats > div,.stats > div + div{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}}

/* manifesto */
.manifesto{padding:150px 0 120px;background:var(--white)}
.mf{font-family:var(--font-d);font-weight:700;letter-spacing:-.03em;line-height:1.14;font-size:clamp(32px,4.4vw,64px);max-width:22ch;color:var(--ink)}
.mf em{font-style:normal}
.mf .w{display:inline-block;opacity:.16;padding-bottom:.16em;margin-bottom:-.16em}
.mf em .w{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.no-js .mf .w,.reduce .mf .w{opacity:1}
@media (max-width:768px){.manifesto{padding:96px 0 80px}}

/* story (pinned phone) */
.story{height:100dvh;overflow:hidden;display:flex;align-items:center;background:linear-gradient(180deg,var(--bg) 0%,#f1f6fd 100%)}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;width:100%}
.story-left h2{font-size:clamp(34px,4.2vw,58px);margin-bottom:24px;max-width:13ch}
.day{display:flex;align-items:baseline;gap:14px;margin-bottom:18px}
.day .n{font-family:var(--font-d);font-weight:800;font-size:clamp(64px,7vw,104px);letter-spacing:-.05em;line-height:.9;font-variant-numeric:tabular-nums}
.day .l{color:var(--muted);font-size:15px;font-weight:500}
.beats{position:relative;min-height:128px}
.beat{position:absolute;inset:0 auto auto 0;max-width:44ch}
.beat h3{font-family:var(--font-d);font-size:24px;letter-spacing:-.02em;margin-bottom:10px;line-height:1.25;color:var(--ink)}
.beat p{color:var(--ink-2);font-size:16.5px}
.progress{display:flex;gap:6px;margin-top:22px}
.progress i{height:4px;flex:1;border-radius:4px;background:var(--line);overflow:hidden;position:relative}
.progress i::after{content:"";position:absolute;inset:0;background:var(--grad);transform:scaleX(var(--p,0));transform-origin:left}
.dash{margin-top:26px;max-width:440px;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:18px 18px 16px;box-shadow:var(--shadow-s)}
.dash-h{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--muted);font-weight:600}
.pill{font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px;background:var(--sky);color:var(--blue);transition:background .4s,color .4s}
.pill.done{background:var(--mint);color:var(--green-d)}
.dash-row{display:flex;gap:12px;align-items:center;margin:14px 0}
.dash-row .av{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff;background:var(--grad);flex-shrink:0}
.dash-row b{display:block;font-size:15px}
.dash-row small{color:var(--muted);font-size:12.5px}
.dash-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.dash-steps span{font-size:11.5px;color:var(--muted);padding-top:9px;border-top:3px solid var(--line);transition:border-color .4s,color .4s}
.dash-steps span.on{border-color:var(--teal);color:var(--ink);font-weight:600}
.dash-dl{display:flex;gap:8px;align-items:center;margin-top:14px;font-size:13px;font-weight:600;color:var(--green-d);max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .4s}
.dash-dl.on{max-height:30px;opacity:1}
.stage{position:relative;height:min(640px,78dvh);display:grid;place-items:center}
.stage::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(25,195,125,.14),rgba(11,94,215,.10) 45%,transparent 70%);filter:blur(10px)}
.phone{position:relative;width:300px;height:610px;max-height:78dvh;border-radius:48px;padding:11px;background:linear-gradient(160deg,#25324a,#0b1325);box-shadow:0 60px 100px -40px rgba(10,30,70,.45),0 0 0 1px rgba(10,23,48,.08),inset 0 0 0 1.5px rgba(255,255,255,.12)}
.screen{position:relative;width:100%;height:100%;border-radius:38px;overflow:hidden;background:linear-gradient(170deg,#cfe0fb 0%,#d9f3ea 100%)}
.notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:96px;height:28px;border-radius:20px;background:#0b1325;z-index:5}
.lock{position:absolute;inset:0;padding:64px 14px 14px;text-align:center;color:#0a1730}
.lock .time{font-family:var(--font-d);font-weight:700;font-size:62px;letter-spacing:-.04em;line-height:1}
.lock .date{color:#3b4a63;font-size:14px;margin-top:4px;font-weight:500}
.notes{position:absolute;left:12px;right:12px;top:170px;display:flex;flex-direction:column;gap:8px}
.note{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:11px 12px;border-radius:18px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8);box-shadow:0 6px 18px -10px rgba(10,30,70,.35);color:#0a1730}
.note .app{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;font-size:16px;color:#fff;background:var(--grad)}
.note .app.sms{background:#2fbf57}
.note b{display:block;font-size:12.5px;font-weight:600}
.note span{display:block;font-size:12px;color:#3b4a63;line-height:1.35}
.note em{font-style:normal;color:#6b7a92;font-size:10.5px;float:right;margin-left:6px}
.form{position:absolute;inset:0;padding:54px 16px 16px;background:#fbfcfe;color:#0b1426;display:flex;flex-direction:column;gap:10px}
.form .fh{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid #e3e8f0}
.form .fh img{height:20px;width:auto}
.form .fh small{margin-left:auto;font-size:10px;color:#64748b}
.form .q{font-size:12px;font-weight:600}
.form .scale{display:flex;gap:3px;margin-top:5px}
.form .scale i{flex:1;height:20px;border-radius:5px;background:#e6ebf3}
.form .scale i.on{background:linear-gradient(120deg,#0B5ED7,#19C37D)}
.form .yn{display:flex;gap:6px;margin-top:5px}
.form .yn span{flex:1;text-align:center;font-size:11px;padding:6px;border-radius:8px;border:1px solid #d7dee9;color:#475569}
.form .yn span.on{background:#0B5ED7;border-color:#0B5ED7;color:#fff}
.form .txt{margin-top:5px;font-size:11px;color:#334155;background:#fff;border:1px solid #d7dee9;border-radius:8px;padding:8px;min-height:44px;line-height:1.4}
.form .send{margin-top:auto;text-align:center;font-weight:600;font-size:13px;color:#fff;padding:11px;border-radius:12px;background:linear-gradient(120deg,#0B5ED7,#19C37D)}
.stamp{position:absolute;inset:0;display:grid;place-items:center;background:rgba(251,252,254,.82);backdrop-filter:blur(4px)}
.stamp-in{text-align:center;color:#0a1730}
.stamp svg{width:120px;height:120px;filter:drop-shadow(0 14px 24px rgba(20,163,160,.35))}
.stamp b{display:block;font-family:var(--font-d);font-size:22px;margin-top:12px}
.stamp span{color:#44526b;font-size:13px}
@media (max-width:960px){
  .story{height:auto;min-height:100dvh;padding:90px 0 40px}
  .story-grid{grid-template-columns:1fr;gap:20px}
  .day .n{font-size:58px}
  .beats{min-height:140px}
  .stage{height:520px}
  .stage::before{width:340px;height:340px}
  .phone{transform:scale(.8);transform-origin:top center}
  .dash{max-width:none}
}

/* bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:64px}
.tile{position:relative;border-radius:var(--r);padding:34px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-s);overflow:hidden;isolation:isolate;transition:box-shadow .4s var(--ease),transform .4s var(--ease)}
.tile:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--x,50%) var(--y,50%),rgba(25,195,125,.09),transparent 45%)}
.tile:hover::before{opacity:1}
.tile h3{font-family:var(--font-d);font-size:24px;letter-spacing:-.025em;line-height:1.2;margin:18px 0 10px;max-width:22ch;color:var(--ink)}
.tile p{color:var(--ink-2);font-size:15.5px;max-width:48ch}
.tile .ic{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-size:24px;background:var(--mint);color:var(--green-d)}
.t-a{grid-column:span 4;background:radial-gradient(110% 120% at 100% 0%,var(--sky),transparent 55%),var(--white)}
.t-b,.t-c{grid-column:span 2}
.t-d{grid-column:span 4;background:radial-gradient(110% 120% at 0% 100%,var(--mint),transparent 55%),var(--white)}
.t-b .ic,.t-d .ic{background:var(--sky);color:var(--blue)}
.mini-list{margin-top:24px;display:grid;gap:8px;max-width:520px}
.mini-list div{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-s);font-size:13.5px}
.mini-list i{font-size:18px}
.mini-list .bad i{color:#d98a1c}.mini-list .good i{color:var(--green)}
.mini-list small{color:var(--muted);margin-left:auto;font-variant-numeric:tabular-nums}
.trail{margin-top:26px;position:relative;display:flex;justify-content:space-between;gap:8px}
.trail::before{content:"";position:absolute;left:10px;right:10px;top:9px;height:2px;background:var(--grad);opacity:.5}
.trail div{position:relative;text-align:center;font-size:11.5px;color:var(--muted);flex:1}
.trail div::before{content:"";display:block;width:20px;height:20px;margin:0 auto 8px;border-radius:50%;background:var(--white);border:2.5px solid var(--green)}
.trail div b{display:block;color:var(--ink);font-size:12.5px;font-weight:600}
@media (max-width:960px){.bento{grid-template-columns:1fr}.t-a,.t-b,.t-c,.t-d{grid-column:auto}.trail{flex-wrap:wrap}.trail::before{display:none}.trail div{flex:0 0 30%}}

/* week switch */
.switch{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;margin-top:40px;padding:5px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line)}
.switch button{position:relative;z-index:1;font:inherit;font-weight:600;font-size:15px;padding:12px 24px;border:0;background:none;color:var(--ink-2);cursor:pointer;border-radius:999px;transition:color .35s;white-space:nowrap}
.switch button[aria-pressed="true"]{color:#fff}
.switch .knob{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:var(--navy);transition:transform .55s var(--ease),background .55s}
.switch.after .knob{transform:translateX(100%);background:linear-gradient(120deg,#0B5ED7,#19C37D)}
.cal-wrap{margin-top:34px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.cal{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:12px;min-width:880px}
.col{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:8px}
.col h4{font-family:var(--font-d);font-size:14px;color:var(--muted);margin-bottom:4px}
.ev{font-size:13px;line-height:1.35;padding:11px 12px;border-radius:12px;min-height:58px;display:flex;align-items:flex-start;transition:background .5s var(--ease),color .5s,border-color .5s}
.ev.w{background:var(--sky);color:#16407f;border:1px solid #d6e4fb}
.ev.c{background:#f2f4f7;color:#4a5568;border:1px dashed #cdd5e0}
.ev.c::before{content:"";flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#a3adbb;margin:5px 8px 0 0;transition:background .5s}
.cal.after .ev.c{background:var(--mint);color:var(--green-d);border:1px solid #c9efdd}
.cal.after .ev.c::before{background:var(--green)}
.tally{display:flex;align-items:baseline;gap:16px;margin-top:26px;color:var(--ink-2);font-size:15.5px}
.tally strong{font-family:var(--font-d);font-size:34px;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}

/* upload demo */
.drop{position:relative;border-radius:30px;padding:30px;background:linear-gradient(160deg,var(--sky),var(--mint));border:1px solid var(--line);overflow:hidden}
.zone{border:1.5px dashed #b7c6dc;border-radius:20px;height:150px;display:grid;place-items:center;color:var(--muted);font-size:14px;position:relative;background:rgba(255,255,255,.55);font-weight:500}
.zone.hot{border-color:var(--green);background:rgba(255,255,255,.9);color:var(--ink)}
.file{position:absolute;left:50%;top:-110px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:#fff;color:#0b1426;font-size:13.5px;font-weight:600;box-shadow:var(--shadow);white-space:nowrap}
.file i{font-size:24px;color:#d93025}
.qs{margin-top:20px;display:grid;gap:8px}
.qs div{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-s);font-size:13.5px}
.qs div span{flex:1}
.qs div em{font-style:normal;font-size:11px;font-weight:600;color:var(--green-d);background:var(--mint);border-radius:999px;padding:3px 10px;white-space:nowrap}
.qs .more{justify-content:center;color:var(--muted);background:transparent;border-style:dashed;box-shadow:none}
.replay{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:13.5px;font-weight:600;color:var(--blue);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:8px 16px;cursor:pointer}

/* sectors horizontal pan */
.hpan{height:100dvh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;background:var(--bg-2)}
.hpan-head{margin-bottom:40px}
.hbar{margin-top:28px;height:3px;border-radius:3px;background:var(--line);max-width:420px;overflow:hidden}
.hbar i{display:block;height:100%;background:var(--grad);transform:scaleX(0);transform-origin:left}
.track{display:flex;gap:20px;padding-left:max(28px,calc((100vw - 1280px)/2 + 28px));padding-right:28px;width:max-content}
.spanel{position:relative;width:min(440px,80vw);height:min(560px,62dvh);border-radius:28px;overflow:hidden;flex-shrink:0;isolation:isolate;display:flex;align-items:flex-end;box-shadow:var(--shadow)}
.spanel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.06)}
.spanel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,18,40,0) 35%,rgba(7,18,40,.55) 62%,rgba(7,18,40,.9))}
.spanel .in{padding:30px;color:#fff}
.spanel h3{font-family:var(--font-d);font-size:30px;letter-spacing:-.03em;line-height:1.1;margin-bottom:10px}
.spanel p{color:#e2e9f4;font-size:15px;max-width:36ch;margin-bottom:16px}
.spanel .go{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;color:#7ff0c2}
.spanel.g{background:var(--grad)}
.spanel.g::after{display:none}
.spanel.g .go{color:#fff}
.spanel .tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.spanel .tags span{font-size:13px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3)}
@media (max-width:960px){.hpan{height:auto;padding:90px 0}.track{width:auto;flex-direction:column;padding:0 18px}.spanel{width:100%;height:440px}.hbar{display:none}}

/* pricing */
.price{margin-top:56px;border-radius:32px;padding:56px;background:radial-gradient(90% 120% at 100% 0%,var(--mint),transparent 55%),radial-gradient(90% 120% at 0% 100%,var(--sky),transparent 55%),var(--white);border:1px solid var(--line);box-shadow:var(--shadow);display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.price .big{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.price .big strong{font-family:var(--font-d);font-weight:800;font-size:clamp(64px,8vw,112px);letter-spacing:-.05em;line-height:.9;font-variant-numeric:tabular-nums;color:var(--ink)}
.price .big span{color:var(--ink-2);font-size:17px}
.slider{margin-top:36px}
.slider input{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--blue) 0,var(--green) var(--fill,50%),#dfe6ef var(--fill,50%));outline:none;cursor:pointer}
.slider input::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid var(--line-2);box-shadow:0 0 0 6px rgba(25,195,125,.18),0 6px 16px rgba(10,30,70,.2);cursor:grab}
.slider input::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid var(--line-2);box-shadow:0 0 0 6px rgba(25,195,125,.18)}
.slider .marks{display:flex;justify-content:space-between;margin-top:14px;font-size:13px;color:var(--muted)}
.slider .marks span.on{color:var(--ink);font-weight:700}
.price ul{display:grid;gap:14px}
.price li{display:flex;gap:12px;color:var(--ink-2);font-size:15.5px}
.price li i{color:var(--green);font-size:19px;margin-top:1px}
.price .free{margin-top:20px;font-size:15px;color:var(--ink-2)}
.packs{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:40px}
.pack{border-radius:22px;padding:26px 22px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-s);display:flex;flex-direction:column;gap:4px}
.pack .n{font-size:14px;color:var(--muted);font-weight:600}
.pack .p{font-family:var(--font-d);font-size:36px;font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1.1}
.pack .e{font-size:14.5px;color:var(--ink-2)}
.pack.pick{border:2px solid transparent;background:linear-gradient(var(--white),var(--white)) padding-box,var(--grad) border-box}
.pack.pick .n{color:var(--green-d)}
@media (max-width:960px){.price{grid-template-columns:1fr;padding:30px}.packs{grid-template-columns:1fr 1fr}.pack:last-child{grid-column:span 2}}

/* template document (free template page) */
.doc{border-radius:20px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);padding:44px 48px;font-size:15.5px;color:var(--ink-2)}
.doc h3{font-family:var(--font-d);font-size:24px;color:var(--ink);letter-spacing:-.02em;margin-bottom:6px}
.doc .dsub{color:var(--muted);font-size:14px;margin-bottom:26px}
.doc h4{font-family:var(--font-d);font-size:16px;color:var(--ink);margin:26px 0 10px;padding-top:18px;border-top:1px solid var(--line)}
.doc ol{counter-reset:q;display:grid;gap:10px}
.doc ol li{counter-increment:q;display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:baseline}
.doc ol li::before{content:counter(q) ".";font-weight:700;color:var(--teal)}
.doc ol li em{font-style:normal;font-size:12px;color:var(--muted);white-space:nowrap}
.doc .line{border-bottom:1px dashed var(--line-2);height:24px}
@media (max-width:640px){.doc{padding:28px 22px}.doc ol li{grid-template-columns:24px 1fr}.doc ol li em{grid-column:2}}

/* faq */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}
.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-family:var(--font-d);font-weight:600;font-size:18.5px;letter-spacing:-.01em;color:var(--ink)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary i{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);font-size:15px;color:var(--blue);background:var(--white);transition:transform .35s var(--ease),background .25s,color .25s}
.faq-list details[open] summary i{transform:rotate(45deg);background:var(--grad);border-color:transparent;color:#fff}
.faq-list .ans{color:var(--ink-2);margin-top:14px;max-width:64ch;font-size:16px}
.faq-list .ans p + p{margin-top:10px}
.faq-list .ans a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
@media (max-width:960px){.faq-grid{grid-template-columns:1fr;gap:24px}}

/* links to related pages */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
.related a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;border-radius:18px;background:var(--white);border:1px solid var(--line);font-weight:600;font-size:15px;color:var(--ink);transition:border-color .25s,transform .3s var(--ease)}
.related a:hover{border-color:var(--teal);transform:translateY(-2px)}
.related a i{color:var(--teal)}
@media (max-width:960px){.related{grid-template-columns:1fr}}

/* final cta */
.final{position:relative;text-align:center;padding:160px 0 150px;overflow:hidden;background:linear-gradient(180deg,var(--bg),#eef5ff)}
.final .glow{position:absolute;left:50%;top:55%;width:900px;height:700px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(25,195,125,.18),rgba(11,94,215,.12) 40%,transparent 68%);filter:blur(20px);pointer-events:none}
.final h2{font-size:clamp(44px,7vw,100px);max-width:none;margin:0 auto}
.final p{color:var(--ink-2);font-size:19px;margin:24px auto 40px;max-width:40ch}
.final .ctas{justify-content:center}

/* footer */
.foot-wrap{border-top:1px solid var(--line);padding:72px 0 40px;color:var(--muted);font-size:14px;background:var(--white)}
.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:32px}
.foot-brand img{height:32px;width:auto;margin-bottom:16px}
.foot-brand p{max-width:34ch}
.facts-mini{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px}
.facts-mini span{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2)}
.facts-mini i{color:var(--teal)}
.foot h4{color:var(--ink);font-size:14px;margin-bottom:14px;font-family:var(--font-d)}
.foot ul{display:grid;gap:9px}
.foot a:hover{color:var(--ink)}
.legal{margin-top:48px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.legal a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:960px){.foot{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}

/* reduced motion: show everything in its final state */
@media (prefers-reduced-motion:reduce){.facts-track{animation:none}.mf .w{opacity:1}*{scroll-behavior:auto!important}}

/* cookie banner */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;margin-left:auto;display:flex;align-items:center;gap:16px;padding:16px 16px 16px 20px;border-radius:20px;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:var(--shadow);font-size:14px;color:var(--ink-2)}
.cookie p{flex:1}
.cookie a{color:var(--blue);text-decoration:underline}
.cookie div{display:flex;gap:8px;flex-shrink:0}
@media (max-width:560px){.cookie{flex-direction:column;align-items:stretch}.cookie div .btn{flex:1}}

/* pinned story: always clear the floating nav, and compact on short laptop screens */
@media (min-width:961px){
  .story{padding:92px 0 20px;box-sizing:border-box}
  .stage{height:min(640px,calc(100dvh - 120px))}
  .phone{max-height:calc(100dvh - 130px)}
}
@media (min-width:961px) and (max-height:860px){
  .story-left h2{font-size:clamp(30px,3.4vw,46px);margin-bottom:14px}
  .day{margin-bottom:10px}.day .n{font-size:clamp(52px,5.4vw,76px)}
  .beats{min-height:112px}.beat h3{font-size:21px;margin-bottom:6px}.beat p{font-size:15.5px}
  .progress{margin-top:14px}
  .dash{margin-top:16px;padding:14px 16px 12px}.dash-row{margin:10px 0}
  .phone{width:270px;height:550px;border-radius:44px}.screen{border-radius:34px}
  .lock .time{font-size:54px}.notes{top:150px}
}
@media (min-width:961px) and (max-height:700px){
  .dash{display:none}
  .phone{width:250px;height:510px}
}

/* spoke pages: sector photography */
.ph-hero{margin:0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:var(--white)}
.ph-hero img{width:100%;aspect-ratio:4/3;object-fit:cover}
.photo-band-wrap{padding:24px 0 56px}
.photo-band{margin:0;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);position:relative}
.photo-band img{width:100%;aspect-ratio:21/8;object-fit:cover;object-position:50% 40%}
.photo-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(7,18,40,.18));pointer-events:none}
@media (max-width:768px){.photo-band img{aspect-ratio:16/10}.photo-band-wrap{padding:8px 0 40px}}

/* contact form */
.cform{margin-top:24px;display:grid;gap:16px}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cf-field{display:grid;gap:8px}
.cf-field label{font-size:14px;font-weight:600;color:var(--ink)}
.cf-field label span{font-weight:400;color:var(--muted)}
.cf-field input,.cf-field select,.cf-field textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--white);border:1px solid var(--line-2);border-radius:14px;padding:13px 14px;width:100%}
.cf-field textarea{resize:vertical;min-height:140px}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(11,94,215,.12)}
.cform .btn{justify-self:start}
.cform-error{display:flex;gap:10px;align-items:center;margin-top:20px;padding:14px 16px;border-radius:14px;background:#fff4f2;border:1px solid #f3c5bc;color:#9b2c1c;font-size:15px}
@media (max-width:640px){.cf-row{grid-template-columns:1fr}}

/* legal pages */
.legal-wrap{padding:130px 0 100px}
.legal .legal-page h1{font-family:var(--font-d);font-weight:800;letter-spacing:-.035em;font-size:clamp(36px,4.6vw,56px);line-height:1.05;color:var(--ink);margin:0 0 10px}
.legal .last-updated{color:var(--muted);font-size:14px;margin-bottom:34px}
.legal .legal-page h2{margin-top:44px}
.legal .legal-page ul li::before{top:.65em}
