:root{--black:#090909;--off:#f3f1eb;--white:#fff;--acid:#d9ff30;--orange:#ff5b2e;--muted:#9d9d9d;--line:rgba(255,255,255,.15);--line-dark:rgba(0,0,0,.14);--pad:clamp(20px,5vw,84px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif;background:var(--off);color:var(--black);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}.noise{position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.cursor-dot,.cursor-ring{position:fixed;border-radius:50%;pointer-events:none;z-index:2000;transform:translate(-50%,-50%);display:none}.cursor-dot{width:6px;height:6px;background:var(--acid)}.cursor-ring{width:38px;height:38px;border:1px solid rgba(217,255,48,.55);transition:width .2s,height .2s,border-color .2s}.section-dark{background:var(--black);color:var(--white)}.section-light{background:var(--off);color:var(--black)}.section-acid{background:var(--acid);color:var(--black)}
.site-header{position:absolute;top:0;left:0;right:0;z-index:20;padding:20px var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.brand{display:flex;align-items:center;gap:10px;width:max-content}.brand-mark{width:42px;height:42px;border:1px solid #fff;display:grid;place-items:center;font-family:"Archivo Black";font-size:14px}.brand-copy{font-size:11px;line-height:1.05;letter-spacing:.08em;font-weight:800}.nav{display:flex;gap:28px;font-size:11px;letter-spacing:.12em;font-weight:600}.nav a{opacity:.65;transition:.2s}.nav a:hover{opacity:1}.pill{border-radius:999px;padding:15px 22px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:12px;font-weight:700;letter-spacing:.06em;transition:transform .25s,background .25s,color .25s}.pill:hover{transform:translateY(-2px)}.pill-small{justify-self:end;background:var(--acid);color:#111;padding:12px 17px}.pill-light{background:#fff;color:#111}.pill-dark{background:#111;color:#fff}.text-link{font-size:12px;letter-spacing:.08em;font-weight:700;border-bottom:1px solid rgba(255,255,255,.35);padding:10px 0}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.14em;font-weight:700;display:flex;align-items:center;gap:10px}.dot,.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 18px rgba(217,255,48,.9)}
.hero{min-height:100svh;position:relative;overflow:hidden;padding:150px var(--pad) 72px;display:flex;align-items:center}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,#000,rgba(0,0,0,.7) 52%,transparent 88%);z-index:2}.hero-photo-wrap{position:absolute;inset:0 0 0 41%;overflow:hidden}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:55% center;transform:scale(1.04);animation:heroZoom 10s ease-out both}@keyframes heroZoom{from{transform:scale(1.13)}to{transform:scale(1.04)}}.hero-photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,#090909 0,rgba(9,9,9,.86) 16%,rgba(9,9,9,.35) 48%,rgba(9,9,9,.06) 75%),linear-gradient(0deg,rgba(9,9,9,.65),transparent 35%)}.hero-photo-tag{position:absolute;right:28px;top:112px;color:#fff;font-size:9px;letter-spacing:.14em;border:1px solid rgba(255,255,255,.45);padding:8px 11px;backdrop-filter:blur(8px)}.hero-copy{position:relative;z-index:5;width:min(820px,69vw)}.eyebrow{color:#c8c8c8;margin-bottom:26px}.hero h1{margin:0;font-family:"Archivo Black",Impact,sans-serif;line-height:.79;letter-spacing:-.06em;font-size:clamp(84px,11vw,176px);text-transform:uppercase}.hero-line{display:block}.hero-line.ghost{color:#262626;text-shadow:-1px -1px 0 rgba(255,255,255,.08)}.hero-line.solid{color:var(--white)}.hero-line.outline{color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.92)}.hero-lead{font-family:"Noto Sans JP";font-weight:600;font-size:clamp(16px,1.6vw,23px);line-height:1.7;margin:34px 0 26px;max-width:580px}.hero-actions{display:flex;align-items:center;gap:26px}.hero-stamp{position:absolute;z-index:4;color:#fff;font-family:"Archivo Black";font-size:11px;border:1px solid rgba(255,255,255,.5);padding:8px 12px;backdrop-filter:blur(6px)}.hero-stamp-1{left:51%;top:18%;transform:rotate(-5deg)}.hero-stamp-2{right:9%;bottom:20%;font-size:27px;transform:rotate(6deg)}.hero-stamp-3{right:4%;top:27%;transform:rotate(7deg);background:var(--acid);color:#111;border-color:var(--acid)}.hero-bottom{position:absolute;bottom:0;left:var(--pad);right:var(--pad);z-index:6;border-top:1px solid rgba(255,255,255,.18);height:72px;display:flex;align-items:center;justify-content:space-between}.hero-name{font-family:"Noto Sans JP";font-weight:800;font-size:14px}.hero-name span{font-family:"Space Grotesk";color:#999;font-size:10px;margin-left:12px;letter-spacing:.12em}.hero-meta{display:flex;gap:24px;color:#aaa;font-size:9px;letter-spacing:.13em}.ticker{overflow:hidden;background:var(--acid);border-block:1px solid #111;padding:12px 0;color:#080808}.ticker-track{display:flex;width:max-content;align-items:center;gap:20px;font-family:"Archivo Black";font-size:17px;animation:ticker 27s linear infinite;color:#080808}.ticker-track span,.ticker-track i{color:#080808!important}.ticker-track i{font-style:normal;font-size:10px}@keyframes ticker{to{transform:translateX(-50%)}}
.photo-ribbon{padding:72px 0 96px;overflow:hidden}.ribbon-copy{padding:0 var(--pad) 30px;display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line-dark);margin-bottom:30px}.ribbon-copy span{font-size:9px;letter-spacing:.14em;color:#777}.ribbon-copy strong{font-family:"Archivo Black";font-size:clamp(23px,3.6vw,55px);letter-spacing:-.04em}.ribbon-track{display:flex;gap:16px;width:max-content;padding:0 var(--pad);will-change:transform}.ribbon-shot{border:0;padding:0;background:#111;cursor:zoom-in;overflow:hidden;position:relative}.ribbon-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.ribbon-shot:hover img{transform:scale(1.045);filter:contrast(1.06)}.ribbon-shot.wide{width:min(42vw,620px);height:360px}.ribbon-shot.tall{width:min(25vw,360px);height:430px}
.profile,.viral,.support,.community,.contact{padding:110px var(--pad)}.section-kicker{margin-bottom:42px}.profile-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:8vw;align-items:center}.profile-visual{position:relative}.portrait-frame{margin:0;position:relative;width:min(520px,100%);aspect-ratio:.72;background:#111;overflow:hidden;transform:rotate(-2deg);box-shadow:22px 22px 0 #111}.portrait-frame img{width:100%;height:100%;object-fit:cover;display:block}.portrait-frame:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.55);pointer-events:none}.portrait-frame figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;padding:70px 24px 22px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em}.portrait-index{position:absolute;right:-5%;top:8%;background:var(--acid);padding:14px 18px;font-family:"Archivo Black";font-size:25px;line-height:.8;transform:rotate(5deg)}.profile-heading h2,.viral-head h2,.results-head h2,.community-head h2,.support-copy h2,.return-head h2,.media-wall-copy h2,.contact-copy h2{font-family:"Archivo Black";font-size:clamp(50px,7.1vw,112px);line-height:.84;letter-spacing:-.055em;margin:0;text-transform:uppercase}.profile-heading h2 span,.viral-head h2 span,.results-head h2 span,.community-head h2 span,.support-copy h2 span,.return-head h2 span,.media-wall-copy h2 span,.contact-copy h2 span{color:transparent;-webkit-text-stroke:1.5px currentColor}.large-copy{font-family:"Noto Sans JP";font-weight:700;font-size:clamp(19px,2.2vw,31px);line-height:1.65;margin:34px 0 26px}.profile-body>p:not(.large-copy),.support-copy>p:not(.large-copy){font-family:"Noto Sans JP";font-size:14px;line-height:2;color:#555;max-width:760px}.profile-facts{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-dark)}.profile-facts>div{padding:19px 16px 22px 0;border-bottom:1px solid var(--line-dark);display:grid;gap:3px}.profile-facts>div:nth-child(odd){border-right:1px solid var(--line-dark)}.profile-facts>div:nth-child(even){padding-left:20px}.fact-label{font-size:9px;letter-spacing:.14em;color:#777}.profile-facts strong{font-size:29px;letter-spacing:-.04em}.profile-facts small{font-size:11px;color:#888}.statement{margin-top:100px;border-top:1px solid #111;border-bottom:1px solid #111;padding:48px 0;display:grid;grid-template-columns:100px 1fr auto;align-items:end}.statement-mark{font-family:Georgia;font-size:120px;line-height:.4;color:var(--orange)}.statement p{font-family:"Noto Sans JP";font-weight:800;font-size:clamp(29px,4vw,63px);line-height:1.35;margin:0}.statement span{font-size:9px;color:#777;letter-spacing:.12em;padding-bottom:8px}
.impact{padding:110px var(--pad);position:relative;overflow:hidden}.impact:before{content:"1.47M";position:absolute;right:-4vw;top:8%;font-family:"Archivo Black";font-size:28vw;line-height:.7;color:rgba(255,255,255,.025);letter-spacing:-.08em}.impact-intro{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.impact-intro .section-kicker{grid-column:1/-1}.impact-intro h2{font-family:"Archivo Black";font-size:clamp(54px,8vw,124px);line-height:.82;letter-spacing:-.06em;margin:0}.impact-intro h2 em{font-style:normal;color:var(--acid)}.impact-intro p{font-family:"Noto Sans JP";font-size:15px;line-height:2;color:#999;max-width:560px}.impact-stats{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.25fr 1fr;border-block:1px solid var(--line);margin-top:70px}.impact-stat{padding:32px 26px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between}.impact-stat+.impact-stat{border-left:1px solid var(--line)}.impact-stat span,.impact-stat small{font-size:9px;letter-spacing:.14em;color:#777}.impact-stat strong{font-family:"Archivo Black";font-size:clamp(55px,8vw,124px);line-height:.8;letter-spacing:-.06em}.impact-stat.hero-stat{background:var(--acid);color:#111;transform:translateY(-14px)}.impact-stat.hero-stat span,.impact-stat.hero-stat small{color:#333}.impact-social{position:relative;z-index:2;margin-top:70px;display:grid;grid-template-columns:280px 280px 1fr;gap:16px;align-items:stretch}.impact-social>img,.impact-social>picture img{width:100%;height:410px;object-fit:cover;object-position:top;background:#111}.impact-social>a{background:#111;border:1px solid #333;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.impact-social>a:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(217,255,48,.18),transparent 40%)}.impact-social>a span{position:relative;font-size:10px;color:var(--acid);letter-spacing:.14em}.impact-social>a strong{position:relative;font-family:"Archivo Black";font-size:clamp(42px,5vw,78px);line-height:.9;margin-top:18px}.impact-social>a i{position:absolute;right:28px;top:22px;font-style:normal;font-size:48px;color:var(--acid)}
.viral{overflow:hidden}.viral-head{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}.viral-head p{font-family:"Noto Sans JP";font-size:14px;line-height:2;color:#666}.clip-grid{margin-top:70px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:start}.clip-card{position:relative;background:#111;overflow:hidden;display:block;aspect-ratio:.65}.clip-b{margin-top:80px}.clip-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s}.clip-card:hover img{transform:scale(1.04);filter:brightness(.68)}.clip-overlay{position:absolute;inset:0;padding:22px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(transparent 46%,rgba(0,0,0,.85))}.clip-overlay span{font-size:9px;letter-spacing:.13em;color:#bbb}.clip-overlay strong{font-family:"Archivo Black";font-size:clamp(31px,3.2vw,53px);line-height:.9;margin-top:8px}.clip-overlay i{position:absolute;right:20px;top:14px;font-style:normal;font-size:42px;color:var(--acid)}
.results{padding:110px var(--pad)}.results-head{display:flex;justify-content:space-between;align-items:end;gap:60px}.results-head p{font-size:10px;color:#888;letter-spacing:.12em}.comp-showcase{height:760px;position:relative;margin:80px 0 70px;overflow:hidden}.comp-photo{position:absolute;border:0;padding:0;background:#111;overflow:hidden;cursor:zoom-in;box-shadow:0 28px 60px rgba(0,0,0,.35)}.comp-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s}.comp-photo:hover img{transform:scale(1.035)}.cp1{left:0;top:40px;width:31%;height:590px;transform:rotate(-2.5deg)}.cp2{left:27%;top:0;width:27%;height:650px;transform:rotate(2deg)}.cp3{right:22%;top:105px;width:25%;height:545px;transform:rotate(-2deg)}.cp4{right:0;top:20px;width:24%;height:600px;transform:rotate(2.5deg)}.comp-label{position:absolute;left:42%;bottom:16px;background:var(--acid);color:#111;padding:18px 22px;z-index:5;transform:rotate(-3deg)}.comp-label span{font-size:9px;letter-spacing:.14em}.comp-label strong{display:block;font-family:"Archivo Black";font-size:42px;line-height:.85;margin-top:7px}.result-list{border-top:1px solid var(--line)}.result-row{min-height:140px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:95px 105px minmax(260px,1fr) 150px;align-items:center;gap:20px;padding:16px;position:relative;transition:background .25s}.result-row:hover,.result-row.highlight{background:#111}.result-row.highlight{box-shadow:inset 4px 0 var(--acid)}.result-year{font-size:11px;color:#777;letter-spacing:.12em}.result-place span{display:block;font-family:"Archivo Black";font-size:46px;color:var(--acid);line-height:.9}.result-place small{font-size:8px;color:#777;letter-spacing:.16em}.result-main h3{font-family:"Noto Sans JP";font-size:clamp(16px,1.7vw,24px);margin:0 0 6px}.result-main p,.result-note{font-size:9px;color:#777;letter-spacing:.12em}.result-note{text-align:right}
.community{overflow:hidden}.community-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:65px}.community-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto;gap:18px}.community-grid figure{margin:0;position:relative;overflow:hidden;background:#111}.community-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.community-grid figure:hover img{transform:scale(1.035)}.community-big{grid-row:1/3;height:670px}.community-small{height:360px}.community-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:70px 24px 24px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.82));display:flex;justify-content:space-between;align-items:end;gap:18px}.community-grid figcaption span{font-size:9px;letter-spacing:.14em;color:#ccc}.community-grid figcaption strong{font-family:"Noto Sans JP";font-size:19px}.community-copy{background:var(--acid);padding:30px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}.community-copy p{font-family:"Noto Sans JP";font-size:15px;line-height:1.9;margin:0}.community-badge{font-family:"Archivo Black";font-size:36px;line-height:.88;border:1px solid #111;padding:15px;transform:rotate(3deg)}
.next-stage{min-height:800px;position:relative;overflow:hidden;padding:110px var(--pad);display:flex;align-items:flex-end}.next-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);opacity:.34}.next-wash{position:absolute;inset:0;background:linear-gradient(90deg,var(--acid) 0,rgba(217,255,48,.98) 48%,rgba(217,255,48,.58) 75%,rgba(217,255,48,.35))}.next-copy{position:relative;z-index:2;max-width:1000px}.next-date{position:absolute;left:calc(100% + 25px);bottom:12px;border:2px solid #111;padding:15px 18px;font-family:"Archivo Black";font-size:58px;line-height:.7;transform:rotate(4deg);white-space:nowrap}.next-date small{font-size:16px;letter-spacing:.02em}.next-copy h2{font-family:"Archivo Black";font-size:clamp(58px,9vw,140px);line-height:.8;letter-spacing:-.06em;margin:0}.next-copy p{font-family:"Noto Sans JP";font-size:17px;line-height:1.9;max-width:670px;margin:30px 0}
.return{padding:110px var(--pad)}.return-head{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}.return-head .section-kicker{grid-column:1/-1}.return-head p{font-family:"Noto Sans JP";font-size:15px;line-height:2;color:#aaa}.return-gallery{margin-top:70px;display:grid;grid-template-columns:1.35fr .65fr .65fr;gap:14px;align-items:end}.return-gallery figure{margin:0;position:relative;overflow:hidden;background:#111}.return-gallery img{width:100%;height:100%;object-fit:cover;display:block}.return-main{height:620px}.return-side{height:520px}.return-gallery figcaption{position:absolute;left:15px;bottom:15px;background:rgba(9,9,9,.72);backdrop-filter:blur(8px);padding:8px 10px;font-size:8px;letter-spacing:.12em}.return-points{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:60px}.return-points>div{padding:28px 26px 8px 0}.return-points>div+div{border-left:1px solid var(--line);padding-left:28px}.return-points span{font-size:9px;color:var(--acid);letter-spacing:.14em}.return-points strong{display:block;font-family:"Archivo Black";font-size:24px;margin:16px 0}.return-points p{font-family:"Noto Sans JP";font-size:12px;line-height:1.8;color:#999}
.support-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:8vw;align-items:end}.live-card{background:var(--black);color:#fff;padding:30px;min-height:390px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:15px 15px 0 var(--acid)}.live-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.12em}.live-top>span{display:flex;align-items:center;gap:8px}.live-top small{color:#777}.live-amount small{display:block;color:#777;font-size:10px;letter-spacing:.12em}.live-amount strong{display:block;font-family:"Archivo Black";font-size:clamp(50px,6vw,90px);letter-spacing:-.06em;margin-top:6px}.progress-label{display:flex;justify-content:space-between;color:#777;font-size:9px}.progress{height:6px;background:#222;margin-top:8px;overflow:hidden}.progress-bar{height:100%;width:0;background:var(--acid);transition:width 1s cubic-bezier(.2,.8,.2,1)}.live-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #272727;border-bottom:1px solid #272727}.live-stats>div{padding:18px 0}.live-stats>div+div{border-left:1px solid #272727;padding-left:20px}.live-stats strong{font-family:"Archivo Black";font-size:30px;display:block}.live-stats span{font-size:8px;color:#777;letter-spacing:.12em}.live-note{font-size:10px;line-height:1.6;color:#777;margin:0}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:82px}.plan{border:1px solid #111;min-height:420px;padding:28px;display:flex;flex-direction:column;position:relative;transition:transform .2s,box-shadow .2s;background:transparent}.plan.featured{background:var(--acid)}.plan-no{font-size:10px;color:#777}.featured-badge{position:absolute;right:18px;top:18px;background:#111;color:#fff;padding:7px 10px;font-size:8px;letter-spacing:.1em}.plan h3{font-family:"Archivo Black";font-size:37px;margin:55px 0 8px}.plan-price{font-size:28px;font-weight:700}.plan p{font-family:"Noto Sans JP";font-size:12px;line-height:1.8;color:#555;margin:26px 0}.plan a{margin-top:auto;border-top:1px solid #111;padding-top:18px;font-size:10px;font-weight:800;letter-spacing:.12em}.support-cta{margin-top:18px;background:#111;color:#fff;padding:28px 32px;display:flex;align-items:center;justify-content:space-between}.support-cta span{font-size:9px;color:#777;letter-spacing:.12em}.support-cta h3{font-family:"Noto Sans JP";margin:8px 0 0;font-size:20px}.circle-arrow{width:62px;height:62px;border-radius:50%;background:var(--acid);color:#111;display:grid;place-items:center;font-size:26px;transition:transform .25s}.circle-arrow:hover{transform:rotate(45deg)}
.media-wall{padding:110px var(--pad);display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.media-wall-copy{align-self:end}.media-wall-copy p{font-family:"Noto Sans JP";font-size:14px;line-height:2;color:#999;max-width:500px;margin-top:28px}.media-wall-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:760px}.social-tile{position:relative;overflow:hidden;background:#111;padding:22px;display:flex;flex-direction:column;justify-content:flex-end}.social-tile.instagram{grid-row:1/3}.social-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52;transition:transform .6s,opacity .4s}.social-tile.instagram img{object-position:top}.social-tile:hover img{transform:scale(1.04);opacity:.34}.social-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.86))}.social-tile span,.social-tile strong,.social-tile i{position:relative;z-index:2}.social-tile span{font-size:9px;color:var(--acid);letter-spacing:.14em}.social-tile strong{font-family:"Archivo Black";font-size:clamp(26px,3vw,46px);margin-top:7px}.social-tile i{position:absolute;right:20px;top:15px;font-style:normal;color:var(--acid);font-size:38px}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}.contact-image{height:680px;position:relative;overflow:hidden;background:#111}.contact-image img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1)}.contact-image span{position:absolute;left:20px;bottom:18px;color:#fff;font-family:"Archivo Black";font-size:clamp(42px,6vw,90px);line-height:.8}.contact-copy>p{font-family:"Noto Sans JP";font-size:14px;line-height:1.9;color:#666;margin-top:36px}.contact-mail{font-size:clamp(17px,2vw,29px);font-weight:700;display:flex;justify-content:space-between;border-bottom:1px solid #111;padding:26px 0;word-break:break-all}.contact-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px}.contact-links a{font-size:9px;letter-spacing:.12em}.footer{background:#111;color:#fff;padding:60px var(--pad) 24px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.footer-name{font-family:"Archivo Black";font-size:clamp(56px,10vw,160px);line-height:.8;letter-spacing:-.07em;grid-column:1/-1}.footer-meta,.footer-copy{font-size:9px;color:#777;letter-spacing:.12em}.footer-copy{text-align:right}
.lightbox{border:0;padding:0;background:rgba(0,0,0,.92);width:100vw;max-width:none;height:100vh;max-height:none;color:#fff}.lightbox::backdrop{background:rgba(0,0,0,.8)}.lightbox[open]{display:grid;place-items:center}.lightbox img{max-width:90vw;max-height:84vh;object-fit:contain}.lightbox-close{position:absolute;right:24px;top:16px;border:1px solid #555;background:transparent;color:#fff;width:48px;height:48px;border-radius:50%;font-size:30px;cursor:pointer}.lightbox-caption{position:absolute;left:24px;bottom:18px;font-size:9px;letter-spacing:.14em;color:#777} .reveal{opacity:1;transform:none}
.motion-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .62s cubic-bezier(.2,.7,.2,1),transform .62s cubic-bezier(.2,.7,.2,1);animation:revealFailSafe 0s 1.8s forwards}
.motion-ready .reveal.in{opacity:1;transform:none;animation:none}
@keyframes revealFailSafe{to{opacity:1;transform:none}}
@media (pointer:fine){.cursor-dot,.cursor-ring{display:block}}
@media (max-width:1100px){.hero-photo-wrap{left:34%}.hero-copy{width:75vw}.impact-social{grid-template-columns:220px 220px 1fr}.comp-showcase{height:650px}.cp1{height:510px}.cp2{height:560px}.cp3{height:470px}.cp4{height:520px}.return-main{height:540px}.return-side{height:450px}.next-date{left:auto;right:-30%;bottom:20px}}
@media (max-width:900px){.site-header{grid-template-columns:1fr auto}.nav{display:none}.hero{padding-top:130px;min-height:930px;align-items:flex-start}.hero-copy{width:100%}.hero-photo-wrap{left:0;top:45%;height:55%}.hero-photo-shade{background:linear-gradient(180deg,#090909 0,rgba(9,9,9,.8) 13%,rgba(9,9,9,.1) 55%,rgba(9,9,9,.62))}.hero-stamp-1{left:8%;top:60%}.hero-stamp-3{top:54%;right:8%}.hero-stamp-2{bottom:12%}.ribbon-shot.wide{width:65vw}.ribbon-shot.tall{width:40vw}.profile-layout,.viral-head,.impact-intro,.return-head,.support-grid,.media-wall,.contact{grid-template-columns:1fr;gap:55px}.profile-visual{display:grid;place-items:center}.impact-intro .section-kicker,.return-head .section-kicker{grid-column:auto}.impact-stats{grid-template-columns:1fr}.impact-stat+.impact-stat{border-left:0;border-top:1px solid var(--line)}.impact-stat.hero-stat{transform:none}.impact-social{grid-template-columns:1fr 1fr}.impact-social>a{grid-column:1/-1;min-height:300px}.clip-grid{gap:10px}.clip-b{margin-top:40px}.results-head{display:block}.results-head p{margin-top:24px}.comp-showcase{height:560px}.cp1{width:38%;height:430px}.cp2{left:29%;width:32%;height:470px}.cp3{right:15%;width:30%;height:400px}.cp4{display:none}.comp-label{left:auto;right:4%;bottom:10px}.result-row{grid-template-columns:70px 80px 1fr}.result-note{display:none}.community-head{display:block}.community-grid{grid-template-columns:1fr}.community-big{grid-row:auto;height:560px}.community-small{height:420px}.next-date{position:static;width:max-content;margin:0 0 35px;transform:rotate(-3deg)}.return-gallery{grid-template-columns:1.15fr .85fr}.return-main{grid-row:1/3;height:650px}.return-side{height:318px}.return-points{grid-template-columns:1fr}.return-points>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.plans{grid-template-columns:1fr}.plan{min-height:320px}.media-wall-grid{height:640px}.contact-image{height:520px}.footer{gap:30px}}
@media (max-width:620px){:root{--pad:20px}.site-header{padding:14px 20px}.brand-mark{width:36px;height:36px}.pill-small{font-size:8px;padding:10px 12px}.hero{min-height:820px;padding:110px 20px 70px}.hero h1{font-size:clamp(64px,22vw,105px)}.hero-lead{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-photo-wrap{top:49%;height:51%}.hero-photo{object-position:58% center}.hero-photo-tag{display:none}.hero-bottom{left:20px;right:20px;height:58px}.hero-meta{display:none}.hero-stamp-1,.hero-stamp-3{display:none}.photo-ribbon{padding:58px 0 70px}.ribbon-copy{padding:0 20px 20px;display:block}.ribbon-copy strong{display:block;margin-top:8px}.ribbon-track{padding:0 20px}.ribbon-shot.wide{width:78vw;height:270px}.ribbon-shot.tall{width:54vw;height:310px}.profile,.viral,.support,.community,.contact,.impact,.results,.return,.media-wall,.next-stage{padding:76px 20px}.portrait-frame{width:86vw;box-shadow:10px 10px 0 #111}.portrait-index{right:0}.profile-facts{grid-template-columns:1fr}.profile-facts>div:nth-child(odd){border-right:0}.profile-facts>div:nth-child(even){padding-left:0}.statement{margin-top:60px;grid-template-columns:1fr}.statement-mark{font-size:80px}.statement span{display:none}.impact-stats{margin-top:50px}.impact-stat{min-height:160px}.impact-social{grid-template-columns:1fr 1fr;gap:8px}.impact-social>img,.impact-social>picture img{height:300px}.impact-social>a{min-height:260px;padding:20px}.clip-grid{grid-template-columns:1fr 1fr;gap:8px}.clip-c{grid-column:1/-1;width:66%;justify-self:center}.clip-b{margin-top:36px}.comp-showcase{height:490px;margin-top:45px}.cp1{left:-4%;width:47%;height:360px}.cp2{left:31%;width:43%;height:400px}.cp3{right:-3%;top:75px;width:38%;height:330px}.comp-label{right:2%;bottom:7px}.comp-label strong{font-size:31px}.result-row{grid-template-columns:48px 58px 1fr;padding:13px 3px;gap:10px;min-height:120px}.result-place span{font-size:31px}.result-main h3{font-size:14px}.result-main p{font-size:7px}.community-big{height:470px}.community-small{height:320px}.community-copy{grid-template-columns:1fr}.community-badge{font-size:30px;width:max-content}.next-stage{min-height:700px}.next-copy p{font-size:14px}.return-gallery{grid-template-columns:1fr 1fr;gap:8px}.return-main{grid-column:1/-1;grid-row:auto;height:360px}.return-side{height:340px}.live-card{padding:24px;box-shadow:9px 9px 0 var(--acid)}.support-cta{padding:22px}.support-cta h3{font-size:15px;max-width:230px}.circle-arrow{width:50px;height:50px}.media-wall-grid{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:420px 250px}.social-tile.instagram{grid-column:1/-1;grid-row:auto}.contact-image{height:420px}.contact-mail{font-size:16px}.footer{padding:44px 20px 20px;grid-template-columns:1fr}.footer-copy{text-align:left}.ticker-track{font-size:14px}.lightbox-close{right:14px;top:14px}.lightbox-caption{left:14px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.cursor-dot,.cursor-ring{display:none!important}}

/* ===== 2026-08 Japanese accessibility + Paraguay route update ===== */
body{font-family:"Noto Sans JP","Space Grotesk",sans-serif}
.nav{font-family:"Noto Sans JP",sans-serif;letter-spacing:.04em;font-weight:700}
.hero-title-jp{font-family:"Noto Sans JP",sans-serif!important;font-weight:900!important;font-size:clamp(72px,9.4vw,150px)!important;letter-spacing:-.085em!important;line-height:.88!important;text-transform:none!important}
.hero-title-jp .outline{-webkit-text-stroke:2px rgba(255,255,255,.94)}
.hero-stamp{font-family:"Noto Sans JP",sans-serif;font-weight:900;letter-spacing:.04em}
.ticker-track{font-family:"Noto Sans JP",sans-serif;font-weight:900;letter-spacing:.03em}
.ribbon-copy strong{font-family:"Noto Sans JP",sans-serif;font-weight:900;letter-spacing:-.06em}
.profile-heading h2,.viral-head h2,.results-head h2,.community-head h2,.support-copy h2,.return-head h2,.media-wall-copy h2,.contact-copy h2{font-family:"Noto Sans JP",sans-serif;font-weight:900;text-transform:none;letter-spacing:-.07em;line-height:.92}
.impact-intro h2{font-family:"Noto Sans JP",sans-serif;font-weight:900;letter-spacing:-.07em;line-height:.94}
.profile-facts strong{font-family:"Noto Sans JP",sans-serif}
.plan h3{font-family:"Noto Sans JP",sans-serif;font-weight:900;letter-spacing:-.04em}
.result-note{font-family:"Noto Sans JP",sans-serif;font-weight:900}

/* World route / globe */
.next-stage{min-height:940px;position:relative;overflow:hidden;padding:110px var(--pad);display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:clamp(40px,6vw,100px);background:#080b10;color:#fff}
.next-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 45%,rgba(217,255,48,.09),transparent 35%),linear-gradient(120deg,#080b10 0,#0a0d13 55%,#101319 100%);pointer-events:none}
.next-stage:after{content:"PARAGUAY";position:absolute;right:-4vw;bottom:-3vw;font-family:"Archivo Black",Impact,sans-serif;font-size:clamp(90px,17vw,260px);line-height:.7;color:rgba(255,255,255,.025);letter-spacing:-.07em;pointer-events:none}
.route-visual{position:relative;z-index:2;min-width:0;display:grid;place-items:center;min-height:700px}
.route-grid{position:absolute;inset:-80px;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:58px 58px;mask-image:radial-gradient(circle,#000 0,rgba(0,0,0,.72) 48%,transparent 74%)}
.globe-shell{position:relative;width:min(610px,48vw);aspect-ratio:1;display:grid;place-items:center;isolation:isolate}
.globe-shell:before,.globe-shell:after{content:"";position:absolute;border:1px solid rgba(217,255,48,.18);border-radius:50%;inset:-5%;animation:orbitRing 8s linear infinite;z-index:-1}
.globe-shell:after{inset:-10%;border-color:rgba(255,255,255,.08);animation-duration:13s;animation-direction:reverse}
@keyframes orbitRing{to{transform:rotate(360deg)}}
.globe-camera{width:100%;height:100%;display:grid;place-items:center;transform-origin:43.3% 63.2%;will-change:transform,filter;transform:scale(.93) rotate(-5deg)}
.globe-orb{width:88%;aspect-ratio:1;position:relative;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 70px rgba(85,125,255,.15),inset -38px -28px 90px rgba(0,0,0,.82);background:radial-gradient(circle at 35% 28%,#223348 0,#111a26 29%,#090d14 66%,#030506 100%)}
.globe-orb:before{content:"";position:absolute;inset:-35%;z-index:4;pointer-events:none;background:linear-gradient(112deg,transparent 43%,rgba(217,255,48,.11) 49.5%,rgba(255,255,255,.16) 50%,rgba(217,255,48,.08) 50.5%,transparent 57%);transform:translateX(-80%);mix-blend-mode:screen}
.globe-glow{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 33% 25%,rgba(255,255,255,.24),transparent 22%),radial-gradient(circle at 50% 115%,rgba(217,255,48,.16),transparent 44%);z-index:3;pointer-events:none;mix-blend-mode:screen}
.globe-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.earth-base{fill:transparent;stroke:rgba(255,255,255,.14);stroke-width:1}.earth-grid-lines{fill:none;stroke:rgba(183,205,228,.13);stroke-width:1}
.continents path{fill:#8ea0ad;fill-opacity:.32;stroke:#d4dee4;stroke-opacity:.24;stroke-width:1.2;transition:fill-opacity .8s,stroke-opacity .8s}
.travel-route{fill:none;stroke:var(--acid);stroke-width:3;stroke-linecap:round;stroke-dasharray:5 5;filter:url(#routeGlow);stroke-dashoffset:100;opacity:.95}
.map-pin circle:first-child{fill:#fff;stroke:var(--acid);stroke-width:4}.map-pin .pin-ring{fill:none;stroke:var(--acid);stroke-width:2;opacity:.25}
.map-pin text{fill:#fff;font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:18px;paint-order:stroke;stroke:#080b10;stroke-width:5px;stroke-linejoin:round}.paraguay-pin{opacity:.18}.japan-pin{opacity:1}
.route-focus-hud{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0}
.target-reticle{position:absolute;left:50%;top:50%;width:116px;height:116px;transform:translate(-50%,-50%)}
.target-ring{position:absolute;inset:0;border:1px solid rgba(217,255,48,.9);border-radius:50%;box-shadow:0 0 24px rgba(217,255,48,.16)}
.target-ring-b{inset:19px;border-style:dashed;opacity:.72}.target-cross{position:absolute;background:var(--acid);box-shadow:0 0 12px rgba(217,255,48,.35)}.target-cross-h{width:152px;height:1px;left:-18px;top:57px}.target-cross-v{height:152px;width:1px;left:57px;top:-18px}.target-core{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:var(--acid);transform:translate(-50%,-50%);box-shadow:0 0 0 7px rgba(217,255,48,.14),0 0 28px var(--acid)}
.target-copy{position:absolute;left:calc(50% + 82px);top:calc(50% + 64px);display:grid;gap:3px;padding:12px 14px;border-left:2px solid var(--acid);background:linear-gradient(90deg,rgba(8,11,16,.82),rgba(8,11,16,.06));backdrop-filter:blur(7px);white-space:nowrap}.target-copy span{font-size:8px;letter-spacing:.22em;color:var(--acid);font-weight:900}.target-copy strong{font-family:"Archivo Black",Impact,sans-serif;font-size:22px;letter-spacing:.03em}.target-copy small{font-size:8px;letter-spacing:.1em;color:#9aa3ad}
.route-status{position:absolute;left:4%;bottom:4%;z-index:9;display:flex;align-items:center;gap:10px;color:#fff;font-size:11px;font-weight:800}.route-step{opacity:.22;border:1px solid rgba(255,255,255,.18);padding:8px 11px;background:rgba(7,10,14,.55);backdrop-filter:blur(10px);white-space:nowrap}
.route-replay{position:absolute;right:4%;bottom:4%;z-index:10;border:1px solid rgba(255,255,255,.22);background:rgba(7,10,14,.55);color:#fff;border-radius:999px;padding:9px 13px;font:800 10px "Noto Sans JP",sans-serif;letter-spacing:.03em;cursor:pointer;opacity:.55;transition:.25s}.route-replay:hover{opacity:1;border-color:var(--acid);color:var(--acid);transform:translateY(-1px)}
.next-stage.route-active .globe-camera{animation:focusParaguay 6.6s cubic-bezier(.18,.78,.16,1) forwards}.next-stage.route-active .globe-orb:before{animation:scanEarth 2.5s .25s ease-out forwards}
.next-stage.route-active .travel-route{animation:drawRoute 3.15s 1.05s ease-out forwards}.next-stage.route-active .japan-pin .pin-ring{animation:japanPulse 1.2s .55s ease-out 2}.next-stage.route-active .japan-pin{animation:fadeJapan .8s 4s ease forwards}.next-stage.route-active .paraguay-pin{animation:showParaguay 1.05s 3.75s ease forwards}.next-stage.route-active .paraguay-pin .pin-ring{animation:paraguayPulse 1.3s 4.1s ease-out 3}.next-stage.route-active .continents path{animation:continentFocus 1.2s 4s ease forwards}.next-stage.route-active .route-focus-hud{animation:hudLock 1.15s 5.15s ease forwards}.next-stage.route-active .target-ring-a{animation:lockRing 1.4s 5.2s cubic-bezier(.1,.8,.2,1) both}.next-stage.route-active .target-ring-b{animation:lockSpin 5s 5.35s linear infinite}.next-stage.route-active .target-core{animation:corePulse 1.15s 5.35s ease-out infinite}.next-stage.route-active .route-step-1{animation:stepOn 1.45s .1s ease both}.next-stage.route-active .route-step-2{animation:stepOn 1.5s 1.9s ease both}.next-stage.route-active .route-step-3{animation:stepOn 1.6s 4.35s ease both}
@keyframes focusParaguay{0%{transform:scale(.93) rotate(-5deg);filter:saturate(.82)}18%{transform:scale(1) rotate(0);filter:saturate(1)}58%{transform:scale(1.04) rotate(0)}72%{transform:translate(2%,-4%) scale(1.2)}100%{transform:translate(6.7%,-13.2%) scale(2.02);filter:saturate(1.15) contrast(1.05)}}
@keyframes scanEarth{0%{transform:translateX(-80%);opacity:0}20%{opacity:1}100%{transform:translateX(80%);opacity:0}}
@keyframes drawRoute{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes japanPulse{0%{r:18;opacity:.55}100%{r:34;opacity:0}}@keyframes fadeJapan{to{opacity:.12}}@keyframes showParaguay{0%{opacity:.18}100%{opacity:1}}@keyframes paraguayPulse{0%{r:20;opacity:.85}100%{r:46;opacity:0}}@keyframes continentFocus{to{fill-opacity:.48;stroke-opacity:.52}}
@keyframes hudLock{0%{opacity:0;transform:scale(1.16)}60%{opacity:1}100%{opacity:1;transform:scale(1)}}@keyframes lockRing{0%{transform:scale(2.4);opacity:0}55%{opacity:1}100%{transform:scale(1);opacity:1}}@keyframes lockSpin{to{transform:rotate(360deg)}}@keyframes corePulse{0%{box-shadow:0 0 0 0 rgba(217,255,48,.3),0 0 20px var(--acid)}70%{box-shadow:0 0 0 16px rgba(217,255,48,0),0 0 32px var(--acid)}100%{box-shadow:0 0 0 0 rgba(217,255,48,0),0 0 20px var(--acid)}}
@keyframes stepOn{0%{opacity:.18;transform:translateY(8px)}30%,72%{opacity:1;border-color:var(--acid);color:var(--acid);transform:translateY(0)}100%{opacity:.42;transform:translateY(0)}}
.next-copy{position:relative;z-index:4;max-width:720px}.next-copy .section-kicker{color:var(--acid);margin-bottom:24px}.next-en{font-family:"Space Grotesk",sans-serif!important;font-size:11px!important;line-height:1.2!important;letter-spacing:.14em!important;color:#8d949c;margin:0 0 16px!important}.next-copy h2{font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:clamp(54px,7.2vw,112px);line-height:.98;letter-spacing:-.075em;margin:0}.next-copy>p:not(.next-en){font-family:"Noto Sans JP";font-size:16px;line-height:2;max-width:660px;color:#c9cbd0;margin:30px 0}.next-date{position:static;width:max-content;margin:0 0 30px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.04);color:#fff;padding:13px 17px;font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:36px;line-height:.9;transform:rotate(-2deg);white-space:nowrap;box-shadow:7px 7px 0 var(--acid)}.next-date small{font-size:14px;letter-spacing:.03em}.next-copy .pill{margin-top:5px}

@media (max-width:1100px){.next-stage{grid-template-columns:1fr 1fr;gap:35px}.globe-shell{width:min(570px,50vw)}}
@media (max-width:900px){.next-stage{grid-template-columns:1fr;min-height:1180px;padding-top:90px}.route-visual{min-height:570px;order:2}.next-copy{order:1;max-width:none}.globe-shell{width:min(590px,78vw)}.route-status{left:50%;transform:translateX(-50%);bottom:-1%;width:max-content}.route-replay{right:50%;transform:translateX(50%);bottom:-9%}.route-replay:hover{transform:translateX(50%) translateY(-1px)}.next-stage.route-active .globe-camera{animation-name:focusParaguayTablet}.target-copy{left:calc(50% + 64px);top:calc(50% + 58px)}@keyframes focusParaguayTablet{0%{transform:scale(.93) rotate(-5deg)}18%{transform:scale(1) rotate(0)}60%{transform:scale(1.04)}100%{transform:translate(5%,-10%) scale(1.72)}}}
@media (max-width:620px){.hero-title-jp{font-size:clamp(57px,18vw,88px)!important;line-height:.92!important}.hero-stamp-2{font-size:20px}.ticker-track{font-size:13px}.next-stage{min-height:1110px;padding-top:72px}.next-copy h2{font-size:clamp(48px,15vw,74px)}.next-copy>p:not(.next-en){font-size:14px;line-height:1.9}.next-date{font-size:28px;box-shadow:5px 5px 0 var(--acid)}.route-visual{min-height:500px;margin-top:4px}.globe-shell{width:88vw}.route-status{display:grid;grid-template-columns:1fr 1fr;width:92%;gap:6px;bottom:-7%}.route-step{font-size:9px;text-align:center}.route-step-3{grid-column:1/-1}.route-replay{bottom:-15%}.target-reticle{width:90px;height:90px}.target-cross-h{width:122px;left:-16px;top:44px}.target-cross-v{height:122px;top:-16px;left:44px}.target-ring-b{inset:15px}.target-copy{left:50%;top:calc(50% + 62px);transform:translateX(-50%);text-align:center;border-left:0;border-top:2px solid var(--acid);padding:9px 12px}.target-copy strong{font-size:18px}.target-copy small{font-size:7px}.next-stage.route-active .globe-camera{animation-name:focusParaguayMobile}@keyframes focusParaguayMobile{0%{transform:scale(.93) rotate(-5deg)}18%{transform:scale(1) rotate(0)}60%{transform:scale(1.03)}100%{transform:translate(4%,-8%) scale(1.58)}}}
/* More readable Japanese plan cards */
.plan h3{font-size:32px;margin:52px 0 8px}.plan a{font-family:"Noto Sans JP",sans-serif;font-size:11px;letter-spacing:.02em}.featured-badge{font-family:"Noto Sans JP",sans-serif;letter-spacing:.03em}.live-stats span{font-family:"Noto Sans JP",sans-serif;letter-spacing:.03em}.live-top,.progress-label{font-family:"Noto Sans JP",sans-serif;letter-spacing:.03em}

@media (max-width:1100px){
  .next-stage{grid-template-columns:1fr 1fr;gap:35px}.globe-shell{width:min(570px,50vw)}
}
@media (max-width:900px){
  .next-stage{grid-template-columns:1fr;min-height:1180px;padding-top:90px}.route-visual{min-height:570px;order:2}.next-copy{order:1;max-width:none}.globe-shell{width:min(590px,78vw)}.route-status{left:50%;transform:translateX(-50%);bottom:-1%;width:max-content}.next-stage.route-active .globe-camera{animation-name:focusParaguayTablet}
  @keyframes focusParaguayTablet{0%,40%{transform:scale(1)}58%{transform:scale(1.04)}100%{transform:scale(1.58)}}
}
@media (max-width:620px){
  .hero-title-jp{font-size:clamp(57px,18vw,88px)!important;line-height:.92!important}.hero-stamp-2{font-size:20px}.ticker-track{font-size:13px}.next-stage{min-height:1060px;padding-top:72px}.next-copy h2{font-size:clamp(48px,15vw,74px)}.next-copy>p:not(.next-en){font-size:14px;line-height:1.9}.next-date{font-size:28px;box-shadow:5px 5px 0 var(--acid)}.route-visual{min-height:480px;margin-top:4px}.globe-shell{width:88vw}.route-status{display:grid;grid-template-columns:1fr 1fr;width:92%;gap:6px;bottom:-5%}.route-step{font-size:9px;text-align:center}.route-step-3{grid-column:1/-1}.next-stage.route-active .globe-camera{animation-name:focusParaguayMobile}
  @keyframes focusParaguayMobile{0%,40%{transform:scale(1)}58%{transform:scale(1.03)}100%{transform:scale(1.46)}}
}


/* ===== 2026-08 comeback + Google satellite flight ===== */
.comeback{padding:110px var(--pad);position:relative;overflow:hidden;background:#e9e6de}
.comeback:before{content:"COMEBACK";position:absolute;right:-2vw;top:3vw;font-family:"Archivo Black",Impact,sans-serif;font-size:18vw;line-height:.72;color:rgba(0,0,0,.035);letter-spacing:-.08em;pointer-events:none}
.comeback-head{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:end}
.comeback-head h2{font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:clamp(52px,7.6vw,116px);line-height:.95;letter-spacing:-.07em;margin:0}
.comeback-head h2 span{color:transparent;-webkit-text-stroke:1.5px #111}
.comeback-intro{max-width:700px}.comeback-intro .large-copy{margin:0 0 20px}.comeback-intro>p:not(.large-copy){font-family:"Noto Sans JP";font-size:14px;line-height:2;color:#575757;margin:0}
.comeback-grid{position:relative;z-index:2;margin-top:76px;display:grid;grid-template-columns:1fr 110px 1fr;gap:28px;align-items:center}
.comeback-card{min-width:0}.comeback-photo{position:relative;width:100%;height:560px;padding:0;border:0;background:#111;overflow:hidden;cursor:zoom-in;box-shadow:14px 14px 0 #111}
.comeback-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) contrast(1.03);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.comeback-photo:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.04)}
.comeback-date{position:absolute;left:18px;bottom:18px;background:var(--acid);color:#111;padding:10px 13px;font-family:"Archivo Black",Impact,sans-serif;font-size:22px;letter-spacing:-.03em}
.comeback-card-copy{padding:34px 8px 0}.comeback-label{font-size:10px;letter-spacing:.1em;font-weight:900;color:#767676}.comeback-card-copy h3{font-family:"Noto Sans JP";font-weight:900;font-size:clamp(25px,3vw,46px);line-height:1.25;letter-spacing:-.045em;margin:11px 0 16px}.comeback-card-copy p{font-family:"Noto Sans JP";font-size:13px;line-height:2;color:#555;margin:0;max-width:620px}
.comeback-line{display:grid;place-items:center;gap:16px;color:#777;align-self:center}.comeback-line:before,.comeback-line:after{content:"";display:block;width:1px;height:120px;background:linear-gradient(transparent,#111,transparent)}.comeback-line span{font-size:8px;letter-spacing:.18em;writing-mode:vertical-rl}.comeback-line i{font-style:normal;font-size:30px;color:var(--orange)}
.comeback-card-right{transform:translateY(54px)}
.comeback-quote{position:relative;z-index:2;margin-top:130px;padding:38px 0 0;border-top:1px solid rgba(0,0,0,.25);display:flex;justify-content:space-between;gap:40px;align-items:flex-start}.comeback-quote span{font-size:9px;letter-spacing:.14em;color:#777}.comeback-quote strong{font-family:"Noto Sans JP";font-weight:900;font-size:clamp(27px,4vw,58px);line-height:1.35;letter-spacing:-.04em;text-align:right}

/* Satellite flight. We embed Google satellite imagery instead of copying image files so Google attribution remains intact. */
.route-visual.satellite-flight{min-height:680px;width:100%;display:grid;place-items:center}
.satellite-flight .satellite-frame{position:relative;width:min(760px,52vw);aspect-ratio:1000/620;overflow:hidden;background:#0a0d11;border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 90px rgba(0,0,0,.35);isolation:isolate}
.satellite-flight .satellite-frame:before{content:"SATELLITE FLIGHT / JAPAN → PARAGUAY";position:absolute;left:16px;top:14px;z-index:12;color:#fff;font:800 9px "Space Grotesk",sans-serif;letter-spacing:.17em;background:rgba(4,8,12,.64);padding:8px 10px;backdrop-filter:blur(8px)}
.satellite-layer{position:absolute;inset:-4%;z-index:1;background:radial-gradient(circle at 40% 40%,#233140,#090d12 62%);transition:none;will-change:opacity,transform;overflow:hidden}
.satellite-layer iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;filter:saturate(.83) contrast(1.08) brightness(.72);transform:scale(1.03)}
.satellite-world{opacity:1;transform:scale(1)}.satellite-paraguay{opacity:0;transform:scale(1.65)}
.satellite-vignette{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.42),transparent 24%,transparent 72%,rgba(0,0,0,.18)),radial-gradient(circle at center,transparent 45%,rgba(0,0,0,.5));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.flight-route-svg{position:absolute;inset:0;z-index:5;width:100%;height:100%;overflow:visible;pointer-events:none}
.flight-path-guide{fill:none;stroke:rgba(255,255,255,.14);stroke-width:2;stroke-dasharray:6 11}.flight-path-draw{fill:none;stroke:var(--acid);stroke-width:3;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;filter:url(#flightGlow)}
.flight-origin circle:first-child,.flight-destination circle:first-child{fill:#fff;stroke:var(--acid);stroke-width:4}.flight-origin .flight-pulse,.flight-destination .flight-pulse{fill:none;stroke:var(--acid);stroke-width:2;opacity:.42}.flight-origin text,.flight-destination text{fill:#fff;font:900 18px "Noto Sans JP",sans-serif;paint-order:stroke;stroke:#06090d;stroke-width:6px;stroke-linejoin:round}.flight-destination{opacity:.28}
.flight-plane{fill:#fff;filter:drop-shadow(0 0 8px rgba(217,255,48,.85));opacity:0}
.flight-hud{position:absolute;left:18px;top:52px;z-index:9;display:grid;gap:2px;color:#fff;background:rgba(5,9,14,.6);border-left:2px solid var(--acid);padding:11px 13px;backdrop-filter:blur(8px)}.flight-hud span{font-size:7px;letter-spacing:.18em;color:var(--acid);font-weight:900}.flight-hud strong{font-family:"Archivo Black",Impact,sans-serif;font-size:17px;letter-spacing:.02em}.flight-hud small{font-size:8px;color:#aeb6be;letter-spacing:.08em}
.paraguay-arrival{position:absolute;inset:0;z-index:10;opacity:0;pointer-events:none}.arrival-reticle{position:absolute;left:50%;top:50%;width:124px;height:124px;transform:translate(-50%,-50%)}.arrival-reticle span{position:absolute;inset:0;border:1px solid var(--acid);border-radius:50%;box-shadow:0 0 24px rgba(217,255,48,.23)}.arrival-reticle span:nth-child(2){inset:22px;border-style:dashed}.arrival-reticle:before,.arrival-reticle:after{content:"";position:absolute;background:var(--acid);box-shadow:0 0 12px rgba(217,255,48,.45)}.arrival-reticle:before{width:164px;height:1px;left:-20px;top:61px}.arrival-reticle:after{height:164px;width:1px;left:61px;top:-20px}.arrival-reticle i{position:absolute;left:50%;top:50%;width:11px;height:11px;border-radius:50%;background:var(--acid);transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(217,255,48,.15),0 0 28px var(--acid)}
.arrival-copy{position:absolute;left:calc(50% + 86px);top:calc(50% + 55px);display:grid;gap:3px;color:#fff;background:rgba(5,9,14,.74);border-left:2px solid var(--acid);padding:11px 13px;backdrop-filter:blur(8px);white-space:nowrap}.arrival-copy span{font-size:7px;letter-spacing:.2em;color:var(--acid);font-weight:900}.arrival-copy strong{font-family:"Archivo Black",Impact,sans-serif;font-size:23px}.arrival-copy small{font-size:8px;letter-spacing:.09em;color:#bbc1c8}
.satellite-flight .route-status{left:18px;bottom:auto;top:calc(100% - 48px);z-index:11}.satellite-flight .route-step{background:rgba(5,9,14,.72);font-size:9px;padding:7px 9px}.satellite-flight .route-replay{right:16px;bottom:auto;top:14px;z-index:13;background:rgba(5,9,14,.74)}
.next-stage.route-active .satellite-world{animation:satelliteWorldOut 6.9s ease forwards}.next-stage.route-active .satellite-paraguay{animation:satelliteParaguayIn 6.9s cubic-bezier(.2,.72,.2,1) forwards}.next-stage.route-active .flight-path-draw{animation:flightLine 4.8s .72s ease-out forwards}.next-stage.route-active .flight-plane{animation:planeShow 5.6s .65s ease forwards}.next-stage.route-active .flight-origin .flight-pulse{animation:originPulse 1.1s .35s ease-out 2}.next-stage.route-active .flight-destination{animation:destinationOn 1s 4.8s ease forwards}.next-stage.route-active .flight-destination .flight-pulse{animation:destinationPulse 1.15s 4.8s ease-out 3}.next-stage.route-active .paraguay-arrival{animation:arrivalLock .9s 5.65s ease forwards}.next-stage.route-active .arrival-reticle span:nth-child(2){animation:lockSpin 4s 5.7s linear infinite}.next-stage.route-active .arrival-reticle i{animation:corePulse 1.15s 5.8s ease-out infinite}
@keyframes satelliteWorldOut{0%,57%{opacity:1;transform:scale(1)}73%{opacity:.62;transform:scale(1.05)}100%{opacity:0;transform:scale(1.12)}}
@keyframes satelliteParaguayIn{0%,59%{opacity:0;transform:scale(1.62)}70%{opacity:.28}100%{opacity:1;transform:scale(1)}}
@keyframes flightLine{0%{stroke-dashoffset:100;opacity:.2}100%{stroke-dashoffset:0;opacity:1}}@keyframes planeShow{0%,5%{opacity:0}10%,78%{opacity:1}100%{opacity:0}}@keyframes originPulse{from{r:24;opacity:.75}to{r:52;opacity:0}}@keyframes destinationOn{to{opacity:1}}@keyframes destinationPulse{from{r:28;opacity:.9}to{r:58;opacity:0}}@keyframes arrivalLock{0%{opacity:0;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}

@media (max-width:900px){.comeback-head{grid-template-columns:1fr;gap:45px}.comeback-grid{grid-template-columns:1fr;gap:60px}.comeback-line{display:flex;justify-content:center}.comeback-line:before,.comeback-line:after{width:100px;height:1px;background:linear-gradient(90deg,transparent,#111,transparent)}.comeback-line span{writing-mode:horizontal-tb}.comeback-card-right{transform:none}.comeback-photo{height:620px}.comeback-quote{margin-top:80px;display:grid}.comeback-quote strong{text-align:left}.satellite-flight .satellite-frame{width:min(760px,88vw)}.route-visual.satellite-flight{min-height:590px}.satellite-flight .route-status{top:calc(100% - 44px);left:12px}.satellite-flight .route-replay{right:12px;top:12px}.arrival-copy{left:50%;top:calc(50% + 78px);transform:translateX(-50%);border-left:0;border-top:2px solid var(--acid);text-align:center}.next-stage.route-active .globe-camera{animation:none!important}}
@media (max-width:620px){.comeback{padding:76px 20px}.comeback-photo{height:470px;box-shadow:9px 9px 0 #111}.comeback-card-copy{padding-top:28px}.comeback-line{gap:10px}.comeback-line:before,.comeback-line:after{width:65px}.comeback-quote{margin-top:65px}.satellite-flight .satellite-frame{width:calc(100vw - 40px);aspect-ratio:4/3}.route-visual.satellite-flight{min-height:470px}.satellite-flight .satellite-frame:before{font-size:7px;left:10px;top:10px}.flight-hud{left:10px;top:44px;padding:8px 10px}.flight-hud strong{font-size:14px}.flight-route-svg{transform:scale(1.02)}.satellite-flight .route-status{display:none}.satellite-flight .route-replay{right:10px;top:10px;font-size:8px;padding:7px 9px}.arrival-reticle{width:92px;height:92px}.arrival-reticle span:nth-child(2){inset:16px}.arrival-reticle:before{width:126px;left:-17px;top:45px}.arrival-reticle:after{height:126px;left:45px;top:-17px}.arrival-copy{top:calc(50% + 60px);padding:8px 10px}.arrival-copy strong{font-size:18px}.arrival-copy small{font-size:7px}}


/* ===== Mobile reliability + performance hardening ===== */
picture{display:block;width:100%;height:100%}
.satellite-layer{background:radial-gradient(circle at 52% 45%,#243443 0,#111a24 42%,#070a0e 74%)}
.satellite-layer:after{content:"SATELLITE VIEW";position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.32);font:800 9px -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;letter-spacing:.2em;z-index:0}
.satellite-layer iframe{opacity:0;transition:opacity .45s ease;z-index:1}
.satellite-layer.map-ready iframe{opacity:1}
@media (max-width:900px){
  .noise{display:none}
  .hero-photo-wrap,[data-parallax]{transform:none!important}
  .hero-stamp,.hero-photo-tag,.return-gallery figcaption,.route-step,.flight-hud,.satellite-frame:before{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .ribbon-track{will-change:transform;animation:ribbonMobileDrift 8s ease-in-out infinite alternate}
  .motion-ready .hero-copy.reveal{opacity:1!important;transform:none!important;animation:none!important}
}
@media (max-width:620px){
  .motion-ready .reveal{transform:translateY(14px);transition-duration:.42s}
  .motion-ready .hero-copy.reveal{opacity:1!important;transform:none!important}
  .hero-grid{background-size:60px 60px}
}
@media (prefers-reduced-motion:reduce){
  .motion-ready .reveal{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
}


/* ===== Motion quality restored without blocking mobile rendering ===== */
@keyframes heroLineIn{0%{opacity:0;transform:translate3d(0,44px,0) skewY(2deg)}100%{opacity:1;transform:translate3d(0,0,0) skewY(0)}}
@keyframes heroLeadIn{0%{opacity:0;transform:translate3d(0,22px,0)}100%{opacity:1;transform:none}}
@keyframes stampFloat{0%,100%{transform:rotate(6deg) translate3d(0,0,0)}50%{transform:rotate(4deg) translate3d(0,-10px,0)}}
@keyframes gridBreathe{0%,100%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.012)}}
@keyframes ribbonMobileDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-10vw,0,0)}}
.page-ready .hero-line{animation:heroLineIn .78s cubic-bezier(.16,.8,.2,1) both}
.page-ready .hero-line.ghost{animation-delay:.06s}.page-ready .hero-line.solid{animation-delay:.15s}.page-ready .hero-line.outline{animation-delay:.24s}
.page-ready .eyebrow,.page-ready .hero-lead,.page-ready .hero-actions{animation:heroLeadIn .72s cubic-bezier(.2,.75,.2,1) both}.page-ready .eyebrow{animation-delay:.02s}.page-ready .hero-lead{animation-delay:.34s}.page-ready .hero-actions{animation-delay:.44s}
.page-ready .hero-stamp-2{animation:stampFloat 5.8s 1s ease-in-out infinite}.page-ready .hero-grid{animation:gridBreathe 7s ease-in-out infinite}
.asset-error{opacity:.18!important}.asset-error-wrap{background:linear-gradient(135deg,#181818,#2a2a2a)!important;position:relative}.asset-error-wrap:after{content:"IMAGE LOADING FAILED";position:absolute;inset:0;display:grid;place-items:center;color:#777;font:800 9px Arial;letter-spacing:.12em;z-index:3}

@media (max-width:900px){
  .hero-photo{animation:heroZoom 11s ease-out both!important;will-change:transform}
  .ticker-track{animation:ticker 28s linear infinite!important;will-change:transform}
  .page-ready .hero-grid{animation:gridBreathe 8s ease-in-out infinite}
  .page-ready .hero-stamp-2{animation:stampFloat 6s 1s ease-in-out infinite}
  .satellite-world,.satellite-paraguay,.flight-route-svg,.paraguay-arrival{will-change:opacity,transform}
}
@media (max-width:620px){
  .page-ready .hero-line{animation-duration:.66s}
  .ticker-track{animation-duration:31s!important}
  .ribbon-track{animation-duration:9.5s}
}
@media (prefers-reduced-motion:reduce){
  .page-ready .hero-line,.page-ready .eyebrow,.page-ready .hero-lead,.page-ready .hero-actions,.page-ready .hero-stamp-2,.page-ready .hero-grid,.hero-photo,.ticker-track,.ribbon-track{animation:none!important}
}

/* ===== Instagram live metrics / 2026-08-23 ===== */
.instagram-live-stat{position:relative;overflow:hidden}
.instagram-live-stat:after{content:"";position:absolute;right:-48px;top:-52px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(217,255,48,.12),transparent 68%);pointer-events:none}
.instagram-stat-label{display:flex;align-items:center;gap:8px!important}
.instagram-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8a8a8a;box-shadow:0 0 0 0 rgba(217,255,48,0);flex:0 0 auto}
.instagram-api-live .instagram-live-dot{background:var(--acid);animation:instagramLivePulse 1.7s ease-out infinite;box-shadow:0 0 12px rgba(217,255,48,.48)}
.instagram-sync-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.instagram-sync-line b{font-size:8px;line-height:1;letter-spacing:.14em;color:#aaa;border:1px solid #383838;border-radius:999px;padding:6px 8px;font-weight:900}
.instagram-sync-line b.is-live{color:#111;background:var(--acid);border-color:var(--acid)}
.instagram-mini-metrics{display:flex;gap:13px;flex-wrap:wrap;margin-top:8px;font-size:8px;letter-spacing:.08em;color:#777}
.instagram-mini-metrics span{display:inline-flex;gap:5px;align-items:center}
.instagram-mini-metrics b{font-size:10px;color:#ddd;letter-spacing:0}
#instagramFollowers.count-finished{animation:instagramCountSettle .42s cubic-bezier(.2,.75,.2,1)}
@keyframes instagramLivePulse{0%{box-shadow:0 0 0 0 rgba(217,255,48,.44)}70%{box-shadow:0 0 0 9px rgba(217,255,48,0)}100%{box-shadow:0 0 0 0 rgba(217,255,48,0)}}
@keyframes instagramCountSettle{0%{transform:translate3d(0,5px,0);opacity:.82}100%{transform:none;opacity:1}}

/* The supplied Instagram screenshot is portrait-heavy; preserve its readable top area. */
.impact-social>picture:first-child img{object-position:50% 0}
.impact-social>picture:nth-child(2) img{object-position:50% 50%}

@media (max-width:900px){
  .instagram-live-stat{min-height:190px}
  .instagram-sync-line{gap:6px}
  .instagram-mini-metrics{margin-top:4px;gap:10px}
  /* JS count animation uses requestAnimationFrame on mobile. Keep the layer simple. */
  .impact-stat strong{transform:translateZ(0);-webkit-font-smoothing:antialiased}
}
@media (max-width:620px){
  .instagram-live-stat{min-height:178px}
  .instagram-sync-line b{font-size:7px;padding:5px 7px}
  .instagram-sync-line span{font-size:7px}
  .instagram-mini-metrics{font-size:7px}
}
@media (prefers-reduced-motion:reduce){
  .instagram-api-live .instagram-live-dot,#instagramFollowers.count-finished{animation:none!important}
}

/* ===== V7 / Mobile motion system ===== */
@media (max-width:900px) and (prefers-reduced-motion:no-preference){
  html.mobile-motion body{overscroll-behavior-y:auto}

  /* Restore cinematic reveal on mobile instead of forcing everything static. */
  .mobile-motion .motion-ready .reveal{
    opacity:0;
    transform:translate3d(0,24px,0) scale(.992);
    transition:opacity .7s cubic-bezier(.16,.78,.2,1),transform .7s cubic-bezier(.16,.78,.2,1);
    will-change:transform,opacity;
  }
  .mobile-motion .motion-ready .reveal.in{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
  }
  /* Hero copy has its own staggered line animation; don't suppress it on mobile. */
  .mobile-motion .motion-ready .hero-copy.reveal,
  .mobile-motion .motion-ready .hero-copy.reveal.in{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }

  /* Scroll-linked parallax uses CSS variables from the mobile JS director. */
  .mobile-motion .hero-photo-wrap[data-parallax]{
    transform:translate3d(0,var(--mobile-parallax-y,0px),0)!important;
    transition:transform .12s linear;
    will-change:transform;
  }
  .mobile-motion .hero-photo{animation:heroZoomMobile 12s cubic-bezier(.12,.7,.18,1) both!important}
  @keyframes heroZoomMobile{0%{transform:scale(1.12) translate3d(0,0,0)}100%{transform:scale(1.035) translate3d(0,0,0)}}

  /* Cards subtly float as the user scrolls. No layout-changing properties. */
  .mobile-motion .portrait-frame,
  .mobile-motion .impact-stat,
  .mobile-motion .clip-card,
  .mobile-motion .comp-photo,
  .mobile-motion .comeback-card,
  .mobile-motion .community-big,
  .mobile-motion .community-small,
  .mobile-motion .return-gallery figure,
  .mobile-motion .plan,
  .mobile-motion .social-tile{
    translate:0 var(--mobile-float-y,0px);
    rotate:var(--mobile-float-r,0deg);
    transition:translate .16s linear,rotate .16s linear,box-shadow .25s ease;
    will-change:translate,rotate;
  }
  .mobile-motion .impact-stat.hero-stat{rotate:0deg}

  /* Headings feel alive while scrolling without waiting for hover. */
  .mobile-motion .profile-heading,
  .mobile-motion .impact-intro,
  .mobile-motion .viral-head,
  .mobile-motion .results-head,
  .mobile-motion .comeback-head,
  .mobile-motion .community-head,
  .mobile-motion .next-copy,
  .mobile-motion .return-head,
  .mobile-motion .support-copy,
  .mobile-motion .media-wall-copy,
  .mobile-motion .contact-copy{
    transform:translate3d(calc((.5 - var(--mobile-head-progress,.5))*6px),0,0);
    transition:transform .15s linear;
    will-change:transform;
  }

  /* Count-up feedback: a light sweep and settle that works on iOS. */
  .mobile-motion .impact-stat{position:relative;overflow:hidden}
  .mobile-motion .impact-stat:before{
    content:"";position:absolute;left:-35%;right:auto;top:0;width:32%;height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);
    transform:skewX(-15deg) translateX(-180%);pointer-events:none;z-index:0;
  }
  .mobile-motion .impact-stat.in:before{animation:mobileStatSweep 1.05s .18s ease-out both}
  .mobile-motion .impact-stat>*{position:relative;z-index:1}
  @keyframes mobileStatSweep{to{transform:skewX(-15deg) translateX(560%)}}
  .mobile-motion .impact-stat strong.count-finished,
  .mobile-motion #instagramFollowers.count-finished{animation:mobileCountPop .48s cubic-bezier(.16,.84,.25,1)}
  @keyframes mobileCountPop{0%{transform:scale(.94);opacity:.72}58%{transform:scale(1.025);opacity:1}100%{transform:scale(1)}}

  /* Result rows slide alternately to create depth on small screens. */
  .mobile-motion .result-row.reveal{transform:translate3d(18px,18px,0);}
  .mobile-motion .result-row.reveal:nth-child(even){transform:translate3d(-18px,18px,0)}
  .mobile-motion .result-row.reveal.in,
  .mobile-motion .result-row.reveal:nth-child(even).in{transform:translate3d(0,0,0)}

  /* Community / comeback image entrance uses crop scale, not heavy filters. */
  .mobile-motion .community-big img,
  .mobile-motion .community-small img,
  .mobile-motion .comeback-photo img,
  .mobile-motion .comp-photo img{transform:scale(1.025);transition:transform 1.05s cubic-bezier(.16,.78,.2,1)}
  .mobile-motion .community-big.in img,
  .mobile-motion .community-small.in img,
  .mobile-motion .comeback-card.in .comeback-photo img,
  .mobile-motion .comp-photo.in img{transform:scale(1)}

  /* Keep long-running marquee/ribbon motion active on touch browsers. */
  .mobile-motion .ticker-track{animation:ticker 29s linear infinite!important;transform:translate3d(0,0,0)}
  .mobile-motion .ribbon-track{animation:ribbonMobileDrift 9s ease-in-out infinite alternate!important}

  /* World-stage flight: all visual layers stay GPU accelerated on iOS. */
  .mobile-motion .satellite-world,.mobile-motion .satellite-paraguay,
  .mobile-motion .flight-route-svg,.mobile-motion .paraguay-arrival{
    transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;
  }
  .mobile-motion .flight-plane{transform-box:fill-box;transform-origin:center;will-change:transform,opacity}
  .mobile-motion .next-stage.route-active .flight-plane{animation:planeShow 5.4s .62s ease forwards}
}

@media (max-width:620px) and (prefers-reduced-motion:no-preference){
  .mobile-motion .motion-ready .reveal{transform:translate3d(0,20px,0) scale(.994);transition-duration:.62s}
  .mobile-motion .motion-ready .reveal.in{transform:translate3d(0,0,0) scale(1)}
  .mobile-motion .page-ready .hero-line{animation-duration:.72s}
  .mobile-motion .page-ready .hero-line.ghost{animation-delay:.04s}
  .mobile-motion .page-ready .hero-line.solid{animation-delay:.15s}
  .mobile-motion .page-ready .hero-line.outline{animation-delay:.27s}
  .mobile-motion .page-ready .hero-lead{animation-delay:.38s}
  .mobile-motion .page-ready .hero-actions{animation-delay:.5s}
  .mobile-motion .ticker-track{animation-duration:32s!important}
  .mobile-motion .ribbon-track{animation-duration:10s!important}
}

/* ===== V8 / Instant image delivery + non-blocking mobile motion ===== */
img{background:#111;color:transparent}
picture{background:#111;overflow:hidden}
img.asset-loaded{background:transparent}
img.asset-error{background:linear-gradient(135deg,#171717,#0b0b0b)}

/* Never let animation state make content look like an unloaded image on phones.
   Mobile animation is now progressive: elements are always visible, then WAAPI
   adds the entrance movement when they enter the viewport. */
@media (max-width:900px) and (prefers-reduced-motion:no-preference){
  .mobile-motion .motion-ready .reveal,
  .mobile-motion .motion-ready .reveal.in,
  .mobile-motion .result-row.reveal,
  .mobile-motion .result-row.reveal:nth-child(even),
  .mobile-motion .result-row.reveal.in,
  .mobile-motion .result-row.reveal:nth-child(even).in{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .mobile-motion .community-big img,
  .mobile-motion .community-small img,
  .mobile-motion .comeback-photo img,
  .mobile-motion .comp-photo img,
  .mobile-motion .community-big.in img,
  .mobile-motion .community-small.in img,
  .mobile-motion .comeback-card.in .comeback-photo img,
  .mobile-motion .comp-photo.in img{
    transform:none!important;
  }
  /* Motion director owns transforms. Keep image painting on its own compositor layer. */
  .mobile-motion img{transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}
}

/* Skeleton-like dark fill means there is never a white/transparent hole while a
   JPEG/WebP decode is finishing. It disappears as soon as the image paints. */
.hero-photo-wrap,.portrait-frame,.ribbon-shot,.impact-social>picture,.clip-card,
.comp-photo,.comeback-photo,.community-big,.community-small,.return-gallery figure,
.social-tile,.contact-image{background:#111}

/* ===== V9 / Desktop Instagram layout correction ===== */
/* Keep the live follower value comfortably inside its own card on wide screens. */
@media (min-width:901px){
  .impact-stats{
    grid-template-columns:minmax(0,1.08fr) minmax(0,1.15fr) minmax(0,.92fr);
  }
  .instagram-live-stat{
    min-width:0;
    min-height:260px;
    justify-content:flex-start;
    gap:0;
    padding-right:32px;
  }
  .instagram-live-stat .instagram-stat-label{
    min-height:18px;
    white-space:nowrap;
  }
  #instagramFollowers{
    display:block;
    width:100%;
    max-width:100%;
    margin:24px 0 18px;
    font-size:clamp(58px,6.15vw,100px);
    line-height:.78;
    letter-spacing:-.075em;
    white-space:nowrap;
    overflow:visible;
  }
  .instagram-live-stat .instagram-sync-line{
    margin-top:auto;
  }
  .instagram-mini-metrics{
    margin-top:12px;
  }

  /* The supplied screenshots have very different aspect ratios.
     Give each its own frame instead of forcing both into a 280x410 crop. */
  .impact-social{
    grid-template-columns:minmax(240px,.70fr) minmax(330px,1fr) minmax(380px,1.25fr);
    gap:18px;
    align-items:stretch;
  }
  .impact-social>picture{
    min-width:0;
    min-height:590px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:#0b0f13;
    border:1px solid #24282d;
  }
  .impact-social>picture:first-child{
    padding:14px;
  }
  .impact-social>picture:nth-child(2){
    padding:24px;
  }
  .impact-social>picture img{
    width:100%;
    height:auto;
    max-height:560px;
    object-fit:contain;
    object-position:center;
    display:block;
    background:#090d11;
  }
  .impact-social>picture:first-child img{
    width:auto;
    max-width:100%;
    height:560px;
    max-height:560px;
    object-fit:contain;
    object-position:center top;
  }
  .impact-social>picture:nth-child(2) img{
    width:100%;
    height:auto;
    aspect-ratio:1/1;
    object-fit:contain;
    object-position:center;
  }
  .impact-social>a{
    min-height:590px;
  }
}

/* Tablet: preserve the natural proportions of the two supplied screenshots. */
@media (min-width:621px) and (max-width:900px){
  .impact-social>picture{
    min-height:430px;
    display:grid;
    place-items:center;
    background:#0b0f13;
    overflow:hidden;
  }
  .impact-social>picture img{
    width:100%;
    height:auto;
    max-height:430px;
    object-fit:contain;
    object-position:center;
  }
}

/* Phone: keep the feed screenshot square and the profile screenshot readable. */
@media (max-width:620px){
  .impact-social{
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    align-items:stretch;
  }
  .impact-social>picture{
    min-width:0;
    height:330px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:#0b0f13;
  }
  .impact-social>picture:first-child img{
    width:auto;
    max-width:100%;
    height:100%;
    object-fit:contain;
    object-position:center top;
  }
  .impact-social>picture:nth-child(2) img{
    width:100%;
    height:auto;
    aspect-ratio:1/1;
    object-fit:contain;
    object-position:center;
  }
}

/* =========================================================
   V11 — WORLD CHALLENGE FUNDING STORY
   ========================================================= */
.funding-story{
  position:relative;
  padding:110px var(--pad) 120px;
  overflow:hidden;
}
.funding-story:before{
  content:"¥1.5M";
  position:absolute;
  right:-2vw;
  top:2vw;
  font-family:"Archivo Black",Impact,sans-serif;
  font-size:clamp(120px,22vw,340px);
  line-height:.75;
  letter-spacing:-.08em;
  color:rgba(0,0,0,.055);
  pointer-events:none;
}
.funding-story-head{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  column-gap:8vw;
  align-items:end;
  margin-bottom:72px;
}
.funding-story-head .section-kicker{grid-column:1/-1;margin-bottom:34px}
.funding-overline{
  grid-column:1;
  margin:0 0 7px;
  font-family:"Space Grotesk",sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}
.funding-story-head h2{
  grid-column:1/-1;
  margin:0;
  max-width:1200px;
  font-family:"Noto Sans JP",sans-serif;
  font-size:clamp(48px,7vw,110px);
  line-height:.98;
  letter-spacing:-.075em;
  font-weight:900;
}
.funding-story-head h2 span{color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.1)}
.funding-lead{
  grid-column:2;
  margin:42px 0 0;
  max-width:690px;
  font-family:"Noto Sans JP",sans-serif;
  font-size:15px;
  line-height:2;
  font-weight:600;
}
.funding-story-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:14px;
  align-items:stretch;
}
.funding-goal-card{
  min-height:620px;
  background:#0b0b0b;
  color:#fff;
  padding:42px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  border:1px solid #0b0b0b;
  box-shadow:15px 15px 0 rgba(0,0,0,.18);
}
.funding-goal-label{
  font-size:10px;
  letter-spacing:.16em;
  color:var(--acid);
  font-weight:800;
}
.funding-goal-card>strong{
  display:block;
  font-family:"Archivo Black",Impact,sans-serif;
  font-size:clamp(58px,7vw,105px);
  line-height:.83;
  letter-spacing:-.07em;
  margin:105px 0 24px;
  overflow-wrap:anywhere;
}
.funding-goal-card>p{
  max-width:480px;
  font-family:"Noto Sans JP",sans-serif;
  font-size:13px;
  line-height:1.9;
  color:#cfcfcf;
}
.funding-goal-link{
  margin-top:auto;
  border-top:1px solid #343434;
  padding-top:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}
.funding-goal-link span{font-size:24px;color:var(--acid)}
.funding-costs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.funding-cost{
  min-height:300px;
  padding:30px;
  border:1px solid rgba(0,0,0,.55);
  background:rgba(255,255,255,.17);
  display:flex;
  flex-direction:column;
}
.funding-cost-main{grid-column:1/-1;min-height:320px;background:#fff}
.funding-cost>span{
  font-family:"Space Grotesk",sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  opacity:.58;
}
.funding-cost>div{margin:44px 0 20px}
.funding-cost strong{
  display:block;
  font-family:"Noto Sans JP",sans-serif;
  font-size:clamp(36px,4.2vw,64px);
  line-height:1;
  letter-spacing:-.065em;
  font-weight:900;
}
.funding-cost small{
  display:block;
  margin-top:9px;
  font-family:"Noto Sans JP",sans-serif;
  font-size:10px;
  font-weight:700;
  opacity:.62;
}
.funding-cost p{
  margin:auto 0 0;
  max-width:590px;
  font-family:"Noto Sans JP",sans-serif;
  font-size:11px;
  line-height:1.8;
  opacity:.7;
}
.funding-total-note{
  grid-column:1/-1;
  border-top:2px solid #111;
  padding:24px 2px 0;
  display:grid;
  grid-template-columns:160px .9fr 1.3fr;
  gap:22px;
  align-items:start;
}
.funding-total-note>span{
  padding-top:8px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}
.funding-total-note>strong{
  font-family:"Archivo Black",Impact,sans-serif;
  font-size:clamp(34px,4.2vw,62px);
  line-height:.9;
  letter-spacing:-.06em;
}
.funding-total-note>strong span{font-size:.4em;margin-left:6px}
.funding-total-note>p{
  margin:3px 0 0;
  font-family:"Noto Sans JP",sans-serif;
  font-size:11px;
  line-height:1.9;
  font-weight:600;
}
.funding-message{
  position:relative;
  z-index:2;
  margin-top:76px;
  border-top:1px solid rgba(0,0,0,.7);
  padding-top:24px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:8vw;
  align-items:start;
}
.funding-message>span{
  font-family:"Archivo Black",Impact,sans-serif;
  font-size:clamp(24px,3vw,44px);
  line-height:.9;
  letter-spacing:-.045em;
}
.funding-message>p{
  margin:0;
  max-width:700px;
  font-family:"Noto Sans JP",sans-serif;
  font-size:18px;
  line-height:1.85;
  font-weight:900;
  letter-spacing:-.025em;
}
.progress-meta{
  display:flex;
  justify-content:space-between;
  gap:15px;
  margin-top:10px;
  color:#777;
  font-family:"Noto Sans JP",sans-serif;
  font-size:9px;
}
.progress-meta strong{color:#fff;font-size:10px}

@media (max-width:900px){
  .funding-story{padding:90px var(--pad) 100px}
  .funding-story-head{grid-template-columns:1fr;margin-bottom:52px}
  .funding-overline,.funding-lead{grid-column:1}
  .funding-lead{margin-top:30px;max-width:none}
  .funding-story-grid{grid-template-columns:1fr}
  .funding-goal-card{min-height:430px}
  .funding-goal-card>strong{margin:70px 0 24px}
  .funding-message{grid-template-columns:1fr;gap:26px;margin-top:60px}
}
@media (max-width:620px){
  .funding-story{padding:76px 20px 86px}
  .funding-story:before{font-size:42vw;right:-8vw;top:10px}
  .funding-story-head h2{font-size:clamp(45px,13.5vw,68px);line-height:1.02}
  .funding-lead{font-size:13px;line-height:1.9}
  .funding-goal-card{padding:26px;min-height:390px;box-shadow:9px 9px 0 rgba(0,0,0,.18)}
  .funding-goal-card>strong{font-size:clamp(52px,17vw,76px);margin:64px 0 20px}
  .funding-goal-card>p{font-size:11px;line-height:1.85}
  .funding-costs{grid-template-columns:1fr;gap:8px}
  .funding-cost,.funding-cost-main{grid-column:auto;min-height:240px;padding:24px}
  .funding-cost>div{margin:36px 0 18px}
  .funding-cost strong{font-size:42px}
  .funding-total-note{grid-column:auto;grid-template-columns:1fr;gap:10px;padding-top:20px}
  .funding-total-note>strong{font-size:46px}
  .funding-message{margin-top:50px}
  .funding-message>p{font-size:15px;line-height:1.8}
  .progress-meta{flex-direction:column;gap:4px}
}

/* V13 supporter reward */
.support-reward{margin-top:54px;background:#111;color:#fff;display:grid;grid-template-columns:220px 1fr 180px;align-items:stretch;border:1px solid #111;overflow:hidden;box-shadow:12px 12px 0 var(--acid)}
.support-reward-mark{background:var(--acid);color:#111;padding:28px 24px;display:flex;flex-direction:column;justify-content:space-between;min-height:235px}.support-reward-mark span{font-size:9px;font-weight:900;letter-spacing:.13em}.support-reward-mark strong{font-family:"Archivo Black","Noto Sans JP",sans-serif;font-size:42px;line-height:.82;letter-spacing:-.05em}.support-reward-copy{padding:30px 34px;align-self:center}.support-reward-copy>span{font-family:"Noto Sans JP",sans-serif;font-size:10px;color:var(--acid);font-weight:800;letter-spacing:.08em}.support-reward-copy h3{font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:clamp(25px,3vw,42px);line-height:1.2;letter-spacing:-.05em;margin:11px 0 15px}.support-reward-copy p{font-family:"Noto Sans JP",sans-serif;font-size:12px;line-height:1.9;color:#aaa;margin:0;max-width:720px}.support-reward-tag{border-left:1px solid #333;padding:28px 22px;display:flex;align-items:flex-end;font-family:"Archivo Black",sans-serif;font-size:18px;line-height:1.05;color:#777}
@media(max-width:900px){.support-reward{grid-template-columns:150px 1fr}.support-reward-tag{display:none}.support-reward-mark{min-height:210px}.support-reward-mark strong{font-size:31px}}
@media(max-width:620px){.support-reward{grid-template-columns:1fr;box-shadow:7px 7px 0 var(--acid);margin-top:38px}.support-reward-mark{min-height:0;padding:20px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px}.support-reward-mark strong{font-size:30px;text-align:right}.support-reward-copy{padding:26px 20px 28px}.support-reward-copy h3{font-size:27px}.support-reward-copy p{font-size:11px}}


/* ===== V15 / VITAL MANTIS + support transparency ===== */
.support-process-note{margin:34px 0 0;padding:18px 20px;border-left:4px solid #111;background:rgba(0,0,0,.055);font-family:"Noto Sans JP",sans-serif;font-size:12px;line-height:1.85;color:#555}.support-process-note strong{color:#111}
.vital-partner{margin-top:18px;display:grid;grid-template-columns:1.25fr .75fr;min-height:290px;background:var(--acid);color:#111;overflow:hidden;border:1px solid rgba(255,255,255,.12)}.vital-partner-copy{padding:34px 38px;display:flex;flex-direction:column;justify-content:center}.vital-partner-copy>span{font-size:9px;font-weight:900;letter-spacing:.14em}.vital-partner-copy h3{font-family:"Archivo Black","Noto Sans JP",sans-serif;font-size:clamp(42px,6vw,82px);line-height:.84;letter-spacing:-.065em;margin:18px 0}.vital-partner-copy p{font-family:"Noto Sans JP",sans-serif;font-size:13px;line-height:1.9;max-width:760px;margin:0 0 22px}.vital-partner-copy b{font-size:13px;letter-spacing:.04em}.vital-partner-visual{position:relative;background:#111;color:var(--acid);display:grid;place-items:center;overflow:hidden}.vital-partner-visual span{position:absolute;font-family:"Archivo Black",sans-serif;font-size:clamp(30px,5vw,72px);letter-spacing:-.05em}.vital-partner-visual span:first-child{left:10%;top:16%}.vital-partner-visual span:last-of-type{right:8%;bottom:13%}.vital-partner-visual i{width:74%;height:22px;border:3px solid var(--acid);border-radius:999px;transform:rotate(-12deg);display:block}.vital-partner-visual em{position:absolute;width:5px;height:72%;background:var(--acid);transform:rotate(8deg);right:34%;top:12%}
.support-vital-card{margin:0 auto 22px;max-width:1280px;padding:42px 48px;background:#d9ff30;color:#111;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.support-vital-card span{font-size:9px;letter-spacing:.14em;font-weight:900}.support-vital-card h2{font-family:"Noto Sans JP",sans-serif;font-size:clamp(30px,4vw,58px);line-height:1.05;letter-spacing:-.06em;margin:14px 0}.support-vital-card p{font-family:"Noto Sans JP",sans-serif;font-size:12px;line-height:1.9;max-width:780px;margin:0}.support-vital-card>a{background:#111;color:#fff;padding:17px 20px;font-size:12px;font-weight:900;white-space:nowrap}.support-transparency{margin:0 auto 22px;max-width:1280px;padding:22px 28px;border:1px solid #282828;background:#111;color:#fff}.support-transparency span{display:block;color:#d9ff30;font-size:9px;font-weight:900;letter-spacing:.13em;margin-bottom:9px}.support-transparency p{font-family:"Noto Sans JP",sans-serif;font-size:11px;line-height:1.9;color:#aaa;margin:0}.support-transparency strong{color:#fff}
@media(max-width:900px){.vital-partner{grid-template-columns:1fr}.vital-partner-visual{min-height:230px}.support-vital-card{grid-template-columns:1fr;align-items:start;padding:32px 28px}.support-vital-card>a{width:max-content}}
@media(max-width:620px){.vital-partner-copy{padding:28px 20px}.vital-partner-copy h3{font-size:46px}.vital-partner-copy p{font-size:11px}.vital-partner-visual{min-height:190px}.support-process-note{font-size:11px;padding:16px 15px}.support-vital-card{margin:0 20px 18px;padding:26px 20px}.support-vital-card h2{font-size:31px}.support-vital-card p{font-size:11px}.support-vital-card>a{white-space:normal}.support-transparency{margin:0 20px 18px;padding:20px}}

/* V16 support/legal footer refinements */
.footer-legal{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.footer-legal a{font-size:9px;color:#777;text-decoration:none}.footer-legal a:hover{color:#fff}.support-process-note a{text-decoration:underline;font-weight:900}
@media(max-width:620px){.footer-legal{gap:10px 14px}}


/* ===== V17 / Funding deadline + VITAL MANTIS product showcase ===== */
.funding-deadline{margin-top:26px;padding:18px 20px;border:1px solid rgba(17,17,17,.22);background:rgba(255,255,255,.34);display:grid;grid-template-columns:auto 1fr;gap:4px 18px;align-items:end}
.funding-deadline>span{grid-column:1/-1;font-size:8px;letter-spacing:.18em;font-weight:900;color:#333}
.funding-deadline>strong{font-family:"Archivo Black","Noto Sans JP",sans-serif;font-size:clamp(28px,3.4vw,48px);letter-spacing:-.055em;line-height:1}
.funding-deadline>small{font-family:"Noto Sans JP",sans-serif;font-size:10px;font-weight:800;color:#444;padding-bottom:4px;text-align:right}
.funding-deadline.is-ended{background:#111;color:#fff;border-color:#111}.funding-deadline.is-ended>span,.funding-deadline.is-ended>small{color:#aaa}

.vital-showcase{margin-top:20px;border:1px solid #252525;background:#0a0a0a;color:#fff;overflow:hidden}
.vital-showcase-head{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:end;padding:42px 44px;border-bottom:1px solid #252525;background:linear-gradient(125deg,#111 0%,#0a0a0a 58%,#171d08 100%)}
.vital-showcase-head>div>span{display:block;color:var(--acid);font-size:9px;font-weight:900;letter-spacing:.16em}
.vital-showcase-head h3{font-family:"Archivo Black","Noto Sans JP",sans-serif;font-size:clamp(52px,7vw,100px);line-height:.85;letter-spacing:-.07em;margin:16px 0 22px}
.vital-showcase-head p{font-family:"Noto Sans JP",sans-serif;font-size:13px;line-height:1.9;color:#b6b6b6;max-width:760px;margin:0}
.vital-showcase-head>a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--acid);background:var(--acid);color:#111;padding:16px 20px;font-size:11px;font-weight:900;white-space:nowrap;transition:.2s}
.vital-showcase-head>a:hover{background:#fff;border-color:#fff;transform:translateY(-3px)}
.vital-product-grid{display:grid;grid-template-columns:1fr 1fr 1fr;min-height:390px}
.vital-product-card{position:relative;margin:0;overflow:hidden;background:#111;min-height:390px;border-right:1px solid #252525}
.vital-product-card:last-child{border-right:0}
.vital-product-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;display:block;transition:transform .75s cubic-bezier(.2,.75,.2,1),filter .4s ease}
.vital-product-tshirt img{object-fit:contain;background:#f2f2f2;padding:14px}
.vital-product-bar img{object-fit:contain;background:#f4f4f4;padding:24px}
.vital-product-scooter img{object-position:center 36%}
.vital-product-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.84) 100%);pointer-events:none}
.vital-product-card:hover img{transform:scale(1.045)}
.vital-product-card figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;display:grid;gap:6px}
.vital-product-card figcaption span{font-size:8px;font-weight:900;letter-spacing:.17em;color:var(--acid)}
.vital-product-card figcaption strong{font-family:"Archivo Black","Noto Sans JP",sans-serif;font-size:clamp(17px,2vw,27px);line-height:1.05;letter-spacing:-.045em;color:#fff}
.vital-product-card.image-fallback{background:radial-gradient(circle at 30% 30%,#333,#0e0e0e 70%)}
.vital-product-card.image-fallback:before{content:"VITAL MANTIS\A PRODUCT IMAGE";white-space:pre;position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-family:"Archivo Black",sans-serif;font-size:28px;line-height:1.05;color:var(--acid);z-index:1}
.vital-source-note{margin:0;padding:14px 22px;border-top:1px solid #252525;color:#777;background:#0a0a0a;font-family:"Noto Sans JP",sans-serif;font-size:9px;line-height:1.7}
@media(max-width:900px){
 .vital-showcase-head{grid-template-columns:1fr;padding:34px 28px;gap:24px}.vital-showcase-head>a{width:max-content}.vital-product-grid{grid-template-columns:1fr 1fr}.vital-product-card{min-height:330px}.vital-product-card:last-child{grid-column:1/-1;min-height:360px;border-top:1px solid #252525}.vital-product-card:nth-child(2){border-right:0}
 .funding-deadline{grid-template-columns:1fr}.funding-deadline>small{text-align:left}
}
@media(max-width:620px){
 .vital-showcase{margin-top:14px}.vital-showcase-head{padding:28px 20px}.vital-showcase-head h3{font-size:48px;margin:13px 0 18px}.vital-showcase-head p{font-size:11px}.vital-product-grid{grid-template-columns:1fr}.vital-product-card,.vital-product-card:last-child{grid-column:auto;min-height:310px;border-right:0;border-bottom:1px solid #252525}.vital-product-card:last-child{border-bottom:0}.vital-product-bar img{padding:14px}.vital-product-card figcaption{left:18px;right:18px;bottom:18px}.vital-source-note{font-size:8px;padding:12px 18px}.funding-deadline{padding:16px}.funding-deadline>strong{font-size:34px}
}
.vital-product-card.image-fallback img{display:none!important}

.vital-source-note a{color:var(--acid);font-weight:900;text-decoration:underline;text-underline-offset:3px}


/* ===== V18 / visual clarity + product motion + route cleanup ===== */
.funding-story-head h2{color:#111;text-shadow:none}
.funding-story-head h2 span{display:inline-block;color:#111!important;background:#fff;text-shadow:none!important;padding:.06em .18em .12em;margin-top:.12em;box-shadow:10px 10px 0 #111;transform:rotate(-.7deg);transform-origin:left center;position:relative;isolation:isolate}
.funding-story-head h2 span:after{content:"PLEASE SUPPORT";position:absolute;right:.8em;top:-1.15em;font:900 8px "Space Grotesk",sans-serif;letter-spacing:.18em;color:#111;background:var(--acid);padding:5px 7px;border:1px solid #111}
.funding-story.reveal-section-active .funding-story-head h2{animation:v18TitleIn .85s cubic-bezier(.18,.8,.2,1) both}
.funding-story.reveal-section-active .funding-story-head h2 span{animation:v18AskPunch 1s .22s cubic-bezier(.16,.9,.24,1.15) both}
@keyframes v18TitleIn{from{opacity:0;transform:translateY(34px);filter:blur(9px)}to{opacity:1;transform:none;filter:none}}
@keyframes v18AskPunch{0%{opacity:0;transform:translateY(22px) rotate(-.7deg) scale(.92)}70%{opacity:1;transform:translateY(0) rotate(-1.2deg) scale(1.025)}100%{opacity:1;transform:rotate(-.7deg) scale(1)}}
.funding-goal-card{position:relative;overflow:hidden}.funding-goal-card:before{content:"";position:absolute;width:160%;height:36px;left:-30%;top:-60px;background:linear-gradient(90deg,transparent,rgba(217,255,48,.55),transparent);transform:rotate(-12deg);animation:v18GoalSweep 5.8s ease-in-out infinite}.funding-goal-card>*{position:relative;z-index:1}@keyframes v18GoalSweep{0%,55%{top:-70px}75%,100%{top:115%}}
.funding-deadline:not(.is-ended){animation:v18DeadlinePulse 2.7s ease-in-out infinite}@keyframes v18DeadlinePulse{50%{box-shadow:0 0 0 5px rgba(17,17,17,.08);transform:translateY(-2px)}}

/* Flight path exists only during the intercontinental phase; hide it when the Paraguay detail map appears. */
.next-stage.route-active .flight-route-svg{animation:v18RouteOverlayOut .8s 4.65s ease forwards}
@keyframes v18RouteOverlayOut{0%{opacity:1}100%{opacity:0;visibility:hidden}}

.vital-showcase{position:relative}.vital-showcase:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(217,255,48,.08),transparent 28%);z-index:3;mix-blend-mode:screen}
.vital-product-marquee{overflow:hidden;border-bottom:1px solid #252525;background:var(--acid);color:#111;padding:9px 0;font:900 10px "Space Grotesk",sans-serif;letter-spacing:.18em;white-space:nowrap}.vital-product-marquee div{width:max-content;animation:v18ProductTicker 20s linear infinite}@keyframes v18ProductTicker{to{transform:translateX(-50%)}}
.vital-product-grid-v18{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}
.vital-product-grid-v18 .vital-product-card{min-height:460px;border-bottom:1px solid #252525;text-decoration:none;color:inherit}
.vital-product-grid-v18 .vital-product-card:nth-child(2n){border-right:0}.vital-product-grid-v18 .vital-product-card:nth-last-child(-n+2){border-bottom:0}
.vital-product-grid-v18 .vital-product-card img{object-fit:cover;padding:0;background:#111;transform:scale(1.015)}
.vital-product-grid-v18 .vital-product-tshirt img{object-fit:cover;padding:0;background:#efefef}.vital-product-grid-v18 .vital-product-bar img{object-fit:cover;padding:0;background:#111}.vital-product-grid-v18 .vital-product-deck img{object-position:center}.vital-product-grid-v18 .vital-product-scooter img{object-position:center 46%}
.vital-product-grid-v18 .vital-product-card:before{content:"";position:absolute;z-index:2;inset:-35% -60%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.26) 49%,transparent 56%);transform:translateX(-45%);transition:transform .8s ease;pointer-events:none}.vital-product-grid-v18 .vital-product-card:hover:before{transform:translateX(45%)}
.vital-product-grid-v18 .vital-product-card:hover img{transform:scale(1.075);filter:saturate(1.08) contrast(1.04)}
.vital-product-card figcaption small{font-size:8px;color:#fff;opacity:.72;letter-spacing:.12em;font-weight:900;margin-top:3px}
@media (prefers-reduced-motion:no-preference){.vital-product-grid-v18 .vital-product-card:nth-child(1){animation:v18ProductFloat 5.8s ease-in-out infinite}.vital-product-grid-v18 .vital-product-card:nth-child(2){animation:v18ProductFloat 6.4s .4s ease-in-out infinite}.vital-product-grid-v18 .vital-product-card:nth-child(3){animation:v18ProductFloat 6.1s .8s ease-in-out infinite}.vital-product-grid-v18 .vital-product-card:nth-child(4){animation:v18ProductFloat 6.8s 1.1s ease-in-out infinite}@keyframes v18ProductFloat{50%{transform:translateY(-4px)}}}
@media(max-width:900px){.funding-story-head h2 span{box-shadow:7px 7px 0 #111}.vital-product-grid-v18 .vital-product-card{min-height:370px}.vital-product-grid-v18 .vital-product-card:last-child{grid-column:auto;min-height:370px;border-top:0}.vital-product-grid-v18 .vital-product-card:nth-child(2){border-right:0}}
@media(max-width:620px){.funding-story-head h2 span{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:.03em .12em .09em;box-shadow:5px 5px 0 #111;line-height:1.15}.funding-story-head h2 span:after{display:none}.vital-product-grid-v18{grid-template-columns:1fr}.vital-product-grid-v18 .vital-product-card,.vital-product-grid-v18 .vital-product-card:last-child{min-height:330px;border-right:0;border-bottom:1px solid #252525}.vital-product-grid-v18 .vital-product-card:last-child{border-bottom:0}.vital-product-marquee{font-size:8px}.next-stage.route-active .flight-route-svg{animation:v18RouteOverlayOut .65s 4.35s ease forwards}}


/* ===== V19 / product image corrections ===== */
.vital-product-grid-v19 .vital-product-tshirt{background:#f5f5f5}
.vital-product-grid-v19 .vital-product-tshirt img{object-fit:contain!important;object-position:50% 50%!important;background:#f5f5f5!important;padding:26px!important;transform:scale(.96)!important}
.vital-product-grid-v19 .vital-product-tshirt:hover img{transform:scale(1.005)!important;filter:contrast(1.02)!important}
.vital-product-grid-v19 .vital-product-scooter img{object-position:50% 48%!important}
@media(max-width:620px){.vital-product-grid-v19 .vital-product-tshirt img{padding:18px!important;transform:scale(.97)!important}}

/* ===== V21 readability / social image ===== */
.ticker,.ticker-track,.ticker-track span,.ticker-track i{color:#080808!important;text-shadow:none!important}
.social-tile.instagram img{object-position:50% 52%!important}
@media(max-width:620px){.social-tile.instagram img{object-position:50% 50%!important}}
