:root { --purple:#2C1758; --mint:#42CB96; --bg:#FAFAF9; --surface:#FFFFFF;
  --wash:#F4F3F7; --ink:#17123A; --muted:#6E6A7E; --line:#E8E6ED;
  --shadow-sm:0 1px 2px rgba(23,18,58,.04);
  --shadow:0 1px 3px rgba(23,18,58,.05), 0 10px 28px -14px rgba(23,18,58,.14);
  --radius:14px; }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility}
a{color:var(--purple);text-underline-offset:3px}
a:hover{color:#0f6a4a}

/* ---------- header ---------- */
.top{background:var(--purple);color:#fff;padding:0 24px}
.top-in{max-width:1060px;margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;gap:20px;min-height:68px;flex-wrap:wrap}
.brand{font-family:'DM Serif Display',Georgia,serif;font-size:23px;color:#fff;
  text-decoration:none;letter-spacing:.01em;padding:15px 0}
.brand span{color:var(--mint)}
.top nav{display:flex;gap:22px;font-size:15px}
.top nav a{color:#cec5e7;text-decoration:none;padding:7px 0;transition:color .15s ease}
.top nav a:hover,.top nav a[aria-current]{color:#fff}
.top nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--mint)}

/* ---------- crumb ---------- */
.crumb{max-width:1060px;margin:0 auto;padding:20px 24px 0;font-size:13.5px;color:var(--muted)}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--purple)}
.crumb span{margin:0 7px;opacity:.45}

/* ---------- layout ---------- */
.wrap{max-width:1060px;margin:0 auto;padding:0 24px 80px;display:grid;
  grid-template-columns:1fr 264px;gap:56px;align-items:start}
@media(max-width:900px){.wrap{grid-template-columns:1fr;gap:36px}}
article{min-width:0}
h1{font-family:'DM Serif Display',Georgia,serif;font-weight:400;
  font-size:2.55rem;line-height:1.16;margin:.4em 0 .34em;letter-spacing:-.015em}
h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;
  font-size:1.55rem;margin:2.2em 0 .55em}
h3{font-size:.79rem;text-transform:uppercase;letter-spacing:.11em;
  color:var(--muted);margin:2.3em 0 .7em;font-weight:600}
p{margin:0 0 1.05em}
ul,ol{margin:0 0 1.15em;padding-left:1.3em}
li{margin-bottom:.42em}
li::marker{color:#b9b3cc}
hr{border:0;border-top:1px solid var(--line);margin:2.6em 0}
code{background:var(--wash);padding:.12em .42em;border-radius:5px;font-size:.87em}
strong{color:#0d0930}

/* ---------- steps ----------
   No accent stripe: separation now comes from the surface and a soft shadow. */
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 26px 8px;margin:0 0 18px;box-shadow:var(--shadow-sm)}
.step p:first-child{font-weight:600;font-size:1.06rem;color:#0d0930}
.step .aside{background:var(--wash);border-radius:10px;padding:13px 16px;
  font-size:.94em;color:#4a4360;margin:.7em 0 1em}

figure{margin:10px 0 22px}
figure img{width:100%;max-width:330px;height:auto;border-radius:12px;
  border:1px solid var(--line);display:block;background:#fff;box-shadow:var(--shadow-sm)}
figure.illus img{max-width:100%;border:0;box-shadow:none}
/* an email is not an app screen — show it full width, with a small label
   so the reader knows they have stepped outside the product */
figure.email{margin:20px 0 24px}
figure.email .mailbar{display:inline-block;background:var(--wash);color:#4a4360;
  font-size:.79rem;letter-spacing:.07em;text-transform:uppercase;font-weight:600;
  padding:6px 13px;border-radius:22px 22px 0 0}
figure.email img{width:100%;max-width:560px;height:auto;display:block;
  border:1px solid var(--line);border-top:0;border-radius:0 12px 12px 12px;
  background:#fff;box-shadow:var(--shadow-sm)}
figure.email figcaption{margin-top:10px;max-width:52ch}
figcaption{font-size:.875rem;color:var(--muted);margin-top:10px;max-width:52ch;line-height:1.6}

/* ---------- callouts ---------- */
.note{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 22px 6px;margin:0 0 20px;box-shadow:var(--shadow-sm)}
.note strong:first-child{display:block;margin-bottom:.3em}
.finder{background:var(--purple);color:#fff;border-radius:18px;padding:34px 36px;margin:2.2em 0}
.finder h2,.finder h3{color:#fff;margin-top:0}
.finder a{color:var(--mint)}
.finder strong{color:#fff}

/* ---------- table ---------- */
table{width:100%;border-collapse:collapse;margin:0 0 1.5em;font-size:.95rem}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:transparent;font-weight:600;font-size:.76em;text-transform:uppercase;
  letter-spacing:.08em;color:var(--muted);border-bottom:1px solid #d9d5e4}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--wash)}

/* ---------- aside ---------- */
aside{position:sticky;top:24px;font-size:15px}
aside .card{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px 18px;box-shadow:var(--shadow-sm)}
aside h2{font-family:'DM Serif Display',Georgia,serif;font-size:1.02rem;font-weight:400;
  margin:0 0 .8em;text-transform:none;letter-spacing:0;color:var(--ink);padding:0}
aside ul{list-style:none;padding:0;margin:0}
aside li{margin:0 0 .15em}
aside a{text-decoration:none;color:var(--muted);display:block;
  padding:7px 11px;border-radius:8px;font-size:.94em;
  transition:background .14s ease,color .14s ease}
aside a:hover{background:var(--wash);color:var(--purple)}
aside a[aria-current]{background:var(--wash);color:var(--purple);font-weight:600}

/* ---------- support / feedback ---------- */
.support{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 28px;margin:2.8em 0 0;box-shadow:var(--shadow)}
.support p{margin:0 0 .5em}
.feedback{border:0;background:var(--wash);border-radius:var(--radius);
  padding:20px 26px;margin:18px 0 0;font-size:.94rem;color:var(--muted)}
.feedback b{color:var(--ink)}
.btnrow{display:flex;gap:10px;margin-top:.8em;flex-wrap:wrap}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:9px;
  padding:9px 22px;font-size:.94rem;cursor:pointer;color:var(--ink);text-decoration:none;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.btn:hover{border-color:#c9c2dd;background:var(--wash);box-shadow:var(--shadow-sm)}
.pager{display:flex;justify-content:space-between;gap:16px;margin:2.6em 0 0;
  padding-top:1.6em;border-top:1px solid var(--line);font-size:.94rem}
.pager a{text-decoration:none;max-width:46%}

/* ---------- footer ---------- */
footer{background:var(--purple);color:#c3b9dd;padding:38px 24px;font-size:14.5px;margin-top:28px}
footer .in{max-width:1060px;margin:0 auto;display:flex;justify-content:space-between;
  gap:24px;flex-wrap:wrap}
footer a{color:#fff}
footer .tag{color:var(--mint)}
footer p{margin:0 0 .35em}

@media print{
  .top,aside,.feedback,.pager{display:none}
  .wrap{display:block;max-width:none;padding:0}
  body{background:#fff;font-size:12pt}
  .step{box-shadow:none}
  figure img{max-width:2.5in}
  .step,.note,.support{break-inside:avoid}
}

:root { --purple:#2C1758; --mint:#42CB96; --bg:#FAFAF9; --surface:#FFFFFF;
  --wash:#F4F3F7; --ink:#17123A; --muted:#6E6A7E; --line:#E8E6ED;
  --shadow-sm:0 1px 2px rgba(23,18,58,.04);
  --shadow:0 1px 3px rgba(23,18,58,.05), 0 10px 28px -14px rgba(23,18,58,.14);
  --radius:14px; }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility}
a{color:var(--purple);text-underline-offset:3px}
a:hover{color:#0f6a4a}

/* ---------- header ---------- */
.top{background:var(--purple);color:#fff;padding:0 24px}
.top-in{max-width:1060px;margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;gap:20px;min-height:68px;flex-wrap:wrap}
.brand{font-family:'DM Serif Display',Georgia,serif;font-size:23px;color:#fff;
  text-decoration:none;letter-spacing:.01em;padding:15px 0}
.brand span{color:var(--mint)}
.top nav{display:flex;gap:22px;font-size:15px}
.top nav a{color:#cec5e7;text-decoration:none;padding:7px 0;transition:color .15s ease}
.top nav a:hover,.top nav a[aria-current]{color:#fff}
.top nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--mint)}

/* ---------- crumb ---------- */
.crumb{max-width:1060px;margin:0 auto;padding:20px 24px 0;font-size:13.5px;color:var(--muted)}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--purple)}
.crumb span{margin:0 7px;opacity:.45}

/* ---------- layout ---------- */
.wrap{max-width:1060px;margin:0 auto;padding:0 24px 80px;display:grid;
  grid-template-columns:1fr 264px;gap:56px;align-items:start}
@media(max-width:900px){.wrap{grid-template-columns:1fr;gap:36px}}
article{min-width:0}
h1{font-family:'DM Serif Display',Georgia,serif;font-weight:400;
  font-size:2.55rem;line-height:1.16;margin:.4em 0 .34em;letter-spacing:-.015em}
h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;
  font-size:1.55rem;margin:2.2em 0 .55em}
h3{font-size:.79rem;text-transform:uppercase;letter-spacing:.11em;
  color:var(--muted);margin:2.3em 0 .7em;font-weight:600}
p{margin:0 0 1.05em}
ul,ol{margin:0 0 1.15em;padding-left:1.3em}
li{margin-bottom:.42em}
li::marker{color:#b9b3cc}
hr{border:0;border-top:1px solid var(--line);margin:2.6em 0}
code{background:var(--wash);padding:.12em .42em;border-radius:5px;font-size:.87em}
strong{color:#0d0930}

/* ---------- steps ----------
   No accent stripe: separation now comes from the surface and a soft shadow. */
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 26px 8px;margin:0 0 18px;box-shadow:var(--shadow-sm)}
.step p:first-child{font-weight:600;font-size:1.06rem;color:#0d0930}
.step .aside{background:var(--wash);border-radius:10px;padding:13px 16px;
  font-size:.94em;color:#4a4360;margin:.7em 0 1em}

figure{margin:10px 0 22px}
figure img{width:100%;max-width:330px;height:auto;border-radius:12px;
  border:1px solid var(--line);display:block;background:#fff;box-shadow:var(--shadow-sm)}
figure.illus img{max-width:100%;border:0;box-shadow:none}
/* an email is not an app screen — show it full width, with a small label
   so the reader knows they have stepped outside the product */
figure.email{margin:20px 0 24px}
figure.email .mailbar{display:inline-block;background:var(--wash);color:#4a4360;
  font-size:.79rem;letter-spacing:.07em;text-transform:uppercase;font-weight:600;
  padding:6px 13px;border-radius:22px 22px 0 0}
figure.email img{width:100%;max-width:560px;height:auto;display:block;
  border:1px solid var(--line);border-top:0;border-radius:0 12px 12px 12px;
  background:#fff;box-shadow:var(--shadow-sm)}
figure.email figcaption{margin-top:10px;max-width:52ch}
figcaption{font-size:.875rem;color:var(--muted);margin-top:10px;max-width:52ch;line-height:1.6}

/* ---------- callouts ---------- */
.note{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 22px 6px;margin:0 0 20px;box-shadow:var(--shadow-sm)}
.note strong:first-child{display:block;margin-bottom:.3em}
.finder{background:var(--purple);color:#fff;border-radius:18px;padding:34px 36px;margin:2.2em 0}
.finder h2,.finder h3{color:#fff;margin-top:0}
.finder a{color:var(--mint)}
.finder strong{color:#fff}

/* ---------- table ---------- */
table{width:100%;border-collapse:collapse;margin:0 0 1.5em;font-size:.95rem}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:transparent;font-weight:600;font-size:.76em;text-transform:uppercase;
  letter-spacing:.08em;color:var(--muted);border-bottom:1px solid #d9d5e4}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--wash)}

/* ---------- aside ---------- */
aside{position:sticky;top:24px;font-size:15px}
aside .card{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px 18px;box-shadow:var(--shadow-sm)}
aside h2{font-family:'DM Serif Display',Georgia,serif;font-size:1.02rem;font-weight:400;
  margin:0 0 .8em;text-transform:none;letter-spacing:0;color:var(--ink);padding:0}
aside ul{list-style:none;padding:0;margin:0}
aside li{margin:0 0 .15em}
aside a{text-decoration:none;color:var(--muted);display:block;
  padding:7px 11px;border-radius:8px;font-size:.94em;
  transition:background .14s ease,color .14s ease}
aside a:hover{background:var(--wash);color:var(--purple)}
aside a[aria-current]{background:var(--wash);color:var(--purple);font-weight:600}

/* ---------- support / feedback ---------- */
.support{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 28px;margin:2.8em 0 0;box-shadow:var(--shadow)}
.support p{margin:0 0 .5em}
.feedback{border:0;background:var(--wash);border-radius:var(--radius);
  padding:20px 26px;margin:18px 0 0;font-size:.94rem;color:var(--muted)}
.feedback b{color:var(--ink)}
.btnrow{display:flex;gap:10px;margin-top:.8em;flex-wrap:wrap}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:9px;
  padding:9px 22px;font-size:.94rem;cursor:pointer;color:var(--ink);text-decoration:none;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.btn:hover{border-color:#c9c2dd;background:var(--wash);box-shadow:var(--shadow-sm)}
.pager{display:flex;justify-content:space-between;gap:16px;margin:2.6em 0 0;
  padding-top:1.6em;border-top:1px solid var(--line);font-size:.94rem}
.pager a{text-decoration:none;max-width:46%}

/* ---------- footer ---------- */
footer{background:var(--purple);color:#c3b9dd;padding:38px 24px;font-size:14.5px;margin-top:28px}
footer .in{max-width:1060px;margin:0 auto;display:flex;justify-content:space-between;
  gap:24px;flex-wrap:wrap}
footer a{color:#fff}
footer .tag{color:var(--mint)}
footer p{margin:0 0 .35em}

@media print{
  .top,aside,.feedback,.pager{display:none}
  .wrap{display:block;max-width:none;padding:0}
  body{background:#fff;font-size:12pt}
  .step{box-shadow:none}
  figure img{max-width:2.5in}
  .step,.note,.support{break-inside:avoid}
}

.hero{background:var(--purple);color:#fff;padding:64px 24px 68px}
.hero .in{max-width:920px;margin:0 auto}
.hero h1{font-size:3.05rem;color:#fff;margin:0 0 .42em;line-height:1.12}
.hero p{font-size:1.24rem;color:#d9d2ea;max-width:46ch;margin:0 0 1.55em}
.hero p.lede{color:#fff;font-weight:600}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.cta a{border-radius:10px;padding:15px 30px;font-size:1.06rem;font-weight:600;
  text-decoration:none;display:inline-block}
.cta .primary{background:var(--mint);color:#08301f}
.cta .primary:hover{background:#35b585}
.cta .secondary{background:#fff;color:var(--purple)}
.cta .secondary:hover{background:var(--wash)}
main{max-width:920px;margin:0 auto;padding:0 24px 80px}
section.band{padding:54px 0 6px}
section.band h2{font-size:1.95rem;margin:0 0 .3em}
section.band .sub{color:var(--muted);margin:0 0 1.6em;font-size:1.04rem}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cards3{grid-template-columns:repeat(3,1fr)}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:26px 26px 22px;text-decoration:none;color:inherit;
  box-shadow:var(--shadow-sm);
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.card:hover{border-color:#cdc6e0;transform:translateY(-2px);box-shadow:var(--shadow)}
.card h3{margin:0 0 .35em;font-size:1.16rem;text-transform:none;letter-spacing:0;
  color:var(--ink);font-weight:600}
.card p{margin:0 0 .9em;color:var(--muted);font-size:.98rem}
.card .go{color:var(--purple);font-weight:600;font-size:.97rem}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.steps3 .s{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;
  box-shadow:var(--shadow-sm)}
.steps3 .n{display:inline-flex;width:34px;height:34px;border-radius:50%;
  background:var(--mint);color:#08301f;align-items:center;justify-content:center;
  font-weight:700;margin-bottom:.7em}
.steps3 h3{margin:0 0 .4em;font-size:1.06rem;text-transform:none;letter-spacing:0;
  color:var(--ink);font-weight:600}
.steps3 p{margin:0;font-size:.97rem;color:var(--muted)}
.finder{background:var(--purple);color:#fff;border-radius:18px;padding:44px 40px;margin:54px 0 0}
.finder h2{color:#fff;margin:0 0 .25em;font-size:1.95rem}
.finder .sub{color:#cfc6e4;margin:0 0 1.7em}
.finder ol{padding-left:1.3em;margin:0 0 1.4em}
.finder li{margin-bottom:.75em}
.finder strong{color:#fff}
.finder a{color:var(--mint)}
.finder .btn{background:transparent;border-color:#6d5f96;color:#fff}
.finder .btn:hover{background:#3d2a6e}
.box{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.box .b{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;box-shadow:var(--shadow-sm)}
.box h3{margin:0 0 .35em;font-size:1rem;text-transform:none;letter-spacing:0;
  color:var(--ink);font-weight:600}
.box p{margin:0;font-size:.95rem;color:var(--muted)}
.help{background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:30px 32px;margin-top:54px;box-shadow:var(--shadow)}
.help h2{margin-top:0}
.help p{margin:0 0 .6em}
@media(max-width:760px){
  .cards,.cards3,.steps3,.box{grid-template-columns:1fr}
  .hero h1{font-size:2.25rem}
  .hero p{font-size:1.1rem}
  .finder{padding:34px 26px}
  .finder h2{font-size:1.6rem}
}
@media print{
  .top,.cta,.findernav{display:none}
  .hero{background:#fff;color:#000;padding:0 0 12pt}
  .hero h1,.hero p{color:#000}
  .card,.steps3 .s,.box .b,.help{box-shadow:none}
  .finder{background:#fff;color:#000;border:1px solid #999}
  .finder h2,.finder strong,.finder a{color:#000}
  main{max-width:none;padding:0}
}
