/* ============================================================
   Manta Bridge — HOME (app shell), SyncSwap-pattern layout.
   Monochrome brand: black/white/gray only. Token icons keep
   their real-world colors (ETH blue etc.) — that's a usability
   convention, not a brand accent.
   Satellites use the separate shared /article.css.
   ============================================================ */
:root{
  --bg:#FFFFFF; --panel:#FFFFFF; --panel2:#F6F6F7; --soft:#F4F4F5;
  --line:rgba(10,10,12,.10); --line2:rgba(10,10,12,.18);
  --ink:#0A0A0C; --ink-2:#35373D; --mut:#5F6167; --faint:#9B9DA3;
  --accent:#0A0A0C; --accent-2:#2E3036; --accent-soft:#F0F0F1; --accent-ink:#000000;
  --ctatext:#FFFFFF;
  --radius:20px; --radius-lg:24px; --radius-sm:13px;
  --shadow:0 2px 4px rgba(10,10,12,.05), 0 18px 44px -22px rgba(10,10,12,.22);
  --shadow-soft:0 1px 2px rgba(10,10,12,.05), 0 12px 30px -20px rgba(10,10,12,.20);
  --font-head:"Space Grotesk",Inter,ui-sans-serif,system-ui,sans-serif;
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg);scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);line-height:1.5;overflow-x:hidden;
  background:linear-gradient(180deg,#FFFFFF 0%,#FAFAFB 100%);min-height:100vh;
  display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block}a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:var(--accent-soft)}
.wrap{width:min(1160px,calc(100% - 40px));margin:0 auto}

/* --- top bar --- */
.top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:clamp(12px,2vw,26px);min-height:64px}
.brand-mark{display:inline-flex;align-items:center;flex:0 0 auto}
.brand-mark svg{width:30px;height:30px}
.nav{display:flex;align-items:center;gap:clamp(8px,1.4vw,20px)}
.nav a{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:15px;color:var(--ink);white-space:nowrap;padding:8px 10px;border-radius:9px;transition:background .15s,color .15s}
.nav a:hover{background:var(--accent-soft)}
.nav a.is-active{color:#fff;background:var(--accent)}
.nav a .chev{width:15px;height:15px;opacity:.8}
.nav a svg:not(.chev){width:18px;height:18px}
.sp{flex:1}
.top-tools{display:flex;align-items:center;gap:clamp(8px,1.4vw,14px)}
.icobtn{display:inline-flex;align-items:center;gap:5px;color:var(--ink);padding:8px;border-radius:10px;transition:background .15s}
.icobtn:hover{background:var(--accent-soft)}
.icobtn svg{width:21px;height:21px}
.connect{display:inline-flex;align-items:center;gap:9px;padding:10px 18px;border-radius:12px;background:var(--accent);color:#fff;font-weight:700;font-size:15px;box-shadow:var(--shadow-soft);transition:transform .1s,box-shadow .15s}
.connect svg{width:19px;height:19px}
.connect:hover{box-shadow:0 8px 22px -8px rgba(10,10,12,.45)}
.connect:active{transform:translateY(1px)}

/* --- tucked "Explore" mega-dropdown (crawlable <details>, closed by default) --- */
.hguides{position:relative}
.hguides>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:15px;color:var(--ink);padding:8px 10px;border-radius:9px;transition:background .15s}
.hguides>summary::-webkit-details-marker{display:none}
.hguides>summary:hover,.hguides[open]>summary{background:var(--accent-soft)}
.hguides>summary .chev{width:15px;height:15px;transition:transform .2s}
.hguides[open]>summary .chev{transform:rotate(180deg)}
.hguides-panel{position:absolute;top:100%;left:0;margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px;display:grid;grid-template-columns:repeat(4,164px);gap:18px;z-index:60}
.hgcol h4{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin:0 0 8px;font-weight:800}
.hgcol a{display:block;padding:4px 0;color:var(--ink);font-size:13.3px;font-weight:600;transition:color .15s}
.hgcol a:hover{color:var(--mut);text-decoration:underline}
@media(max-width:960px){.hguides-panel{grid-template-columns:repeat(2,1fr);position:fixed;left:12px;right:12px;top:auto;width:auto;max-height:70vh;overflow-y:auto}}
@media(max-width:560px){.hguides-panel{grid-template-columns:1fr}}

/* --- hero --- */
.hero-strip{width:100%;max-width:760px;margin:0 auto;padding:clamp(28px,4vw,44px) clamp(14px,3vw,20px) 4px;text-align:center}
.eyebrow-h{font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);display:block;margin-bottom:8px}
.hero-strip h1{font-family:var(--font-head);font-size:clamp(2rem,4.4vw,3rem);line-height:1.04;letter-spacing:-.02em;font-weight:700;color:var(--ink)}
.hero-strip .deck{color:var(--mut);font-size:1.05rem;line-height:1.55;max-width:58ch;margin:14px auto 0}

/* --- layout --- */
.home-main{width:100%;max-width:1160px;margin:0 auto;padding:clamp(18px,3vw,40px) clamp(14px,3vw,34px) 40px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(20px,2.4vw,32px);align-items:start}
.left{min-width:0}

/* --- toolbar above card --- */
.swap-tools{display:flex;align-items:center;gap:14px;padding:2px 6px 16px}
.ttool{color:var(--ink);transition:transform .15s,color .15s}
.ttool svg{width:21px;height:21px}
.ttool:hover{color:var(--mut)}
.ttool.refresh:hover{transform:rotate(-90deg)}
.ttool.tgear:hover{transform:rotate(40deg)}

/* --- bridge card --- */
.bridge-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(18px,2vw,24px)}
.bc-head{display:flex;align-items:center;gap:20px;margin-bottom:16px}
.tab{font-size:18px;font-weight:800;color:var(--faint);transition:color .14s}
.tab.on{color:var(--ink)}
.tab:hover{color:var(--ink-2)}
.history{display:inline-flex;align-items:center;gap:7px;color:var(--mut);font-weight:600;font-size:14.5px}
.history:hover{color:var(--ink)}
.field{background:var(--soft);border:1px solid var(--line2);border-radius:var(--radius);padding:16px clamp(15px,2vw,20px) 18px;transition:border-color .15s}
.field:focus-within{border-color:var(--ink)}
.field-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.flabel{color:var(--mut);font-size:15px;font-weight:600}
.toks{display:flex;align-items:center;gap:6px}
.toks .t{width:28px;height:28px;border-radius:50%;overflow:hidden;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 2px #fff;transition:transform .12s;background:#fff}
.toks .t:hover{transform:translateY(-2px)}
.toks .t img{width:28px;height:28px}
.toks .t.more{background:var(--panel2);color:var(--ink)}
.toks .t.more svg{width:16px;height:16px}
.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.amt{border:none;outline:none;background:none;width:100%;min-width:0;padding:0;text-align:left;font-family:inherit;font-weight:700;font-size:clamp(28px,5vw,36px);color:var(--faint);letter-spacing:-.01em}
.amt.filled{color:var(--ink)}
.amt::placeholder{color:var(--faint)}
.tokpill{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;padding:7px 12px 7px 8px;border-radius:40px;background:#fff;border:1px solid var(--line2);font-weight:800;font-size:17px;color:var(--ink);transition:box-shadow .15s,transform .08s}
.tokpill:hover{box-shadow:var(--shadow-soft)}
.tokpill:active{transform:translateY(1px)}
.tokpill .ic{width:26px;height:26px;border-radius:50%;overflow:hidden;display:grid;place-items:center}
.tokpill .ic img{width:26px;height:26px}
.tokpill .cv{width:16px;height:16px;color:var(--mut)}
.pcts{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}
.pct{padding:10px 0;border-radius:11px;background:#fff;border:1px solid var(--line2);color:var(--ink-2);font-weight:600;font-size:14px;transition:background .14s,color .14s}
.pct:hover,.pct.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.route{display:flex;justify-content:center;margin:-13px 0;position:relative;z-index:2}
.switch{width:42px;height:42px;border-radius:50%;background:#fff;border:3px solid var(--bg);display:grid;place-items:center;color:var(--ink);box-shadow:var(--shadow-soft);transition:transform .3s ease}
.switch svg{width:19px;height:19px}
.switch:hover{transform:rotate(180deg)}
.field.to{margin-top:0}
.out{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;padding:3px 0}
.out+.out{margin-top:4px}
.out .lab{color:var(--mut)}
.out .val{color:var(--ink);font-weight:700}
.getting{display:flex;align-items:center;gap:15px;margin-top:14px;padding:16px clamp(15px,2vw,20px);border-radius:var(--radius);background:var(--panel2);border:1px solid var(--line);transition:background .15s}
.getting:hover{background:var(--accent-soft)}
.getting .gic{width:42px;height:42px;border-radius:12px;flex:0 0 auto;display:grid;place-items:center;background:#fff;color:var(--ink);box-shadow:var(--shadow-soft)}
.getting .gic svg{width:22px;height:22px}
.getting .gtxt{flex:1;min-width:0}
.getting .gtxt b{display:block;font-size:16px;color:var(--ink);font-weight:700}
.getting .gtxt span{font-size:14px;color:var(--mut)}
.getting .arw{width:19px;height:19px;color:var(--ink);flex:0 0 auto}

/* --- aside gadget --- */
.aside{position:sticky;top:88px}
.hello-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(20px,2.4vw,28px)}
.hello{font-family:var(--font-head);font-weight:700;color:var(--ink);font-size:40px;line-height:1;margin:2px 0 12px}
.hello-sub{color:var(--mut);font-size:16.5px;margin:0 0 20px;font-weight:500}
.gadget{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:19px}
.gadget .spark{color:var(--ink);margin-bottom:13px}
.gadget .spark svg{width:22px;height:22px}
.gadget p{margin:0 0 17px;color:var(--mut);font-size:15px;line-height:1.5}
.toggle-btn{display:block;width:100%;padding:13px 0;border-radius:12px;background:var(--accent);color:#fff;font-weight:700;font-size:15px;text-align:center;transition:transform .1s,opacity .15s}
.toggle-btn:hover{opacity:.88}
.toggle-btn:active{transform:translateY(1px)}

/* --- carousel strip (all slides live in the DOM, JS only toggles a class) --- */
.strip{width:100%;max-width:760px;margin:8px auto clamp(28px,5vw,42px);padding:0 16px}
.dots{display:flex;gap:8px;justify-content:center;margin-bottom:16px}
.dots i{width:32px;height:6px;border-radius:4px;background:var(--line2);transition:background .2s}
.dots i.on{background:var(--ink)}
.promo-track{position:relative}
.promo{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:20px clamp(18px,2.4vw,24px);display:none}
.promo.on{display:block}
.promo-head{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.promo-head .pic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--ink)}
.promo-head .pic svg{width:18px;height:18px}
.promo-head b{font-size:18px;color:var(--ink);font-weight:700}
.promo-body{color:var(--mut);font-size:15.5px;line-height:1.55}

/* --- SEO band (key facts) --- */
.seo{width:100%;max-width:1080px;margin:0 auto clamp(32px,5vw,54px);padding:0 clamp(16px,3vw,20px)}
.seo .eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.seo h2{font-family:var(--font-head);font-size:clamp(1.4rem,3vw,1.9rem);letter-spacing:-.01em;font-weight:700;color:var(--ink);margin:7px 0 12px}
.seo p{color:var(--mut);font-size:16px;line-height:1.6;max-width:74ch}
.seo p a{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.fcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:17px 19px}
.fcard .k{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}
.fcard .val{font-weight:700;margin-top:8px;font-size:15.5px;color:var(--ink)}
.fcard .val a{color:var(--ink);text-decoration:underline}
@media(max-width:820px){.facts-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.facts-grid{grid-template-columns:1fr}}

/* --- footer --- */
footer{background:#fff;border-top:1px solid var(--line);padding:clamp(26px,3vw,40px) clamp(18px,4vw,60px) clamp(20px,2.4vw,30px);margin-top:auto;color:var(--ink)}
.foot-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}
.socials{display:flex;gap:14px}
.socials a{color:var(--ink);transition:transform .15s,opacity .15s}
.socials a:hover{transform:translateY(-2px);opacity:.65}
.socials a svg{width:21px;height:21px}
.foot-links{display:flex;gap:clamp(14px,2.4vw,28px);flex-wrap:wrap}
.foot-links a{color:var(--ink);font-weight:500;font-size:15px;transition:opacity .15s}
.foot-links a:hover{opacity:.6}
.foot-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:clamp(32px,5vw,54px)}
.foot-brand{max-width:420px}
.foot-brand .row{display:flex;align-items:center;gap:11px;margin-bottom:9px}
.foot-brand .row img{width:30px;height:30px;border-radius:8px;background:#fff;object-fit:contain}
.foot-brand .row b{font-family:var(--font-head);font-size:20px;font-weight:700;color:var(--ink)}
.foot-brand p{margin:0;color:var(--mut);font-size:15px;line-height:1.5}
.foot-right{text-align:right}
.officl{display:flex;align-items:center;gap:16px;justify-content:flex-end;margin-bottom:12px;color:var(--mut);font-weight:600;flex-wrap:wrap}
.officl a{color:var(--ink);text-decoration:underline}
.officl .tag{color:var(--ink);font-weight:700}
.legal{color:var(--faint);font-size:13.5px;display:flex;gap:18px;justify-content:flex-end;flex-wrap:wrap}
.legal a:hover{color:var(--ink)}
.disc{width:100%;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--faint);font-family:var(--mono)}

/* --- responsive --- */
@media(max-width:1000px){.home-main{grid-template-columns:1fr}.aside{position:static;order:2}.left{order:1}}
@media(max-width:820px){
  .top{gap:10px;padding:0 14px}
  .brand-mark{display:flex}
  .top .nav{order:3;flex-basis:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:4px;padding:4px 2px 8px;scrollbar-width:none}
  .top .nav::-webkit-scrollbar{display:none}
  .nav a{font-size:14px;padding:7px 8px}
  .sp{display:none}
  .connect span.lbl{display:none}
}
@media(max-width:560px){
  .home-main{padding:16px 12px 30px}
  .hello{font-size:34px}
  .field{padding:14px 14px 16px}
  .amt{font-size:30px}
  .tokpill{font-size:15px;padding:6px 10px 6px 7px}
  .foot-bottom{flex-direction:column;align-items:flex-start}
  .foot-right{text-align:left;width:100%}
  .officl,.legal{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
