@font-face {
  font-family:Inter;
  src:url('/fonts/InterVariable.woff2') format('woff2');
  font-style:normal;
  font-weight:100 900;
  font-display:swap
}
:root {
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#172b42;
  background:#f7f6f2;
  font-synthesis:none;
  line-height:1.6;
  scroll-behavior:smooth
}
* {
  box-sizing:border-box
}
html {
  scroll-padding-top:94px
}
body {
  margin:0;
  min-width:320px
}
button,input {
  font:inherit
}
button {
  cursor:pointer
}
a {
  color:inherit;
  text-decoration:none
}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible {
  outline:3px solid #be6e2f;
  outline-offset:3px
}
svg {
  flex:none
}
h1,h2,h3,p {
  margin-top:0
}
h1,h2,h3 {
  line-height:1.15;
  letter-spacing:-.035em
}
p {
  line-height:1.72
}
.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:absolute;
  left:16px;
  top:-80px;
  z-index:100;
  padding:10px 16px;
  background:#172b42;
  color:#fff
}
.skip-link:focus {
  top:12px
}
.section-wrap {
  width:min(1180px,calc(100% - 48px));
  margin:auto
}
.seo-fallback {
  width:min(800px,calc(100% - 48px));
  margin:70px auto;
  color:#173b47
}
.seo-fallback h1 {font-size:clamp(2rem,5vw,3.5rem)}
.seo-fallback p {font-size:1.1rem;line-height:1.6}
.seo-fallback nav {display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
.seo-fallback a {color:#245c4c;text-decoration:underline}
.overline,.eyebrow {
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.16em;
  color:#3b6e66
}
.site-header {
  height:78px;
  position:sticky;
  top:0;
  background:rgba(247,246,242,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid #e6e5df;
  z-index:50
}
.storage-warning {
  position:sticky;
  top:78px;
  z-index:49;
  padding:12px 24px;
  background:#fff0ce;
  color:#493207;
  border-bottom:1px solid #d5ae58;
  font-size:.9rem;
  text-align:center
}
.header-inner {
  width:min(1280px,calc(100% - 48px));
  height:100%;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:1.35rem;
  white-space:nowrap
}
.brand-mark {
  width:35px;
  height:35px;
  display:inline-flex;
  flex:none
}
.brand-mark img {
  display:block;
  width:100%;
  height:100%
}
.wordmark {
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-weight:800;
  letter-spacing:-.07em;
  line-height:1;
  white-space:nowrap
}
.brand-light {
  font-weight:450
}
.site-nav {
  display:flex;
  align-items:center;
  gap:34px;
  font-size:.92rem;
  font-weight:650
}
.site-nav>a:not(.nav-cta) {
  padding:14px 0;
  color:#435265
}
.site-nav>a:not(.nav-cta)[aria-current=page],.site-nav>a:not(.nav-cta):hover {
  color:#1f6255
}
.nav-cta {
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:#183449;
  color:white;
  border-radius:9px;
  padding:11px 17px
}
.nav-cta:hover,.button-primary:hover {
  background:#275c5b;
  color:#fff
}
.menu-toggle {
  display:none;
  border:1px solid #cbd4d0;
  border-radius:9px;
  background:transparent;
  color:#172b42;
  padding:8px 12px;
  font-weight:700
}
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  border-radius:10px;
  min-height:48px;
  padding:12px 19px;
  font-weight:750;
  font-size:.94rem;
  line-height:1.2;
  border:1px solid transparent;
  text-align:center;
  transition:background .18s ease,transform .18s ease
}
.button:hover {
  transform:translateY(-1px)
}
.button:disabled {opacity:.55;cursor:not-allowed;transform:none}
.button-primary {
  background:#173b47;
  color:#fff
}
.button-outline {
  background:transparent;
  color:#183b48;
  border-color:#a9c2bb
}
.button-outline:hover {
  background:#e9f2ed
}
.button-quiet {
  background:transparent;
  color:#526475
}
.button-quiet:hover {
  background:#e6efeb
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  background:transparent;
  color:#245f55;
  font-size:.94rem;
  font-weight:800;
  padding:5px 0
}
.text-link:hover {
  text-decoration:underline
}
.hero {
  width:min(1280px,calc(100% - 48px));
  margin:auto;
  min-height:625px;
  display:grid;
  grid-template-columns:1.07fr .93fr;
  align-items:center;
  gap:30px;
  padding:50px 0 68px
}
.hero-copy {
  padding-left:min(4vw,40px)
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:12px
}
.eyebrow-line {
  width:27px;
  height:1px;
  background:#3b6e66
}
.hero h1 {
  font-size:clamp(3rem,5.2vw,5.7rem);
  max-width:780px;
  line-height:1.04;
  letter-spacing:-.065em;
  margin:23px 0 26px
}
.hero h1 em {
  font-family:Georgia,serif;
  font-weight:400;
  letter-spacing:-.06em;
  color:#3e7467
}
.hero-lead {
  font-size:1.11rem;
  color:#526275;
  max-width:540px
}
.hero-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:22px;
  margin:36px 0 28px
}
.hero-actions .button {
  min-height:55px;
  padding-inline:24px
}
.trust-row {
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  color:#546570;
  font-size:.89rem;
  font-weight:650
}
.trust-row span {
  display:flex;
  align-items:center;
  gap:6px
}
.trust-row svg {
  color:#40836d
}
.hero-art {
  height:480px;
  position:relative;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at 50% 50%,#e2ede3 0,#e2ede3 30%,transparent 31%);
  overflow:hidden
}
.art-orbit {
  position:absolute;
  border:1px solid #ccdfd7;
  border-radius:50%;
  width:340px;
  height:340px
}
.orbit-two {
  width:455px;
  height:455px;
  opacity:.6
}
.art-home {
  height:220px;
  width:215px;
  position:relative;
  background:#fcfaf4;
  border-radius:6px;
  box-shadow:0 26px 50px #45695f20;
  border:2px solid #b2cbc0;
  margin-top:70px
}
.art-roof {
  position:absolute;
  width:175px;
  height:175px;
  transform:rotate(45deg);
  background:#376e64;
  border-radius:7px;
  top:-74px;
  left:18px;
  z-index:-1
}
.art-home:before {
  content:"";
  position:absolute;
  width:270px;
  height:22px;
  background:#315c54;
  top:-17px;
  left:-27px;
  transform:skew(-35deg);
  border-radius:8px
}
.art-window {
  position:absolute;
  width:54px;
  height:57px;
  border:7px solid #9ebdb3;
  background:#dceaf4;
  top:45px;
  left:28px;
  border-radius:5px
}
.art-window:after {
  content:"";
  position:absolute;
  height:100%;
  width:6px;
  background:#9ebdb3;
  left:19px
}
.art-door {
  position:absolute;
  width:67px;
  height:114px;
  background:#c8a478;
  border:7px solid #ae865b;
  bottom:0;
  right:30px;
  border-radius:30px 30px 0 0
}
.art-door:after {
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  background:#f9eed6;
  border-radius:50%;
  right:10px;
  top:55px
}
.art-float {
  position:absolute;
  display:grid;
  place-items:center;
  box-shadow:0 18px 40px #26463e20
}
.art-phone {
  top:108px;
  right:58px;
  width:84px;
  height:104px;
  background:#fff;
  border:2px solid #c7d9d1;
  border-radius:18px;
  color:#5b8075
}
.art-check {
  position:absolute;
  right:-10px;
  bottom:-10px;
  border-radius:50%;
  background:#36775e;
  color:#fff;
  width:32px;
  height:32px;
  display:grid;
  place-items:center
}
.art-shield {
  left:55px;
  bottom:100px;
  width:90px;
  height:90px;
  border-radius:25px;
  background:#eacb93;
  color:#36594e;
  transform:rotate(-8deg)
}
.art-spark {
  position:absolute;
  color:#e2b676;
  font-size:30px
}
.spark-one {
  left:88px;
  top:84px
}
.spark-two {
  right:82px;
  bottom:72px
}
.home-progress {
  width:min(1180px,calc(100% - 48px));
  margin:-28px auto 0;
  padding:30px 38px;
  background:#fff;
  border:1px solid #e1e8e0;
  border-radius:18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  box-shadow:0 18px 40px #1f3e3110;
  position:relative
}
.home-progress h2 {
  font-size:1.7rem;
  margin:5px 0
}
.home-progress p {
  margin:0;
  color:#60707a
}
.progress-visual {
  min-width:280px;
  text-align:right
}
.progress-visual strong {
  font-size:1.55rem
}
.progress-visual small {
  display:block;
  color:#60707a;
  margin-top:6px
}
.progress-track {
  height:8px;
  border-radius:20px;
  background:#e6ece7;
  overflow:hidden
}
.progress-track span {
  display:block;
  height:100%;
  background:#43816b;
  border-radius:20px;
  transition:width .3s ease
}
.chapter-section {
  padding-top:108px;
  padding-bottom:100px
}
.section-head h2,.feature-band h2,.home-bottom h2 {
  font-size:clamp(2.1rem,3.1vw,3.4rem);
  margin:10px 0
}
.section-head p {
  color:#60707a
}
.chapter-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:40px
}
.chapter-card {
  min-height:270px;
  background:#fff;
  border:1px solid #e0e7df;
  border-radius:17px;
  padding:28px 28px 24px;
  display:flex;
  flex-direction:column;
  position:relative;
  transition:transform .2s,border-color .2s,box-shadow .2s
}
.chapter-card:hover {
  transform:translateY(-4px);
  border-color:#a7c7b7;
  box-shadow:0 12px 28px #21433513
}
.chapter-card:nth-child(2) {
  background:#eef4f2
}
.chapter-card:nth-child(3) {
  background:#f5efe4
}
.chapter-card:nth-child(4) {
  background:#f0f3f7
}
.chapter-card:nth-child(5) {
  background:#edf2e8
}
.chapter-icon {
  width:52px;
  height:52px;
  border-radius:14px;
  background:#e2eee7;
  color:#356b5b;
  display:grid;
  place-items:center
}
.chapter-card:nth-child(2) .chapter-icon {
  background:#d6e6e3
}
.chapter-card:nth-child(3) .chapter-icon {
  background:#efdfbd
}
.chapter-card:nth-child(4) .chapter-icon {
  background:#dce6f0
}
.chapter-card:nth-child(5) .chapter-icon {
  background:#dae8d2
}
.chapter-number {
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.13em;
  color:#789089;
  position:absolute;
  right:28px;
  top:31px
}
.chapter-card h3 {
  font-size:1.42rem;
  margin:27px 0 10px
}
.chapter-card p {
  color:#5f6f77;
  font-size:.91rem;
  line-height:1.55;
  margin:0 0 15px
}
.card-arrow {
  margin-top:auto;
  color:#427262
}
.feature-band {
  background:#dceae2;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:50px;
  padding:65px max(calc((100vw - 1180px)/2),24px)
}
.feature-band>div:last-child {
  max-width:540px
}
.feature-band p {
  font-size:1.05rem;
  color:#50675e
}
.feature-graphic {
  height:300px;
  display:grid;
  place-items:center;
  position:relative;
  color:#426d60
}
.feature-graphic:before {
  content:"";
  position:absolute;
  width:230px;
  height:230px;
  border:2px solid #b4d1bf;
  border-radius:50%
}
.feature-graphic svg {
  position:relative;
  filter:drop-shadow(0 16px 22px #385c4825)
}
.feature-star {
  position:absolute;
  top:34px;
  right:120px;
  font-size:36px;
  color:#be955b
}
.home-bottom {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  padding-top:100px;
  padding-bottom:110px
}
.home-bottom>div {
  padding:0 10px
}
.home-bottom p {
  max-width:430px;
  color:#60707a
}
.share-panel {
  margin-bottom:85px;
  padding:35px;
  background:#edf3ed;
  border:1px solid #d9e5da;
  border-radius:16px
}
.share-panel h2 {
  margin:8px 0;
  font-size:1.7rem
}
.share-panel p {
  max-width:700px;
  color:#526475
}
.share-controls {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:23px 0
}
.share-preview-label {
  display:block;
  margin-bottom:8px;
  font-weight:700
}
.share-preview {
  display:block;
  width:100%;
  min-height:130px;
  padding:14px;
  resize:vertical;
  border:1px solid #a9c2bb;
  border-radius:9px;
  background:#fff;
  color:#243d49;
  font:inherit;
  line-height:1.5
}
.share-preview:focus-visible {
  outline:3px solid #be6e2f;
  outline-offset:3px
}
.site-footer {
  background:#172e40;
  color:#eaf0eb;
  padding:55px 0 35px
}
.footer-inner {
  width:min(1180px,calc(100% - 48px));
  margin:auto;
  display:grid;
  grid-template-columns:minmax(230px,1fr) minmax(400px,1.2fr);
  gap:48px
}
.footer-links {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px
}
.footer-intro {max-width:420px}
.footer-brand {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:1.35rem
}
.footer-brand .brand-mark img {
  border:1px solid #91b9a7;
  border-radius:11px
}
.site-footer p {
  color:#bacbc7;
  margin:13px 0
}
.footer-fine {
  max-width:480px;
  font-size:.78rem
}
.site-footer nav {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  font-size:.9rem
}
.site-footer nav h2 {font-size:.9rem;color:#fff;margin:0 0 7px}
.site-footer a {color:inherit}
.site-footer nav button {background:none;border:0;color:inherit;padding:0;font:inherit;cursor:pointer}
.site-footer nav a:hover,.site-footer nav button:hover,.footer-publisher a:hover {
  text-decoration:underline
}
.page-top .provider-line {font-size:.78rem;margin:12px 0 18px;color:#536d70;white-space:nowrap}
.provider-line a {color:inherit}
@media (max-width:360px) {.page-top .provider-line {white-space:normal}}
.confirm-dialog {
  width:min(430px,calc(100vw - 32px));
  border:1px solid #d4dfd7;
  border-radius:16px;
  padding:26px;
  color:#172e40;
  box-shadow:0 20px 70px #172e4060
}
.confirm-dialog::backdrop {background:#1025319c}
.confirm-dialog h2 {margin:0 0 10px;font-size:1.4rem}
.confirm-dialog p {margin:0;color:#52656a;line-height:1.5}
.confirm-dialog-actions {display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:25px}
.toast {
  position:fixed;
  bottom:22px;
  right:22px;
  z-index:100;
  background:#173b47;
  color:#fff;
  border-radius:10px;
  padding:12px 18px;
  box-shadow:0 10px 25px #173b4738;
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  transition:opacity .2s,transform .2s
}
.toast.visible {
  opacity:1;
  transform:translateY(0)
}
.page-top {
  background:#e9f1e9;
  padding:65px 0 60px
}
.page-top h1 {
  font-size:clamp(2.6rem,4vw,4.5rem);
  margin:12px 0 14px
}
.page-top p {
  max-width:640px;
  font-size:1.05rem;
  color:#526675;
  margin:0
}
.overview-layout {
  display:grid;
  grid-template-columns:245px minmax(0,1fr);
  gap:50px;
  padding-top:50px;
  padding-bottom:100px
}
.side-sticky {
  position:sticky;
  top:112px
}
.overview-side h2 {
  font-size:1rem;
  margin-bottom:14px
}
.side-link {
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 13px;
  border-radius:9px;
  color:#526475;
  font-weight:650;
  font-size:.91rem
}
.side-link>span:last-child {
  margin-left:auto;
  font-size:.76rem;
  color:#74847f
}
.side-number {
  color:#809189;
  font-size:.76rem;
  font-weight:800
}
.side-link:hover,.side-link.active {
  background:#e3eee6;
  color:#255b4c
}
.side-progress {
  display:flex;
  align-items:center;
  gap:8px;
  border-top:1px solid #d9e2da;
  padding:18px 5px;
  margin-top:20px;
  color:#326952;
  font-size:.85rem;
  font-weight:750
}
.side-progress svg:last-child {
  margin-left:auto
}
.preference-panel {
  background:#fff;
  border:1px solid #e1e8e0;
  border-radius:16px;
  padding:29px 32px;
  display:grid;
  gap:23px
}
.preference-panel h2 {
  font-size:1.5rem;
  margin:6px 0
}
.preference-panel p {
  color:#62717d;
  margin:0
}
.pref-group h3 {
  font-size:.95rem;
  margin-bottom:11px;
  letter-spacing:0
}
.pref-group .pref-hint {font-size:.84rem;margin:-4px 0 12px}
.pill-row {
  display:flex;
  flex-wrap:wrap;
  gap:9px
}
.choice-pill {
  position:relative;
  display:inline-flex
}
.choice-pill input {
  position:absolute;
  opacity:0;
  width:100%;
  height:100%;
  margin:0
}
.choice-pill span {
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:7px 13px;
  border:1px solid #cbd7d1;
  border-radius:8px;
  color:#465d5b;
  font-size:.88rem;
  font-weight:650;
  background:#fff;
  cursor:pointer
}
.choice-pill input:checked+span {
  background:#dceee4;
  color:#225843;
  border-color:#70a282
}
.choice-pill input:focus-visible+span {
  outline:3px solid #be6e2f;
  outline-offset:3px
}
.fine-note {
  font-size:.81rem;
  color:#6c7b80!important;
  line-height:1.5
}
.list-toolbar {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:25px;
  margin:56px 0 19px
}
.list-toolbar h2 {
  font-size:2.25rem;
  margin:6px 0
}
.list-toolbar p {
  color:#687681;
  margin:0;
  max-width:590px
}
.simple-toggle {
  display:flex;
  align-items:center;
  gap:9px;
  white-space:nowrap;
  font-size:.84rem;
  font-weight:700;
  color:#466056
}
.simple-toggle input {
  width:17px;
  height:17px;
  accent-color:#28775b
}
.task-list {
  border-top:1px solid #dbe3da
}
.task-row {
  display:flex;
  align-items:center;
  gap:18px;
  min-height:110px;
  padding:18px 7px;
  border-bottom:1px solid #dbe3da
}
.task-row:hover {
  background:#eef3ed
}
.task-state {
  width:29px;
  height:29px;
  border:2px solid #c0d0c5;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff
}
.task-state.completed {
  background:#398363;
  border-color:#398363
}
.task-state.skipped {
  background:#d8dcd4;
  border-color:#d8dcd4
}
.task-state.in_progress {
  border-color:#cd9c57;
  background:linear-gradient(90deg,#cd9c57 50%,transparent 50%)
}
.task-row-copy {
  flex:1;
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0
}
.task-row-copy strong {
  font-size:1.08rem
}
.task-row-copy>span:last-child {
  font-size:.86rem;
  color:#697784
}
.task-meta {
  display:flex;
  gap:11px;
  align-items:center;
  font-size:.72rem;
  color:#77847c;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em
}
.priority {
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:850
}
.priority.essential {
  color:#2d6d54
}
.priority.recommended {
  color:#83632d
}
.priority.optional {
  color:#617783
}
.task-row-end {
  display:flex;
  align-items:center;
  gap:16px;
  color:#6f7f81
}
.task-row-end small {
  white-space:nowrap;
  font-size:.75rem
}
.empty-panel {
  padding:30px;
  background:#fff;
  border:1px solid #e1e8e0;
  border-radius:12px;
  color:#65747a
}
.task-page {
  background:#f7f6f2;
  padding:34px 0 100px
}
.task-container {
  width:min(820px,calc(100% - 40px));
  margin:auto
}
.back-link {
  font-size:.86rem;
  font-weight:700;
  color:#477565
}
.back-link:hover {
  text-decoration:underline
}
.task-progress {
  margin:28px 0 44px
}
.task-progress>div:first-child {
  display:flex;
  justify-content:space-between;
  gap:15px;
  color:#6a7b78;
  font-size:.78rem;
  margin-bottom:10px
}
.task-main {
  background:#fff;
  border:1px solid #e1e7df;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 22px 60px #1b44300b
}
.task-heading {
  padding:45px 55px 38px;
  background:#edf4ed;
  border-bottom:1px solid #dce8de
}
.task-heading h1 {
  font-size:clamp(2.3rem,4vw,3.5rem);
  margin:18px 0 12px
}
.task-summary {
  color:#536a72;
  font-size:1.1rem;
  margin:0;
  max-width:580px
}
.task-badges {
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:19px;
  color:#72817b;
  font-size:.8rem;
  font-weight:700
}
.task-body {
  padding:43px 55px 35px
}
.task-body h2 {
  font-size:1.3rem;
  margin-bottom:17px
}
.instruction-block {
  margin-bottom:33px
}
.step-list {
  counter-reset:steps;
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:16px
}
.step-list li {
  position:relative;
  padding-left:44px;
  line-height:1.6;
  color:#425564
}
.step-list li:before {
  counter-increment:steps;
  content:counter(steps);
  position:absolute;
  left:0;
  top:1px;
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e3eee7;
  color:#2f6b51;
  font-size:.82rem;
  font-weight:800
}
.link-block,.platform-help {
  border-top:1px solid #e6ebe4;
  padding-top:30px;
  margin:31px 0
}
.link-block p,.platform-help p {
  font-size:.9rem;
  color:#687b7d;
  margin-top:-8px
}
.platform-tip {
  border-top:1px solid #e6ebe4;
  padding:18px 0
}
.platform-tip h4 {margin:0 0 8px}
.platform-tip p {margin:0 0 12px;line-height:1.6}
.resource-list {
  display:grid;
  gap:9px
}
.external {
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #d8e5dc;
  border-radius:10px;
  padding:12px 15px;
  min-height:48px;
  font-weight:750;
  color:#285d50;
  background:#fbfdfb
}
.external:hover {
  background:#edf5ef;
  border-color:#9ec8aa
}
.domain {
  margin-left:auto;
  color:#7d8a84;
  font-size:.77rem;
  font-weight:550
}
.substeps {
  border:1px solid #dbe7de;
  border-radius:12px;
  margin:34px 0;
  overflow:hidden
}
.substeps-head {
  background:#f2f7f2;
  padding:15px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px
}
.substeps-head h3 {
  font-size:1rem;
  margin:0
}
.substeps-head span {
  font-size:.8rem;
  color:#5b776c;
  font-weight:700
}
.substeps-note {margin:0;padding:12px 18px;color:#60736b;font-size:.84rem;line-height:1.5}
.substep {
  display:flex;
  align-items:center;
  gap:13px;
  min-height:65px;
  padding:13px 18px;
  border-top:1px solid #e1e9e1;
  cursor:pointer
}
.substep input {
  width:20px;
  height:20px;
  accent-color:#398363;
  flex:none
}
.substep-check {
  display:none
}
.substep-text {
  display:flex;
  flex-direction:column;
  gap:2px;
  flex:1
}
.substep-text strong {
  font-size:.94rem
}
.substep-text small {
  font-size:.78rem;
  color:#728079
}
.substep-link {
  color:#2e7157;
  font-weight:800;
  font-size:.84rem;
  white-space:nowrap;
  text-decoration:underline;
  text-underline-offset:2px
}
.details-panel {
  border-top:1px solid #e3e9e2;
  border-bottom:1px solid #e3e9e2;
  padding:17px 0;
  margin:30px 0
}
.details-panel summary {
  font-weight:800;
  cursor:pointer;
  display:flex;
  justify-content:space-between
}
.details-panel p {
  font-size:.93rem;
  color:#5a6a70;
  margin:15px 0 2px
}
.confirmation {
  background:#f2f6f1;
  border-radius:12px;
  padding:26px;
  margin:34px 0
}
.confirmation h2 {
  margin-bottom:7px
}
.confirmation p {
  font-size:.9rem;
  color:#667977;
  margin-bottom:17px
}
.confirmation-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}
.task-navigation {
  display:flex;
  justify-content:space-between;
  padding-top:20px;
  border-top:1px solid #e5eae4
}
.task-navigation a {
  font-weight:750;
  color:#346d59
}
.task-navigation a:hover {
  text-decoration:underline
}
.scam-box {
  background:#f1f5f8;
  border:1px solid #dce8eb;
  border-radius:13px;
  padding:25px;
  margin:34px 0
}
.scam-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  color:#637881;
  font-size:.8rem
}
.scam-box h3 {
  font-size:1.3rem;
  margin:15px 0
}
.scam-box blockquote {
  background:#fff;
  border-left:3px solid #759db1;
  border-radius:6px;
  padding:17px;
  margin:0;
  font-size:.98rem;
  color:#455968
}
.scam-box>p {
  font-weight:750;
  margin:20px 0 9px
}
.scam-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px
}
.scam-feedback {
  background:#e2eee6;
  border-radius:8px;
  padding:16px;
  margin-top:16px;
  font-size:.9rem
}
.scam-feedback .text-link {
  display:flex;
  margin-top:7px
}
.scam-box details {
  margin-top:17px;
  font-size:.9rem
}
.scam-box summary {
  cursor:pointer;
  font-weight:750;
  color:#316f5b
}
.scam-box ol {
  padding-left:22px
}
.reminder-card {
  border:1px solid #e0e9da;
  border-radius:12px;
  padding:23px;
  margin:25px 0;
  background:#fbfcf9;
  display:grid;
  gap:16px
}
.reminder-card h3 {
  font-size:1.2rem;
  margin:5px 0
}
.reminder-card p {
  font-size:.86rem;
  color:#687973;
  margin:0
}
.reminder-card label {
  font-size:.81rem;
  font-weight:750;
  display:flex;
  align-items:center;
  gap:12px
}
.reminder-card input {
  border:1px solid #b7c9bc;
  border-radius:7px;
  padding:7px;
  color:#172b42;
  background:#fff
}
.reminder-card .button {
  justify-self:start
}
.progress-layout {
  padding-top:50px;
  padding-bottom:100px
}
.progress-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#fff;
  border:1px solid #e2e8df;
  border-radius:18px;
  padding:35px 44px;
  gap:20px
}
.progress-summary h2 {
  font-size:2rem;
  margin:8px 0
}
.progress-summary p {
  color:#697a7c;
  margin:0
}
.progress-dial {
  width:120px;
  height:120px;
  border-radius:50%;
  background:conic-gradient(#4a866d var(--progress),#e7eee9 var(--progress));
  display:grid;
  place-items:center;
  flex:none
}
.progress-dial:before {
  content:"";
  position:absolute;
  background:#fff;
  width:92px;
  height:92px;
  border-radius:50%
}
.progress-dial span {
  position:relative;
  font-size:1.5rem;
  font-weight:850
}
.next-card,.completion-note {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:#e6efe7;
  padding:28px 35px;
  border-radius:15px;
  margin:22px 0 35px
}
.next-card h2,.completion-note h2 {
  font-size:1.45rem;
  margin:7px 0
}
.next-card p,.completion-note p {
  color:#5b6f6e;
  margin:0
}
.completion-note {
  align-items:start
}
.completion-icon {
  background:#398363;
  color:#fff;
  border-radius:50%;
  padding:10px;
  display:grid;
  place-items:center
}
.completion-note .text-link {
  margin-top:11px
}
.progress-chapters {
  display:grid;
  gap:10px
}
.progress-chapter {
  display:flex;
  align-items:center;
  gap:16px;
  background:#fff;
  border:1px solid #e2e8df;
  padding:16px 22px;
  border-radius:12px
}
.progress-chapter:hover {
  border-color:#9cbeaa
}
.progress-chapter .chapter-icon {
  width:42px;
  height:42px
}
.progress-chapter>span:nth-child(2) {
  display:grid;
  min-width:220px
}
.progress-chapter strong {
  font-size:.94rem
}
.progress-chapter small {
  color:#7a8985
}
.mini-track {
  height:7px;
  border-radius:10px;
  background:#e6ede8;
  flex:1;
  overflow:hidden
}
.mini-track i {
  display:block;
  height:100%;
  background:#4a866d
}
.progress-chapter b {
  font-size:.9rem;
  width:44px;
  text-align:right
}
.data-panel {
  background:#fff;
  border:1px solid #e2e8df;
  border-radius:15px;
  padding:35px;
  margin-top:40px
}
.data-panel h2 {
  font-size:1.7rem;
  margin:8px 0
}
.data-panel>p {
  color:#647580;
  max-width:650px
}
.data-actions {
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin:23px 0
}
.import-button {
  position:relative;
  cursor:pointer
}
.import-button input {
  position:absolute;
  inset:0;
  opacity:0;
  width:100%;
  cursor:pointer
}
.import-button:focus-within {
  outline:3px solid #be6e2f;
  outline-offset:3px
}
.import-message {
  color:#2c7058!important;
  font-weight:750
}
.emergency-top {
  background:#f5e9d4
}
.help-layout {
  display:grid;
  grid-template-columns:310px minmax(0,1fr);
  gap:70px;
  padding-top:60px;
  padding-bottom:100px
}
.help-choices {
  position:sticky;
  top:110px;
  align-self:start
}
.help-choices h2 {
  font-size:1.4rem
}
.help-choice {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:65px;
  border-bottom:1px solid #dbe3d9;
  color:#325e55;
  font-weight:700;
  font-size:.9rem
}
.help-choice svg:last-child {
  margin-left:auto
}
.help-choice:hover {
  color:#172b42
}
.help-flow {
  background:#fff;
  border:1px solid #e4e9e0;
  border-radius:15px;
  padding:34px 38px;
  margin-bottom:22px;
  scroll-margin-top:105px
}
.help-flow h2 {
  font-size:1.6rem;
  margin:9px 0 25px
}
.help-flow .resource-list {
  margin-top:27px
}
.editorial {
  display:grid;
  grid-template-columns:minmax(0,1fr) 275px;
  gap:80px;
  padding-top:65px;
  padding-bottom:110px
}
.article-main {
  max-width:720px
}
.article-main h2 {
  font-size:2rem
}
.article-main p {
  font-size:1.04rem;
  color:#536574
}
.fact-card {
  display:flex;
  align-items:start;
  gap:20px;
  background:#e8f1e9;
  padding:23px;
  border-radius:13px;
  margin:30px 0
}
.fact-card p {
  margin:0;
  font-size:.96rem
}
.fact-icon {
  color:#4b836c
}
.article-side {
  align-self:start;
  background:#fff;
  padding:25px;
  border:1px solid #e2e8df;
  border-radius:13px
}
.article-side h3 {
  font-size:1.25rem;
  margin:8px 0 20px
}
.article-side .external {
  display:block
}
.article-side .domain {
  display:block;
  margin:0
}
.resources-page {
  padding-top:50px;
  padding-bottom:100px
}
.resource-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px
}
.resource-item .external {
  height:100%
}
.text-page {
  max-width:780px;
  padding-top:65px;
  padding-bottom:100px
}
.text-page h2 {
  font-size:1.55rem;
  margin:35px 0 10px
}
.text-page h2:first-child {
  margin-top:0
}
.text-page p {
  color:#526574
}
.not-found {
  min-height:55vh;
  padding-top:90px
}
@media(max-width:950px) {
  .hero {
    grid-template-columns:1fr 1fr;
    gap:0
  }
  .hero-copy {
    padding-left:0
  }
  .hero-art {
    transform:scale(.9)
  }
  .chapter-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .overview-layout {
    grid-template-columns:190px minmax(0,1fr);
    gap:25px
  }
  .help-layout {
    grid-template-columns:250px 1fr;
    gap:30px
  }
  .editorial {
    gap:35px
  }
}
@media(max-width:720px) {
  .site-header {
    height:65px
  }
  .storage-warning {top:65px}
  .header-inner {
    width:calc(100% - 32px)
  }
  .brand {
    font-size:1.15rem
  }
  .menu-toggle {
    display:block
  }
  .site-nav {
    display:none;
    position:absolute;
    top:65px;
    left:0;
    right:0;
    background:#f7f6f2;
    box-shadow:0 12px 25px #132e3520;
    padding:16px 24px 24px;
    flex-direction:column;
    align-items:stretch;
    gap:2px
  }
  .site-nav.open {
    display:flex
  }
  .site-nav>a {
    padding:12px!important
  }
  .section-wrap {
    width:calc(100% - 32px)
  }
  .hero {
    width:calc(100% - 32px);
    grid-template-columns:1fr;
    min-height:0;
    padding:58px 0 45px
  }
  .hero h1 {
    font-size:clamp(2.9rem,11vw,4.7rem)
  }
  .hero-art {
    height:315px;
    transform:scale(.72);
    transform-origin:center;
    margin:-25px -80px -45px
  }
  .hero-actions {
    gap:15px
  }
  .home-progress {
    width:calc(100% - 32px);
    margin:0 auto;
    flex-direction:column;
    align-items:stretch;
    padding:24px
  }
  .progress-visual {
    text-align:left;
    min-width:0
  }
  .chapter-section {
    padding-top:75px;
    padding-bottom:65px
  }
  .chapter-grid {
    grid-template-columns:1fr;
    gap:11px;
    margin-top:28px
  }
  .chapter-card {
    min-height:220px
  }
  .feature-band {
    grid-template-columns:1fr;
    gap:0;
    padding:25px 24px 55px
  }
  .feature-graphic {
    height:210px
  }
  .feature-graphic:before {
    width:170px;
    height:170px
  }
  .home-bottom {
    grid-template-columns:1fr;
    gap:55px;
    padding-top:75px;
    padding-bottom:75px
  }
  .share-panel {padding:24px;margin-bottom:60px}
  .share-controls .button {width:100%}
  .share-preview {min-height:310px}
  .footer-inner {
    width:calc(100% - 32px);
    grid-template-columns:1fr
  }
  .site-footer {padding-bottom:max(90px,env(safe-area-inset-bottom))}
  .footer-links {gap:20px}
  .page-top {
    padding:50px 0
  }
  .page-top h1 {
    font-size:2.6rem
  }
  .overview-layout {
    display:block;
    padding-top:20px
  }
  .overview-side {
    margin-bottom:35px
  }
  .side-sticky {
    position:static
  }
  .overview-side h2 {
    display:none
  }
  .side-link {
    display:inline-flex;
    margin:3px;
    padding:8px;
    font-size:.82rem
  }
  .side-link>span:last-child,.side-progress {
    display:none
  }
  .preference-panel {
    padding:23px
  }
  .list-toolbar {
    display:block;
    margin-top:42px
  }
  .simple-toggle {
    margin-top:18px
  }
  .task-row {
    gap:11px;
    padding:15px 2px
  }
  .task-row-end small {
    display:none
  }
  .task-row-copy strong {
    font-size:1rem
  }
  .task-row-copy>span:last-child {
    font-size:.8rem
  }
  .task-page {
    padding-top:22px
  }
  .task-container {
    width:calc(100% - 20px)
  }
  .task-progress {
    margin:22px 10px 28px
  }
  .task-progress>div:first-child span:last-child {
    display:none
  }
  .back-link {
    margin-left:10px
  }
  .task-heading {
    padding:30px 25px
  }
  .task-heading h1 {
    font-size:2.35rem
  }
  .task-body {
    padding:30px 25px
  }
  .substep {
    flex-wrap:wrap
  }
  .substep-link {
    margin-left:35px
  }
  .confirmation {
    padding:20px
  }
  .confirmation-actions .button-primary {
    width:100%
  }
  .progress-summary {
    padding:25px;
    align-items:start
  }
  .progress-summary h2 {
    font-size:1.5rem
  }
  .progress-dial {
    width:80px;
    height:80px
  }
  .progress-dial:before {
    width:62px;
    height:62px
  }
  .progress-dial span {
    font-size:1rem
  }
  .next-card,.completion-note {
    flex-direction:column;
    align-items:start;
    padding:25px
  }
  .progress-chapter {
    gap:10px;
    padding:13px
  }
  .progress-chapter>span:nth-child(2) {
    min-width:0;
    flex:1
  }
  .mini-track {
    display:none
  }
  .data-panel {
    padding:24px
  }
  .help-layout {
    display:block;
    padding-top:30px
  }
  .help-choices {
    position:static;
    margin-bottom:35px
  }
  .help-flow {
    padding:25px
  }
  .editorial {
    display:block;
    padding-top:45px
  }
  .article-side {
    margin-top:40px
  }
  .resource-grid {
    grid-template-columns:1fr
  }
}
@media(max-width:420px) {
  .hero h1 {
    font-size:2.75rem
  }
  .hero-art {
    margin-left:-110px;
    margin-right:-110px
  }
  .trust-row {
    gap:12px
  }
  .task-heading h1 {
    font-size:2rem
  }
  .task-body {
    padding:25px 18px
  }
  .task-navigation {
    font-size:.87rem
  }
  .progress-summary {
    gap:10px
  }
  .progress-dial {
    width:68px;
    height:68px
  }
  .progress-dial:before {
    width:52px;
    height:52px
  }
  .progress-dial span {
    font-size:.85rem
  }
  .domain {
    font-size:.65rem
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    transition-duration:.01ms!important
  }
}
progress.progress-track,progress.mini-track {
  appearance:none;
  -webkit-appearance:none;
  border:0;
  display:block;
  overflow:hidden;
  background:#e6ece7
}
progress.progress-track {
  width:100%;
  height:8px;
  border-radius:20px
}
progress.mini-track {
  height:7px;
  border-radius:10px;
  flex:1
}
progress.progress-track::-webkit-progress-bar,progress.mini-track::-webkit-progress-bar {
  background:#e6ece7;
  border-radius:20px
}
progress.progress-track::-webkit-progress-value,progress.mini-track::-webkit-progress-value {
  background:#43816b;
  border-radius:20px
}
progress.progress-track::-moz-progress-bar,progress.mini-track::-moz-progress-bar {
  background:#43816b;
  border-radius:20px
}
.progress-dial {
  background:#e7eee9;
  border:12px solid #4a866d
}
.progress-dial:before {
  display:none
}
@media(max-width:720px) {
  .hero-art {
    width:100%;
    height:320px;
    transform:none;
    margin:0
  }
  .art-home {
    transform:scale(.78)
  }
  .art-phone {
    right:20px;
    top:72px
  }
  .art-shield {
    left:20px;
    bottom:60px
  }
}
@media(max-width:420px) {
  .hero-art {
    margin:0
  }
}
@media(max-width:720px) {
  progress.mini-track {
    display:none
  }
}
.extra-panel {
  margin-top:28px;
  border:1px solid #dce8de;
  border-radius:12px;
  background:#fff;
  padding:18px 22px
}
.extra-panel summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  color:#315f53;
  font-weight:800
}
.extra-content {
  padding-top:20px;
  color:#526575;
  font-size:.94rem
}
.extra-content p {
  margin:16px 0
}
.extra-content ul {
  padding-left:22px
}
.extra-content li {
  margin:7px 0
}
.substep label {
  display:flex;
  align-items:center;
  gap:13px;
  flex:1;
  min-width:0;
  cursor:pointer
}
.scope-tag {
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#526a8b;
  background:#e7eff7;
  border-radius:5px;
  padding:3px 5px
}
.two-factor-graphic {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  background:#eff5f2;
  border:1px solid #d9e7df;
  border-radius:12px;
  padding:22px;
  margin:28px 0
}
.two-factor-graphic>div {
  display:grid;
  gap:4px;
  min-width:130px;
  padding:12px 15px;
  border:1px solid #c9ddd1;
  border-radius:9px;
  background:#fff
}
.two-factor-graphic small {
  font-size:.59rem;
  font-weight:800;
  letter-spacing:.07em;
  color:#647f71
}
.two-factor-graphic strong {
  font-size:.9rem
}
.two-factor-graphic>span {
  color:#4b8067;
  font-weight:800
}
.two-factor-graphic .two-factor-result {
  display:flex;
  align-items:center;
  color:#2e6c54;
  background:#dceee4
}
.maintenance-panel {
  background:#e9f1e9;
  border-radius:15px;
  padding:32px 36px;
  margin-top:34px
}
.maintenance-panel h2 {
  font-size:1.7rem;
  margin:7px 0
}
.maintenance-panel>p {
  color:#5d746e;
  max-width:680px;
  font-size:.94rem
}
.maintenance-list {
  display:grid;
  gap:8px;
  margin:22px 0
}
.maintenance-list a {
  display:flex;
  align-items:center;
  gap:15px;
  background:#fff;
  border:1px solid #d7e4d9;
  border-radius:9px;
  padding:11px 15px
}
.maintenance-list a span {
  margin-left:auto;
  color:#5c726b;
  font-size:.82rem
}
.maintenance-list a:hover {
  border-color:#83ae8d
}
.maintenance-tips {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  border-top:1px solid #cbddcf;
  padding-top:22px;
  margin-top:24px
}
.maintenance-tips p {
  font-size:.82rem;
  color:#50695f;
  margin:0
}
@media(max-width:720px) {
  .maintenance-panel {
    padding:25px
  }
  .maintenance-list a {
    flex-wrap:wrap
  }
  .maintenance-list a span {
    margin-left:0
  }
  .maintenance-list a svg {
    margin-left:auto
  }
  .maintenance-tips {
    grid-template-columns:1fr;
    gap:10px
  }
}
.us-question {
  border:1px solid #c9dfd0;
  border-radius:12px;
  background:#f2f8f3;
  padding:19px 21px;
  margin:0;
  min-width:0
}
.us-question legend {
  font-size:1.08rem;
  font-weight:800;
  letter-spacing:-.02em;
  padding:0 5px
}
.us-question p {
  font-size:.88rem;
  margin:0 0 13px;
  color:#526c5d
}
.optional-label {
  font-size:.72rem;
  font-weight:600;
  letter-spacing:0;
  color:#71827b;
  margin-left:5px
}
.gate-layout {
  max-width:800px;
  padding-top:45px;
  padding-bottom:90px
}
.gate-layout>.text-link {
  margin-top:20px
}
