/* ShiokFit — dark + gold, private-banking ledger aesthetic */
:root{
  --ink:#0A0A0C;
  --panel:#121215;
  --panel-2:#17171B;
  --line:#26262C;
  --text:#EDE9E0;
  --muted:#97928A;
  --gold:#D9B36C;          /* brand accent · revenue · settled */
  --gold-soft:#B99656;
  --debit:#C0685C;         /* expense */
  --radius:14px;
  --w:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--ink);
  color:var(--text);
  font-family:"Archivo",system-ui,-apple-system,sans-serif;
  font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
a{color:var(--text)}
.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}
a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}

/* header */
header{position:sticky;top:0;z-index:10;background:rgba(10,10,12,.85);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-weight:700;letter-spacing:.02em;text-decoration:none;font-size:18px}
.logo span{color:var(--gold)}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{color:var(--muted);text-decoration:none;font-size:14.5px;transition:color .2s}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--gold)}

/* hero */
.hero{padding:92px 0 76px;border-bottom:1px solid var(--line);
  background:
    radial-gradient(900px 420px at 78% -10%,rgba(217,179,108,.07),transparent 60%),
    var(--ink)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold);margin-bottom:18px}
h1{font-size:clamp(34px,4.6vw,56px);line-height:1.06;font-weight:700;
  letter-spacing:-.015em;margin-bottom:22px}
h1 em{font-style:normal;color:var(--gold)}
.lede{color:var(--muted);font-size:19px;max-width:33em;margin-bottom:34px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}
.badge{display:inline-flex;flex-direction:column;justify-content:center;
  border:1px solid var(--line);background:var(--panel);border-radius:12px;
  padding:10px 20px;text-decoration:none;min-width:170px;
  transition:border-color .2s,transform .2s}
.badge:hover{border-color:var(--gold);transform:translateY(-1px)}
.badge small{font-size:11px;color:var(--muted);letter-spacing:.05em}
.badge strong{font-size:16px;font-weight:600}

/* wallet card (signature) */
.wallet{
  background:linear-gradient(165deg,var(--panel-2),var(--panel));
  border:1px solid var(--line);border-radius:18px;
  padding:26px 26px 22px;box-shadow:0 28px 70px rgba(0,0,0,.5);
  position:relative;overflow:hidden}
.wallet::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(120deg,transparent 30%,rgba(217,179,108,.05) 50%,transparent 70%)}
.w-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.w-head .t{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.w-head .live{font-size:11.5px;color:var(--gold);letter-spacing:.1em}
.w-head .live::before{content:"●";margin-right:6px;font-size:9px}
.w-budget{font-size:52px;font-weight:600;letter-spacing:-.01em;line-height:1.1}
.w-sub{color:var(--muted);font-size:13px;margin-bottom:18px}
.w-rows{border-top:1px solid var(--line)}
.w-row{display:flex;justify-content:space-between;align-items:baseline;
  padding:11px 0;border-bottom:1px dashed var(--line);
  opacity:0;transform:translateY(6px);animation:entry .5s ease forwards}
.w-row .item{font-size:14.5px}
.w-row .item small{display:block;color:var(--muted);font-size:11.5px;margin-top:1px}
.w-row .amt{font-size:15px}
.amt.debit{color:var(--debit)}
.amt.credit{color:var(--gold)}
.w-row:nth-of-type(1){animation-delay:.4s}
.w-row:nth-of-type(2){animation-delay:1.1s}
.w-row:nth-of-type(3){animation-delay:1.8s}
.settle{display:flex;justify-content:space-between;align-items:center;
  padding-top:15px;opacity:0;animation:entry .6s ease 2.6s forwards}
.settle .label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);font-weight:600}
.settle .zero{font-size:24px;font-weight:600;color:var(--gold)}
@keyframes entry{to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){
  .w-row,.settle{animation:none;opacity:1;transform:none}
}

/* sections */
section{padding:80px 0;border-bottom:1px solid var(--line)}
.sec-eyebrow{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);margin-bottom:14px}
h2{font-size:clamp(26px,3.2vw,38px);line-height:1.12;letter-spacing:-.01em;
  margin-bottom:18px;font-weight:700}
.sec-lede{color:var(--muted);max-width:42em;font-size:18px}

/* bi-directional panel */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.duo .card{padding:30px}
.dir{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:14px}
.dir.out{color:var(--debit)}
.dir.in{color:var(--gold)}
.duo h3{font-size:21px;margin-bottom:10px;font-weight:600}
.duo p{color:var(--muted);font-size:15.5px}
.duo .example{margin-top:18px;padding:14px 16px;border:1px solid var(--line);
  border-radius:10px;background:var(--ink);font-size:14px;color:var(--text)}
.duo .example b{color:var(--gold);font-weight:600}

/* feature grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.card .k{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.card h3{font-size:18.5px;margin-bottom:9px;font-weight:600}
.card p{color:var(--muted);font-size:15px}

/* day timeline */
.day{margin-top:44px;border-left:1px solid var(--line);padding-left:34px;max-width:640px}
.step{position:relative;padding-bottom:34px}
.step:last-child{padding-bottom:0}
.step::before{content:"";position:absolute;left:-39px;top:7px;width:9px;height:9px;
  border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(217,179,108,.15)}
.step .time{font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--gold);
  letter-spacing:.08em;margin-bottom:4px}
.step h3{font-size:18px;font-weight:600;margin-bottom:5px}
.step p{color:var(--muted);font-size:15.5px;max-width:34em}

/* philosophy band */
.band{padding:88px 0;text-align:center;border-bottom:1px solid var(--line);
  background:radial-gradient(700px 300px at 50% 0%,rgba(217,179,108,.05),transparent 70%)}
.band blockquote{font-size:clamp(22px,3vw,32px);font-weight:600;line-height:1.3;
  max-width:24em;margin:0 auto 14px;letter-spacing:-.01em}
.band blockquote em{font-style:normal;color:var(--gold)}
.band .attr{color:var(--muted);font-size:14px;font-family:"IBM Plex Mono",monospace;letter-spacing:.1em}

/* pricing */
.price-card{max-width:540px;margin:44px auto 0;
  background:linear-gradient(165deg,var(--panel-2),var(--panel));
  border:1px solid rgba(217,179,108,.35);border-radius:var(--radius);
  padding:38px;text-align:center}
.price-card .plan{font-family:"IBM Plex Mono",monospace;font-size:12.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.price{font-size:46px;font-weight:700;letter-spacing:-.01em}
.price small{font-size:16px;color:var(--muted);font-weight:400}
.price-alt{color:var(--muted);margin-top:6px;font-size:15px}
.price-note{color:var(--muted);font-size:14px;margin-top:22px;
  border-top:1px solid var(--line);padding-top:22px;text-align:left}

/* footer */
footer{padding:44px 0 56px;color:var(--muted);font-size:14px}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot a{color:var(--muted);text-decoration:none;margin-right:22px}
.foot a:hover{color:var(--gold)}

/* legal pages */
.legal{padding:72px 0 90px;max-width:760px;margin:0 auto}
.legal h1{font-size:34px;margin-bottom:8px}
.legal .updated{color:var(--muted);font-size:14px;margin-bottom:40px;
  font-family:"IBM Plex Mono",monospace}
.legal h2{font-size:21px;margin:40px 0 12px}
.legal p,.legal li{color:#CBC7BE;font-size:16px}
.legal ul{padding-left:22px;margin:12px 0}
.legal li{margin-bottom:8px}
.legal strong{color:var(--text)}
.legal a{color:var(--gold)}

@media (max-width:880px){
  .wrap{padding:0 32px}
  .hero{padding:56px 0 52px}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .duo,.grid{grid-template-columns:1fr}
  .nav-links a.hide-m{display:none}
  section{padding:58px 0}
  .w-budget{font-size:44px}
  .legal{padding:52px 0 72px}
  .legal h1{font-size:29px}
  body{font-size:16.5px}
}
