@charset "UTF-8";
:root{
  --ink:#0c1220;--muted:#5c667a;--line:#dce2ec;--paper:#fff;--mist:#f4f7fb;
  --violet:#6f35ff;--violet2:#a137ff;--gold:#ffb000;--cyan:#00a7c7;--red:#ff4d5f;
  --shadow:0 20px 60px rgba(24,31,48,.13);--cut:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.75;overflow-x:hidden}a{color:inherit}img{max-width:100%;display:block}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:999;background:#fff;padding:10px 14px;border:2px solid var(--ink)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(12,18,32,.1)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:900;letter-spacing:.06em}.brand img{height:30px;width:auto}.brand .brand-text{font-size:17px}.brand .brand-text small{display:block;font-size:9px;letter-spacing:.22em;color:var(--muted);line-height:1.1}.nav-links{display:flex;align-items:center;gap:8px}.nav-links a{text-decoration:none;font-size:14px;font-weight:750;padding:10px 12px;border:1px solid transparent}.nav-links a:hover,.nav-links a[aria-current="page"]{border-color:var(--ink);background:#fff}.nav-links .hot{color:#fff;background:var(--ink);border-color:var(--ink)}.menu{display:none;background:none;border:1px solid var(--ink);width:46px;height:42px}.menu span{display:block;width:21px;height:2px;background:var(--ink);margin:5px auto}
.hero{position:relative;min-height:690px;display:grid;align-items:center;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f9f8ff 100%)}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(12,18,32,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(12,18,32,.06) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 82%);z-index:-3}.hero:after{content:"";position:absolute;width:860px;height:860px;right:-320px;top:-350px;background:conic-gradient(from 210deg,var(--violet),var(--gold),var(--cyan),var(--violet));clip-path:polygon(50% 0,100% 24%,89% 83%,25% 100%,0 47%);filter:saturate(1.08);opacity:.17;z-index:-2}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;padding:92px 0}.kicker{display:inline-flex;gap:9px;align-items:center;font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:900;color:var(--violet)}.kicker:before{content:"";width:34px;height:3px;background:linear-gradient(90deg,var(--violet),var(--gold))}h1,h2,h3{line-height:1.14;margin:0}h1{font-size:clamp(48px,7vw,94px);letter-spacing:-.055em;margin:20px 0 24px}h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.04em}h3{font-size:24px;letter-spacing:-.025em}.lead{font-size:18px;color:#38445a;max-width:700px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;text-decoration:none;font-weight:900;border:2px solid var(--ink);background:#fff;box-shadow:5px 5px 0 var(--ink);transition:.18s transform,.18s box-shadow}.btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.btn.primary{background:var(--ink);color:#fff}.btn.discord{background:#5865f2;color:#fff;border-color:#3943b5;box-shadow:5px 5px 0 #3943b5}.hero-card{position:relative;padding:34px;min-height:430px;display:flex;flex-direction:column;justify-content:center;background:rgba(255,255,255,.85);border:1px solid rgba(12,18,32,.18);box-shadow:var(--shadow);clip-path:polygon(0 var(--cut),var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%)}.hero-card:before{content:"";position:absolute;inset:0 0 auto 0;height:8px;background:linear-gradient(90deg,var(--violet),var(--gold),var(--cyan))}.hero-card img{margin:auto;max-height:220px;object-fit:contain}.hero-card .caption{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.hero-card .caption strong{display:block;font-size:22px}
.angle-band{height:13px;background:linear-gradient(90deg,var(--ink) 0 26%,var(--violet) 26% 54%,var(--gold) 54% 78%,var(--cyan) 78%);clip-path:polygon(0 0,100% 0,98% 100%,2% 100%)}.section{padding:105px 0}.section.alt{background:var(--mist)}.section.dark{background:var(--ink);color:#fff;position:relative;overflow:hidden}.section.dark:after{content:"";position:absolute;inset:auto -120px -260px auto;width:620px;height:620px;border:110px solid rgba(111,53,255,.18);transform:rotate(22deg);pointer-events:none}.section-head{display:grid;grid-template-columns:1fr minmax(260px,470px);gap:40px;align-items:end;margin-bottom:48px}.section-head p{margin:0;color:var(--muted)}.dark .section-head p{color:#c3cada}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:900;color:var(--violet);display:block;margin-bottom:10px}.dark .eyebrow{color:#bda7ff}.mission-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px}.manifesto{font-size:clamp(32px,4.4vw,62px);line-height:1.25;letter-spacing:-.04em;font-weight:900}.manifesto mark{background:linear-gradient(transparent 58%,rgba(255,176,0,.42) 58%);color:inherit}.fact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.fact{border:1px solid var(--line);padding:24px;background:#fff;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}.fact b{display:block;font-size:32px;color:var(--violet)}.fact span{font-size:13px;color:var(--muted)}
.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.brand-card{position:relative;min-height:390px;padding:30px;display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid var(--line);overflow:hidden;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));transition:.22s transform,.22s box-shadow}.brand-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.brand-card:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:var(--accent,var(--violet))}.brand-card .code{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--accent,var(--violet))}.brand-card h3{font-size:38px;margin:24px 0 18px}.brand-card p{color:var(--muted)}.brand-card .go{margin-top:auto;font-weight:900}.brand-card.mifron{--accent:var(--violet);background:linear-gradient(145deg,#fff 58%,#f2edff)}.brand-card.crewmate{--accent:var(--cyan);background:linear-gradient(145deg,#fff 58%,#ebfbff)}.brand-card.texroot{--accent:var(--gold);background:linear-gradient(145deg,#fff 58%,#fff5db)}
.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.road-item{position:relative;border-top:5px solid var(--violet);padding:26px 24px;background:#fff;color:var(--ink);min-height:210px}.road-item:nth-child(2){border-color:var(--gold)}.road-item:nth-child(3){border-color:var(--cyan)}.road-item time{font-weight:900;font-size:13px;color:var(--muted)}.road-item strong{display:block;font-size:24px;margin:20px 0 10px}.road-item p{margin:0;color:var(--muted)}
.contact-panel{position:relative;padding:48px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,30px 100%,0 calc(100% - 30px));display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.contact-panel:before{content:"";position:absolute;left:0;top:0;width:9px;height:100%;background:linear-gradient(var(--violet),var(--gold))}.contact-panel p{margin:10px 0 0;color:var(--muted)}
.footer{padding:38px 0;border-top:1px solid var(--line);background:#fff}.footer-grid{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.footer img{height:28px;width:auto}.footer-links{display:flex;flex-wrap:wrap;gap:18px}.footer a{text-decoration:none;font-weight:750;font-size:13px}.legal{font-size:12px;color:var(--muted);margin-top:14px}
/* subsite */.sub-header .brand img.icon{height:44px;width:44px;object-fit:contain}.sub-hero{position:relative;padding:110px 0 85px;background:linear-gradient(140deg,#fff 0%,#f3efff 55%,#fff7e5 100%);overflow:hidden}.sub-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 24%,rgba(111,53,255,.22),transparent 28%),radial-gradient(circle at 85% 70%,rgba(255,176,0,.2),transparent 24%);pointer-events:none}.sub-hero-grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:center}.sub-hero h1{font-size:clamp(58px,9vw,116px)}.sub-hero .icon-stage{min-height:480px;display:grid;place-items:center;position:relative}.sub-hero .icon-stage:before,.sub-hero .icon-stage:after{content:"";position:absolute;border:1px solid rgba(12,18,32,.18);inset:9%;transform:rotate(12deg)}.sub-hero .icon-stage:after{inset:17%;transform:rotate(-12deg)}.sub-hero .icon-stage img{width:min(470px,90%);position:relative;z-index:2;filter:drop-shadow(0 30px 35px rgba(28,18,54,.24))}.stat-ribbon{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:#fff}.stat-ribbon div{padding:24px;border-right:1px solid rgba(255,255,255,.16)}.stat-ribbon b{display:block;font-size:26px}.stat-ribbon span{font-size:12px;color:#bdc5d3}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{border:1px solid var(--line);background:#fff;padding:28px;min-height:250px;position:relative;overflow:hidden}.feature:after{content:attr(data-num);position:absolute;right:-8px;bottom:-38px;font-size:120px;line-height:1;font-weight:950;color:rgba(111,53,255,.07)}.feature h3{margin:15px 0}.feature p{color:var(--muted)}.tag{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--violet);border:1px solid currentColor;padding:4px 8px}.systems{display:grid;grid-template-columns:1fr 1fr;gap:24px}.system-panel{padding:32px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}.system-panel h3{margin:12px 0}.system-panel p{color:#c5ccda}.system-panel ul{padding-left:20px;color:#e3e7ef}.kit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.kit{border:1px solid var(--line);padding:20px;background:#fff}.kit b{display:block}.kit small{color:var(--muted)}.notice{border-left:6px solid var(--gold);background:#fff7df;padding:20px 24px;margin-top:26px}.disclaimer{font-size:12px;color:var(--muted)}
.simple-hero{padding:110px 0;background:linear-gradient(135deg,#fff,#f2fbfd)}.simple-hero h1{font-size:clamp(58px,9vw,110px)}.simple-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.simple-card{border:1px solid var(--line);padding:28px;background:#fff;min-height:230px}.simple-card p{color:var(--muted)}
.reveal{opacity:0;transform:translateY(18px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.nav-links{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:14px 20px 22px;background:#fff;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.menu{display:block}.hero-grid,.sub-hero-grid,.mission-grid,.section-head,.contact-panel{grid-template-columns:1fr}.hero{min-height:auto}.hero-grid{padding:70px 0}.hero-card{min-height:340px}.brand-grid,.feature-grid,.simple-cards{grid-template-columns:1fr}.roadmap{grid-template-columns:1fr}.systems{grid-template-columns:1fr}.stat-ribbon{grid-template-columns:repeat(2,1fr)}.kit-grid{grid-template-columns:repeat(2,1fr)}.sub-hero .icon-stage{min-height:360px}.footer-grid{flex-direction:column}.section{padding:78px 0}}
@media(max-width:560px){.shell{width:min(100% - 28px,1180px)}.nav{height:68px}.nav-links{top:68px}.brand img{height:25px}h1{font-size:46px}.hero-grid{gap:34px}.hero-card{padding:24px}.section{padding:64px 0}.fact-grid,.kit-grid{grid-template-columns:1fr}.stat-ribbon{grid-template-columns:1fr 1fr}.stat-ribbon div:nth-child(even){border-right:0}.contact-panel{padding:32px 24px}.sub-hero{padding:78px 0 56px}.sub-hero h1,.simple-hero h1{font-size:56px}.sub-hero .icon-stage{min-height:300px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}

/* MCT logo presentation: always placed on a solid white field */
.brand img,
.hero-card > img,
.footer img {
  background:#fff;
  padding:4px 8px;
  object-fit:contain;
}
.hero-card > img {
  padding:14px 18px;
  border:1px solid #e4e8ef;
}

/* Mifron co-creation sections */
.community-lab{position:relative;background:linear-gradient(135deg,#f8f6ff 0%,#ffffff 48%,#fff8e8 100%);overflow:hidden}
.community-lab:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(111,53,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(111,53,255,.055) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);pointer-events:none}
.co-create-grid{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.co-create-card{background:#fff;border:1px solid var(--line);padding:32px;min-height:290px;position:relative;box-shadow:0 15px 40px rgba(28,18,54,.07);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
.co-create-card:before{content:"";position:absolute;left:0;top:0;width:7px;height:100%;background:linear-gradient(var(--violet),var(--cyan))}
.co-create-card h3{font-size:30px;margin:18px 0 14px}
.co-create-card p{color:var(--muted);margin:0}
.co-create-card.accent-card{background:var(--ink);color:#fff;border-color:var(--ink)}
.co-create-card.accent-card p{color:#cbd2df}.co-create-card.accent-card .tag{color:#ffd16a}
.mini-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px}
.mini-flow span{border:1px solid var(--line);padding:7px 10px;font-size:12px;font-weight:800;background:#f8f9fc}.mini-flow b{color:var(--violet)}
.featured-system{position:relative;background:linear-gradient(145deg,rgba(111,53,255,.16),rgba(255,176,0,.08))}
.featured-system:after{content:"UNLOCK";position:absolute;right:18px;top:14px;font-size:10px;letter-spacing:.2em;font-weight:900;color:#ffd16a}
@media(max-width:900px){.co-create-grid{grid-template-columns:1fr}}
