/* ==========================================================================
   DAN mobile + tablet UI  (loaded after dan.css; scoped to html.m, <=1024px)
   Phone: app-style shell (floating bar, full-screen menu, bottom dock),
   swipe carousels, tabs, tap-to-expand rows.  Tablet: two-column layouts.
   ========================================================================== */
html.m{--bar:58px;--dock:72px;--pad:clamp(18px, 5.5vw, 24px)}
html.m,html.m body{overflow-x:hidden!important;max-width:100vw!important;box-sizing:border-box!important}
html.m body{padding-bottom:calc(var(--dock) + env(safe-area-inset-bottom,0px) + 8px)}
html.m .wrap{width:auto!important;margin-inline:var(--pad)!important;box-sizing:border-box!important}
html.m .container{width:100%!important;max-width:100vw!important;box-sizing:border-box!important;padding-inline:var(--pad)!important}
html.m h2{font-size:clamp(1.65rem,6.4vw,2.35rem);line-height:1.08;max-width:none;margin-bottom:.8rem}
html.m h3{font-size:1.2rem}
html.m section{scroll-margin-top:84px}
html.m .pill{font-size:.72rem;padding:.28rem .75rem;margin-bottom:.8rem}
html.m p{font-size:.98rem;line-height:1.62}
html.m .btn{-webkit-tap-highlight-color:transparent}
html.m a,html.m button{-webkit-tap-highlight-color:transparent}
html.m .btn:active,html.m .door:active,html.m .tier:active{transform:scale(.98)}

/* ---------- floating bar ---------- */
html.m .top{position:fixed!important;top:max(10px,env(safe-area-inset-top,0px))!important;left:10px!important;right:10px!important;width:auto!important;transform:none!important;border-radius:20px!important;background:rgba(43,48,58,.85)!important;border:1px solid rgba(229,190,115,.35)!important;backdrop-filter:blur(18px) saturate(1.6)!important;-webkit-backdrop-filter:blur(18px) saturate(1.6)!important;box-shadow:0 14px 34px -12px rgba(15,18,25,.6)!important;transition:translate .45s cubic-bezier(.2,.8,.2,1),background .3s!important;z-index:10001!important;pointer-events:auto!important}
html.m body.sc .top{top:max(8px,env(safe-area-inset-top,0px));background:rgba(43,48,58,.92)}
html.m .top.hide{translate:0 -140%}
html.m .top .wrap{margin:0;width:100%;min-height:var(--bar);padding:0 .55rem 0 .7rem;gap:.6rem}
html.m .brand{color:#fff;font-size:.98rem;gap:.55rem;margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
html.m .brand img{height:34px;width:34px;border-radius:10px;flex:none}
html.m .top nav,html.m .top .seg{display:none!important}
html.m .top .bm {
  display: none !important;
}
html.m #prog{left:16px;width:calc(100% - 32px);bottom:2px;background:var(--goldg)}
html.m .menu{display:block!important;position:relative!important;font-size:0!important;width:44px!important;height:44px!important;border-radius:14px!important;border:1px solid rgba(229,190,115,.4)!important;background:rgba(255,255,255,.08)!important;color:transparent!important;padding:0!important;flex:none!important;margin:0!important;cursor:pointer!important;pointer-events:auto!important;z-index:10002!important}
html.m .menu:before,html.m .menu:after{content:"";position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--gold-hi);transition:transform .4s cubic-bezier(.2,.8,.2,1),top .4s,right .4s}
html.m .menu:before{top:16px}html.m .menu:after{top:25px;right:19px}
html.m.nav-open .menu:before{top:21px;transform:rotate(45deg)}html.m.nav-open .menu:after{top:21px;right:12px;transform:rotate(-45deg)}

/* ---------- full-screen menu sheet ---------- */
.msheet{display:none}
html.m .msheet{display:flex!important;flex-direction:column!important;position:fixed!important;inset:0!important;z-index:9999!important;background:radial-gradient(520px circle at 90% 8%,rgba(229,190,115,.22),transparent 62%),linear-gradient(180deg,#2B303A,#1d2129)!important;color:#fff!important;padding:calc(var(--bar) + 38px) 7vw calc(1.4rem + env(safe-area-inset-bottom,0px))!important;overflow-y:auto!important;clip-path:circle(0 at calc(100% - 38px) 38px);visibility:hidden;opacity:0;transition:clip-path .7s cubic-bezier(.7,0,.2,1),visibility 0s .7s,opacity .25s ease;overscroll-behavior:contain!important;pointer-events:none}
html.m.nav-open .msheet{clip-path:circle(150% at calc(100% - 38px) 38px)!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transition:clip-path .8s cubic-bezier(.7,0,.2,1),visibility 0s,opacity .2s ease!important}
html.m.nav-open{overflow:hidden}
.msheet ol{list-style:none;margin:0;padding:0;counter-reset:n}
.msheet li{counter-increment:n;border-bottom:1px solid rgba(229,190,115,.2);opacity:0;transform:translateY(22px);transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.2,1)}
.nav-open .msheet li{opacity:1;transform:none}
.nav-open .msheet li:nth-child(1){transition-delay:.28s}.nav-open .msheet li:nth-child(2){transition-delay:.33s}.nav-open .msheet li:nth-child(3){transition-delay:.38s}.nav-open .msheet li:nth-child(4){transition-delay:.43s}.nav-open .msheet li:nth-child(5){transition-delay:.48s}.nav-open .msheet li:nth-child(6){transition-delay:.53s}
.msheet li a{display:flex;align-items:baseline;gap:1rem;padding:.78rem 0;text-decoration:none;color:#fff;font:400 clamp(1.9rem,8.4vw,2.7rem)/1.1 var(--serif);letter-spacing:-.02em}
.msheet li a:before{content:"0" counter(n);font:600 .72rem var(--sans);letter-spacing:.12em;color:var(--gold);min-width:1.6rem}
.msheet li a[aria-current]{color:var(--gold-hi)}
.msheet li a:active{color:var(--gold-hi);padding-left:.4rem}
.msheet .mf{margin-top:auto;padding-top:1.6rem;opacity:0;transform:translateY(16px);transition:opacity .5s .6s,transform .6s .6s}
.nav-open .msheet .mf{opacity:1;transform:none}
.msheet .mph{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;margin-bottom:1.2rem;height:86px}
.msheet .mph img{width:100%;height:100%;object-fit:cover;border-radius:14px;border:1px solid rgba(229,190,115,.3)}
.msheet .mf .btn{display:block;text-align:center;width:100%;margin-bottom:.9rem}
.msheet .mc{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;font-size:.88rem;color:var(--lt)}
.msheet .mc a{color:var(--lt);text-decoration:none;border-bottom:1px solid rgba(229,190,115,.35)}
.msheet .ma{font-size:.78rem;color:#8d93a1;margin:.9rem 0 0}

/* ---------- bottom dock (phones) ---------- */
.mdock{display:none}
html.m .mdock{display:grid!important;grid-template-columns:1fr 1fr 1.25fr 1fr 1fr!important;align-items:end!important;position:fixed!important;left:10px!important;right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;z-index:9500!important;height:64px!important;padding:0 6px!important;border-radius:24px!important;background:rgba(43,48,58,.92)!important;border:1px solid rgba(229,190,115,.35)!important;backdrop-filter:blur(18px) saturate(1.6)!important;-webkit-backdrop-filter:blur(18px) saturate(1.6)!important;box-shadow:0 18px 40px -12px rgba(10,12,18,.7)!important;transition:translate .45s cubic-bezier(.2,.8,.2,1)!important;pointer-events:auto!important}
html.m.nav-open .mdock{translate:0 140%}
.mdock a {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  height: 100% !important;
  text-decoration: none !important;
  color: #ffffff !important;
  font: 500 0.68rem var(--sans) !important;
  letter-spacing: 0.02em !important;
  transition: color 0.25s, transform 0.2s !important;
  opacity: 0.92 !important;
}
.mdock a svg {
  width: 22px !important;
  height: 22px !important;
  stroke: #ffffff !important;
  fill: none !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  transition: transform 0.35s cubic-bezier(0.3, 1.5, 0.4, 1), stroke 0.2s !important;
}
.mdock a.on,
.mdock a:active {
  color: var(--gold-hi, #F4E58E) !important;
  opacity: 1 !important;
}
.mdock a.on svg,
.mdock a:active svg {
  stroke: var(--gold-hi, #F4E58E) !important;
  transform: translateY(-2px) scale(1.12) !important;
}
.mdock a.on:after {
  content: "" !important;
  position: absolute !important;
  top: 6px !important;
  width: 18px !important;
  height: 3px !important;
  border-radius: 3px !important;
  background: var(--goldg) !important;
}
.mdock a.go {
  color: var(--ink, #2B303A) !important;
  align-self: start !important;
  margin-top: -18px !important;
  height: auto !important;
  opacity: 1 !important;
}
.mdock a.go span.orb {
  display: grid !important;
  place-items: center !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  background: var(--goldg) !important;
  box-shadow: 0 10px 24px -6px rgba(229, 190, 115, 0.75), 0 0 0 5px rgba(43, 48, 58, 0.95) !important;
  color: var(--ink, #2B303A) !important;
  transition: transform 0.3s !important;
}
.mdock a.go svg {
  width: 24px !important;
  height: 24px !important;
  stroke: var(--ink, #2B303A) !important;
}
.mdock a.go em {
  font-style: normal !important;
  color: var(--gold-hi, #F4E58E) !important;
  margin-top: 3px !important;
  font-weight: 600 !important;
}
/* totop handled above dock */

/* ---------- hero ---------- */
html.m .hero{min-height:0;padding:calc(var(--bar) + 38px) 0 2.2rem}
html.m .hero .wrap{display:block}
html.m .hero .in{max-width:none}
html.m .open{font-size:.7rem;padding:.32rem .8rem;margin-bottom:.8rem}
html.m .hero .tag{font-size:.98rem;margin:.1rem 0 .55rem}
html.m .hero h1{font-size:clamp(2.2rem,10vw,3.3rem);line-height:1.03}
html.m .hero p.lead{font-size:.98rem;line-height:1.58;margin:1rem 0 1.3rem}
html.m .hero .cta{display:grid;gap:.7rem}
html.m .hero .cta .btn{display:block;text-align:center;padding:1.05rem;font-size:1rem;border-radius:14px}
html.m .tr{flex-wrap:nowrap;overflow-x:auto;gap:.55rem;margin:1.1rem calc(var(--pad)*-1) 0;padding:.2rem var(--pad);scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
html.m .tr::-webkit-scrollbar{display:none}
html.m .tr li{flex:none;scroll-snap-align:start;padding:.5rem .9rem .5rem 2.2rem;border-radius:99px;background:rgba(255,255,255,.07);border:1px solid rgba(229,190,115,.3);color:#fff;font-size:.78rem;white-space:nowrap}
html.m .tr li:before{left:.7rem;top:.5rem}
html.m .stage{height:clamp(300px,86vw,420px);margin-top:1.8rem}
html.m .cert{right:-34vw;top:62%;width:130vw;opacity:.55}
html.m .p1{width:84%;height:78%;border-radius:22px}
html.m .p2{width:46%;height:46%;border-width:4px;border-radius:20px}
html.m .chip{padding:.65rem .9rem;border-radius:14px;font-size:.72rem}
html.m .chip b{font-size:1.45rem}
html.m .c1{right:0;bottom:2%;left:auto;top:auto}
html.m .c2{display:none}

/* ---------- proof band ---------- */
html.m .proof{padding:2.6rem 0}
html.m .proof h2{max-width:none}
html.m .proof .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:1.6rem}
html.m .proof .stats .r{border:1px solid rgba(229,190,115,.28)!important;background:rgba(255,255,255,.05);border-radius:18px;padding:1rem 1rem .9rem!important}
html.m .proof .stats b{font-size:clamp(1.55rem,7.2vw,2.3rem);white-space:nowrap}
html.m .proof .stats dt{font-size:.78rem}
html.m .proof .all{flex-wrap:nowrap;overflow-x:auto;margin:1.4rem calc(var(--pad)*-1) 0;padding:0 var(--pad) .2rem;scrollbar-width:none}
html.m .proof .all::-webkit-scrollbar{display:none}
html.m .proof .all b{width:auto;flex:none;white-space:nowrap;margin-right:.3rem}
html.m .proof .all span{flex:none;white-space:nowrap;font-size:.8rem}
html.m .marq{padding:.7rem 0}html.m .marq .mt{font-size:1.1rem}

/* ---------- statement ---------- */
html.m .say{padding:3rem 0 2.4rem}
html.m .say .big{font-size:clamp(2rem,9.4vw,3.2rem);margin-bottom:1.4rem}
html.m .say .sx{gap:.8rem}
html.m .say .sx .cta{display:grid;gap:.7rem;margin-top:.8rem}
html.m .say .sx .cta .btn{display:block;text-align:center}

/* ---------- portfolio roll ---------- */
html.m .port{padding:3rem 0 1rem}
html.m .rc{margin-top:1.6rem}
html.m .rc span{font-size:clamp(1.7rem,8vw,2.6rem);padding:.12em 0}
html.m .rc .ci{grid-template-columns:1fr;gap:.8rem}html.m .rc .ci img{aspect-ratio:16/9}

/* ---------- doors -> segmented tabs ---------- */
html.m .doors{padding:3rem 0 2rem}
html.m .doors .wrap{display:block}
html.m .dtabs{display:grid;grid-template-columns:1fr 1fr;position:relative;margin:1.2rem 0 1rem;padding:4px;border-radius:16px;background:rgba(43,48,58,.08);border:1px solid var(--line)}
html.m .dtabs i{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:12px;background:var(--goldg);box-shadow:0 8px 18px -8px rgba(229,190,115,.9);transition:transform .45s cubic-bezier(.3,1.2,.4,1)}
html.m .doors[data-tab="1"] .dtabs i{transform:translateX(100%)}
html.m .dtabs button{position:relative;z-index:1;border:0;background:none;padding:.8rem .4rem;font:600 .88rem var(--sans);color:var(--ink);border-radius:12px}
html.m .door{padding:1.4rem 1.2rem 1.5rem!important;border-radius:24px}
html.m .door h3{font-size:1.45rem;line-height:1.12}
html.m .door .ck{margin:1rem 0 1.3rem}
html.m .door .ck li{font-size:.92rem;padding:.42rem 0 .42rem 1.9rem}
html.m .door .btn{display:block;text-align:center}
html.m .doors.tabbed .door{display:none}
html.m .doors.tabbed[data-tab="0"] .door:nth-of-type(1),html.m .doors.tabbed[data-tab="1"] .door:nth-of-type(2){display:block;animation:mrise .55s cubic-bezier(.2,.8,.2,1)}
@keyframes mrise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}

/* ---------- carousels ---------- */
html.m .car{display:flex!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:1.4rem calc(var(--pad)*-1) 0!important;padding:.4rem var(--pad) 1.2rem!important;grid-template-columns:none!important;align-items:stretch!important}
html.m .car::-webkit-scrollbar{display:none}
html.m .car>*{flex:0 0 82%;scroll-snap-align:center;opacity:1!important;transform:none!important;margin:0!important}
.mdots{display:none}
html.m .mdots{display:flex;justify-content:center;gap:7px;margin:-.2rem 0 .4rem}
html.m .mdots button{width:7px;height:7px;padding:0;border:0;border-radius:7px;background:rgba(43,48,58,.25);transition:width .35s,background .35s}
html.m .mdots button.on{width:22px;background:var(--gold-deep)}
html.m .pool .mdots button,html.m .dark .mdots button{background:rgba(255,255,255,.3)}
/* steps */
html.m .steps.car>div{position:relative;padding:1.5rem 1.3rem 1.4rem!important;border:1px solid var(--line)!important;border-radius:22px;background:#fff;box-shadow:var(--sh);min-height:210px;overflow:hidden}
html.m .steps.car>div b{display:block;font:400 3.4rem/1.25 var(--serif);padding-bottom:.1em;background:var(--goldg);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;margin-bottom:.5rem}
html.m .steps.car>div p{font-size:.92rem}
/* testimonials */
html.m .tg.car>.tm{padding:2.2rem 1.3rem 1.3rem;border-radius:22px}
html.m .tg.car>.tm blockquote{font-size:1.02rem;line-height:1.5}
/* plans */
html.m .tiers.car{align-items:center!important}
html.m .tiers.car>.tier{flex-basis:78%;padding:1.7rem 1.4rem}
html.m .tiers.car>.tier.hot{padding-block:2.2rem}
html.m .tier h3{font-size:1.35rem}html.m .tier .pr b{font-size:2.1rem}
html.m .tier .ck li{font-size:.9rem;padding:.38rem 0 .38rem 1.9rem}

/* ---------- partners accordion -> 2x2 tiles ---------- */
html.m .events{padding:3rem 0 2rem}
html.m .acc{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;height:auto!important;margin-top:1.4rem}
html.m .pan,html.m .pan.active,html.m .pan.open{height:auto!important;aspect-ratio:4/5;flex:none!important;border-radius:20px;opacity:1!important;transform:none!important}
html.m .pan span{padding:.75rem;font-size:1rem;overflow-wrap:anywhere}
html.m .pan small{opacity:1!important;transform:none!important;font-size:.64rem;line-height:1.3;margin-top:.2rem}

/* ---------- services -> expandable rows ---------- */
html.m .svcs{padding:3rem 0 2.4rem}
html.m .sg{display:block!important;margin:1.4rem 0 1.4rem}
html.m .svc{display:grid;grid-template-columns:44px 1fr 26px;column-gap:.9rem;align-items:center;padding:.95rem 1rem!important;margin:0 0 9px!important;border-radius:18px;opacity:1!important;transform:none!important;transition:box-shadow .3s,background .3s}
html.m .svc svg{grid-row:1;width:44px;height:44px;margin:0;border-radius:13px}
html.m .svc h3{grid-column:2;margin:0;font-size:1rem;line-height:1.2}
html.m .svc:after{content:"";grid-column:3;grid-row:1;width:26px;height:26px;border-radius:50%;background:rgba(43,48,58,.07) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.6l3 3 3-3' fill='none' stroke='%238A6420' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .4s,background-color .3s}
html.m .svc p{grid-column:1/-1;max-height:0;overflow:hidden;margin:0;opacity:0;font-size:.9rem;transition:max-height .5s cubic-bezier(.2,.8,.2,1),opacity .4s,margin .4s}
html.m .svc.svc-open{background:linear-gradient(#fff,var(--mist));box-shadow:var(--sh)}
html.m .svc.svc-open p{max-height:200px;opacity:1;margin-top:.7rem}
html.m .svc.svc-open:after{transform:rotate(180deg);background-color:rgba(229,190,115,.4)}
html.m .svcs>.wrap>.btn{display:block;text-align:center}

/* ---------- founder ---------- */
html.m .founder{padding:3rem 0 2.6rem}
html.m .founder .wrap{display:block}
html.m .duo{max-width:290px;margin:0 0 3.2rem}
html.m .award{right:-1.2rem;bottom:-2rem;width:60%}
html.m .founder .chip.c3{left:-.3rem;top:1rem}
html.m .founder blockquote{font-size:1.2rem}
html.m .mini{grid-template-columns:1fr 1fr;gap:10px}
html.m .mini div{padding:.9rem}html.m .mini h3{font-size:1rem}html.m .mini p{font-size:.8rem;line-height:1.45}
html.m .founder .cta{display:grid;gap:.7rem}html.m .founder .cta .btn{display:block;text-align:center}

/* ---------- plans / voices / pool ---------- */
html.m .plans,html.m .voices{padding:3rem 0 1.6rem}
html.m .pool{padding:3rem 0}html.m .pool .bar{height:84px}

/* ---------- closing CTA ---------- */
html.m .fcta{padding:2rem 0 1rem}
html.m .panel{border-radius:26px;padding:1.9rem 1.4rem}
html.m .panel h2{font-size:clamp(1.7rem,7.4vw,2.4rem)}
html.m .panel canvas{width:110%;right:-40%;opacity:.5}
html.m .panel .cta{display:grid;gap:.7rem}html.m .panel .cta .btn{display:block;text-align:center}

/* ---------- footer ---------- */
html.m footer{padding:2.4rem 0 1.4rem;border-radius:28px 28px 0 0;margin-top:1.5rem}
html.m footer .wrap{display:block}
html.m footer .fb{margin-bottom:1.4rem}
html.m footer h3{display:flex;justify-content:space-between;align-items:center;margin:0;padding:1rem 0;border-top:1px solid rgba(229,190,115,.2);cursor:pointer}
html.m footer h3:after{content:"+";font:300 1.4rem var(--sans);color:var(--gold);transition:transform .35s}
html.m footer .fc.open h3:after{transform:rotate(45deg)}
html.m footer .fc ul,html.m footer .fc .irbox{display:none}
html.m footer .fc.open ul{display:block;padding-bottom:.8rem;animation:mrise .4s}
html.m footer .fc.open .irbox{display:grid}
html.m footer li{margin:.1rem 0}html.m footer li a{display:block;padding:.45rem 0}
html.m footer .fine{margin-top:.6rem}

/* ---------- reveal safety on touch ---------- */
html.m .rv{transition-duration:.7s}

/* ======================= TABLET 700-1024 ======================= */
@media(min-width:700px){
html.m{--bar:62px;--pad:4.5vw}
html.m body{padding-bottom:0}
html.m .mdock{display:none}
/* totop visible */
html.m .top .bm{display:none!important}
html.m .top .wrap{padding:0 .7rem 0 1.2rem;gap:.9rem}
html.m .brand{font-size:1.1rem}html.m .brand img{height:38px;width:38px}
html.m h2{font-size:clamp(2rem,4.2vw,2.8rem)}
html.m .hero{padding:calc(var(--bar) + 52px) 0 3.2rem}
html.m .hero .wrap{display:grid;grid-template-columns:1.02fr 1fr;gap:2rem;align-items:center}
html.m .hero h1{font-size:clamp(2.4rem,5.4vw,3.6rem)}
html.m .hero .cta{display:flex}html.m .hero .cta .btn{display:inline-block}
html.m .tr{flex-wrap:wrap;overflow:visible;margin:1.2rem 0 0;padding:0}
html.m .tr li{background:none;border:0;padding:0 0 0 1.5rem;color:var(--lt)}html.m .tr li:before{left:0;top:.2rem}
html.m .stage{height:clamp(380px,52vw,500px);margin-top:0}
html.m .cert{right:-26vw;top:50%;width:90vw}
html.m .c2{display:block}
html.m .proof .stats{grid-template-columns:repeat(4,minmax(0,1fr))}
html.m .proof .stats .r{padding:1.1rem 1rem!important}
html.m .proof .all{flex-wrap:wrap;overflow:visible;margin:1.6rem 0 0;padding:0}
html.m .doors .wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px}
html.m .doors .dh{grid-column:1/-1}
html.m .dtabs{display:none}
html.m .doors.tabbed .door{display:block!important}
html.m .door{padding:1.8rem 1.6rem!important}
html.m .steps.car{display:grid!important;grid-template-columns:1fr 1fr!important;overflow:visible;margin:1.8rem 0 0!important;padding:0!important}
html.m .steps.car>div{flex:none}
html.m .steps+.mdots{display:none}
html.m .tg.car>*,html.m .tiers.car>*{flex-basis:46%}
html.m .tiers.car>.tier{flex-basis:42%}
html.m .acc{grid-template-columns:repeat(4,1fr)}
html.m .pan,html.m .pan.active,html.m .pan.open{aspect-ratio:3/4}
html.m .sg{display:grid!important;grid-template-columns:1fr 1fr;gap:14px}
html.m .svc{display:block;margin:0!important;padding:1.5rem!important}
html.m .svc svg{width:46px;height:46px;margin-bottom:1rem}
html.m .svc:after{display:none}
html.m .svc p{max-height:none;opacity:1;margin-top:.4rem;font-size:.92rem}
html.m .founder .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.5rem;align-items:center}
html.m .duo{margin-bottom:2.6rem}
html.m .founder .cta{display:flex}html.m .founder .cta .btn{display:inline-block}
html.m .panel .cta{display:flex;flex-wrap:wrap}html.m .panel .cta .btn{display:inline-block}
html.m .say .sx .cta{display:flex}html.m .say .sx .cta .btn{display:inline-block}
html.m footer .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.6rem 2rem}
html.m footer .fb{grid-column:1/-1;margin:0;display:grid;grid-template-columns:1.2fr 1fr;gap:1.4rem}
html.m footer h3{cursor:default;border:0;padding:0 0 .6rem}html.m footer h3:after{display:none}
html.m footer .fc ul,html.m footer .fc .irbox{display:block}
}
@media(min-width:700px) and (max-width:1024px){
html.m .msheet{left:auto;width:min(480px,70vw);border-left:1px solid rgba(229,190,115,.3);clip-path:inset(0 0 0 100%);}
html.m.nav-open .msheet{clip-path:inset(0)}
}
@media(prefers-reduced-motion:reduce){.msheet,.msheet li,.msheet .mf{transition:none!important}.hero .cta{opacity:1}}
html.m .marq,html.m .lane{width:100%;max-width:100%;contain:inline-size paint;overflow:hidden}
html.m main{overflow-x:clip}
html.m,html.m body{overflow-x:hidden!important;width:100%;max-width:100%}
html.m .hero{overflow:hidden;contain:paint}
html.m .cert{max-width:none}
html.m .hero{display:block}
html.m .hero .wrap{width:auto}
html.m .steps.car>div b{background:none!important;-webkit-text-fill-color:#C99A3E!important;color:#C99A3E!important;line-height:1.1;margin-bottom:.6rem}
html.m .svc h3{color:var(--ink)!important;opacity:1!important}
html.m .svc.svc-open h3{color:var(--ink)!important}
html.m .top{z-index:70}
html.m.nav-open .top{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
html.m.nav-open .top.hide{translate:0 0}
html.m .duo{max-width:300px}
html.m .award{width:52%;height:auto;aspect-ratio:4/3;object-fit:cover;right:-.9rem;bottom:-1.6rem;border-width:4px}
html.m .crop{aspect-ratio:4/5}
html.m .svc p{font-weight:400}

/* ============================================================
   FORMS & SPLIT-SCREEN FLOW OPTIMIZATIONS (<=1024px)
   Apply for Funding (Founders) & Join as Investor & Memberships
   ============================================================ */

/* Reset body centering flex on solo form pages */
html.m body.solo,
html.m body.dan.solo,
html.m body {
  display: block !important;
  min-height: 100vh !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 0 calc(var(--dock) + env(safe-area-inset-bottom, 0px) + 20px) !important;
  overflow-x: clip !important;
}

/* Multi-column wrapper becomes a fluid vertical stack */
html.m .dan-page-wrapper {
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: calc(var(--bar) + 24px) var(--pad) 2rem !important;
  gap: 20px !important;
}

/* Left info column converts into a branded, compact mobile trust card */
html.m .dan-info-column {
  display: block !important;
  position: static !important;
  width: 100% !important;
  padding: 1.5rem 1.25rem !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #FFFFFF 0%, var(--mist) 100%) !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--sh) !important;
}
html.m .info-logo {
  margin-bottom: 12px !important;
}
html.m .info-logo-icon {
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
  background: var(--goldg) !important;
  color: var(--ink) !important;
}
html.m .info-title {
  font-family: var(--serif) !important;
  font-size: clamp(1.45rem, 5.5vw, 1.85rem) !important;
  line-height: 1.15 !important;
  color: var(--ink) !important;
  margin-bottom: 8px !important;
}
html.m .info-desc {
  font-size: 0.94rem !important;
  line-height: 1.55 !important;
  color: var(--mute) !important;
  margin-bottom: 16px !important;
}
html.m .info-features {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  margin-bottom: 18px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--line) !important;
}
html.m .feature-item {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
}
html.m .feature-icon {
  width: 32px !important;
  height: 32px !important;
  font-size: 15px !important;
  background: rgba(229,190,115,.2) !important;
  color: var(--gold-deep) !important;
  border-radius: 8px !important;
  flex: none !important;
}
html.m .feature-text-title {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
}
html.m .feature-text-desc {
  font-size: 0.82rem !important;
  color: var(--mute) !important;
}
html.m .info-stats {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
}
html.m .stat-item {
  background: #FFFFFF !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--line) !important;
  text-align: center !important;
}
html.m .stat-value {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: var(--gold-deep) !important;
}
html.m .stat-label {
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  color: var(--mute) !important;
}
html.m .info-sla-card {
  font-size: 0.82rem !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  line-height: 1.5 !important;
  border: 1px dashed rgba(229,190,115,.5) !important;
  background: rgba(229,190,115,.08) !important;
  color: var(--ink) !important;
}

/* Form Container Card */
html.m .dan-form-container {
  width: 100% !important;
  padding: 1.6rem 1.25rem !important;
  border-radius: 22px !important;
  background: #FFFFFF !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--sh) !important;
}
html.m .form-header {
  margin-bottom: 22px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--line) !important;
}
html.m .form-header h2 {
  font-family: var(--serif) !important;
  font-size: clamp(1.4rem, 5.2vw, 1.8rem) !important;
  line-height: 1.15 !important;
  margin-bottom: 6px !important;
  color: var(--ink) !important;
}
html.m .form-header p {
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  color: var(--mute) !important;
  margin: 0 !important;
}
html.m .form-section h3 {
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
  color: var(--gold-deep) !important;
  margin: 22px 0 14px !important;
  text-transform: uppercase !important;
}

/* Form Grid Columns */
html.m.phone .grid-2-col,
html.m.phone .grid-3-col,
html.m.phone .row > [class*="col-"] {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
html.m.phone .grid-2-col > *,
html.m.phone .grid-3-col > * {
  width: 100% !important;
  margin-bottom: 12px !important;
}

/* Touch Input Targets - 48px min height, 16px font to prevent zoom */
html.m .form-group {
  margin-bottom: 16px !important;
}
html.m .form-group label {
  display: block !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  margin-bottom: 6px !important;
}
html.m input[type="text"],
html.m input[type="email"],
html.m input[type="tel"],
html.m input[type="url"],
html.m input[type="number"],
html.m select,
html.m textarea,
html.m .form-control,
html.m .form-select {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  border: 1px solid #CBD5E1 !important;
  width: 100% !important;
  color: var(--ink) !important;
  background-color: #FFFFFF !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
html.m select,
html.m .form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%232B303A' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 14px 14px !important;
  padding-right: 38px !important;
}
html.m textarea,
html.m textarea.form-control {
  min-height: 96px !important;
  line-height: 1.5 !important;
}
html.m input:focus,
html.m select:focus,
html.m textarea:focus,
html.m .form-control:focus,
html.m .form-select:focus {
  outline: none !important;
  border-color: var(--gold-deep) !important;
  box-shadow: 0 0 0 3px rgba(229,190,115,.35) !important;
}

/* File Dropzones */
html.m .file-drop-container,
html.m .file-dropzone-wrapper {
  padding: 18px 14px !important;
  min-height: 96px !important;
  border-radius: 14px !important;
  border: 2px dashed #CBD5E1 !important;
  background: var(--paper) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
html.m .file-drop-icon {
  font-size: 24px !important;
  margin-bottom: 4px !important;
  color: var(--gold-deep) !important;
}
html.m .file-drop-text {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
}
html.m .file-drop-subtext {
  font-size: 0.76rem !important;
  color: var(--mute) !important;
}

/* Checkbox and Radio Pills */
html.m .checkbox-pill-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
html.m .checkbox-pill-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  min-height: 44px !important;
  border-radius: 12px !important;
  border: 1px solid var(--line) !important;
  background: var(--paper) !important;
  font-size: 0.86rem !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  cursor: pointer !important;
}
html.m .checkbox-pill-item input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  accent-color: var(--gold-deep) !important;
}

/* Submit and Action Buttons */
html.m .dan-form-container button[type="submit"],
html.m .dan-form-container .btn-submit,
html.m form button[type="submit"],
html.m .btn-step {
  width: 100% !important;
  min-height: 50px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border-radius: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 10px !important;
}

/* Multi-step Navigation & Timeline */
html.m .timeline-wrapper {
  overflow-x: auto !important;
  padding-bottom: 10px !important;
  scrollbar-width: none !important;
}
html.m .timeline-wrapper::-webkit-scrollbar { display: none; }
html.m .step-navigation-container {
  display: flex !important;
  gap: 10px !important;
  width: 100% !important;
}
html.m .step-navigation-container .btn-step {
  flex: 1 !important;
  min-height: 48px !important;
}

/* ============================================================
   INNER PAGES, HEROES & CARDS OPTIMIZATION (<=1024px)
   ============================================================ */

/* Page Heroes across all inner pages */
html.m .phero,
html.m .membership-hero,
html.m .ir-hero-dark,
html.m .meeting-hero-dark,
html.m .ad-hero,
html.m .event-hero,
html.m .blogs-hero,
html.m .blog-details-hero,
html.m .legal-hero,
html.m .hero-minimal,
html.m .join-hero,
html.m .form-section-wrapper,
html.m .partner-hero-dark {
  padding-top: calc(var(--bar) + 36px) !important;
  min-height: auto !important;
  overflow-x: hidden !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
}

/* Ensure hero container rows never push text against screen boundaries */
html.m .membership-hero .row,
html.m .ad-hero .row,
html.m .event-hero .row,
html.m .blogs-hero .row,
html.m .blog-details-hero .row,
html.m .legal-hero .row,
html.m .hero-minimal .row,
html.m .join-hero .row,
html.m .ir-hero-dark .row,
html.m .meeting-hero-dark .row {
  margin-inline: 0 !important;
}

html.m .membership-hero .row > [class*="col-"],
html.m .ad-hero .row > [class*="col-"],
html.m .event-hero .row > [class*="col-"],
html.m .blogs-hero .row > [class*="col-"],
html.m .blog-details-hero .row > [class*="col-"],
html.m .legal-hero .row > [class*="col-"],
html.m .hero-minimal .row > [class*="col-"],
html.m .join-hero .row > [class*="col-"],
html.m .ir-hero-dark .row > [class*="col-"],
html.m .meeting-hero-dark .row > [class*="col-"] {
  padding-inline: 0 !important;
}

/* Headings and lead typography in inner heroes */
html.m .membership-hero h1,
html.m .ad-hero h1,
html.m .event-hero h1,
html.m .blogs-hero h1,
html.m .legal-hero h1,
html.m .hero-minimal h1,
html.m .join-hero h1 {
  font-size: clamp(1.85rem, 6.8vw, 2.7rem) !important;
  line-height: 1.1 !important;
  margin: 0.3rem 0 0.8rem !important;
  word-break: break-word !important;
}

html.m .membership-hero p.lead,
html.m .ad-hero p.text-white-50,
html.m .ad-hero p.lead,
html.m .event-hero p,
html.m .blogs-hero p,
html.m .legal-hero p,
html.m .hero-minimal p,
html.m .join-hero p {
  font-size: 0.96rem !important;
  line-height: 1.55 !important;
  margin-bottom: 1.4rem !important;
}

html.m .hero-badge {
  font-size: 0.72rem !important;
  padding: 4px 12px !important;
  margin-bottom: 14px !important;
  letter-spacing: 0.5px !important;
}

/* Bounded Syndicate Analytics Graphic on Mobile (Prevents all clipping & overflow) */
html.m .hero-abstract-art {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 430px !important;
  margin: 1.2rem auto 0 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  contain: paint !important;
  box-sizing: border-box !important;
}

html.m .central-dashboard-widget {
  width: 88% !important;
  max-width: 330px !important;
  padding: 1rem 0.9rem !important;
  box-sizing: border-box !important;
  border-radius: 18px !important;
  margin: 0 auto !important;
}

html.m .art-card-floating {
  padding: 0.45rem 0.65rem !important;
  border-radius: 12px !important;
  gap: 6px !important;
  max-width: 47% !important;
  box-sizing: border-box !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25) !important;
}

html.m .float-icon {
  font-size: 1rem !important;
  line-height: 1 !important;
}

html.m .float-number {
  font-size: 0.84rem !important;
  line-height: 1.1 !important;
}

html.m .float-label {
  font-size: 0.6rem !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html.m .card-float-1 {
  top: 2% !important;
  left: 4px !important;
  right: auto !important;
}

html.m .card-float-2 {
  top: 2% !important;
  right: 4px !important;
  left: auto !important;
}

html.m .card-float-3 {
  top: 45% !important;
  right: 4px !important;
  left: auto !important;
}

html.m .card-float-4 {
  bottom: 2% !important;
  left: 4px !important;
  right: auto !important;
}

html.m .card-float-5 {
  bottom: 2% !important;
  right: 4px !important;
  left: auto !important;
}
html.m .breadcrumb-nav {
  margin-top: calc(var(--bar) + 12px) !important;
  padding: 8px var(--pad) !important;
}
html.m .success-container {
  padding-top: calc(var(--bar) + 36px) !important;
  padding-inline: var(--pad) !important;
}
html.m .calendly-inline-widget {
  min-width: 100% !important;
  width: 100% !important;
  border-radius: 16px !important;
}
html.m .reel-wrapper,
html.m .video-wrapper {
  max-width: 320px !important;
  margin: 0 auto !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: var(--sh) !important;
}
html.m .reel-wrapper video,
html.m .video-wrapper video {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 20px !important;
  object-fit: cover !important;
}
html.m .phero .wrap {
  width: auto !important;
  margin-inline: var(--pad) !important;
}
html.m .phero h1 {
  font-size: clamp(1.85rem, 6.8vw, 2.7rem) !important;
  line-height: 1.08 !important;
  max-width: none !important;
  margin: 0.3rem 0 0.8rem !important;
}
html.m .phero p {
  font-size: 0.96rem !important;
  line-height: 1.55 !important;
  max-width: none !important;
}
html.m .phero canvas,
html.m .phero .rose-canvas,
html.m canvas#rose {
  width: min(320px, 75vw) !important;
  height: auto !important;
  aspect-ratio: 1 !important;
  right: -15% !important;
  opacity: 0.35 !important;
}
html.m .crumb {
  font-size: 0.8rem !important;
  margin-bottom: 0.6rem !important;
  flex-wrap: wrap !important;
}

/* Responsive Cards & Containers across Inner Pages */
html.m .event-item,
html.m .mentorship-card,
html.m .plan-card,
html.m .pricing-card,
html.m .job-card,
html.m .contact-card,
html.m .speaker-card,
html.m .curriculum-card {
  border-radius: 20px !important;
  padding: 1.5rem 1.25rem !important;
  margin-bottom: 14px !important;
}
html.m .event-item img,
html.m .speaker-card img {
  border-radius: 14px !important;
}

/* Video Containers & Embeds */
html.m video {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 16px !important;
}

/* Universal Footer Accordion on Inner Pages */
html.m footer#footer {
  padding: 2.4rem 0 1.4rem !important;
  border-radius: 28px 28px 0 0 !important;
  margin-top: 2rem !important;
}
html.m footer#footer .wrap {
  display: block !important;
  width: auto !important;
  margin-inline: var(--pad) !important;
}
html.m footer#footer .fb {
  margin-bottom: 1.4rem !important;
}
html.m footer#footer h3 {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 1rem 0 !important;
  border-top: 1px solid rgba(229,190,115,.2) !important;
  cursor: pointer !important;
  font-size: 0.95rem !important;
  color: #FFFFFF !important;
}
html.m footer#footer h3:after {
  content: "+" !important;
  font: 300 1.4rem var(--sans) !important;
  color: var(--gold) !important;
  transition: transform .35s !important;
}
html.m footer#footer .fc.open h3:after {
  transform: rotate(45deg) !important;
}
html.m footer#footer .fc ul,
html.m footer#footer .fc .irbox {
  display: none !important;
}
html.m footer#footer .fc.open ul {
  display: block !important;
  padding-bottom: 0.8rem !important;
  animation: mrise .4s !important;
}
html.m footer#footer .fc.open .irbox {
  display: block !important;
}
html.m footer#footer li a {
  display: block !important;
  padding: 0.45rem 0 !important;
  font-size: 0.92rem !important;
}
html.m footer#footer .fine {
  margin-top: 1rem !important;
  padding-top: 1rem !important;
}

/* Tablet refinements (700px - 1024px) */
@media (min-width: 700px) and (max-width: 1024px) {
  html.m .phero,
  html.m .membership-hero,
  html.m .ir-hero-dark,
  html.m .meeting-hero-dark,
  html.m .ad-hero,
  html.m .event-hero,
  html.m .blogs-hero,
  html.m .blog-details-hero,
  html.m .legal-hero,
  html.m .hero-minimal,
  html.m .join-hero,
  html.m .form-section-wrapper,
  html.m .partner-hero-dark {
    padding-top: calc(var(--bar) + 48px) !important;
  }
  html.m .hero-abstract-art {
    height: 460px !important;
    max-width: 440px !important;
    margin: 0 auto !important;
  }
  html.m .central-dashboard-widget {
    width: 86% !important;
    max-width: 380px !important;
  }
  html.m .art-card-floating {
    max-width: 48% !important;
  }
  html.m .card-float-1 {
    top: 4% !important;
    left: 8px !important;
  }
  html.m .card-float-2 {
    top: 4% !important;
    right: 8px !important;
  }
  html.m .card-float-3 {
    top: 46% !important;
    right: 8px !important;
  }
  html.m .card-float-4 {
    bottom: 4% !important;
    left: 8px !important;
  }
  html.m .card-float-5 {
    bottom: 4% !important;
    right: 8px !important;
  }
  html.m .dan-page-wrapper {
    max-width: 760px !important;
    gap: 28px !important;
  }
  html.m .dan-info-column {
    padding: 2rem !important;
  }
  html.m .dan-form-container {
    padding: 2.2rem 2rem !important;
  }
  html.m .grid-2-col,
  html.m .row > .col-md-6 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }
  html.m .grid-3-col,
  html.m .row > .col-md-4 {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 16px !important;
  }
  html.m .checkbox-pill-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  html.m footer#footer .wrap {
    display: grid !important;
    grid-template-columns: 1.2fr 1fr 1fr !important;
    gap: 1.6rem 2rem !important;
  }
  html.m footer#footer .fb {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
  }
  html.m footer#footer h3 {
    cursor: default !important;
    border: 0 !important;
    padding: 0 0 .6rem !important;
  }
  html.m footer#footer h3:after {
    display: none !important;
  }
  html.m footer#footer .fc ul,
  html.m footer#footer .fc .irbox {
    display: block !important;
  }
}


/* ---------- back-to-top button (clean floating above mdock on phones) ---------- */
.totop {
  position: fixed !important;
  right: 22px !important;
  bottom: 24px !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: var(--paper, #FBF9F4) !important;
  border: 1px solid rgba(229, 190, 115, 0.45) !important;
  box-shadow: 0 8px 24px rgba(43, 48, 58, 0.18) !important;
  cursor: pointer !important;
  z-index: 55 !important;
  opacity: 0 !important;
  transform: translateY(20px) !important;
  pointer-events: none !important;
  transition: opacity 0.35s ease, transform 0.35s ease, background 0.25s, box-shadow 0.25s !important;
  color: var(--ink, #2B303A) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.totop.v {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
.totop:hover {
  background: var(--goldg, linear-gradient(135deg, #F6EC93 0%, #E9CD70 45%, #DDAA40 100%)) !important;
  color: var(--ink, #2B303A) !important;
  box-shadow: 0 12px 28px -6px rgba(184, 137, 58, 0.75) !important;
  transform: translateY(-2px) scale(1.05) !important;
}
.totop svg {
  position: absolute !important;
  inset: 2px !important;
  width: 44px !important;
  height: 44px !important;
  transform: rotate(-90deg) !important;
  pointer-events: none !important;
}
.totop .t {
  stroke: rgba(229, 190, 115, 0.3) !important;
  fill: none !important;
}
.totop .p {
  stroke: var(--gold-deep, #8A6420) !important;
  fill: none !important;
  transition: stroke-dashoffset 0.1s linear !important;
}
.totop span {
  position: relative !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
  color: inherit !important;
  font-weight: 700 !important;
}

/* On phones, dock sits at bottom ~64px-72px, so float .totop cleanly above it */
html.m .totop, html.m.phone .totop {
  bottom: calc(var(--dock, 72px) + env(safe-area-inset-bottom, 0px) + 14px) !important;
  right: 16px !important;
  z-index: 9600 !important;
}

/* Membership hero art cleanup on mobile */
html.m .hero-abstract-art {
  height: auto !important;
  max-width: 100% !important;
  margin: 1.5rem auto 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
html.m .central-dashboard-widget {
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 auto !important;
}
html.m .art-card-floating {
  display: none !important;
}

/* Universal Container Row & Card Boundary Safeguards (<=1024px) */
html.m .container > .row,
html.m section > .container > .row,
html.m .apply-section .row,
html.m .partner-grid-section .row,
html.m .tracking-workflow-section .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 768px) {
  html.m .container > .row > [class*="col-"],
  html.m section > .container > .row > [class*="col-"],
  html.m .apply-section .row > [class*="col-"],
  html.m .partner-grid-section .row > [class*="col-"],
  html.m .tracking-workflow-section .row > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html.m .pillar-card,
  html.m .workflow-step-card,
  html.m .commission-subcard,
  html.m .partner-form-card,
  html.m .sticky-overview-card,
  html.m .partner-infrastructure-card {
    padding: 1.4rem 1.25rem !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  html.m .metrics-ribbon {
    padding: 1.25rem 1rem !important;
    margin-top: 2rem !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  html.m .commission-box-dual {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    margin-top: 1.5rem !important;
  }
}
