/* ak1991.org — Monopoly home. Apple-style rhythm: big type, alternating full-width tiles, quiet chrome.
   Brand colours stay Monopoly's: GoMo Green #64BE5A, Dark Green #05322D, Teal #008C7D, Periwinkle #6491E4. */
:root{
  --bg:#fff;--soft:#f5f5f7;--ink:#1d1d1f;--ink-2:#6e6e73;--ink-3:#86868b;--line:#d2d2d7;
  --brand:#64BE5A;--brand-deep:#05322D;--brand-ink:#2B6A3F;--teal:#008C7D;--peri:#6491E4;--crit:#d70015;--warn:#b25000;
  --dark:#000;--dark-2:#0a0f0e;--dark-card:#111614;--on-dark:#f5f5f7;--on-dark-2:#a1a1a6;
  --r-lg:28px;--r-md:18px;
  --f:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Segoe UI",system-ui,sans-serif;
  --f-mono:"SF Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:56px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.47 var(--f);letter-spacing:-.022em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
img,svg{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--peri);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}.skip:focus{left:12px}

/* ---------- global nav ---------- */
.gnav{position:sticky;top:0;z-index:50;background:rgba(251,251,253,.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06)}
.gnav-in{max-width:1024px;margin:0 auto;height:48px;padding:0 22px;display:flex;align-items:center;gap:24px}
.gnav-logo{display:flex;align-items:center;gap:8px;text-decoration:none;font:400 17px Georgia,"Times New Roman",serif;letter-spacing:.01em;color:var(--ink)}
.gnav-logo img{border-radius:5px}
.gnav-links{display:flex;gap:30px;list-style:none;margin:0 auto;padding:0}
.gnav-links a{font-size:12px;letter-spacing:-.01em;color:var(--ink);opacity:.8;text-decoration:none;transition:opacity .2s}
.gnav-links a:hover{opacity:1}
.gnav-m{display:none}
.gnav-act{display:flex;align-items:center;gap:16px}
.gnav-login{font-size:12px;text-decoration:none;opacity:.8}.gnav-login:hover{opacity:1}
.gnav-burger{display:none;width:32px;height:32px;border:0;background:none;position:relative;cursor:pointer;padding:0}
.gnav-burger span{position:absolute;left:8px;right:8px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .3s var(--ease),top .3s var(--ease)}
.gnav-burger span:first-child{top:12px}.gnav-burger span:last-child{top:19px}
.gnav.open .gnav-burger span:first-child{top:15.5px;transform:rotate(45deg)}.gnav.open .gnav-burger span:last-child{top:15.5px;transform:rotate(-45deg)}

/* ---------- buttons ---------- */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--brand-deep);color:#fff;text-decoration:none;border:0;border-radius:980px;padding:12px 22px;font:500 17px var(--f);letter-spacing:-.022em;cursor:pointer;transition:background .2s,transform .26s var(--ease)}
.pill:hover{background:#0a4a42}.pill:active{transform:scale(.97);transition-duration:.1s}
.pill-sm{padding:5px 12px;font-size:12px;letter-spacing:-.01em}
.pill.block{width:100%;padding:14px 22px}
.link-chev{color:var(--brand-ink);text-decoration:none;font-size:17px;background:none;border:0;cursor:pointer;padding:0;font-family:inherit;letter-spacing:-.022em}
.link-chev::after{content:" ›";font-size:1.1em}
.link-chev:hover{text-decoration:underline}
.link-chev.small{font-size:14px}
.dark .link-chev,.deep .link-chev{color:var(--brand)}

/* ---------- type ---------- */
.eyebrow{font-size:21px;font-weight:600;letter-spacing:.011em;margin:0 0 6px;color:var(--brand-ink)}
.eyebrow.green{color:var(--brand)}
.display{font-size:clamp(44px,8vw,80px);line-height:1.05;font-weight:600;letter-spacing:-.015em;margin:0}
.headline{font-size:clamp(36px,5.6vw,56px);line-height:1.07;font-weight:600;letter-spacing:-.005em;margin:0}
.title{font-size:clamp(28px,3.4vw,40px);line-height:1.1;font-weight:600;letter-spacing:0;margin:0}
.lede{font-size:clamp(19px,2.2vw,24px);line-height:1.33;font-weight:400;letter-spacing:.009em;color:var(--ink-2);max-width:760px;margin:18px auto 0}
.sub{font-size:19px;line-height:1.42;color:var(--ink-2);margin:12px auto 0;max-width:420px;letter-spacing:.012em}
.muted{color:var(--ink-3)}
.fine{font-size:14px;color:var(--ink-3);letter-spacing:-.016em;margin:22px 0 0}
.fine a{color:var(--brand-ink)}

/* ---------- hero ---------- */
.hero{text-align:center;padding:72px 22px 0;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fff 60%,var(--soft) 100%)}
.ctas{display:flex;gap:28px;justify-content:center;align-items:center;margin-top:28px;flex-wrap:wrap}
.invite{font-size:14px;color:var(--ink-3);margin:18px 0 0}
.device{max-width:980px;margin:56px auto 0;padding:14px 14px 0;background:linear-gradient(180deg,#e8e8ed,#d9d9de);border-radius:26px 26px 0 0;box-shadow:0 30px 80px rgba(0,0,0,.12)}
.screen{background:#f4f8f4;border-radius:14px 14px 0 0;overflow:hidden;text-align:left;font-family:var(--f);letter-spacing:-.01em}
.m-bar{display:flex;align-items:center;gap:10px;background:#05322D;border-bottom:3px solid #64BE5A;color:#fff;padding:10px 16px;font-size:13px}
.m-bar b{font:400 16px Georgia,serif;letter-spacing:.02em}
.m-logo{width:22px;height:22px;border-radius:6px;background:#05322D;border:1px solid #64BE5A80;display:grid;place-items:center;font:14px Georgia,serif}
.m-tabs{display:flex;gap:4px;margin-left:10px}.m-tabs i{font-style:normal;color:#9BADAB;padding:4px 10px;border-radius:999px;font-size:12px}.m-tabs i.on{background:#64BE5A;color:#05322D;font-weight:600}
.m-live{margin-left:auto;color:#9BADAB;font-size:11.5px}
.m-body{padding:16px;display:grid;gap:12px}
.m-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#CDD6D5;border:1px solid #CDD6D5;border-radius:10px;overflow:hidden}
.m-kpis div{background:#fff;padding:10px 12px;display:grid;gap:2px}
.m-kpis small,.m-tile small{font-size:9.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#698481}
.m-kpis strong{font:500 20px var(--f-mono);color:#05322D;letter-spacing:-.02em}.m-kpis strong.loan{color:#2B5876}
.m-kpis em,.m-tile em{font-style:normal;font-size:11px;color:#375B57}.m-kpis em.up{color:#2B6A3F}
.m-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.m-tile{background:#fff;border:1px solid #CDD6D5;border-radius:10px;padding:10px 12px;display:grid;gap:2px;position:relative;overflow:hidden}
.m-tile::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#CDD6D5}
.m-tile.crit{border-color:#b42318;background:#fde8e6}.m-tile.crit::before{background:#b42318}.m-tile.crit strong{color:#b42318}.m-tile.crit small{color:#b42318}
.m-tile.warn::before{background:#9a6200}.m-tile.warn strong{color:#9a6200}.m-tile.good::before{background:#2B6A3F}.m-tile.good strong{color:#2B6A3F}
.m-tile strong{font:500 17px var(--f-mono);color:#05322D;letter-spacing:-.02em}
.m-chart{background:#fff;border:1px solid #CDD6D5;border-radius:10px;padding:10px 12px 6px;position:relative}
.m-chart svg{width:100%;height:120px}.m-chart span{position:absolute;top:8px;left:12px;font-size:11px;color:#698481}
.pulse{animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(180,35,24,0)}50%{box-shadow:0 0 0 5px rgba(180,35,24,.18)}}

/* ---------- tiles ---------- */
.tile{text-align:center;padding:110px 22px;background:var(--bg)}
.tile.soft{background:var(--soft)}
.tile.dark{background:var(--dark);color:var(--on-dark)}.tile.dark .lede{color:var(--on-dark-2)}
.sources{list-style:none;padding:0;margin:44px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:900px}
.sources li{border:1px solid #2c2c2e;border-radius:999px;padding:10px 18px;display:flex;gap:8px;align-items:baseline;font-size:15px}
.sources span{color:var(--on-dark-2);font-size:13px}
.feed{max-width:520px;margin:48px auto 0;background:var(--dark-card);border:1px solid #1f2624;border-radius:var(--r-md);padding:8px 18px;text-align:left}
.feed-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #1f2624;font-size:15px}.feed-row:last-child{border-bottom:0}
.feed-row span{margin-left:auto;color:var(--on-dark-2);font-size:13px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 0 rgba(100,190,90,.5);animation:live 2.4s infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(100,190,90,.5)}70%{box-shadow:0 0 0 8px rgba(100,190,90,0)}100%{box-shadow:0 0 0 0 rgba(100,190,90,0)}}

/* ---------- two-up cards ---------- */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;background:var(--bg)}
.card{border-radius:var(--r-lg);padding:56px 34px 0;text-align:center;min-height:560px;display:flex;flex-direction:column;align-items:center;overflow:hidden}
.card.light{background:var(--soft)}
.card.deep{background:var(--brand-deep);color:#fff}.card.deep .sub{color:#b9d0cc}
.alert-stack{margin-top:auto;padding:36px 0 44px;display:grid;gap:12px;width:min(380px,100%)}
.a-tile{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;text-align:left;display:grid;gap:2px;position:relative;overflow:hidden}
.a-tile::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--line)}
.a-tile small{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.a-tile strong{font:500 26px var(--f-mono);letter-spacing:-.02em}
.a-tile em{font-style:normal;font-size:13.5px;color:var(--ink-2)}
.a-tile.crit{background:#fff1f0;border-color:#f2b8b5}.a-tile.crit::before{background:var(--crit)}.a-tile.crit strong,.a-tile.crit small{color:var(--crit)}
.a-tile.calm::before{background:var(--brand)}.a-tile.calm strong{color:var(--brand-ink)}
.chat{margin-top:auto;padding:36px 0 44px;width:min(420px,100%);display:grid;gap:10px;text-align:left}
.chat p{margin:0;padding:12px 16px;border-radius:20px;font-size:15px;line-height:1.4;letter-spacing:-.01em}
.chat .q{background:var(--brand);color:#05322D;justify-self:end;border-bottom-right-radius:6px;max-width:80%;font-weight:500}
.chat .a{background:rgba(255,255,255,.1);color:#fff;border-bottom-left-radius:6px;max-width:92%}
.payoff{margin-top:auto;padding:30px 0 44px;width:min(440px,100%)}
.payoff svg{width:100%;height:auto}
.legend{display:grid;gap:6px;margin-top:10px;font-size:13.5px;color:#b9d0cc;text-align:left}
.legend i{display:inline-block;width:18px;height:3px;border-radius:2px;margin-right:8px;vertical-align:middle}.legend i.g{background:var(--brand)}.legend i.p{background:#83A7E9}
.fx{margin-top:auto;padding:40px 0 56px;display:flex;align-items:center;gap:18px}
.fx div{display:grid;gap:2px}.fx small{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.fx strong{font:500 clamp(24px,3vw,34px) var(--f-mono);letter-spacing:-.03em}.fx em{font-style:normal;font-size:13px;color:var(--ink-2)}
.fx .plus{font-size:30px;color:var(--ink-3)}

/* ---------- features ---------- */
.features{list-style:none;padding:0;margin:56px auto 0;max-width:980px;display:grid;grid-template-columns:repeat(4,1fr);gap:36px 28px;text-align:left}
.features b{display:block;font-size:19px;font-weight:600;letter-spacing:.012em;margin-bottom:6px}
.features span{color:var(--ink-2);font-size:15px;line-height:1.45;letter-spacing:-.01em}

/* ---------- customize ---------- */
.custom{max-width:900px;margin:48px auto 0;display:grid;grid-template-columns:260px 1fr;gap:28px;text-align:left;align-items:start}
.custom-ctl{display:grid;gap:14px;background:var(--soft);border-radius:var(--r-md);padding:22px}
.sw{display:flex;align-items:center;gap:12px;font-size:15px;cursor:pointer}
.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw span{width:42px;height:26px;border-radius:999px;background:#e3e3e8;position:relative;transition:background .25s var(--ease);flex:none}
.sw span::after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .3s var(--ease)}
.sw input:checked + span{background:var(--brand)}.sw input:checked + span::after{transform:translateX(16px)}
.sw input:focus-visible + span{outline:2px solid var(--peri);outline-offset:2px}
.seg{display:inline-flex;background:#e3e3e8;border-radius:10px;padding:2px;gap:2px}
.seg button{border:0;background:transparent;border-radius:8px;padding:6px 14px;font:500 14px var(--f);color:var(--ink);cursor:pointer;transition:background .2s,box-shadow .2s}
.seg button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.14)}
.seg.wide{display:flex;margin-bottom:22px}.seg.wide button{flex:1;padding:9px 12px;font-size:15px}
.custom-view{border-radius:var(--r-md);padding:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;min-height:250px;align-content:start;background:#f4f8f4;border:1px solid #e3e8e6;transition:background .45s var(--ease),border-color .45s var(--ease)}
.cv-card{background:#fff;border:1px solid #CDD6D5;border-radius:14px;padding:14px 16px;display:grid;gap:6px;color:#05322D;transition:background .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),transform .45s var(--ease),opacity .3s}
.cv-card small{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#698481}
.cv-card strong{font:500 22px var(--f-mono);letter-spacing:-.02em}.cv-card em{font-style:normal;font-size:13px;color:#375B57}
.cv-card svg{width:100%;height:30px}
.bar{height:8px;border-radius:5px;background:#E6ECEB;overflow:hidden}.bar i{display:block;height:100%;background:var(--peri);border-radius:5px}.bar.loan i{background:#2B5876}.bar.good i{background:var(--brand)}
.custom-view[data-theme=dark]{background:#021412;border-color:#0d3c36}
.custom-view[data-theme=dark] .cv-card{background:#031E1B;border-color:#0d3c36;color:#EEF6ED}
.custom-view[data-theme=dark] .cv-card em{color:#9BADAB}.custom-view[data-theme=dark] .bar{background:#042824}.custom-view[data-theme=dark] .bar.loan i{background:#A2BDEF}
.cv-card.enter{animation:cv-in .45s var(--ease) both}
@keyframes cv-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}

/* ---------- privacy ---------- */
.lock{width:84px;height:84px;margin:0 auto 22px}
.points{list-style:none;padding:0;margin:56px auto 0;max-width:980px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:left}
.points b{display:block;font-size:19px;margin-bottom:6px;font-weight:600}
.points span{color:var(--on-dark-2);font-size:15px;line-height:1.45}

/* ---------- service ---------- */
.steps{max-width:980px;margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:left}
.step{background:#fff;border-radius:var(--r-md);padding:30px 26px;display:grid;gap:8px;align-content:start}
.step .n{width:34px;height:34px;border-radius:50%;background:var(--brand-deep);color:#fff;display:grid;place-items:center;font-weight:600;font-size:15px;margin-bottom:6px}
.step b{font-size:21px;font-weight:600;letter-spacing:.011em}.step span:not(.n){color:var(--ink-2);font-size:15.5px;line-height:1.45}

/* ---------- waitlist ---------- */
.form-card{max-width:560px;margin:44px auto 0;background:var(--soft);border-radius:var(--r-lg);padding:30px;text-align:left}
#wl-form{display:grid;gap:14px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fl{display:grid;gap:6px}.fl span{font-size:13px;color:var(--ink-2);letter-spacing:-.01em}
.fl input,.fl select,.fl textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 14px;font:17px var(--f);letter-spacing:-.022em;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.fl textarea{resize:vertical;min-height:88px}
.fl input:focus,.fl select:focus,.fl textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(100,190,90,.2)}
.form-err{color:var(--crit);font-size:14px;margin:0;min-height:1em}
#wl-form .fine{margin:2px 0 0;text-align:center}
.done{text-align:center;padding:20px 0 8px}
.done .check{width:64px;height:64px;border-radius:50%;background:var(--brand);color:#05322D;display:grid;place-items:center;font-size:30px;font-weight:700;margin:0 auto 14px;animation:pop .5s var(--ease) both}
.done h3{font-size:28px;margin:0 0 8px;font-weight:600}.done p{color:var(--ink-2);margin:0}
@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}

/* ---------- footer ---------- */
.foot{background:var(--soft);border-top:1px solid var(--line);font-size:12px;color:var(--ink-2);letter-spacing:-.01em}
.foot-in{max-width:980px;margin:0 auto;padding:20px 22px 30px}
.foot-in p{margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid var(--line);line-height:1.5}
.foot-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.foot-row nav{display:flex;gap:18px}.foot-row a{text-decoration:none}.foot-row a:hover{text-decoration:underline}

/* ---------- reveal on scroll ---------- */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1068px){.features{grid-template-columns:repeat(2,1fr)}.points{grid-template-columns:repeat(2,1fr)}}
@media (max-width:833px){
  .gnav-links{display:none;position:fixed;top:48px;left:0;right:0;bottom:0;flex-direction:column;gap:0;background:var(--bg);padding:8px 28px 22px;overflow-y:auto}
  .gnav.open{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}
  .gnav.open .gnav-links{display:flex;animation:drop .35s var(--ease)}
  .gnav-links li{border-bottom:1px solid rgba(0,0,0,.06)}.gnav-links a{display:block;font-size:24px;font-weight:600;padding:12px 0;opacity:1}
  .gnav-m{display:block}.gnav-burger{display:block}.gnav-login{display:none}
  .gnav-act{margin-left:auto}
  .grid2{grid-template-columns:1fr}.card{min-height:0}
  .custom{grid-template-columns:1fr}.steps{grid-template-columns:1fr}
  .m-kpis{grid-template-columns:repeat(2,1fr)}.m-tiles{grid-template-columns:repeat(2,1fr)}.m-tabs{display:none}
  .tile{padding:80px 20px}
}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (max-width:540px){
  .features,.points{grid-template-columns:1fr}.row2{grid-template-columns:1fr}
  .m-live{display:none}.device{padding:8px 8px 0;border-radius:18px 18px 0 0}
  .form-card{padding:22px 18px}.card{padding:44px 22px 0}
  .pill-sm{padding:5px 11px}
}

/* ---------- dark mode ---------- */
@media (prefers-color-scheme:dark){
  :root{--bg:#000;--soft:#101211;--ink:#f5f5f7;--ink-2:#a1a1a6;--ink-3:#86868b;--line:#38383a;--brand-ink:#83CB7B;color-scheme:dark}
  .gnav{background:rgba(22,22,23,.8);border-bottom-color:rgba(255,255,255,.08)}
  .gnav-burger span{background:var(--ink)}
  .hero{background:linear-gradient(180deg,#000 0%,#000 60%,var(--soft) 100%)}
  .device{background:linear-gradient(180deg,#2c2c2e,#1c1c1e);box-shadow:0 30px 80px rgba(0,0,0,.6)}
  .tile.dark{background:#050807}
  .card.light{background:var(--soft)}
  .a-tile{background:#1c1c1e;border-color:#38383a}.a-tile.crit{background:#3a1a17;border-color:#5c2622}.a-tile.crit strong,.a-tile.crit small{color:#ff8a7e}
  .custom-ctl,.form-card{background:var(--soft)}
  .sw span,.seg{background:#2c2c2e}.seg button{color:var(--ink)}.seg button[aria-pressed=true]{background:#48484a}
  .step{background:#1c1c1e}.step .n{background:var(--brand);color:#05322D}
  .fl input,.fl select,.fl textarea{background:#1c1c1e;border-color:#38383a}
  .pill{background:var(--brand);color:#05322D}.pill:hover{background:#7acb71}
  @media (max-width:833px){.gnav-links li{border-bottom-color:rgba(255,255,255,.08)}}
}

/* ---------- accessibility preferences ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{transform:none;transition:opacity .3s}
  .pulse,.dot{animation:none}
  .cv-card.enter,.done .check{animation:none}
}
@media (prefers-reduced-transparency:reduce){.gnav{background:#fbfbfd;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media (prefers-contrast:more){:root{--ink-2:#3a3a3c;--line:#8e8e93}}
