/* Liberated Financial v3 design */
:root{--paper:#FFFFFF;--ink:#1C1C1E;--ink2:#3A3A3C;--gold:#A8873F;--goldLt:#C9A961;--goldInk:#7E6224;--silver:#A7A9AC;--plat:#F5F5F4;--line:#E4E4E2;--mut:#6B6B70;--fd:'Bricolage Grotesque',system-ui,sans-serif;--fb:'Public Sans',system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-padding-top:88px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--fb);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--goldInk);text-underline-offset:3px}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.w{max-width:1180px;margin:0 auto;padding:0 32px}
h1,h2,h3{font-family:var(--fd);font-weight:700;letter-spacing:-.02em;margin:0;color:var(--ink)}
h1{font-size:clamp(44px,6.4vw,84px);line-height:1;font-variation-settings:"opsz" 96}
h2{font-size:clamp(32px,3.8vw,52px);line-height:1.04}
h3{font-size:22px;line-height:1.2;letter-spacing:-.01em}
p{margin:0}
.lede{font-size:20px;line-height:1.55;color:var(--ink2);max-width:600px}
.mut{color:var(--mut)}
.num{font-family:var(--fd);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.gold{color:var(--goldInk)}
/* buttons */
.b{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:4px;font-weight:700;font-size:16px;text-decoration:none;border:2px solid transparent;white-space:nowrap;cursor:pointer;font-family:var(--fb)}
.b-gold{background:var(--gold);color:var(--ink)}.b-gold:hover{background:#D4AE55;color:var(--ink)}
.b-ink{background:var(--ink);color:#FFFFFF}.b-ink:hover{background:var(--ink2);color:#FFFFFF}
.b-line{border-color:var(--ink);color:var(--ink);background:transparent}.b-line:hover{background:var(--ink);color:#FFFFFF}
.b-sm{min-height:42px;padding:0 16px;font-size:14.5px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:3px solid var(--gold)}
.top .w{display:flex;align-items:center;gap:28px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex:none}
.brand img{height:40px;width:auto}
.brand b{display:block;font-family:var(--fd);font-weight:800;font-size:18px;letter-spacing:-.01em;line-height:1.1}
.brand small{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mut);font-weight:600}
.brand small img{height:10px}
.nav{display:flex;gap:22px;flex:1;justify-content:center}
.nav a{color:var(--ink2);text-decoration:none;font-weight:600;font-size:15px;padding:24px 0 22px;border-bottom:3px solid transparent;margin-bottom:-3px}
.nav a:hover{color:var(--ink)}.nav a[aria-current]{color:var(--ink);border-bottom-color:var(--ink)}
.acts{display:flex;align-items:center;gap:16px;flex:none}
.acts .login{font-size:13.5px;font-weight:600;color:var(--mut);text-decoration:none}.acts .login:hover{color:var(--ink)}
@media (max-width:1060px){.top .w{flex-wrap:wrap;gap:0 16px;min-height:0;padding-top:12px}.brand{flex:1}.nav{order:3;flex-basis:100%;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;gap:20px}.nav::-webkit-scrollbar{display:none}.nav a{padding:12px 0 10px;white-space:nowrap}.acts .login{display:none}}
/* sections */
.sec{padding:104px 0}.sec+.sec{border-top:1px solid var(--line)}
.sec.plat{background:var(--plat);border-top:0}
.sec.ink{background:var(--ink);color:#FFFFFF;border-top:0}.sec.ink h2,.sec.ink h3{color:#FFFFFF}.sec.ink .mut{color:#AEB8CA}
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px;align-items:start}
.split>.side{position:sticky;top:110px}
.split>.side p{margin-top:18px;color:var(--mut);max-width:340px}
@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr);gap:28px}.split>.side{position:static}.sec{padding:72px 0}}
/* hero */
.hero{padding:88px 0 96px}
.hero .w{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center}
.hero .lede{margin-top:26px}.hero .row{margin-top:34px}
.pagehead{padding:88px 0 64px;border-bottom:1px solid var(--line)}
.pagehead .lede{margin-top:24px}
@media (max-width:900px){.hero .w{grid-template-columns:minmax(0,1fr);gap:40px}.hero{padding:56px 0 64px}.pagehead{padding:56px 0 44px}}
/* call ticket (the one bold moment) */
.ticket{background:var(--ink);color:#FFFFFF;border-radius:6px;padding:26px 26px 22px;box-shadow:0 30px 60px -30px rgba(19,32,54,.55);position:relative;overflow:hidden}
.ticket .tag{font-size:12.5px;color:#AEB8CA;font-weight:600}
.ticket .st{display:flex;align-items:center;gap:12px;margin-top:18px;font-family:var(--fd);font-size:28px;font-weight:700}
.ticket .dot{width:14px;height:14px;border-radius:50%;background:var(--gold);flex:none;box-shadow:0 0 0 0 rgba(194,154,62,.7);animation:ring 1s ease-out 3}
@keyframes ring{to{box-shadow:0 0 0 18px rgba(194,154,62,0)}}
.ticket dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:22px 0 0;font-size:15px}
.ticket dt{color:#AEB8CA}.ticket dd{margin:0;font-weight:600}
.ticket .done{display:none}
.ticket.closed .ring{display:none}.ticket.closed .done{display:block}
.ticket .pay{margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ticket .pay .num{font-size:44px;color:var(--gold)}
.ticket .done{animation:flip .5s ease-out}
@keyframes flip{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ticket .dot,.ticket .done{animation:none}}
/* facts ledger */
.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.facts>div{padding:22px 20px 22px 0}.facts>div+div{padding-left:20px;border-left:1px solid var(--line)}
.facts .num{font-size:40px;display:block;line-height:1}.facts span{display:block;font-size:14.5px;color:var(--mut);margin-top:10px;line-height:1.4}
@media (max-width:900px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts>div{padding:18px 14px 18px 0!important;border-left:0!important;border-bottom:1px solid var(--line)}}
/* program panels */
.progs2{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px;align-items:stretch}
@media (max-width:900px){.progs2{grid-template-columns:minmax(0,1fr)}}
.panel{border:1px solid var(--line);border-radius:6px;padding:34px;background:#FFFFFF;display:flex;flex-direction:column;gap:14px}
.panel.lead{background:var(--ink);color:#FFFFFF;border-color:var(--ink)}
.panel.lead h3,.panel.lead h2{color:#FFFFFF}.panel.lead .mut{color:#AEB8CA}
.panel .hd{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.panel .hd .num{font-size:52px;line-height:1}
.panel.lead .hd .num{color:var(--gold)}
.flag{align-self:flex-start;font-size:13px;font-weight:700;padding:5px 10px;border-radius:3px;background:var(--gold);color:var(--ink)}
.flag.out{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.ticks{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.ticks li{position:relative;padding-left:26px;font-size:16px;line-height:1.5}
.ticks li::before{content:"";position:absolute;left:2px;top:.55em;width:12px;height:7px;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)}
.panel .more{margin-top:auto;padding-top:10px;font-weight:700;color:inherit}
.panel.lead .more{color:var(--gold)}
.warn{background:var(--ink);color:#FFFFFF;border-left:6px solid var(--gold);padding:16px 18px;border-radius:4px;font-weight:600;line-height:1.5}
/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:16px}
.tbl th{text-align:left;font-size:13.5px;font-weight:700;color:var(--mut);padding:0 14px 12px 0;border-bottom:2px solid var(--ink)}
.tbl td{padding:15px 14px 15px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tbl td.n,.tbl th.n{text-align:right;font-variant-numeric:tabular-nums}
.tbl .num{font-size:22px}
.tbl tr.hl td{background:var(--plat)}
.tbl-wrap{overflow-x:auto}
/* ladder bars */
.lad2{display:flex;flex-direction:column;gap:6px}
.lad2 .r{display:grid;grid-template-columns:56px minmax(0,1fr) 92px;gap:14px;align-items:center;font-size:15px}
.lad2 .r b{font-family:var(--fd);font-size:24px}
.lad2 .bar{height:26px;background:var(--plat);border-radius:2px;position:relative}
.lad2 .bar i{position:absolute;inset:0 auto 0 0;background:var(--ink);border-radius:2px}
.lad2 .r.start .bar i{background:var(--gold)}
.lad2 .r small{grid-column:2/4;margin-top:-2px;font-size:13px;font-weight:700;color:var(--goldInk)}
.lad2 .ap{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
/* link index */
.idx{border-top:2px solid var(--ink)}
.idx a{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6fr) auto;gap:24px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.idx a:hover h3{color:var(--goldInk)}
.idx p{color:var(--mut)}
.idx .go{font-weight:700;color:var(--goldInk)}
@media (max-width:700px){.idx a{grid-template-columns:minmax(0,1fr)}.idx a{gap:6px}}
/* timeline */
.tl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px solid var(--ink);counter-reset:s}
.tl>div{padding:24px 22px 0 0;position:relative}
.tl>div::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--gold);border:3px solid #FFFFFF}
.tl .when{font-weight:700;color:var(--goldInk);font-size:14.5px}
.tl h3{margin-top:8px}.tl p{margin-top:10px;color:var(--mut);font-size:15.5px}
@media (max-width:800px){.tl{grid-template-columns:minmax(0,1fr);border-top:0;border-left:2px solid var(--ink);margin-left:6px}.tl>div{padding:0 0 30px 26px}.tl>div::before{top:4px;left:-9px}}
/* checklist */
.req{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.req li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.req li b{font-weight:700}
.req .ck{width:24px;height:24px;border:2px solid var(--ink);border-radius:3px;position:relative;margin-top:2px}
.req .ck::after{content:"";position:absolute;left:6px;top:2px;width:7px;height:12px;border-right:2.5px solid var(--goldInk);border-bottom:2.5px solid var(--goldInk);transform:rotate(45deg)}
/* faq */
.faq details{border-bottom:1px solid var(--line)}.faq{border-top:2px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-weight:700;font-size:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--fd);font-size:26px;line-height:1;color:var(--goldInk);flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 22px;color:var(--ink2);max-width:720px}
/* calculators */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.calc .in{padding:34px}.calc .out{padding:34px;background:var(--ink);color:#FFFFFF}
@media (max-width:860px){.calc{grid-template-columns:minmax(0,1fr)}.calc .in,.calc .out{padding:24px}}
.seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1.5px solid var(--ink);border-radius:4px;overflow:hidden;margin-top:12px}
.seg button{border:0;border-left:1.5px solid var(--ink);background:#FFFFFF;padding:12px 6px;font:inherit;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:2px}
.seg button:first-child{border-left:0}
.seg button b{font-family:var(--fd);font-size:24px}.seg button span{font-size:12.5px;color:var(--mut)}
.seg button.on{background:var(--ink);color:#FFFFFF}.seg button.on span{color:#C8D0DD}
.fld{margin-top:28px}.fld .lb{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:15px}
.fld .lb .num{font-size:24px}
.fld input[type=range]{width:100%;margin-top:12px;accent-color:var(--ink)}
.fld .hint{font-size:13.5px;color:var(--mut);margin-top:6px}
.out .big{font-family:var(--fd);font-weight:700;font-size:clamp(64px,8vw,96px);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums;margin-top:10px}
.out .lines{margin-top:24px;border-top:1px solid rgba(255,255,255,.18)}
.out .lines div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:15.5px}
.out .lines div b{font-variant-numeric:tabular-nums}
.out .lines .neg b{color:#E9B4A8}
.out .lines .tot{border-bottom:0;font-weight:700}.out .lines .tot b{color:var(--gold)}
/* video */
.vid{border-radius:6px;overflow:hidden;background:var(--ink);border:1px solid var(--line)}
.vid video{display:block;width:100%;height:auto}
.feat{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.feat li{padding:16px 0;border-top:1px solid var(--line)}.feat li b{display:block}.feat li span{display:block;font-size:15px;color:var(--mut);margin-top:4px}
@media (max-width:700px){.feat{grid-template-columns:minmax(0,1fr)}}
/* misc */
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{padding:7px 12px;border:1.5px solid var(--ink);border-radius:3px;font-weight:600;font-size:14.5px}
.chips span.on{background:var(--ink);color:#FFFFFF}
.cta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px}
.note{font-size:14.5px;color:var(--mut)}
/* footer */
.foot{background:var(--plat);padding:56px 0 44px;margin-top:0}
.foot .w{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:40px;align-items:start}
.foot img.lk{height:96px;width:auto}
.foot p{font-size:13.5px;line-height:1.6;color:var(--mut);max-width:560px}.foot p+p{margin-top:10px}
.foot .links{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;font-size:14px}
.foot .pw{font-size:12.5px;color:var(--mut);font-weight:600}.foot .pw img{display:block;height:24px;margin-top:8px}
@media (max-width:800px){.foot .w{grid-template-columns:minmax(0,1fr)}}
/* fixes after preview */
.facts span.num{color:var(--ink)}
.split .tl{grid-template-columns:minmax(0,1fr);border-top:0;border-left:2px solid var(--ink);margin-left:6px}
.split .tl>div{padding:0 0 30px 26px}.split .tl>div::before{top:4px;left:-9px}
.lad2 .r{grid-template-columns:56px minmax(0,1fr) 124px}
@media (max-width:600px){.lad2 .r{grid-template-columns:44px minmax(0,1fr) 92px;gap:10px;font-size:13.5px}.lad2 .r b{font-size:20px}}

/* ---- Liberated logo palette: gold + platinum on white, no dark panels ---- */
.top{border-bottom:2px solid var(--gold)}
.nav a[aria-current]{border-bottom-color:var(--gold)}
.b-gold{background:var(--gold);color:#FFFFFF}.b-gold:hover{background:#957632;color:#FFFFFF}
.b-line{border-color:var(--silver)}.b-line:hover{background:var(--plat);color:var(--ink);border-color:var(--ink)}
.ticket{background:#FFFFFF;color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--gold);box-shadow:0 24px 50px -28px rgba(28,28,30,.35)}
.ticket .tag,.ticket dt{color:var(--mut)}
.ticket .pay{border-top-color:var(--line)}.ticket .pay .num{color:var(--goldInk)}.ticket .pay .mut{color:var(--mut)!important}
.facts{border-top:2px solid var(--gold)}
.panel{border-color:var(--line)}
.panel.lead{background:#FFFFFF;color:var(--ink);border:2px solid var(--gold)}
.panel.lead h3,.panel.lead h2{color:var(--ink)}.panel.lead .mut{color:var(--mut)}
.panel.lead .hd .num,.panel.lead .more{color:var(--goldInk)}
.flag{background:var(--gold);color:#FFFFFF}.flag.out{border-color:var(--silver);color:var(--ink);background:transparent}
.warn{background:#FAF6EC;color:var(--ink);border-left:4px solid var(--gold)}
.warn a{color:var(--goldInk)!important}
.tbl th{border-bottom:2px solid var(--gold)}
.tbl tr.hl td{background:#FAF6EC}
.idx,.faq,.req{border-top-color:var(--gold)}
.req .ck{border-color:var(--silver)}
.tl{border-top-color:var(--silver)}.split .tl{border-left-color:var(--silver)}
.lad2 .bar{background:var(--plat)}.lad2 .bar i{background:var(--silver)}.lad2 .r.start .bar i{background:var(--gold)}
.calc .out{background:var(--plat);color:var(--ink)}
.out .big{color:var(--goldInk)}
.out .lines{border-top-color:var(--line)}.out .lines div{border-bottom-color:var(--line)}
.out .lines .neg b{color:#A23B2A}.out .lines .tot b{color:var(--goldInk)}
.out .olbl{color:var(--ink2);font-weight:600}.out .osub{color:var(--mut);font-size:14.5px;margin-top:8px}
.seg{border-color:var(--silver)}.seg button{border-left-color:var(--silver)}
.seg button.on{background:var(--gold);color:#FFFFFF}.seg button.on span{color:#FFF5DF}
.fld input[type=range]{accent-color:var(--gold)}
.chips span{border-color:var(--silver)}.chips span.on{background:var(--gold);border-color:var(--gold);color:#FFFFFF}
.vid{background:var(--plat)}
.sec.plat{background:var(--plat)}
.foot{background:var(--plat);border-top:2px solid var(--gold)}

/* ---- one-row header + side drawer ---- */
.top .w{flex-wrap:nowrap!important;gap:12px!important;min-height:72px!important;padding-top:0!important}
.top .brand{margin-right:auto;flex:1 1 auto;min-width:0}
.top .b-sm{flex:none;min-height:44px}
.burger{flex:none;width:46px;height:46px;border:1.5px solid var(--silver);border-radius:4px;background:#FFFFFF;display:grid;place-items:center;cursor:pointer;padding:0}
.burger span{display:block;width:18px;height:2px;background:var(--ink);box-shadow:0 -6px 0 var(--ink),0 6px 0 var(--ink)}
.burger:hover{border-color:var(--ink)}
.scrim{position:fixed;inset:0;background:rgba(28,28,30,.34);z-index:90}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(350px,88vw);z-index:91;background:#FFFFFF;border-left:3px solid var(--gold);display:flex;flex-direction:column;padding:calc(14px + env(safe-area-inset-top,0px)) calc(22px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) 24px;overflow-y:auto;transform:translateX(104%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
.drawer.open{transform:none;visibility:visible;transition:transform .25s ease}
.drawer .x{align-self:flex-end;width:44px;height:44px;border:0;border-radius:4px;background:var(--plat);font-size:26px;line-height:1;cursor:pointer;color:var(--ink)}
.drawer nav{display:flex;flex-direction:column;margin-top:6px}
.drawer nav a{display:block;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.drawer nav a b{display:block;font-family:var(--fd);font-weight:700;font-size:21px;letter-spacing:-.01em}
.drawer nav a small{display:block;margin-top:1px;font-size:14px;color:var(--mut)}
.drawer nav a[aria-current] b{color:var(--goldInk)}
.drawer .dfoot{margin-top:auto;padding-top:22px;display:flex;flex-direction:column;gap:14px}
.drawer .dfoot .b{width:100%}
.drawer .logins{display:flex;gap:18px;justify-content:center;font-size:14px}.drawer .logins a{color:var(--mut)}
@media (prefers-reduced-motion:reduce){.drawer,.drawer.open{transition:none}}
.progs2.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}

/* ---- phone polish ---- */
@media (max-width:900px){.progs2.even{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){
  .w{padding:0 20px}
  .top .w{min-height:64px!important}
  .brand img{height:34px}.brand b{font-size:16px}.brand small{font-size:11px}
  .sec{padding:56px 0}.pagehead{padding:40px 0 32px}.hero{padding:36px 0 44px}
  h1{font-size:clamp(38px,11vw,56px)}h2{font-size:clamp(28px,8vw,40px)}
  .lede{font-size:18px}
  .hero .row .b{flex:1 1 100%}
  .panel{padding:24px}
  .panel .hd .num{font-size:40px}
  .ticket{padding:22px 20px 18px}.ticket .st{font-size:24px}.ticket .pay .num{font-size:38px}
  .tbl{font-size:15px}.tbl .num{font-size:19px}
  .calc .in,.calc .out{padding:22px}
  .seg button{padding:10px 2px}.seg button b{font-size:21px}
  .faq summary{font-size:17px}
  .cta .b{width:100%}
  .foot img.lk{height:72px}
}
.tbl td:first-child b{white-space:nowrap}

/* Swag Shop header button */
.top .b-shop{flex:none}
@media (max-width:520px){.top .brand>span{display:none}.top .brand img{height:40px}}
@media (max-width:360px){.top .b-shop,.top .b-gold.b-sm{padding:0 11px;font-size:13.5px}.top .w{gap:8px!important}}
