/* Ginitix — site styles */
:root{
  --ink:#0f2c34;--ink-2:#3f5960;--muted:#6a7f85;--green:#0e8578;--green-2:#12a08d;--mint:#e8f6f1;--mint-2:#f2faf7;
  --line:#e2ecea;--paper:#fbfdfc;--white:#fff;--dark:#0f3a3f;--dark-2:#0b2f35;--navy:#0c2630;
  --radius:14px;--shadow-sm:0 4px 18px rgba(16,56,58,.05);--shadow:0 18px 50px rgba(16,62,62,.09);
  --font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
html[lang="ja"]{--font:Inter,"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,"Yu Gothic UI",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,p{margin:0}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:1264px;margin:0 auto;padding:0 32px}
.skip-link{position:absolute;left:16px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;font-size:14px}
.skip-link:focus{top:12px}
section[id]{scroll-margin-top:80px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;font-weight:600;font-size:14px;line-height:1.2;white-space:nowrap;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.btn svg{width:16px;height:16px;flex:none;transition:transform .25s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn:hover{transform:translateY(-1px)}
.btn-sm{padding:11px 18px;font-size:13px}
.btn-lg{padding:16px 26px;min-height:52px}
.btn-dark{background:var(--dark);color:#fff;border:1px solid var(--dark)}
.btn-dark:hover{background:#17525a;border-color:#17525a;box-shadow:0 10px 24px rgba(15,58,63,.18)}
.btn-outline{background:transparent;color:var(--ink);border:1px solid #9fbdb9}
.btn-outline:hover{border-color:var(--green);color:var(--green);background:rgba(255,255,255,.6)}
.btn-light{background:#fff;color:var(--dark);border:1px solid #fff}
.btn-light:hover{background:#e9f7f2}
.btn-teal{background:var(--green);color:#fff;border:1px solid var(--green)}
.btn-teal:hover{background:#0a6d63;box-shadow:0 10px 22px rgba(14,133,120,.25)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(220,233,230,.8);transition:box-shadow .3s var(--ease)}
.site-header.is-scrolled{box-shadow:0 6px 24px rgba(16,56,58,.06)}
.nav{height:80px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.brand{justify-self:start;display:inline-flex;align-items:center;gap:11px;font-size:27px;font-weight:700;letter-spacing:-.045em;color:var(--ink);line-height:1}
.brand-mark{width:38px;height:38px;flex:none;transition:transform .5s var(--ease)}
.brand:hover .brand-mark{transform:rotate(-12deg) scale(1.05)}
.nav-links{display:flex;align-items:center;justify-content:center;gap:40px}
.nav-link{position:relative;display:inline-flex;align-items:center;font-size:13.5px;font-weight:500;color:#26414a;padding:8px 0;transition:color .25s var(--ease)}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--green);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav-link:hover,.nav-link.is-active{color:var(--green)}
.nav-link:hover::after,.nav-link.is-active::after{transform:scaleX(1);transform-origin:left}
.chev{width:13px;height:13px}
.nav-actions{justify-self:end;display:flex;align-items:center;gap:18px}
.lang-switch{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:999px;background:#fff}
.lang-switch .lang-option{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:30px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:600;color:#4a6168;transition:background .25s var(--ease),color .25s var(--ease)}
.lang-switch .lang-option:hover{color:var(--green)}
.lang-switch .lang-option[aria-current="true"]{background:var(--dark);color:#fff}
.nav-cta{padding:12px 20px}
.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--green),#3ccfae);transform:scaleX(var(--progress,0));transform-origin:left;pointer-events:none}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;align-items:center;justify-content:center;cursor:pointer}
.menu-toggle svg{width:22px;height:22px}
.menu-toggle .i-close{display:none}
.menu-toggle[aria-expanded="true"] .i-open{display:none}
.menu-toggle[aria-expanded="true"] .i-close{display:block}
.mobile-panel{border-top:1px solid var(--line);background:#fff;max-height:calc(100vh - 70px);overflow:auto}
.mobile-panel .wrap{display:flex;flex-direction:column;padding-top:12px;padding-bottom:24px}
.mobile-panel a:not(.btn):not(.lang-option){padding:15px 0;border-bottom:1px solid var(--line);font-size:16px;font-weight:500}
.mobile-panel:not([hidden]) .wrap>*{animation:rise .45s var(--ease) both}
.mobile-panel .wrap>*:nth-child(2){animation-delay:.04s}.mobile-panel .wrap>*:nth-child(3){animation-delay:.08s}.mobile-panel .wrap>*:nth-child(4){animation-delay:.12s}.mobile-panel .wrap>*:nth-child(5){animation-delay:.16s}.mobile-panel .wrap>*:nth-child(6){animation-delay:.2s}
.mobile-lang{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 14px}
.mobile-lang a{display:flex;justify-content:center;padding:12px;border:1px solid var(--line);border-radius:8px;font-weight:600;font-size:14px}
.mobile-lang a[aria-current="true"]{border-color:var(--green);color:var(--green);background:var(--mint)}
.mobile-panel .btn{padding:15px 20px;font-size:14px}

/* Shared type */
.eyebrow,.kicker{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--green);margin-bottom:18px}
.eyebrow::after,.kicker::after{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
h1{font-size:62px;line-height:1.04;font-weight:700;letter-spacing:-.04em;color:var(--ink)}
h1 em,h2 em{font-style:normal;color:var(--green)}
h2{font-size:37px;line-height:1.14;font-weight:700;letter-spacing:-.033em;color:var(--ink);margin-bottom:18px;text-wrap:balance}
.intro{font-size:14.5px;line-height:1.75;color:var(--ink-2);max-width:470px}
.section{padding:88px 0}
.section-tint{background:linear-gradient(180deg,#f0f9f6,#eef8f4)}

/* Hero */
.hero{position:relative;overflow:hidden;padding:52px 0 64px;background:linear-gradient(180deg,#eff9f5 0%,#e7f5f0 100%)}
.hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px 420px at 78% 38%,rgba(255,255,255,.9),transparent 70%),radial-gradient(500px 360px at 10% 0%,rgba(214,242,231,.7),transparent 70%)}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.hero-copy h1{margin-bottom:24px}
.hero-description{font-size:16.5px;line-height:1.7;color:var(--ink-2);max-width:470px;margin-bottom:34px}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:30px}
.hero-badges{display:flex;flex-wrap:wrap;align-items:center;gap:0;font-size:12.5px;color:#30484f;font-weight:500}
.hero-badges li{display:flex;align-items:center;gap:8px;padding:0 20px;border-left:1px solid #c6dcd7}
.hero-badges li:first-child{padding-left:0;border-left:0}
.hero-badges svg{width:18px;height:18px;color:var(--green)}
.hero-note{display:flex;gap:8px;align-items:flex-start;margin-top:18px;font-size:12px;color:var(--muted);line-height:1.5}
.hero-note svg{width:15px;height:15px;flex:none;margin-top:1px;color:var(--green)}

.hero-art{position:relative;height:440px;display:flex;align-items:center;justify-content:center}
.art-ring{position:absolute;width:470px;height:470px;border-radius:50%;border:1px solid rgba(14,133,120,.12);background:radial-gradient(circle,rgba(255,255,255,.75) 0,rgba(223,245,236,.55) 55%,transparent 72%)}
.ring-2{width:610px;height:610px;background:none;border-color:rgba(14,133,120,.07)}
.convert-card{position:relative;z-index:2;width:420px;background:rgba(255,255,255,.96);border:1px solid #e3eeeb;border-radius:22px;padding:24px 26px 22px;box-shadow:0 40px 80px rgba(20,84,80,.14),0 6px 18px rgba(20,84,80,.06);transform:rotate(-5deg);animation:float-card 7s ease-in-out infinite}
.convert-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.convert-pill{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink);padding:6px 12px 6px 8px;border-radius:999px;background:var(--mint)}
.convert-pill svg{width:16px;height:16px;color:var(--green)}
.live-dot{width:8px;height:8px;border-radius:50%;background:#33b597;box-shadow:0 0 0 0 rgba(51,181,151,.45);animation:pulse 2.4s infinite}
.convert-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e5efec;border-radius:14px;padding:16px 18px;background:#fff}
.asset-pick{display:flex;align-items:center;gap:12px}
.asset-icon{width:34px;height:34px;flex:none}
.asset-pick strong{display:flex;align-items:center;gap:5px;font-size:16px;font-weight:700;color:var(--ink)}
.asset-pick strong .chev{width:12px;height:12px;color:var(--muted)}
.asset-pick small,.asset-amount small{display:block;font-size:11.5px;color:var(--muted)}
.asset-amount{text-align:right}
.asset-amount strong{display:block;font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.convert-swap{position:relative;z-index:1;width:36px;height:36px;margin:-10px auto;border-radius:50%;background:#fff;border:1px solid #dcebe6;display:grid;place-items:center;color:var(--green);box-shadow:var(--shadow-sm)}
.convert-swap svg{width:17px;height:17px;transform:rotate(90deg)}
.convert-foot{display:flex;flex-direction:column;gap:6px;margin-top:18px;font-size:12px;color:var(--ink-2)}
.convert-foot span:first-child{color:var(--green);font-weight:500}
.foot-secure{display:flex;align-items:center;gap:7px;color:var(--muted)}
.foot-secure i{width:7px;height:7px;border-radius:50%;background:var(--green-2)}
.float-chip{position:absolute;z-index:3;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:0 18px 40px rgba(16,62,62,.13);border:1px solid #e6f0ed}
.float-chip svg{width:30px;height:30px}
.chip-token{width:68px;height:68px;top:34px;right:22px;animation:float-chip 6s ease-in-out infinite}
.chip-token svg{width:38px;height:38px}
.chip-wallet{width:72px;height:72px;left:6px;top:46%;color:var(--ink);animation:float-chip 7s ease-in-out -2s infinite}
.chip-bank{width:72px;height:72px;right:-6px;top:52%;color:var(--green);animation:float-chip 6.5s ease-in-out -4s infinite}

/* Trust */
.trust{background:linear-gradient(180deg,#e7f5f0 0,#f7fbfa 50%,var(--paper) 100%);padding:0 0 40px}
.trust-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:32px 0;margin-top:-6px}
.trust-item{display:flex;gap:16px;padding:0 28px;border-left:1px solid var(--line)}
.trust-item:first-child{border-left:0}
.trust-icon{width:32px;height:32px;flex:none;color:var(--green);transition:transform .35s var(--ease)}
.trust-item:hover .trust-icon{transform:translateY(-3px)}
.trust-item h3{font-size:14px;font-weight:600;margin:4px 0 8px;color:var(--ink)}
.trust-item p{font-size:12.5px;line-height:1.65;color:var(--muted)}

/* Products */
.products-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:40px;align-items:center;margin-bottom:24px}
.products-top h2{max-width:430px}
.products-visual{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:1200/430;background:#0c2b30}
.products-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.products-visual:hover img{transform:scale(1.025)}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.product-card{position:relative;display:flex;flex-direction:column;border-radius:var(--radius);padding:34px 34px 30px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.product-card:hover{transform:translateY(-4px)}
.product-dark{background:radial-gradient(420px 240px at 100% 100%,rgba(28,140,122,.35),transparent 70%),linear-gradient(140deg,#11504e 0%,#0c3d40 55%,#0a3236 100%);color:#e7f4f1;box-shadow:0 22px 50px rgba(10,50,54,.25)}
.product-light{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.product-light:hover{box-shadow:0 26px 60px rgba(16,62,62,.12)}
.product-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.product-icon{width:30px;height:30px;color:var(--green)}
.product-dark .product-icon{color:#bfeadd}
.product-index{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--green)}
.product-dark .product-index{color:#8fd7c3}
.product-card h3{font-size:21px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}
.product-dark h3{color:#fff}
.product-card>p{font-size:13.5px;line-height:1.75;color:var(--ink-2);max-width:480px}
.product-dark>p{color:#c6dfdb}
.mini-label{font-size:10.5px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--green)!important;margin-top:22px!important}
.product-dark .mini-label{color:#8fd7c3!important}
.ticks{margin:10px 0 26px;display:grid;gap:7px}
.ticks li{position:relative;padding-left:24px;font-size:13px;line-height:1.55;color:#3f5960}
.ticks li::before{content:"";position:absolute;left:0;top:4px;width:14px;height:14px;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 12.5 3 3 7-7' fill='none' stroke='%230e8578' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
.product-dark .ticks li{color:#d4e9e5}
.product-dark .ticks li::before{background-color:rgba(255,255,255,.12);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 12.5 3 3 7-7' fill='none' stroke='%239fe3cf' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.product-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.direction{display:flex;align-items:center;gap:14px}
.dir-chip{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:12px;font-weight:700;letter-spacing:.02em}
.dir-aud{background:#1d6f63;color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.06)}
.dir-aud-light{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.dir-token{width:46px;height:46px;border-radius:50%;box-shadow:0 8px 18px rgba(247,147,26,.28)}
.dir-arrow{width:20px;height:20px;color:#8fd7c3}
.product-light .dir-arrow{color:var(--ink)}
.product-card:hover .dir-arrow{animation:nudge 1s var(--ease) infinite}
.scope-note{display:flex;gap:10px;align-items:flex-start;margin-top:22px;font-size:12.5px;line-height:1.7;color:var(--muted)}
.scope-note svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--green)}

/* Split sections */
.split{display:grid;grid-template-columns:minmax(0,370px) minmax(0,1fr);gap:56px;align-items:start}
.split-aside .intro{margin-bottom:28px}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.service-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 22px 26px;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#cfe6df}
.service-icon{width:28px;height:28px;color:var(--green);margin-bottom:20px;transition:transform .35s var(--ease)}
.service-card:hover .service-icon{transform:scale(1.1)}
.service-card .num{position:absolute;top:24px;right:20px;font-size:11px;font-weight:700;letter-spacing:.1em;color:#a6c4bd}
.service-card h3{font-size:14.5px;font-weight:600;margin-bottom:10px;color:var(--ink)}
.service-card p{font-size:12.5px;line-height:1.7;color:var(--muted)}

/* Details */
.accent-box{display:flex;gap:16px;align-items:flex-start;background:var(--mint);border:1px solid #d3ebe3;border-radius:12px;padding:20px 22px}
.accent-box svg{width:34px;height:34px;flex:none;color:var(--green)}
.accent-box strong{display:block;font-size:14px;font-weight:600;margin-bottom:4px}
.accent-box p{font-size:12.5px;line-height:1.65;color:var(--ink-2)}
.spec-table{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}
.spec-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;padding:18px 26px;border-top:1px solid var(--line);transition:background .25s}
.spec-row:first-child{border-top:0}
.spec-row:hover{background:var(--mint-2)}
.spec-row dt{display:flex;align-items:center;gap:14px;font-size:13.5px;font-weight:600;color:var(--ink)}
.spec-row dt svg{width:20px;height:20px;flex:none;color:var(--green)}
.spec-row dd{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.55}

/* Process */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;counter-reset:none}
.step{position:relative;padding:4px 30px 4px 30px;border-left:1px solid #d3e6e0}
.step-top{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.step-num{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--dark);color:#fff;font-size:13px;font-weight:700}
.step-icon{width:32px;height:32px;color:var(--green);transition:transform .35s var(--ease)}
.step:hover .step-icon{transform:translateY(-3px)}
.step:not(:last-child)::after{content:"";position:absolute;right:20px;top:16px;width:18px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16m-5-5 5 5-5 5' fill='none' stroke='%237fa9a0' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat}
.step h3{font-size:15px;font-weight:600;margin-bottom:10px}
.step p{font-size:12.8px;line-height:1.7;color:var(--muted)}
.process-note{display:flex;gap:10px;align-items:flex-start;margin-top:34px;margin-left:30px;font-size:12.5px;line-height:1.7;color:var(--ink-2);background:rgba(255,255,255,.7);border:1px solid #d6e9e3;border-radius:10px;padding:14px 18px}
.process-note svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--green)}

/* FAQ */
.faq-list{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}
.faq+.faq{border-top:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:19px 26px;font-size:14px;font-weight:500;color:var(--ink);transition:color .2s,background .2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--green);background:var(--mint-2)}
.faq summary svg{width:18px;height:18px;flex:none;color:var(--green);transition:transform .3s var(--ease)}
.faq[open] summary svg{transform:rotate(45deg)}
.faq-body{overflow:hidden}
.faq-body p{padding:0 56px 20px 26px;font-size:13.5px;line-height:1.75;color:var(--ink-2)}

/* Contact */
.contact{position:relative;overflow:hidden;background:#0d2c36;color:#fff;padding:70px 0}
.contact-bg{position:absolute;inset:0}
.contact-bg img{width:100%;height:100%;object-fit:cover;object-position:center 70%}
.contact-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,36,44,.94) 0%,rgba(10,36,44,.72) 36%,rgba(10,36,44,.2) 62%,rgba(10,36,44,.45) 100%)}
.contact-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:48px;align-items:center}
.kicker-light{color:#7fd9c2}
.contact h2{color:#fff;font-size:32px;margin-bottom:14px}
.contact-intro{font-size:14.5px;line-height:1.75;color:#c3d6d6;max-width:470px}
.contact-card{background:#fff;color:var(--ink);border-radius:var(--radius);padding:24px 26px;box-shadow:0 30px 60px rgba(0,0,0,.25)}
.contact-row{display:flex;align-items:center;gap:18px}
.contact-icon{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:50%;background:var(--mint);color:var(--green)}
.contact-icon svg{width:24px;height:24px}
.contact-row>div{flex:1;min-width:0}
.contact-label{display:block;font-size:12px;color:var(--muted)}
.contact-email{display:block;font-size:18px;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}
.contact-email:hover{color:var(--green)}
.contact-help{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:11.5px;line-height:1.6;color:var(--muted)}

/* Footer */
.footer{background:var(--navy);color:#c2d3d3;padding:58px 0 26px;font-size:13px}
.footer-top{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:40px;padding-bottom:36px}
.footer .brand{color:#fff}
.footer-tag{margin-top:14px;color:#9fb6b6}
.footer-address{font-style:normal;margin-top:16px;font-size:12px;line-height:1.85;color:#8ba5a6}
.footer-nav{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.footer-nav a,.footer-contact a{transition:color .2s}
.footer-nav a:hover,.footer-contact a:hover,.to-top:hover{color:#7fd9c2}
.footer-contact{display:flex;flex-direction:column;gap:14px}
.footer-contact li{display:flex;gap:12px;align-items:flex-start}
.footer-contact svg{width:17px;height:17px;flex:none;margin-top:2px;color:#7fd9c2}
.footer-contact svg.flag{width:18px;height:18px}
.footer-contact small{display:block;font-size:11px;color:#8ba5a6}
.footer-contact a{color:#fff}
.footer-legal{border-top:1px solid #23414b;padding:24px 0 8px;font-size:11.5px;line-height:1.8;color:#8ba5a6}
.footer-legal p{max-width:1060px;margin-bottom:10px}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #23414b;padding-top:20px;font-size:12px;color:#8ba5a6}

/* Motion */
@keyframes float-card{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-5deg) translateY(-10px)}}
@keyframes float-chip{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(51,181,151,.45)}70%{box-shadow:0 0 0 9px rgba(51,181,151,0)}100%{box-shadow:0 0 0 0 rgba(51,181,151,0)}}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes rise-art{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.js .reveal-hero{opacity:0;animation:rise .8s var(--ease) forwards}
.js .reveal-hero:nth-child(2){animation-delay:.08s}
.js .reveal-hero:nth-child(3){animation-delay:.16s}
.js .reveal-hero:nth-child(4){animation-delay:.24s}
.js .reveal-hero:nth-child(5){animation-delay:.32s}
.js .reveal-hero:nth-child(6){animation-delay:.38s}
.js .reveal-art{opacity:0;animation:rise-art 1s var(--ease) .2s forwards}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.is-visible{opacity:1;transform:none}
@keyframes header-in{from{transform:translateY(-100%)}to{transform:none}}
@keyframes line-up{to{transform:none}}
@keyframes shimmer{0%{background-position:100% 0}45%,100%{background-position:0 0}}
@keyframes spin{to{rotate:360deg}}
@keyframes swap-turn{0%,72%{transform:rotate(90deg)}86%,100%{transform:rotate(270deg)}}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.08) translateX(-1.5%)}}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(-60px,50px)}}
@keyframes glow-shift{from{transform:translate(0,0)}to{transform:translate(-3%,2%)}}

/* Header & hero headline */
.js .site-header{animation:header-in .7s var(--ease) both}
.hero-title .line{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.js .hero-title .line>span{display:inline-block;transform:translateY(110%);animation:line-up 1s var(--ease) .1s forwards}
.js .hero-title .line:nth-child(2)>span{animation-delay:.24s}
.hero-title em{background:linear-gradient(100deg,var(--green) 0%,var(--green) 38%,#3ccfae 50%,var(--green) 62%,var(--green) 100%);background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 7s ease-in-out 1.4s infinite}
.hero-glow{animation:glow-shift 14s ease-in-out infinite alternate}

/* Hero art: parallax (set by JS) and gentle motion */
.hero-art{--mx:0;--my:0}
.art-ring{translate:calc(var(--mx)*6px) calc(var(--my)*6px);transition:translate .9s var(--ease)}
.ring-2{border-style:dashed;border-color:rgba(14,133,120,.14);animation:spin 80s linear infinite}
.convert-card{translate:calc(var(--mx)*-10px) calc(var(--my)*-10px);transition:translate .9s var(--ease)}
.chip-token{translate:calc(var(--mx)*20px) calc(var(--my)*20px)}
.chip-wallet{translate:calc(var(--mx)*14px) calc(var(--my)*14px)}
.chip-bank{translate:calc(var(--mx)*24px) calc(var(--my)*24px)}
.float-chip{transition:translate .9s var(--ease)}
.convert-swap svg{animation:swap-turn 5s var(--ease) 1.5s infinite}

/* Reveal variants */
.js .reveal-left{transform:translateX(-28px)}
.js .reveal-right{transform:translateX(28px)}
.js .reveal-scale{transform:scale(.96)}
.js .reveal.is-visible{transform:none}

/* Icons draw themselves in */
.js .reveal :is(.trust-icon,.service-icon,.step-icon){stroke-dasharray:160;stroke-dashoffset:160;transition:stroke-dashoffset 1.6s var(--ease) .25s,transform .35s var(--ease)}
.js .reveal.is-visible :is(.trust-icon,.service-icon,.step-icon){stroke-dashoffset:0}
.js .trust-card .trust-item:nth-child(2) .trust-icon{transition-delay:.4s,0s}
.js .trust-card .trust-item:nth-child(3) .trust-icon{transition-delay:.55s,0s}
.js .trust-card .trust-item:nth-child(4) .trust-icon{transition-delay:.7s,0s}

/* Staggered rows */
.js :is(.spec-table,.faq-list) :is(.spec-row,.faq){opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .6s var(--ease),background .25s}
.js :is(.spec-table,.faq-list).is-visible :is(.spec-row,.faq){opacity:1;transform:none}
.js :is(.spec-row,.faq):nth-child(2){transition-delay:.07s}
.js :is(.spec-row,.faq):nth-child(3){transition-delay:.14s}
.js :is(.spec-row,.faq):nth-child(4){transition-delay:.21s}
.js :is(.spec-row,.faq):nth-child(5){transition-delay:.28s}
.js :is(.spec-row,.faq):nth-child(6){transition-delay:.35s}
.js .step:not(:last-child)::after{opacity:0;transform:translateX(-8px);transition:opacity .6s var(--ease) .6s,transform .6s var(--ease) .6s}
.js .step.is-visible::after{opacity:1;transform:none}

/* Buttons: soft shine on hover */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn-dark::before,.btn-teal::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn-dark:hover::before,.btn-teal:hover::before{transform:translateX(120%)}

/* Ambient glow in the dark product card, slow skyline zoom */
.product-dark::before{content:"";position:absolute;width:320px;height:320px;right:-90px;top:-140px;border-radius:50%;background:radial-gradient(circle,rgba(60,207,174,.22),transparent 70%);animation:drift 14s ease-in-out infinite alternate;pointer-events:none}
.product-card>*{position:relative;z-index:1}
.contact-bg img{animation:kenburns 26s ease-in-out infinite alternate}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .hero-title .line>span{transform:none}
  .hero-art *{translate:none!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal,.js .reveal-hero,.js .reveal-art{opacity:1;transform:none}
  .convert-card{transform:rotate(-5deg)}
}

/* Japanese typography */
html[lang="ja"] body{line-height:1.75;line-break:strict;overflow-wrap:anywhere}
html[lang="ja"] h1{font-size:50px;letter-spacing:-.01em;line-height:1.3}
html[lang="ja"] h2{font-size:31px;letter-spacing:0;line-height:1.4}
html[lang="ja"] .contact h2{font-size:28px}
html[lang="ja"] .eyebrow,html[lang="ja"] .kicker,html[lang="ja"] .product-index,html[lang="ja"] .mini-label{letter-spacing:.08em}
html[lang="ja"] .brand{letter-spacing:-.045em}
html[lang="ja"] .nav-links{gap:30px}
html[lang="ja"] .btn{letter-spacing:.02em}
html[lang="ja"] .asset-amount strong{font-size:17px}
html[lang="ja"] .intro,html[lang="ja"] .hero-description{line-height:1.85}
html[lang="ja"] h3{letter-spacing:0}
html[lang="ja"] h1,html[lang="ja"] h2,html[lang="ja"] h3,html[lang="ja"] .btn{word-break:auto-phrase}

/* Responsive */
@media (max-width:1240px){
  .nav-links{gap:28px}
  h1{font-size:56px}
  .convert-card{width:390px}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:44px}
}
@media (max-width:1024px){
  .wrap{padding:0 28px}
  .nav-links{display:none}
  .nav-cta{display:none}
  .menu-toggle{display:inline-flex}
  .nav{height:72px;grid-template-columns:1fr auto}
  .nav-actions{gap:12px}
  .hero{padding:56px 0 72px}
  .hero-grid{grid-template-columns:1fr;gap:20px}
  .hero-copy{max-width:640px}
  .hero-art{height:430px}
  .trust-card{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
  .trust-item:nth-child(3){border-left:0}
  .products-top{grid-template-columns:1fr;gap:30px}
  .products-top h2{max-width:none}
  .split{grid-template-columns:1fr;gap:36px}
  .split-aside{max-width:640px}
  .contact-grid{grid-template-columns:1fr;gap:32px}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  section[id]{scroll-margin-top:72px}
}
@media (max-width:768px){
  body{font-size:14.5px}
  .js .reveal-left,.js .reveal-right{transform:translateY(22px)}
  .js .reveal.is-visible{transform:none}
  .wrap{padding:0 22px}
  h1{font-size:46px}
  h2{font-size:30px}
  html[lang="ja"] h1{font-size:38px}
  html[lang="ja"] h2{font-size:26px}
  .section{padding:68px 0}
  .product-grid{grid-template-columns:1fr;gap:18px}
  .steps{grid-template-columns:1fr;gap:26px}
  .step{border-left:0;padding:0 0 0 0}
  .step:not(:last-child)::after{display:none}
  .process-note{margin-left:0}
  .hero-art{height:400px}
  .art-ring{width:380px;height:380px}
  .ring-2{width:500px;height:500px}
  .spec-row{grid-template-columns:1fr;gap:6px;padding:16px 20px}
  .spec-row dd{padding-left:34px}
  .contact-row{flex-wrap:wrap}
  .contact-row .btn{width:100%}
}
@media (max-width:560px){
  .wrap{padding:0 18px}
  .nav-actions{gap:10px}
  .brand{font-size:24px}
  .brand-mark{width:34px;height:34px}
  .hero{padding:42px 0 56px}
  h1{font-size:40px}
  html[lang="ja"] h1{font-size:32px}
  h2{font-size:27px}
  html[lang="ja"] h2{font-size:23px}
  .contact h2,html[lang="ja"] .contact h2{font-size:24px}
  .hero-description{font-size:15.5px}
  .hero-actions .btn{width:100%}
  .hero-badges{gap:10px 18px}
  .hero-badges li{padding:0;border-left:0}
  .trust-item{padding:18px 20px}
  .hero-art{height:340px;margin:0 -18px}
  .convert-card{width:300px;padding:18px 18px 16px;border-radius:18px}
  .convert-row{padding:12px 13px}
  .asset-icon{width:28px;height:28px}
  .asset-pick{gap:9px}
  .asset-pick strong{font-size:14px}
  .asset-amount strong,html[lang="ja"] .asset-amount strong{font-size:14.5px}
  .convert-foot{font-size:11px}
  .art-ring{width:300px;height:300px}
  .ring-2{width:380px;height:380px}
  .chip-token{width:54px;height:54px;top:8px;right:16px}
  .chip-token svg{width:30px;height:30px}
  .chip-wallet,.chip-bank{width:54px;height:54px}
  .chip-wallet{left:6px;top:68%}
  .chip-bank{right:8px;top:72%}
  .float-chip svg{width:24px;height:24px}
  .trust-card{grid-template-columns:1fr;padding:6px 0}
  .trust-item{border-left:0;border-top:1px solid var(--line);padding:20px 22px}
  .trust-item:first-child{border-top:0}
  .product-card{padding:26px 22px 24px}
  .product-foot{flex-direction:column;align-items:flex-start}
  .service-grid{grid-template-columns:1fr}
  .faq summary{padding:17px 18px}
  .faq-body p{padding:0 18px 18px}
  .contact-card{padding:20px}
  .footer-top{grid-template-columns:1fr;gap:28px}
  .footer-bottom{flex-direction:column}
}
@media (max-width:360px){
  .wrap{padding:0 16px}
  .nav-actions .lang-switch{display:none}
  h1{font-size:35px}
  html[lang="ja"] h1{font-size:29px}
  .btn-lg{padding:14px 18px}
  .convert-card{width:268px}
  .asset-amount small{display:none}
  .hero-badges{font-size:12px}
}
