/* Dash Financials: the public site (the landing page, pricing, security, FAQ, legal, what's new and the 404),
   one stylesheet for all of them so they can run under the strict content policy (no inline styles). */
:root{
  --blue:#0a5cff;--blue-d:#0049d6;--blue-l:#e6efff;
  --ink:#06142b;--ink-2:#0c1f3e;--ink-3:#163056;
  --paper:#eef3f9;--line:#d3ddeb;
  --text:#0d1b33;--muted:#52607a;--muted-d:#a9b7d1;
  --sky:#7dbeff;--go:#0b7a48;
  --display:"Barlow Condensed","Arial Narrow",sans-serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{background:var(--ink);scroll-behavior:smooth;scroll-padding-top:64px}
body{background:#fff;color:var(--text);font:400 1rem/1.6 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:.92;text-transform:uppercase;text-wrap:balance}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding-inline:24px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.top :focus-visible,.hero :focus-visible,.dark :focus-visible,.sign :focus-visible,.foot :focus-visible{outline-color:#fff}

/* BRAND */
.brand{display:flex;align-items:center;gap:10px;color:#fff;flex:none}
.mark{width:34px;height:34px;fill:currentColor;flex:none}
.word{font:800 1.4rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.word b{font-weight:600;color:#cfe2ff}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;padding:0 18px;border:2px solid transparent;border-radius:10px;font:700 1.05rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .2s}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.btn:hover svg{transform:translateX(3px)}
.btn-white{background:#fff;color:var(--blue)}
.btn-white:hover{background:var(--blue-l)}
.btn-line{border-color:rgba(255,255,255,.55);color:#fff}
.btn-line:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.btn-lg{height:58px;padding:0 26px;font-size:1.3rem}

/* KICKERS AND LANE DASHES */
.kicker{display:flex;align-items:center;gap:12px;font:500 .78rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.kicker::before{content:"";width:38px;height:4px;flex:none;background:repeating-linear-gradient(90deg,currentColor 0 11px,transparent 11px 17px)}

/* HEADER */
.top{position:fixed;inset:0 0 auto;z-index:50;color:#fff;transition:background-color .25s,box-shadow .25s}
.top.scrolled{background:var(--blue);box-shadow:0 10px 30px rgba(3,20,60,.28)}
.hbar{display:flex;align-items:center;gap:16px;height:64px}
.links{display:none}
.acts{display:flex;gap:8px;margin-left:auto}
.acts .btn-white{display:none}

/* HERO */
.hero{position:relative;overflow:hidden;background:var(--blue);color:#fff;padding-top:64px}
.hero::before{content:"";position:absolute;inset:0 0 auto;height:720px;background:radial-gradient(90% 100% at 90% 0%,rgba(255,255,255,.17),transparent 70%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:40px;padding-top:40px}
.hero h1{margin:0 0 22px;font-size:clamp(3.2rem,17.6vw,6.6rem);letter-spacing:-.005em}
.hero h1 span{display:block;color:var(--ink)}
.lede{max-width:34em;font-size:1.075rem;color:rgba(255,255,255,.9)}
.ctas{display:grid;gap:12px;margin-top:30px}
.hero-photo{position:relative;margin:0 -24px}
.hero-photo img{width:100%;height:auto;aspect-ratio:880/626;object-fit:cover}
.hero-photo::before{content:"";position:absolute;z-index:1;inset:0 0 auto;height:38%;background:linear-gradient(var(--blue),rgba(10,92,255,0))}

/* ROAD */
.road{position:relative;overflow:hidden;height:64px;background:var(--ink);color:#fff;display:flex;align-items:center}
.road::before,.road::after{content:"";position:absolute;left:0;right:0;height:2px;background:rgba(255,255,255,.55)}
.road::before{top:7px}.road::after{bottom:7px}
.road-track{display:flex;align-items:center;gap:26px;padding-left:26px;white-space:nowrap;font:700 1.15rem/1 var(--display);letter-spacing:.16em;text-transform:uppercase;animation:drive 46s linear infinite}
.road-track i{width:46px;height:5px;flex:none;border-radius:1px;background:#fff}
@keyframes drive{to{transform:translateX(-50%)}}

/* SECTIONS */
.sec{padding:84px 0}
.paper{background:var(--paper)}
.dark{background:var(--ink);color:#fff}
.sec-head{max-width:760px;margin-bottom:44px}
.sec-head h2,.split h2{margin:16px 0 14px;font-size:clamp(2.6rem,10.5vw,4.6rem);color:var(--ink)}
.sec-head p:not(.kicker){color:var(--muted);font-size:1.075rem}
.dark h2{color:#fff}
.dark .kicker{color:var(--sky)}

/* SERVICES */
.svcs{list-style:none;display:grid;border-top:3px solid var(--ink)}
.svc{position:relative;display:grid;grid-template-columns:56px 1fr;column-gap:18px;padding:26px 0 28px}
.svc::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 14px,transparent 14px 22px)}
.svc-sign{grid-row:span 3;position:relative;width:56px;height:56px;border-radius:12px;background:var(--blue);display:grid;place-items:center}
.svc-sign::after{content:"";position:absolute;inset:4px;border:1.5px solid rgba(255,255,255,.85);border-radius:8px}
.svc-sign svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.svc-no{font:600 .78rem/1 var(--mono);letter-spacing:.1em;color:var(--blue)}
.svc h3{margin:8px 0 8px;font-size:1.9rem;font-weight:700;line-height:1;color:var(--ink)}
.svc p{color:var(--muted)}

/* DASHBOARD */
.split{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:center}
.split-copy>p:not(.kicker){color:var(--muted-d);font-size:1.075rem;max-width:32em}
.split h2 span{display:block;color:var(--sky)}
.ticks{list-style:none;display:grid;gap:14px;margin-top:28px}
.ticks li{display:flex;align-items:center;gap:14px;font-weight:500}
.ticks li::before{content:"";width:26px;height:26px;flex:none;border-radius:7px;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/16px no-repeat}
.app{border-radius:16px;background:#fff;color:var(--text);box-shadow:0 0 0 1px rgba(255,255,255,.06),0 40px 80px rgba(0,0,0,.45);overflow:hidden}
.app-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e3e9f2;font:500 .74rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.dots{display:flex;gap:6px}.dots i{width:10px;height:10px;border-radius:50%;background:#dbe3ee}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e3e9f2;border-bottom:1px solid #e3e9f2}
.kpi{padding:16px 18px;background:#fff}
.kpi:last-child{grid-column:span 2}
.kpi small{display:block;margin-bottom:6px;font:500 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.kpi b{font:600 1.65rem/1.15 var(--mono);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.kpi em{margin-left:6px;font:600 .78rem/1 var(--mono);font-style:normal;color:var(--go)}
.odo{display:inline-block;height:1.15em;overflow:hidden;vertical-align:top}
.odo-strip{display:flex;flex-direction:column;transition:transform 1.6s cubic-bezier(.16,.8,.2,1)}
.chart{position:relative;display:flex;align-items:flex-end;gap:10px;height:210px;padding:22px 18px 34px}
.bar{flex:1;height:var(--h);border-radius:6px 6px 2px 2px;background:var(--blue);transition:height 1.1s cubic-bezier(.2,.8,.2,1)}
.bar.now{background:var(--ink)}
.chart svg{position:absolute;inset:22px 18px 34px;width:calc(100% - 36px);height:calc(100% - 56px);overflow:visible}
.chart path{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:7 7;animation:flow 1.4s linear infinite}
@keyframes flow{to{stroke-dashoffset:-14}}
.weeks{position:absolute;left:18px;right:18px;bottom:10px;display:flex;gap:10px;font:500 .62rem/1 var(--mono);color:var(--muted)}
.weeks span{flex:1;text-align:center}
.note{padding:0 18px 14px;font:500 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:right}

/* ROUTE */
.route{position:relative;list-style:none;display:grid;gap:40px;padding-left:84px}
.route::before{content:"";position:absolute;z-index:0;left:12px;top:-8px;bottom:-8px;width:48px;border-radius:10px;background:var(--ink)}
.route::after{content:"";position:absolute;z-index:0;left:35px;top:6px;bottom:6px;width:3px;background:repeating-linear-gradient(180deg,#fff 0 16px,transparent 16px 30px)}
.stop{position:relative;z-index:1;min-height:84px}
.exit{position:absolute;z-index:1;left:-84px;top:0;width:72px;padding:9px 0 8px;border-radius:10px;background:var(--blue);color:#fff;text-align:center;box-shadow:0 0 0 4px #fff}
.exit::after{content:"";position:absolute;inset:4px;border:1.5px solid rgba(255,255,255,.9);border-radius:7px}
.exit small{display:block;font:600 .62rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase}
.exit b{display:block;margin-top:3px;font:800 2.1rem/1 var(--display)}
.stop h3{margin:4px 0 8px;font-size:1.9rem;font-weight:700;line-height:1;color:var(--ink)}
.stop p{color:var(--muted)}

/* CTA */
.sec.cta-sec{padding-top:24px}
.sign{position:relative;margin-top:44px;padding:58px 28px 34px;border-radius:22px;background:var(--blue);color:#fff}
.sign::before{content:"";position:absolute;inset:9px;border:2.5px solid #fff;border-radius:15px;pointer-events:none}
.sign-tab{position:absolute;bottom:100%;right:24px;padding:13px 18px 11px;border-radius:12px 12px 0 0;background:var(--blue);font:700 1.05rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase}
.sign-tab::before{content:"";position:absolute;inset:6px 6px 0;border:2.5px solid #fff;border-bottom:0;border-radius:8px 8px 0 0}
.sign-tab::after{content:"";position:absolute;left:6px;right:6px;bottom:-11px;height:11px;background:var(--blue)}
.sign h2{max-width:11em;margin-bottom:16px;font-size:clamp(2.7rem,11vw,5.2rem)}
.sign p{max-width:28em;margin-bottom:30px;font-size:1.075rem;color:rgba(255,255,255,.9)}
.sign .btn{position:relative;width:100%;font-size:1.05rem;letter-spacing:.02em;text-transform:none;font-family:var(--sans);font-weight:600}
.sign-arrow{display:none}

/* FOOTER */
.foot{background:var(--ink);color:var(--muted-d);font-size:.95rem}
.foot-grid{display:grid;gap:34px;padding-top:64px;padding-bottom:40px}
.foot .brand{margin-bottom:16px}
.foot-links,.foot-contact{display:grid;gap:10px;align-content:start}
.foot-links a,.foot-contact a{color:#fff;font-weight:500}
.foot-links a:hover,.foot-contact a:hover{color:var(--sky)}
.foot-title{font:500 .72rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-d);margin-bottom:6px}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:22px;padding-bottom:30px;border-top:1px solid rgba(255,255,255,.1);font:500 .75rem/1.4 var(--mono);letter-spacing:.06em}
.foot-lane{height:4px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 24px,transparent 24px 42px)}

/* REVEAL */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .bar{height:0}
.js .in .bar{height:var(--h)}

@media(min-width:640px){
  .wrap{padding-inline:40px}
  .acts .btn-white{display:inline-flex}
  .ctas{display:flex;flex-wrap:wrap}
  .hero-photo{margin:0 -40px}
  .kpis{grid-template-columns:repeat(3,1fr)}
  .kpi:last-child{grid-column:auto}
  .sign{padding:76px 56px 52px}
  .sign .btn{width:auto}
}
@media(min-width:960px){
  html{scroll-padding-top:76px}
  .hbar{height:76px}
  .mark{width:40px;height:40px}
  .word{font-size:1.6rem}
  .links{display:flex;gap:30px;margin-left:36px;font-weight:500;font-size:.95rem}
  .links a{color:rgba(255,255,255,.82);transition:color .2s}
  .links a:hover{color:#fff}
  .hero{padding-top:76px}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:56px;padding-top:56px}
  .hero-copy{padding-bottom:64px}
  .hero h1{font-size:clamp(5rem,7.1vw,7rem)}
  .hero-photo{margin:0 calc(-1 * ((100vw - min(100vw, 1240px)) / 2 + 40px)) 0 0;align-self:stretch;display:flex;align-items:flex-end}
  .hero-photo::before{display:none}
  .hero-photo img{border-radius:22px 0 0 0;height:100%;aspect-ratio:auto;min-height:540px;object-position:62% 55%}
  .sec{padding:120px 0}
  .sec-head{margin-bottom:60px}
  .sec-head p:not(.kicker){font-size:1.2rem}
  .split h2{font-size:4rem}
  #how{padding-bottom:64px}
  .svcs{grid-template-columns:repeat(4,1fr);border-top-width:3px}
  .svc{grid-template-columns:1fr;align-content:start;padding:34px 28px 10px}
  .svc:first-child{padding-left:0}
  .svc::after{left:auto;right:0;top:34px;bottom:10px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--line) 0 14px,transparent 14px 22px)}
  .svc:last-child::after{display:none}
  .svc-sign{grid-row:auto;margin-bottom:26px}
  .svc h3{margin-top:12px}
  .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px}
  .route{grid-template-columns:repeat(3,1fr);gap:48px;padding:118px 0 0}
  .route::before{left:-12px;right:-12px;top:0;bottom:auto;width:auto;height:56px}
  .route::after{left:8px;right:8px;top:26px;bottom:auto;width:auto;height:4px;background:repeating-linear-gradient(90deg,#fff 0 26px,transparent 26px 46px)}
  .stop{min-height:0}
  .exit{left:0;top:-136px;width:84px;box-shadow:0 0 0 5px #fff}
  .exit b{font-size:2.5rem}
  .sign{padding:80px 88px 76px}
  .sign-tab{right:40px;padding:15px 22px 12px;font-size:1.2rem}
  .sign-arrow{display:block;position:absolute;right:88px;top:50%;width:170px;height:170px;transform:translateY(-50%);fill:#fff}
  .foot-grid{padding-top:80px;padding-bottom:56px}
}
@media(min-width:1180px){
  .sign h2{max-width:12em}
}
@media(max-width:380px){
  .word{font-size:1.2rem}
  .mark{width:30px;height:30px}
  .btn-lg{padding:0 14px;font-size:1.12rem;letter-spacing:.04em}
  .kpi{padding:14px}
  .kpi b{font-size:1.36rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv{opacity:1;transform:none}
  .js .bar{height:var(--h)}
}

/* The dashboard mock's bars: their heights live here, not in style="" (the content policy allows no inline styles). */
.chart .bar:nth-child(1){--h:42%}.chart .bar:nth-child(2){--h:58%}.chart .bar:nth-child(3){--h:50%}.chart .bar:nth-child(4){--h:70%}
.chart .bar:nth-child(5){--h:64%}.chart .bar:nth-child(6){--h:84%}.chart .bar:nth-child(7){--h:96%}

/* MOBILE MENU: below 960px the section links fold into a sheet under the header. */
.menu-toggle{display:inline-grid;place-items:center;width:44px;height:44px;margin-left:4px;border:2px solid rgba(255,255,255,.55);border-radius:10px;background:none;color:#fff;cursor:pointer}
.menu-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.menu-toggle .x{display:none}
.top.open .menu-toggle .bars{display:none}.top.open .menu-toggle .x{display:block}
.mnav{display:none;padding:8px 24px 22px;background:var(--blue);box-shadow:0 18px 30px rgba(3,20,60,.25)}
.top.open{background:var(--blue)}
.top.open .mnav{display:grid;gap:2px}
.mnav a{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.16);font:700 1.25rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.mnav a.btn{margin-top:12px;padding:0 18px;border-bottom:2px solid transparent;font-size:1.05rem}
@media(min-width:960px){.menu-toggle,.mnav,.top.open .mnav{display:none}}

/* SUB-PAGES: a short blue head, then the page on paper or white. */
.page-hero{position:relative;overflow:hidden;padding:136px 0 64px;background:var(--blue);color:#fff}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 120% at 95% 0%,rgba(255,255,255,.16),transparent 70%);pointer-events:none}
.page-hero .wrap{position:relative}
.page-hero h1{margin:14px 0 16px;font-size:clamp(2.8rem,11vw,5.4rem);color:#fff}
.page-hero h1 span{color:var(--ink)}
.page-hero .lede{max-width:40em}
.page-hero .kicker{color:#cfe2ff}
@media(min-width:960px){.page-hero{padding:170px 0 88px}}

/* PROSE: privacy, terms and long answers. */
.prose{max-width:760px}
.prose h2{margin:44px 0 12px;font-size:2.2rem;color:var(--ink)}
.prose h2:first-child{margin-top:0}
.prose h3{margin:28px 0 8px;font-size:1.5rem;font-weight:700;color:var(--ink)}
.prose p,.prose ul,.prose ol{margin:0 0 14px;color:var(--text)}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin:6px 0}
.prose a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.prose .meta{font:500 .8rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.draft-note{max-width:760px;margin:0 0 36px;padding:16px 18px;border:1px solid #e3b062;border-radius:12px;background:#fff6e5;color:#5d3500}
.draft-note b{color:#3d2300}

/* PRICING */
.plans{display:grid;gap:28px}
.plan{position:relative;display:flex;flex-direction:column;padding:30px 26px;border:2px solid var(--line);border-radius:18px;background:#fff}
.plan.featured{border-color:var(--blue);box-shadow:0 30px 60px -30px rgba(10,92,255,.55)}
.plan-flag{position:absolute;top:-14px;left:24px;padding:6px 12px;border-radius:999px;background:var(--blue);color:#fff;font:600 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.plan h3{font-size:2.1rem;color:var(--ink)}
.plan-for{margin:6px 0 18px;color:var(--muted)}
.plan-price{display:flex;align-items:baseline;gap:6px;margin-bottom:6px;font:800 3.4rem/1 var(--display);color:var(--ink)}
.plan-price small{font:500 .95rem/1.2 var(--sans);color:var(--muted)}
.plan-note{min-height:1.4em;margin-bottom:20px;font:500 .78rem/1.4 var(--mono);letter-spacing:.04em;color:var(--muted)}
.plan .ticks{margin:0 0 26px;gap:10px}
.plan .ticks li{align-items:flex-start;font-weight:400;color:var(--text)}
.plan .ticks li::before{width:22px;height:22px;margin-top:2px;background-size:13px}
.plan .btn{width:100%;margin-top:auto}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-d)}
.btn-ink{border-color:var(--ink);color:var(--ink)}
.btn-ink:hover{background:var(--ink);color:#fff}
.price-foot{margin-top:28px;color:var(--muted);text-align:center}
@media(min-width:900px){.plans{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:20px}}

/* FAQ */
.faq{display:grid;gap:12px;max-width:860px}
.faq details{border:2px solid var(--line);border-radius:14px;background:#fff;transition:border-color .2s}
.faq details[open]{border-color:var(--blue)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;cursor:pointer;list-style:none;font:700 1.35rem/1.15 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--blue-l);color:var(--blue);font:600 1.3rem/1 var(--sans)}
.faq details[open] summary::after{content:"\2013"}
.faq .answer{padding:0 22px 22px;color:var(--text)}
.faq .answer p+p{margin-top:10px}
.faq .answer a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.faq-group{margin:46px 0 16px;font:500 .78rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.faq-group:first-child{margin-top:0}

/* SECURITY */
.facts{list-style:none;display:grid;gap:18px}
.fact{padding:26px 24px;border:2px solid var(--line);border-radius:16px;background:#fff}
.fact-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:16px;border-radius:12px;background:var(--blue);color:#fff}
.fact-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fact h3{margin-bottom:8px;font-size:1.6rem;font-weight:700;line-height:1;color:var(--ink)}
.fact p{color:var(--muted)}
@media(min-width:760px){.facts{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.facts{grid-template-columns:repeat(3,1fr)}}

/* TRUST STRIP AND PRICING TEASER on the landing page */
.trust{display:grid;gap:28px;align-items:center}
.trust-list{list-style:none;display:grid;gap:14px}
.trust-list li{display:flex;gap:12px;align-items:flex-start;color:var(--muted-d)}
.trust-list b{color:#fff;font-weight:600}
.trust-list li::before{content:"";flex:none;width:10px;height:10px;margin-top:8px;border-radius:2px;background:var(--sky)}
.link-arrow{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font:700 1.05rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--sky)}
.link-arrow:hover{color:#fff}
.teaser{display:grid;gap:22px;align-items:center;padding:36px 28px;border:2px solid var(--line);border-radius:20px;background:#fff}
.teaser h2{margin:12px 0 10px;font-size:clamp(2.2rem,8vw,3.4rem);color:var(--ink)}
.teaser p{color:var(--muted)}
.teaser .btn{justify-self:start}
@media(min-width:960px){.trust{grid-template-columns:1.1fr 1fr;gap:72px}.teaser{grid-template-columns:1.4fr auto;padding:48px 56px}.teaser .btn{justify-self:end}}

/* TESTIMONIALS: hidden in the markup until there are real quotes to show (README: the public site). */
.quotes{list-style:none;display:grid;gap:20px}
.quote{padding:28px 26px;border:2px solid var(--line);border-radius:18px;background:#fff}
.quote blockquote{font-size:1.1rem;color:var(--text)}
.quote figcaption{margin-top:16px;font:500 .8rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media(min-width:900px){.quotes{grid-template-columns:repeat(3,1fr)}}

/* WHAT'S NEW */
.log{list-style:none;max-width:860px;margin-left:8px;border-left:3px solid var(--ink)}
.log-entry{position:relative;padding:0 0 40px 30px}
.log-entry::before{content:"";position:absolute;left:-11px;top:4px;width:19px;height:19px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #fff}
.log-date{font:500 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.log-entry h2{margin:10px 0;font-size:2rem;color:var(--ink)}
.log-entry ul{padding-left:20px;color:var(--text)}
.log-entry li{margin:6px 0}

/* FOOTER: more columns on a wide screen */
@media(min-width:640px){.foot-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.foot-grid{grid-template-columns:1.5fr 1fr 1fr 1fr 1.3fr}}

/* 404 */
.lost{position:relative;overflow:hidden;display:grid;align-content:center;min-height:100vh;padding:120px 0 80px;background:var(--blue);color:#fff}
.lost h1{font-size:clamp(5rem,26vw,13rem);line-height:.8;color:#fff}
.lost h1 span{color:var(--ink)}
.lost h2{margin:18px 0 12px;font-size:clamp(2rem,7vw,3.2rem);color:#fff}
.lost p{max-width:32em;color:rgba(255,255,255,.9)}
.lost .road{position:absolute;left:0;right:0;bottom:0}
.trust h2{margin:16px 0 0;font-size:clamp(2.6rem,10.5vw,4.6rem)}
.trust h2 span{display:block;color:var(--sky)}
.link-inline{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.links a[aria-current="page"]{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.link-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.link-arrow:hover svg{transform:translateX(3px)}
