/* Fundaro brand system - taken from the fundaro.capital site export (fundaro.css, fd-early.css, v3.css, waitlist/v3).
   Four colours only: Ground #E7DED5 · Primary #271732 · Accent #FEEE00 · Black. Surfaces one step deeper: #DBD3CA.
   Type: Optima nova LT Pro (body) + Playfair Display (headings and display numbers, 400, -0.018em).
   Radius 5px (cards, CTA), 2px (inputs, form buttons), 16px (FAQ), 999px (pills). House easing cubic-bezier(.2,.7,.2,1). */
@font-face{font-family:'Playfair Display';src:url('/assets/playfair-display-latin.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';src:url('/assets/playfair-display-latin-ext.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Optima nova LT Pro';src:url('/assets/optima-nova-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Optima nova LT Pro';src:url('/assets/optima-nova-medium.woff2') format('woff2');font-weight:500 600;font-display:swap}
@font-face{font-family:'Optima nova LT Pro';src:url('/assets/optima-nova-bold.woff2') format('woff2');font-weight:700 900;font-display:swap}

:root{
  --ink:#271732; --paper:#E7DED5; --yellow:#FEEE00; --black:#000; --depth:#DBD3CA; --cream:#F0EAE5; --white:#fff;
  --graphite:#271732; --muted:#271732;
  --ink-70:rgba(39,23,50,.7); --ink-60:rgba(39,23,50,.6); --ink-45:rgba(39,23,50,.45); --ink-25:rgba(39,23,50,.25); --ink-12:rgba(39,23,50,.12);
  --display:'Playfair Display',Didot,'Bodoni 72',Georgia,serif;
  --body:'Optima nova LT Pro','Optima nova',Optima,Candara,'Gill Sans','Segoe UI',sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1); --r:5px; --r-in:2px; --r-faq:16px;
  --max:1296px; --gutter:clamp(20px,5vw,72px);
  /* status colours: the only non-brand hues, used for money/KYC states and errors */
  --ok:#2F6B4F; --ok-bg:#DCE9DF; --err:#9B3B2E; --err-bg:#F1D9D3; --warn:#6B5412; --warn-bg:#F4E9B8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums tabular-nums}
::selection{background:var(--yellow);color:var(--ink)}
a{color:var(--ink);text-underline-offset:3px}
a:hover{color:var(--ink-70)}
img,svg{max-width:100%}
h1,h2,h3,h4,h5{font-family:var(--display);font-weight:400;letter-spacing:-.018em;margin:0;color:var(--ink)}
h6{font-family:var(--body);font-weight:500;letter-spacing:.02em;margin:0}
p{margin:0 0 14px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.muted{color:var(--ink-70)} .tiny{font-size:12px;color:var(--ink-60)} .note{color:var(--ink-70);font-size:14px;margin:12px 0}
.num,.mono{font-variant-numeric:lining-nums tabular-nums}
.oldstyle{font-variant-numeric:oldstyle-nums}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* ── type roles ── */
.eyebrow{display:block;font-size:11px;line-height:1.4;letter-spacing:.32em;text-transform:uppercase;font-weight:400;color:var(--ink);margin:0 0 14px}
.lead{font-size:18px;line-height:1.6;font-weight:500}
h1.page-title{font-size:clamp(40px,5.2vw,72px);line-height:1.04;margin:0 0 18px}
h2.section-title{font-size:clamp(30px,3.2vw,48px);line-height:1.15;margin:56px 0 18px}
h3{font-size:26px;line-height:1.2;letter-spacing:-.01em}
.page-sub{font-size:18px;font-weight:500;color:var(--ink);max-width:640px;margin:0 0 6px}
.display{font-family:var(--display);font-weight:400;letter-spacing:-.018em}

/* ── buttons: one radius, one colour swap, one arrow nudge ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:0 22px;border:1px solid transparent;border-radius:var(--r);background:var(--yellow);color:var(--ink);font-family:var(--body);font-size:16px;font-weight:500;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .32s var(--ease),color .32s var(--ease),border-color .32s var(--ease),transform .32s var(--ease)}
.btn:hover{background:var(--ink);color:var(--yellow);transform:translateY(-1px)}
.btn .arrow{display:inline-block;transition:transform .32s var(--ease)} .btn:hover .arrow{transform:translateX(4px)}
.btn.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.secondary:hover{background:var(--ink);color:var(--cream)}
.btn.sharp{border-radius:var(--r-in);min-height:54px;font-size:16px}
.btn.block{width:100%}
.btn[disabled],.btn:disabled,.btn.is-off{opacity:.45;cursor:not-allowed;pointer-events:none}
.btn.sm{min-height:36px;padding:0 14px;font-size:14px}
.dark .btn.secondary,.on-dark .btn.secondary{color:var(--cream);border-color:var(--cream)}
.dark .btn.secondary:hover,.on-dark .btn.secondary:hover{background:var(--cream);color:var(--ink)}
.dark .btn:not(.secondary):hover,.on-dark .btn:not(.secondary):hover{background:var(--cream);color:var(--ink)}
.btn-google{background:var(--white);border-color:var(--ink-25);color:var(--ink);gap:10px;font-weight:400}
.btn-google:hover{background:var(--cream);color:var(--ink);transform:none}
summary.btn{list-style:none} summary.btn::-webkit-details-marker{display:none}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* ── forms ── */
.field{margin:0 0 18px}
.lbl,label.lbl{display:block;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);margin:0 0 10px}
input,select,textarea{font-family:var(--body);font-size:16px;color:var(--ink)}
.field input,.field select,.field textarea,input.in,select.in{width:100%;height:54px;padding:0 18px;background:var(--white);border:1.5px solid var(--ink);border-radius:var(--r-in);outline:none;transition:box-shadow .2s var(--ease)}
.field textarea{height:auto;padding:14px 18px}
.field input::placeholder{color:var(--ink-45)}
.field input:focus,.field select:focus,.field textarea:focus,input.in:focus{box-shadow:0 0 0 3px rgba(254,238,0,.9)}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 22px) 24px,calc(100% - 16px) 24px;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
input[type=file]{font-size:14px;max-width:100%}
input.stepnum{height:54px;width:96px;text-align:center;font-family:var(--display);font-size:26px;background:var(--white);border:1.5px solid var(--ink);border-radius:var(--r-in)}
.dark .field input,.dark .field select,.dark input.in{background:var(--cream);border:0;color:var(--ink)}
.dark .field input:focus,.dark input.in:focus{box-shadow:0 0 0 2px var(--yellow)}
.dark .lbl{color:var(--cream)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* custom checkbox with the yellow tick */
.check{display:flex;align-items:flex-start;gap:12px;margin:14px 0;cursor:pointer;font-size:14px;line-height:1.5}
.check>span{flex:1}
.check input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;margin:1px 0 0;border:1.5px solid var(--ink);border-radius:3px;background:var(--white);cursor:pointer;display:grid;place-content:center}
.check input::after{content:"";width:10px;height:6px;border:solid var(--ink);border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg);opacity:0}
.check input:checked{background:var(--yellow)} .check input:checked::after{opacity:1}
.check input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.check a{color:inherit}
.dark .check input{border-color:var(--cream);background:var(--cream)} .dark .check input:checked{background:var(--yellow);border-color:var(--yellow)}
.dark .check input:focus-visible{outline-color:var(--yellow)}
.form-row{display:flex;gap:8px} .form-row .field{flex:1;margin:0}
.msg{font-size:15px;min-height:0;margin:12px 0 0} .msg:empty{display:none} .msg.is-error{color:var(--err)} .dark .msg.is-error{color:#ff8a7a}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 16px;align-items:end}
.form-grid .field{margin:0} .form-grid .btn{justify-self:start}

/* ── surfaces ── */
.card{background:var(--depth);border-radius:var(--r);padding:28px;margin:0 0 16px}
.card.white{background:var(--white)}
.card>h3:first-child{margin-top:0}
.card h2{font-family:var(--display);font-weight:400;font-size:28px;margin:24px 0 10px;letter-spacing:-.018em} .card h2:first-child{margin-top:0}
.rule{height:1px;background:var(--ink-12);border:0;margin:20px 0}
.dark{background:var(--ink);color:var(--cream)}
.dark h1,.dark h2,.dark h3,.dark h4,.dark .eyebrow{color:var(--cream)}
.dark a{color:inherit} .dark a:hover{color:var(--yellow)}
.band-yellow{background:var(--yellow);color:var(--ink)}
.pull{border-left:3px solid var(--yellow);padding:4px 0 4px 22px;margin:28px 0;font-family:var(--display);font-size:24px;line-height:1.35;letter-spacing:-.01em;box-shadow:-1px 0 0 var(--ink-12)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;border-top:1px solid var(--ink-12);border-bottom:1px solid var(--ink-12);margin:24px 0}
.stats>div{padding:20px 20px 18px 0} .stats b{display:block;font-family:var(--display);font-weight:400;font-size:40px;line-height:1.05;letter-spacing:-.018em}
.stats span{display:block;margin-top:8px;font-size:10px;letter-spacing:.3em;text-transform:uppercase}
.pill{display:inline-block;padding:7px 13px 6px;border:1px solid var(--yellow);border-radius:999px;color:var(--yellow);font-size:11px;letter-spacing:.32em;text-transform:uppercase}
.pill.solid{background:var(--yellow);color:var(--ink)}
.badge{display:inline-block;background:var(--ink);color:var(--cream);font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:7px 11px 6px;border-radius:var(--r-in);font-weight:400}
.badge.open{background:var(--ink);color:var(--cream)} .badge.closed{background:var(--err);color:#fff} .badge.soft{background:var(--paper);color:var(--ink);border:1px solid var(--ink-25)}
.badge.step{background:transparent;color:var(--ink-60);border:1px solid var(--ink-25)} .badge.step.open{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.badge.step.cur{background:var(--yellow);color:var(--ink);border-color:var(--ink);font-weight:500}
.flash{border-radius:var(--r);padding:14px 18px;margin:0 0 20px;font-size:15px;background:var(--depth)}
.flash.ok{background:var(--ok-bg);color:var(--ok)} .flash.err{background:var(--err-bg);color:var(--err)} .flash a{color:inherit;font-weight:700}
.warn{background:var(--warn-bg);color:var(--warn);border-radius:var(--r);padding:14px 18px;margin:16px 0}
.statusline{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:14px}
.statusline:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 1px var(--ink)}

/* ── tables / rows ── */
.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th{text-align:left;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;padding:12px 14px;border-bottom:1px solid var(--ink)}
.tbl td{padding:14px;border-bottom:1px solid var(--ink-12);vertical-align:top}
table.tbl{background:var(--depth);border-radius:var(--r);overflow:hidden}
.tbl.facts td:first-child{color:var(--ink-70);width:34%}
.empty{color:var(--ink-60);text-align:center;padding:24px!important}
.amount-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--ink-12);font-size:15px}
.amount-row b{font-weight:700;text-align:right;white-space:nowrap}
.bank-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--ink-12)} .bank-row:first-child{border-top:0}
.bank-row>span:first-child{flex:0 0 160px;font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.bank-row b{flex:1;font-weight:700;word-break:break-all}
.copy-btn{background:transparent;border:1px solid var(--ink);border-radius:var(--r-in);padding:6px 14px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink);transition:background .25s var(--ease),color .25s var(--ease)}
.copy-btn:hover{background:var(--ink);color:var(--yellow)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:0 0 24px}
.kpi{background:var(--depth);border-radius:var(--r);padding:22px}
.kpi-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:8px}
.kpi-value{font-family:var(--display);font-size:34px;line-height:1.1;letter-spacing:-.018em}
.kpi-sub{font-size:12px;color:var(--ink-60);margin-top:4px}
ol.steps,ul.list{padding-left:22px} .steps li{margin:8px 0}
.doclib{list-style:none;padding:0;margin:0} .doclib li{padding:14px 0;border-top:1px solid var(--ink-12)} .doclib li:first-child{border-top:0}
.qr svg{width:180px;height:180px;background:#fff;padding:8px;border-radius:var(--r)}
pre.mono{background:var(--white);border-radius:var(--r);padding:16px}

/* ── tabs ── */
.tabs{display:flex;gap:30px;margin:28px 0 24px;border-bottom:1px solid var(--ink-25);flex-wrap:wrap}
.tabs button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:0 0 14px;font-family:var(--body);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-60);cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease)}
.tabs button:hover{color:var(--ink)} .tabs button.on{color:var(--ink);border-bottom-color:var(--ink)}
.tabpane{display:none} .tabpane.on{display:block;animation:fd-ea-in .5s var(--ease) both}

/* ── FAQ accordion (16px depth cards, +/- icon, height .35s) ── */
.faq{display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--depth);border-radius:var(--r-faq);padding:20px 24px;cursor:pointer}
.faq-item:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:16px;font-weight:500}
.faq-q:after{content:"+";font-size:22px;line-height:1;transition:transform .35s var(--ease)}
.faq-item.open .faq-q:after{content:"\2212";transform:rotate(180deg)}
.faq-a{overflow:hidden;height:0;opacity:0;transition:height .35s var(--ease),opacity .3s ease}
.faq-item.open .faq-a{opacity:1}
.faq-a p{margin:12px 0 0;font-size:14px;line-height:1.6;max-width:640px}

/* ── countdown cells ── */
.cells{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(240,234,229,.2);border-radius:var(--r-in);margin-top:16px}
.cells>div{padding:22px 6px 18px;text-align:center} .cells>div+div{border-left:1px solid rgba(240,234,229,.2)}
.cells b{display:block;font-family:var(--display);font-weight:400;font-size:46px;line-height:1;letter-spacing:-.018em}
.cells span{display:block;margin-top:12px;font-size:10px;letter-spacing:.3em;text-transform:uppercase}
.light .cells{border-color:var(--ink-25)} .light .cells>div+div{border-color:var(--ink-25)}
.navcd{display:inline-block;white-space:nowrap;font-size:16px;line-height:1;font-variant-numeric:lining-nums tabular-nums}

/* ── ticket (stub + main, perforation, notches) ── */
.ticket{display:grid;grid-template-columns:1fr;position:relative;filter:drop-shadow(0 24px 40px rgba(39,23,50,.14));--notch:11px}
.ticket-stub{position:relative;background:var(--ink);color:var(--cream);padding:28px 26px 26px;border-radius:var(--r) var(--r) 0 0}
.ticket-main{position:relative;background:var(--white);padding:30px 26px 28px;border-radius:0 0 var(--r) var(--r)}
.ticket-main:before{content:"";position:absolute;left:var(--notch);right:var(--notch);top:0;height:0;border-top:1.5px dashed var(--ink-25)}
.notch{position:absolute;width:calc(var(--notch)*2);height:calc(var(--notch)*2);border-radius:50%;background:var(--paper);z-index:2;top:calc(var(--notch)*-1)}
.notch.a{left:calc(var(--notch)*-1)} .notch.b{right:calc(var(--notch)*-1)}
.stub-big{font-family:var(--display);font-size:clamp(84px,14vw,120px);line-height:.9;letter-spacing:-.02em;margin:10px 0 0}
.stub-sub{font-size:12px;letter-spacing:.26em;text-transform:uppercase;margin-top:14px}

/* ── lit facade (500 windows, one per 10 bonds) ── */
.facade svg{display:block;width:100%;height:auto}
.facade .roof{fill:rgba(240,234,229,.16)} .facade .tile{stroke:rgba(39,23,50,.45);stroke-width:1.2}
.facade .cornice,.facade .plinth{fill:rgba(240,234,229,.2)} .facade .wall{fill:rgba(240,234,229,.085)} .facade .band{fill:rgba(240,234,229,.14)}
.facade .arch{fill:rgba(12,6,16,.45);stroke:rgba(240,234,229,.22);stroke-width:1} .facade .frame{fill:rgba(12,6,16,.5)}
.facade .rail{fill:none;stroke:rgba(240,234,229,.38);stroke-width:.9} .facade .w{fill:rgba(240,234,229,.07)}
.facade .l{fill:var(--yellow);opacity:0} .facade .l.on{opacity:1}
.facade.ready .l{transition:opacity .6s ease}

/* ── reveal on scroll (fade + rise .7s), word sharpen, ticker ── */
html.reveal-on [data-anim]{opacity:0;transform:translateY(20px)}
html.reveal-on [data-anim].is-in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
.sharp-words span{filter:blur(8px);opacity:.35;transition:filter .5s ease,opacity .5s ease} .sharp-words span.fd-sharp{filter:blur(0);opacity:1}
.ticker{overflow:hidden;white-space:nowrap;border-top:1px solid var(--ink-12);border-bottom:1px solid var(--ink-12);padding:22px 0}
.ticker ul{display:inline-flex;gap:30px;margin:0;padding:0;list-style:none;animation:fd-ticker var(--tick-dur,24s) linear infinite}
.ticker li{font-family:var(--display);font-size:clamp(30px,4vw,48px);letter-spacing:-.018em} .ticker li:after{content:"\25AA";margin-left:30px;font-size:.5em;vertical-align:middle}
@keyframes fd-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes fd-ea-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:0s!important}html.reveal-on [data-anim]{opacity:1;transform:none}.ticker ul{animation:none}}
