/* ===== Shared additions ===== */
[hidden]{display:none!important}
.nav a.item.active{background:rgba(21,21,21,.07)}
.sec-sm{padding:var(--s9) 0}
.todo{display:inline-block;font-size:.82em;font-weight:700;color:var(--red-ink);background:var(--red-soft);border-radius:6px;padding:0 6px;margin:0 2px;line-height:1.7;white-space:nowrap}
.prose p{margin:0 0 1em;color:var(--ink-2);line-height:1.95}
.prose p:last-child{margin-bottom:0}
.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}

/* ===== Mobile menu ===== */
#mmenu{position:fixed;inset:0;z-index:45;background:var(--bg);padding:96px var(--gutter) 40px;display:flex;flex-direction:column;gap:4px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity var(--d-base) var(--ease-out),transform var(--d-base) var(--ease-out),visibility 0s linear var(--d-base);overflow-y:auto}
.menu-open #mmenu{opacity:1;visibility:visible;transform:none;transition-delay:0s}
#mmenu a.mi{display:flex;justify-content:space-between;align-items:center;font-size:24px;font-weight:700;padding:14px 4px;border-bottom:1px solid var(--line)}
#mmenu a.mi small{font-family:var(--font-en);font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
#mmenu .mfoot{display:flex;gap:12px;align-items:center;margin-top:28px}
.menu-open{overflow:hidden}
.menu-open .menu-btn i:first-child{transform:translateY(3px) rotate(45deg)}
.menu-open .menu-btn i:last-child{transform:translateY(-3px) rotate(-45deg)}
.menu-btn i{transition:transform var(--d-base) var(--ease-out)}

/* ===== Page head ===== */
.page-head{padding:148px 0 72px}
.crumbs{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:28px}
.crumbs a:hover{color:var(--ink)}
.crumbs span[aria-hidden]{opacity:.5}
.ph-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.ph-grid .txt{grid-column:1 / span 7;display:flex;flex-direction:column;gap:22px}
.ph-grid .side{grid-column:9 / span 4}
.page-head h1{margin:0;font-size:clamp(40px,5.2vw,76px);line-height:1.22;font-weight:800;letter-spacing:.01em}
.page-head .lead{max-width:34em}
.ph-img{margin-top:56px;height:min(56vw,540px);border-radius:var(--r-xl);overflow:hidden;position:relative}
.ph-img>img{width:100%;height:100%;object-fit:cover}
.ph-img .slides{position:absolute;inset:0}
.ph-img .bars{position:absolute;right:24px;bottom:24px;z-index:2}
.page-head .mask>span{transition-delay:120ms}
.ph-stats{display:flex;flex-direction:column;gap:14px}
.ph-stats a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-card);font-weight:700;transition:transform var(--d-base) var(--ease-out)}
.ph-stats a:hover{transform:translateX(4px)}

/* ===== Values ===== */
.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.vcard{padding:36px 32px 32px;display:flex;flex-direction:column;gap:18px;min-height:280px;position:relative;overflow:hidden}
.vcard .en{font-family:var(--font-en);font-weight:800;font-size:34px;letter-spacing:-.02em;line-height:1.1}
.vcard p{margin:0;color:var(--ink-2);font-size:16px}
.vcard .no{font-family:var(--font-en);font-weight:700;font-size:13px;color:var(--red-ink);letter-spacing:.06em}
.vcard .orb{position:absolute;right:-50px;bottom:-50px;width:160px;height:160px;border-radius:50%;background:var(--red-soft);transition:transform 900ms var(--ease-out)}
.vcard:hover .orb{transform:scale(1.15)}
.vcard>*:not(.orb){position:relative}

/* ===== Facts ===== */
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:8px 32px}
.facts div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.facts div:nth-last-child(-n+2){border-bottom:0}
.facts div:nth-child(odd){padding-right:32px}
.facts div:nth-child(even){padding-left:32px;border-left:1px solid var(--line)}
.facts dt{font-size:14px;font-weight:700;color:var(--muted)}
.facts dd{margin:0;font-weight:500}

/* ===== Two cards (organization) ===== */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.duo .card{padding:36px;display:flex;flex-direction:column;gap:14px}
.duo h3{margin:0;font-size:24px}
.duo p{margin:0;color:var(--ink-2)}

/* ===== People ===== */
.people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.person{display:flex;flex-direction:column;gap:14px}
.person .ph{aspect-ratio:1/1;border-radius:var(--r-lg);background:linear-gradient(160deg,var(--soft),#E6E2DA);display:grid;place-items:center;overflow:hidden;transition:transform var(--d-base) var(--ease-out)}
.person:hover .ph{transform:translateY(-4px)}
.person .ph span{font-family:var(--font-en);font-weight:800;font-size:44px;color:#C9C4BA}
.person b{font-size:17px;display:block}
.person small{font-size:14px;color:var(--muted)}

/* ===== Anchor tabs ===== */
.anchor-wrap{position:sticky;top:16px;z-index:40;display:flex;justify-content:center;transition:top var(--d-base) var(--ease-out);pointer-events:none}
body:has(.hdr.scrolled:not(.hide)) .anchor-wrap{top:96px}
.anchor-tabs{pointer-events:auto;display:inline-flex;gap:4px;padding:5px;border-radius:var(--r-pill);background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-float)}
.anchor-tabs a{height:42px;display:flex;align-items:center;gap:8px;padding:0 20px;border-radius:var(--r-pill);font-weight:700;font-size:14.5px;transition:background var(--d-fast),color var(--d-fast)}
.anchor-tabs a em{font-style:normal;font-family:var(--font-en);font-size:12px;color:var(--red-ink)}
.anchor-tabs a.on{background:var(--ink);color:#fff}
.anchor-tabs a.on em{color:#fff;opacity:.7}

/* ===== Axis block ===== */
.axis{padding:var(--s10) 0 var(--s9);scroll-margin-top:80px}
.axis+.axis{border-top:1px solid var(--line)}
.axis-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;margin-bottom:48px}
.axis-head .t{grid-column:1 / span 7;display:flex;flex-direction:column;gap:16px}
.axis-head .num{font-family:var(--font-en);font-weight:800;font-size:88px;line-height:.9;letter-spacing:-.04em;color:var(--red)}
.axis-head h2{margin:0;font-size:clamp(32px,3.8vw,52px);line-height:1.3}
.axis-head p{grid-column:8 / span 5;margin:0;color:var(--ink-2);font-size:17px}
.axis-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.axis-img{grid-column:1 / span 7;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/3}
.axis-img img{width:100%;height:100%;object-fit:cover}
.axis-list{grid-column:8 / span 5;display:flex;flex-direction:column;gap:12px}
.axis-list h3{margin:0 0 4px;font-size:14px;font-family:var(--font-en);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.prog{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-card);transition:transform var(--d-base) var(--ease-out)}
.prog:hover{transform:translateX(4px)}
.prog .ico{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--red-soft);color:var(--red-ink);font-family:var(--font-en);font-weight:800;font-size:14px}
.prog b{display:block;font-size:17px;line-height:1.5}
.prog small{display:block;font-size:14px;color:var(--muted);line-height:1.6;margin-top:2px}
.prog.star{background:var(--ink);color:#fff}
.prog.star small{color:rgba(255,255,255,.72)}
.prog.star .ico{background:var(--red);color:#fff}
.axis-ev{margin-top:40px}
.mini-ev{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:12px}

/* ===== Event list ===== */
.ev-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.seg{display:inline-flex;padding:4px;border-radius:var(--r-pill);background:var(--soft)}
.seg button{height:40px;padding:0 20px;border:0;border-radius:var(--r-pill);background:transparent;font-weight:700;font-size:14px;cursor:pointer;color:var(--muted);transition:background var(--d-fast),color var(--d-fast)}
.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.erows{display:flex;flex-direction:column;gap:14px}
.erow{display:grid;grid-template-columns:92px 200px minmax(0,1fr) auto;gap:28px;align-items:center;padding:14px 24px 14px 14px;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base)}
.erow:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(21,21,21,.05),0 16px 32px rgba(21,21,21,.09)}
.erow .dt{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:96px;border-radius:var(--r-md);background:var(--bg);font-family:var(--font-en);line-height:1}
.erow .dt small{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--red-ink)}
.erow .dt b{font-size:34px;font-weight:700;letter-spacing:-.02em;margin:6px 0 4px}
.erow .dt em{font-style:normal;font-size:12px;font-weight:600;color:var(--muted)}
.erow .th{border-radius:var(--r-md);overflow:hidden;aspect-ratio:16/10}
.erow .th img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
.erow:hover .th img{transform:scale(1.05)}
.erow .info{display:flex;flex-direction:column;gap:8px;min-width:0}
.erow .info h3{margin:0;font-size:20px;line-height:1.45}
.erow .meta{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.erow .meta span{display:inline-flex;gap:6px;align-items:center}
.erow .meta svg{width:15px;height:15px}
.erow .btn{height:46px;font-size:14px}
.erow.past{grid-template-columns:92px 200px minmax(0,1fr) 44px}
.erow.past .dt b{color:var(--muted)}

/* ===== Event detail ===== */
.evd{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.evd .main{grid-column:1 / span 8;display:flex;flex-direction:column;gap:40px}
.evd .aside{grid-column:9 / span 4;position:sticky;top:104px}
.info-card{padding:28px;display:flex;flex-direction:column;gap:18px}
.info-card dl{margin:0;display:flex;flex-direction:column}
.info-card dl div{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.info-card dl div:first-child{padding-top:0}
.info-card dt{font-size:13px;font-weight:700;color:var(--muted)}
.info-card dd{margin:0;font-weight:500;font-size:15px}
.info-card .btn{justify-content:center;width:100%}
.involve-tag{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700}
.involve-tag i{width:8px;height:8px;border-radius:50%;background:var(--red)}
.evd h2{margin:0 0 16px;font-size:26px}
.hosts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.hosts div{padding:20px 22px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.hosts small{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:4px}
.hosts b{font-size:16px}

/* ===== Plans ===== */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.plan{padding:40px;display:flex;flex-direction:column;gap:22px;position:relative;overflow:hidden}
.plan .who{font-size:15px;color:var(--ink-2)}
.plan h3{margin:0;font-size:28px}
.plan .price{display:flex;align-items:baseline;gap:10px}
.plan .price b{font-family:var(--font-en);font-weight:700;font-size:64px;letter-spacing:-.03em;line-height:1}
.plan .price small{font-size:14px;color:var(--muted)}
.plan ul{list-style:none;margin:0;padding:22px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.plan li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.plan li svg{flex-shrink:0;width:20px;height:20px;margin-top:3px;color:var(--red)}
.plan .btn{align-self:flex-start;margin-top:auto}
.plan.feat{box-shadow:inset 0 0 0 2px var(--ink),var(--shadow-card)}
.plan .badge{position:absolute;right:28px;top:28px}

/* ===== Steps ===== */
.steps{--prog:0;position:relative;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:16px}
.steps::before,.steps::after{content:"";position:absolute;left:calc(100% / var(--n,5) / 2);right:calc(100% / var(--n,5) / 2);top:27px;height:2px;border-radius:2px;background:var(--line)}
.steps::after{background:var(--red);transform-origin:left;transform:scaleX(var(--prog));transition:transform 200ms linear}
.step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.step .dot{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--surface);box-shadow:inset 0 0 0 2px var(--line);font-family:var(--font-en);font-weight:700;font-size:16px;color:var(--muted);transition:background var(--d-base) var(--ease-out),color var(--d-base),box-shadow var(--d-base),transform var(--d-base) var(--ease-out)}
.step.lit .dot{background:var(--red);color:#fff;box-shadow:0 0 0 6px var(--red-soft);transform:scale(1.04)}
.step b{font-size:17px}
.step small{font-size:14px;color:var(--muted);max-width:14em}

/* ===== Involve cards ===== */
.inv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.inv a{display:flex;flex-direction:column;padding:12px;transition:transform var(--d-base) var(--ease-out)}
.inv a:hover{transform:translateY(-6px)}
.inv .ph{aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden}
.inv .ph img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
.inv a:hover .ph img{transform:scale(1.04)}
.inv .body{padding:22px 14px 14px;display:flex;flex-direction:column;gap:10px;flex-grow:1}
.inv h3{margin:0;font-size:24px}
.inv p{margin:0;color:var(--ink-2);font-size:15.5px}
.inv .foot{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14px}

/* ===== Split block ===== */
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}
.split .l{grid-column:1 / span 5;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.split .r{grid-column:7 / span 6}
.split .r img{width:100%;border-radius:var(--r-xl);aspect-ratio:4/3;object-fit:cover}
.url-chip{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px;border-radius:var(--r-pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-family:var(--font-en);font-weight:600;font-size:14px}
.url-chip i{width:8px;height:8px;border-radius:50%;background:#2F9E6A}

/* ===== News ===== */
.feat-news{display:grid;grid-template-columns:7fr 5fr;gap:0;overflow:hidden;margin-bottom:32px;transition:transform var(--d-base) var(--ease-out)}
.feat-news:hover{transform:translateY(-4px)}
.feat-news .ph{min-height:420px;overflow:hidden}
.feat-news .ph img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
.feat-news:hover .ph img{transform:scale(1.03)}
.feat-news .body{padding:48px;display:flex;flex-direction:column;gap:16px;justify-content:center}
.feat-news h2{margin:0;font-size:32px;line-height:1.4}
.feat-news p{margin:0;color:var(--ink-2)}
.ncards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ncard{display:flex;flex-direction:column;padding:10px;transition:transform var(--d-base) var(--ease-out)}
.ncard:hover{transform:translateY(-6px)}
.ncard .ph{aspect-ratio:16/10;border-radius:var(--r-md);overflow:hidden}
.ncard .ph img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
.ncard:hover .ph img{transform:scale(1.04)}
.ncard .body{padding:18px 12px 12px;display:flex;flex-direction:column;gap:10px}
.ncard h3{margin:0;font-size:18px;line-height:1.55}
.nmeta{display:flex;gap:10px;align-items:center;font-family:var(--font-en);font-size:13px;font-weight:600;color:var(--muted)}

/* ===== Contact ===== */
.contact{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.contact form{grid-column:1 / span 7;padding:40px;display:flex;flex-direction:column;gap:22px}
.contact .aside{grid-column:9 / span 4;display:flex;flex-direction:column;gap:16px}
.fld{display:flex;flex-direction:column;gap:8px}
.fld label,.fld .lb{font-size:14px;font-weight:700}
.fld label em,.fld .lb em{font-style:normal;color:var(--red-ink);font-size:12px;margin-left:6px}
.fld input,.fld textarea{width:100%;border:0;border-radius:var(--r-md);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);padding:14px 16px;font-size:15px;outline:0;transition:box-shadow var(--d-fast)}
.fld input{height:52px}
.fld textarea{min-height:160px;resize:vertical}
.fld input:focus,.fld textarea:focus{box-shadow:inset 0 0 0 2px var(--ink)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.radio-chips{display:flex;flex-wrap:wrap;gap:8px;position:relative}
.radio-chips input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
.radio-chips label{height:40px;display:inline-flex;align-items:center;padding:0 16px;border-radius:var(--r-pill);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;font-weight:700;cursor:pointer;transition:background var(--d-fast),color var(--d-fast)}
.radio-chips input:checked+label{background:var(--ink);color:#fff;box-shadow:none}
.radio-chips input:focus-visible+label{outline:2px solid var(--red);outline-offset:2px}
.form-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.form-foot .msg{font-size:14px;color:var(--muted)}
.side-card{padding:28px;display:flex;flex-direction:column;gap:10px}
.side-card h3{margin:0;font-size:18px}
.side-card p{margin:0;font-size:14.5px;color:var(--ink-2)}

/* ===== Responsive ===== */
@media (max-width:1180px){
  .people{grid-template-columns:repeat(3,minmax(0,1fr))}
  .erow{grid-template-columns:80px 160px minmax(0,1fr)}
  .erow .btn{grid-column:3;justify-self:start}
  .erow.past{grid-template-columns:80px 160px minmax(0,1fr) 44px}
}
@media (max-width:900px){
  .page-head{padding:104px 0 48px}
  .ph-grid .txt,.ph-grid .side{grid-column:1 / -1}
  .ph-img{margin-top:36px;height:300px;border-radius:var(--r-lg)}
  .values-grid,.duo,.plans,.inv,.ncards,.mini-ev{grid-template-columns:1fr}
  .vcard{min-height:0}
  .facts{grid-template-columns:1fr;padding:4px 22px}
  .facts div,.facts div:nth-child(odd),.facts div:nth-child(even){padding:16px 0;border-left:0;grid-template-columns:96px 1fr}
  .facts div:nth-last-child(2){border-bottom:1px solid var(--line)}
  .people{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .anchor-wrap{top:12px}
  body:has(.hdr.scrolled:not(.hide)) .anchor-wrap{top:80px}
  .anchor-tabs a{padding:0 12px;font-size:13px;height:38px}
  .anchor-tabs a em{display:none}
  .axis{padding:88px 0 64px}
  .axis-head,.axis-body{grid-template-columns:1fr}
  .axis-head .t,.axis-head p,.axis-img,.axis-list{grid-column:auto}
  .axis-head .num{font-size:64px}
  .axis-img{border-radius:var(--r-lg)}
  .erow,.erow.past{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:12px}
  .erow .th{display:none}
  .erow .dt{min-height:84px}
  .erow .dt b{font-size:28px}
  .erow .info h3{font-size:17px}
  .erow .btn{grid-column:1 / -1;justify-self:stretch;justify-content:center}
  .erow.past .circle-arr{display:none}
  .evd .main,.evd .aside{grid-column:1 / -1}
  .evd .aside{position:static;order:-1}
  .hosts{grid-template-columns:1fr}
  .plan{padding:28px}
  .plan .price b{font-size:52px}
  .steps{grid-template-columns:1fr;gap:20px}
  .steps::before,.steps::after{left:27px;right:auto;top:28px;bottom:28px;width:2px;height:auto}
  .steps::after{transform-origin:top;transform:scaleY(var(--prog))}
  .step{flex-direction:row;text-align:left;align-items:center;gap:18px}
  .step .txt{display:flex;flex-direction:column}
  .split .l,.split .r{grid-column:1 / -1}
  .feat-news{grid-template-columns:1fr}
  .feat-news .ph{min-height:220px}
  .feat-news .body{padding:24px}
  .feat-news h2{font-size:24px}
  .contact form,.contact .aside{grid-column:1 / -1}
  .contact form{padding:24px}
  .two{grid-template-columns:1fr}
}
.step .txt{display:flex;flex-direction:column;gap:6px;align-items:center}
@media (max-width:900px){.step .txt{align-items:flex-start}}
@media (max-width:900px){
  .split.card{padding:24px!important}
  .mini-ev{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;margin:12px calc(var(--gutter) * -1) 0;padding:4px var(--gutter) 16px;scroll-padding-inline:var(--gutter)}
  .mini-ev::-webkit-scrollbar{display:none}
  .mini-ev .ev{flex:0 0 82%;max-width:none;scroll-snap-align:start}
}

/* ===== Official logo ===== */
.logo img{display:block;height:46px;width:auto}
.flogo{display:inline-block;margin-bottom:18px}
.flogo img{height:54px}
@media (max-width:900px){.logo img{height:34px}.flogo img{height:46px}}

/* ===== Logo band (Home) ===== */
.logoband{padding:56px 0 24px}
.lb-mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.lb-track{display:flex;align-items:center;gap:96px;width:max-content;animation:mq 50s linear infinite;padding:16px 0}
.lb-mq:hover .lb-track{animation-play-state:paused}
.lg-ph{flex-shrink:0;display:inline-flex;align-items:center;gap:16px;height:72px;opacity:.5;filter:grayscale(1);transition:opacity var(--d-base)}
.lg-ph:hover{opacity:.9}
.lg-ph i{flex-shrink:0;display:block;background:#8E8A83}
.lg-ph b{display:flex;flex-direction:column;gap:9px}
.lg-ph b span{display:block;height:13px;border-radius:7px;background:#8E8A83}
.lg-ph b span+span{height:8px;opacity:.7}
@media (max-width:900px){.logoband{padding:40px 0 8px}.lb-track{gap:56px;animation-duration:40s}.lg-ph{height:56px;transform:scale(.8)}}

/* ===== Projects ===== */
.proj{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pcard{display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-xl);padding:12px;box-shadow:var(--shadow-card);transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base)}
.pcard:hover{transform:translateY(-6px);box-shadow:0 2px 4px rgba(21,21,21,.05),0 20px 40px rgba(21,21,21,.10)}
.pcard .ph{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
.pcard:hover .ph img{transform:scale(1.04)}
.pcard .pk{position:absolute;left:16px;top:16px;background:#fff;color:var(--ink);font-family:var(--font-en)}
.pcard .body{padding:24px 18px 16px;display:flex;flex-direction:column;gap:10px;flex-grow:1}
.pcard .tags{display:flex;gap:6px}
.pcard h3{margin:4px 0 0;font-family:var(--font-en);font-weight:800;font-size:32px;letter-spacing:-.02em;line-height:1.15}
.pcard .sub{margin:0;font-weight:700;font-size:17px}
.pcard p{margin:0;color:var(--ink-2);font-size:15.5px}
.pcard .foot{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14px}
@media (max-width:900px){.proj{grid-template-columns:1fr}.pcard{border-radius:var(--r-lg)}.pcard h3{font-size:26px}}

/* scroll chaining fix for horizontal scrollers */
.car,.mini-ev{overflow-y:hidden;overscroll-behavior-y:auto}

/* ===== Member perks ===== */
.perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;scroll-margin-top:100px}
.perk{padding:30px 28px;display:flex;flex-direction:column;gap:12px;transition:transform var(--d-base) var(--ease-out)}
.perk:hover{transform:translateY(-4px)}
.perk .pico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--red-soft);color:var(--red-ink)}
.perk .pico svg{width:24px;height:24px}
.perk h3{margin:6px 0 0;font-size:20px;line-height:1.45}
.perk p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.8;flex-grow:1}
.perk .pv{align-self:flex-start;margin-top:6px}
.perk.hi{background:var(--ink);color:#fff}
.perk.hi p{color:rgba(255,255,255,.78)}
.perk.hi .pico{background:var(--red);color:#fff}
.perk.hi .pv{background:var(--red);color:#fff}
.value-band{margin-top:24px;display:flex;align-items:center;gap:40px;padding:36px 44px;border-radius:var(--r-xl);background:var(--red);color:#fff;position:relative;overflow:hidden}
.value-band::after{content:"";position:absolute;right:-80px;top:-120px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.09)}
.vb-num{display:flex;align-items:baseline;gap:8px;flex-shrink:0;font-family:var(--font-en)}
.vb-num b{font-size:72px;font-weight:700;letter-spacing:-.03em;line-height:1}
.vb-num small{font-size:15px;font-weight:600;font-family:var(--font-jp)}
.vb-txt{display:flex;flex-direction:column;gap:6px;position:relative}
.vb-txt b{font-size:20px}
.vb-txt span{font-size:14.5px;color:rgba(255,255,255,.9)}
@media (max-width:900px){.perks{grid-template-columns:1fr}.value-band{flex-direction:column;align-items:flex-start;gap:14px;padding:28px 24px;border-radius:var(--r-lg)}.vb-num b{font-size:56px}}
