/* TRE CAPITAL DAO — Revolutionary design system v2 */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Inter:wght@400;500;600;700;800&display=swap');
:root{
  --gold:#C9A227; --gold2:#F2B33D; --gold-grad:linear-gradient(120deg,#8a6d1c,#C9A227 40%,#F2B33D 60%,#C9A227);
  --ink:#07070a; --ink2:#0d0d12; --panel:#121218; --line:#2a2a33; --txt:#f4f1e8; --mut:#a7adb8; --paper:#FAF7F0;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--txt);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,serif}
a{color:var(--gold2)}
::selection{background:var(--gold);color:#000}
/* ---------- nav ---------- */
nav{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;justify-content:space-between;align-items:center;padding:14px 26px;background:linear-gradient(180deg,rgba(5,5,8,.88),rgba(5,5,8,.55) 70%,transparent);backdrop-filter:blur(8px)}
.brand{letter-spacing:4px;font-weight:800;font-size:19px;color:#fff;text-decoration:none}
.brand b{color:var(--gold2)} .brand small{display:block;letter-spacing:2.5px;font-size:9.5px;color:var(--mut);font-weight:600}
.navlinks{display:flex;gap:22px;align-items:center;font-size:13.5px}
.navlinks a{color:#e9e5d8;text-decoration:none;letter-spacing:.4px}
.navlinks a:hover{color:var(--gold2)}
.btn{display:inline-block;background:var(--gold-grad);color:#141005;padding:12px 24px;border-radius:3px;text-decoration:none;font-weight:800;letter-spacing:.6px;font-size:14px;border:0;cursor:pointer;box-shadow:0 6px 28px rgba(201,162,39,.35);transition:transform .25s,box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(201,162,39,.5)}
.btn.ghost{background:transparent;color:var(--gold2);border:1px solid var(--gold);box-shadow:none}
/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}
.hero img.bg{position:absolute;inset:0;width:100%;height:118%;object-fit:cover;object-position:center 20%;will-change:transform}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,10,.42),rgba(7,7,10,.05) 35%,rgba(7,7,10,.88) 82%,var(--ink))}
.hero-in{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding:150px 22px 64px;width:100%}
.kicker{letter-spacing:5px;font-size:12.5px;color:var(--gold2);font-weight:700;text-transform:uppercase}
.hero h1{font-size:clamp(46px,7.5vw,92px);line-height:.98;margin:14px 0 10px;font-weight:600}
.hero h1 em{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 12px rgba(0,0,0,.95)) drop-shadow(0 0 3px rgba(0,0,0,.9))}
.hero p.lede{font-size:clamp(16px,2vw,20px);color:#e6e1d2;max-width:720px;line-height:1.65}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.pillrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.pill{border:1px solid rgba(242,179,61,.45);color:#f0d492;border-radius:30px;padding:6px 14px;font-size:12.5px;background:rgba(10,10,14,.5);backdrop-filter:blur(6px)}
.scrolldown{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:2;color:var(--gold2);font-size:11px;letter-spacing:3px;animation:bob 2.4s infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
/* ---------- marquee ---------- */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink2);overflow:hidden;white-space:nowrap;padding:13px 0}
.marquee div{display:inline-block;animation:mq 30s linear infinite;color:#cdc6ae;letter-spacing:3px;font-size:12.5px}
.marquee span{margin:0 26px}.marquee b{color:var(--gold2)}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* ---------- sections ---------- */
section{max-width:1120px;margin:0 auto;padding:84px 22px 10px}
.sec-k{letter-spacing:4px;color:var(--gold2);font-size:12px;font-weight:700;text-transform:uppercase;text-align:center}
section h2{font-size:clamp(32px,4.6vw,52px);text-align:center;margin:10px 0 8px;font-weight:600}
.sec-sub{text-align:center;color:var(--mut);max-width:760px;margin:0 auto;line-height:1.7;font-size:16.5px}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}
/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:38px}
.stat{background:linear-gradient(180deg,var(--panel),#0b0b10);border:1px solid var(--line);border-radius:10px;padding:22px;text-align:center}
.stat .n{font-family:'Cormorant Garamond',serif;font-size:46px;color:var(--gold2);font-weight:700;line-height:1}
.stat .l{color:var(--mut);font-size:12.5px;letter-spacing:1.6px;text-transform:uppercase;margin-top:8px}
/* ---------- package cards ---------- */
.pkg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:44px}
.pkg{position:relative;border-radius:14px;overflow:hidden;background:var(--panel);border:1px solid var(--line);transition:transform .35s,border-color .35s,box-shadow .35s}
.pkg:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 0 1px rgba(201,162,39,.25)}
.pkg .ph{height:190px;overflow:hidden;position:relative}
.pkg .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.pkg:hover .ph img{transform:scale(1.07)}
.pkg .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,var(--panel))}
.pkg .pb{padding:6px 24px 26px;position:relative}
.pkg h3{font-size:30px;margin:2px 0 4px}
.price{font-size:34px;font-weight:800}.price s{color:var(--mut);font-size:20px;font-weight:500}
.annual{color:var(--gold2);font-size:14.5px;margin:2px 0 10px}
.pkg ul{padding-left:18px;line-height:1.75;color:#e8e4d6;font-size:14.5px}
.fine{color:var(--mut);font-size:12.5px;line-height:1.6}
.pkg .pb .btn{margin-top:14px;width:100%;text-align:center}
.tag{position:absolute;top:14px;right:14px;z-index:2;background:rgba(7,7,10,.75);border:1px solid var(--gold);color:var(--gold2);padding:5px 12px;border-radius:20px;font-size:11.5px;letter-spacing:1.5px;backdrop-filter:blur(6px)}
/* ---------- window banner ---------- */
.window{margin-top:44px;border-radius:16px;padding:2px;background:var(--gold-grad)}
.window-in{background:#0c0a04;border-radius:14px;padding:30px 28px;text-align:center;position:relative;overflow:hidden}
.window-in::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 50% 0%,rgba(242,179,61,.16),transparent 55%)}
.window h3{font-size:36px;margin:4px 0;color:#fff}
.cd{display:flex;gap:10px;justify-content:center;margin:16px 0 6px;flex-wrap:wrap}
.cd div{background:#171306;border:1px solid #3d2f08;border-radius:8px;padding:10px 14px;min-width:76px}
.cd .v{font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--gold2);font-weight:700;line-height:1}
.cd .k{font-size:10.5px;letter-spacing:2px;color:var(--mut);text-transform:uppercase}
.bonus{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px;position:relative}
.bonus span{border:1px solid #463606;background:rgba(242,179,61,.07);border-radius:8px;padding:9px 14px;font-size:13.5px;color:#f0d492}
/* ---------- journey ---------- */
.journey{margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;position:relative}
.step{padding:22px 16px;text-align:center;position:relative}
.step .dot{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--gold2);background:#0d0c06;box-shadow:0 0 0 6px rgba(201,162,39,.07)}
.step h4{margin:6px 0;font-size:17px;font-family:'Cormorant Garamond',serif}
.step p{color:var(--mut);font-size:13px;line-height:1.6}
/* ---------- showcase frames ---------- */
.frame{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0a0a0e;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.frame .bar{display:flex;gap:7px;align-items:center;padding:10px 14px;background:#17171f;border-bottom:1px solid var(--line)}
.frame .bar i{width:11px;height:11px;border-radius:50%;background:#333;display:block}.frame .bar i:nth-child(1){background:#5a2d2d}.frame .bar i:nth-child(2){background:#5a4a2d}.frame .bar i:nth-child(3){background:#2d5a35}
.frame .bar span{margin-left:10px;color:var(--mut);font-size:12.5px;letter-spacing:.5px}
.frame img{width:100%;display:block}
.show-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:40px}
/* ---------- verify widget ---------- */
.verify{background:linear-gradient(180deg,#101018,#0a0a0f);border:1px solid var(--line);border-radius:14px;padding:26px;margin-top:40px}
.verify .row{display:flex;gap:10px;flex-wrap:wrap}
.verify input{flex:1;min-width:230px;background:#0a0a0f;border:1px solid var(--line);border-radius:6px;color:#fff;padding:13px 15px;font-size:16px;letter-spacing:1px}
.vres{margin-top:18px;border:1px solid #2f4429;background:rgba(38,66,30,.16);border-radius:10px;padding:18px;display:none}
.vres.show{display:block;animation:pop .5s cubic-bezier(.2,.9,.3,1.2)}
@keyframes pop{from{transform:scale(.97);opacity:0}}
.vres .ok{color:#9ed08a;font-weight:700;letter-spacing:1px}
.qrbox{background:#fff;border-radius:10px;padding:10px;display:inline-block}
/* ---------- criteria bars ---------- */
.crit{margin-top:14px}
.crit .r{display:flex;justify-content:space-between;font-size:14px;padding:7px 0;border-bottom:1px dashed #26262e}
.crit .bar{height:8px;background:#1c1c22;border-radius:6px;overflow:hidden;margin:4px 0 8px}
.crit .fill{height:100%;width:0;background:var(--gold-grad);border-radius:6px;transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
/* ---------- docs & tables ---------- */
.doc-card{display:flex;justify-content:space-between;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:15px 18px;margin:9px 0;transition:border-color .3s,transform .3s}
.doc-card:hover{border-color:var(--gold);transform:translateX(4px)}
.doc-card .t{font-family:'Cormorant Garamond',serif;font-size:19px}
.doc-card .m{color:var(--mut);font-size:12px;letter-spacing:.4px}
table{width:100%;border-collapse:collapse;font-size:14.5px}
td,th{border-bottom:1px solid var(--line);padding:9px 6px;text-align:left}
th{color:var(--mut);font-size:12px;letter-spacing:1.4px;text-transform:uppercase}
.st-executed{color:#9ed08a;font-weight:700}.st-active{color:var(--gold2);font-weight:600}
/* ---------- modal / faq ---------- */
.modal{position:fixed;inset:0;background:rgba(3,3,5,.86);backdrop-filter:blur(6px);z-index:90;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal .box{background:#0e0e13;border:1px solid var(--gold);border-radius:12px;width:min(920px,96vw);height:min(84vh,900px);display:flex;flex-direction:column;overflow:hidden}
.modal .mh{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line)}
.modal iframe{flex:1;border:0;background:#fff}
.x{background:none;border:1px solid var(--line);color:#fff;border-radius:6px;padding:7px 13px;cursor:pointer}
details.faq{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:9px 0;padding:15px 18px}
details.faq summary{cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:20px;color:#f0ead2}
details.faq p{color:var(--mut);line-height:1.7}
footer{border-top:1px solid var(--line);margin-top:90px;padding:36px 22px 46px;color:var(--mut);font-size:12.5px;line-height:1.7}
footer .in{max-width:1120px;margin:0 auto}
.badges{display:flex;gap:8px;flex-wrap:wrap}
.bdg{border:1px solid var(--gold);color:var(--gold2);border-radius:20px;padding:5px 13px;font-size:12px;letter-spacing:.6px;background:rgba(201,162,39,.06)}
/* ---------- readability: hero text always sits on shadow ---------- */
.hero-in h1,.hero-in .lede,.hero-in .kicker{text-shadow:0 2px 22px rgba(0,0,0,.85),0 1px 4px rgba(0,0,0,.9)}
.hero-in .lede{font-weight:500}
/* ---------- forms ---------- */
.form-wrap{max-width:820px;margin:0 auto;padding:120px 18px 30px}
.fcard{background:linear-gradient(180deg,#12121a,#0b0b10);border:1px solid var(--line);border-radius:14px;padding:28px 24px;margin-top:22px}
.fcard h3{font-size:24px;margin:22px 0 6px;color:#f0d492;border-bottom:1px solid var(--line);padding-bottom:8px}
.fcard h3:first-child{margin-top:0}
label{display:block;font-size:13px;letter-spacing:.6px;color:#cfc9b8;margin:14px 0 6px;font-weight:600}
label .req{color:var(--gold2)}
input,select,textarea{width:100%;background:#0a0a0f;border:1px solid var(--line);border-radius:8px;color:#fff;padding:13px 14px;font-size:16px;font-family:Inter,system-ui,sans-serif}
input:focus,select,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
textarea{min-height:96px;resize:vertical}
.help{font-size:12px;color:var(--mut);margin-top:5px;line-height:1.55}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pkgpick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.pkgpick label{margin:0;cursor:pointer}
.pkgpick input{position:absolute;opacity:0;pointer-events:none}
.pkgpick .opt{border:1px solid var(--line);border-radius:10px;padding:14px 12px;text-align:center;font-family:'Cormorant Garamond',serif;font-size:19px;color:#e8e4d6;background:#0d0d13;transition:all .25s}
.pkgpick input:checked + .opt{border-color:var(--gold2);background:rgba(201,162,39,.13);color:#fff;box-shadow:0 0 0 1px var(--gold2)}
.hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;overflow:hidden}
.err{background:rgba(140,30,20,.18);border:1px solid #8c3a2a;color:#f0b8ac;border-radius:8px;padding:12px 14px;font-size:14px;margin-top:14px;display:none}
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* ---------- mobile ---------- */
@media(max-width:760px){
  nav{padding:10px 14px}
  .brand{font-size:15px;letter-spacing:2.5px}.brand small{font-size:8px;letter-spacing:1.6px}
  .navlinks{gap:10px}.navlinks a:not(.btn){display:none}
  .navlinks .btn{padding:10px 14px;font-size:12.5px;white-space:nowrap}
  .hero{min-height:92vh}
  .hero img.bg{object-position:center 12%}
  .hero::after{background:linear-gradient(180deg,rgba(7,7,10,.6),rgba(7,7,10,.62) 26%,rgba(7,7,10,.82) 52%,rgba(7,7,10,.95) 78%,var(--ink))}
  .hero-in{padding:108px 18px 52px}
  .hero h1{font-size:clamp(40px,12.5vw,54px)}
  .hero h1 em{background:none;color:#F2B33D;-webkit-text-fill-color:#F2B33D;text-shadow:0 2px 16px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.9)}
  .hero p.lede{font-size:16.5px;line-height:1.62}
  .hero-cta .btn{flex:1;text-align:center;padding:15px 10px}
  .pill{font-size:11.5px;padding:6px 11px}
  section{padding:56px 16px 6px}
  .pkg-grid,.show-grid{grid-template-columns:1fr}
  .pkg .ph{height:170px}
  .stats{grid-template-columns:1fr 1fr}
  .cd div{min-width:64px;padding:8px 10px}.cd .v{font-size:27px}
  .window-in{padding:22px 16px}
  .journey{grid-template-columns:1fr 1fr}
  .verify .row{flex-direction:column}.verify .row .btn{width:100%}
  .doc-card{flex-direction:column;align-items:flex-start}.doc-card .btn{width:100%;text-align:center}
  .two{grid-template-columns:1fr}
  .pkgpick{grid-template-columns:1fr}
  .form-wrap{padding-top:96px}
  .fcard{padding:20px 16px}
  .modal{padding:0}.modal .box{width:100vw;height:100dvh;border-radius:0;border:0}
  table{font-size:13.5px}
  .frame .bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:380px){ .journey{grid-template-columns:1fr} .stats{grid-template-columns:1fr 1fr} }
