
:root{--ink:#31364f;--muted:#70758e;--paper:#fbfaff;--white:#fff;--line:#e9e6f4;--purple:#7c6cff;--pink:#ff6fa5;--yellow:#ffd166;--mint:#60d4a1;--sky:#88bfff;--radius:34px;--shadow:0 24px 80px rgba(73,60,131,.12);--wide:min(1560px,calc(100vw - 64px));}
*{box-sizing:border-box}html{scroll-behavior:smooth;word-break:keep-all;overflow-wrap:break-word}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;letter-spacing:-.018em}button,a,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{border:0}.shell{width:var(--wide);margin:auto}.page{padding-top:98px}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid #ddd6ff;border-radius:999px;background:#fff;color:#6b5ce7;font-size:13px;font-weight:750;letter-spacing:.02em}.eyebrow:before{content:"";width:8px;height:8px;background:linear-gradient(135deg,var(--pink),var(--purple));border-radius:50%;box-shadow:0 0 0 5px #f4efff}.display{font-size:clamp(48px,6.7vw,108px);line-height:.97;letter-spacing:-.055em;margin:22px 0 28px;font-weight:830}.display .accent{background:linear-gradient(90deg,#6f5cff,#ff6fa5 60%,#f5a63d);-webkit-background-clip:text;color:transparent}.lead{font-size:clamp(18px,1.55vw,25px);line-height:1.68;color:var(--muted);max-width:720px}.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 22px;border-radius:18px;font-weight:760;cursor:pointer;transition:.25s}.btn.primary{color:white;background:linear-gradient(135deg,#7c6cff,#9f77ff 55%,#ff6fa5);box-shadow:0 12px 30px rgba(124,108,255,.3)}.btn.ghost{background:#fff;border:1px solid var(--line)}.btn:hover{transform:translateY(-2px)}
.site-header{position:fixed;z-index:50;top:16px;left:50%;transform:translateX(-50%);width:min(1640px,calc(100vw - 32px));height:70px;border:1px solid rgba(225,220,240,.9);background:rgba(255,255,255,.82);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 12px 40px rgba(65,54,108,.08);display:grid;grid-template-columns:200px 1fr 220px;align-items:center;padding:0 18px}.brand img{width:154px;height:auto}.nav{display:flex;justify-content:center;gap:6px}.nav a,.nav button{background:transparent;color:#4c5067;padding:14px 17px;border-radius:15px;font-size:15px;font-weight:700;cursor:pointer}.nav a.active,.nav a:hover,.nav button:hover{background:#f4f1ff;color:#6857e7}.actions{display:flex;justify-content:flex-end;gap:8px}.icon-btn{height:42px;min-width:42px;padding:0 13px;border-radius:14px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:800}.wp-btn{background:var(--ink);color:white}.mega{position:fixed;z-index:49;top:90px;left:50%;transform:translateX(-50%) translateY(-8px);width:min(1120px,calc(100vw - 48px));padding:22px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.2s}.mega.open{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mega a{padding:17px;border-radius:18px;background:#faf9ff;font-weight:720}.mega a small{display:block;color:var(--muted);font-weight:500;margin-top:4px}.mobile-menu{display:none}.hamb{display:none}
.hero{min-height:910px;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:42px;padding-top:55px}.hero-art{position:relative}.hero-art img{border-radius:44px;box-shadow:var(--shadow);animation:float 7s ease-in-out infinite}.hero-art:before{content:"";position:absolute;inset:-9%;z-index:-1;background:radial-gradient(circle at 40% 40%,#ffc7da 0,transparent 42%),radial-gradient(circle at 72% 45%,#cfc8ff 0,transparent 44%);filter:blur(35px)}@keyframes float{50%{transform:translateY(-9px) rotate(.2deg)}}.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.pill{padding:10px 13px;border-radius:999px;background:white;border:1px solid var(--line);font-size:13px;color:#64697f;font-weight:650}.marquee{overflow:hidden;border-block:1px solid var(--line);background:#fff}.marquee-track{display:flex;width:max-content;gap:42px;padding:18px 0;animation:marq 24s linear infinite;font-size:14px;font-weight:800;color:#77728e}.marquee-track span:after{content:"•";margin-left:42px;color:var(--pink)}@keyframes marq{to{transform:translateX(-50%)}}
.section{padding:130px 0}.section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:end;margin-bottom:60px}.section-head h2{font-size:clamp(42px,4.5vw,78px);line-height:1.05;letter-spacing:-.045em;margin:16px 0 0}.section-head p{font-size:19px;line-height:1.75;color:var(--muted);max-width:700px}.story{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center;margin:54px 0 120px}.story.reverse .visual{order:2}.story.reverse .copy{order:1}.visual{border-radius:42px;overflow:hidden;background:#fff;box-shadow:var(--shadow);position:relative}.visual img{width:100%;aspect-ratio:16/9;object-fit:contain;transition:.7s}.visual:hover img{transform:scale(1.025)}.copy .num{color:#9b8cff;font-weight:850;font-size:14px}.copy h3{font-size:clamp(38px,4vw,68px);line-height:1.05;letter-spacing:-.04em;margin:13px 0 20px;white-space:pre-line}.copy .desc{font-size:18px;line-height:1.8;color:var(--muted);max-width:590px}.microcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.micro{padding:20px;border-radius:22px;background:#fff;border:1px solid var(--line)}.micro b{display:block;margin-bottom:6px}.micro span{font-size:14px;color:var(--muted);line-height:1.6}
.split-band{padding:80px;border-radius:52px;background:linear-gradient(125deg,#f1edff,#fff2f7 48%,#fff7e8);display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;overflow:hidden}.split-band img{border-radius:32px;box-shadow:0 22px 70px rgba(91,72,160,.15)}.split-band h3{font-size:clamp(40px,4.7vw,76px);margin:12px 0 24px;line-height:1.02}.split-band p{font-size:18px;color:var(--muted);line-height:1.75}
.page-hero{padding:100px 0 70px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:50px}.page-hero h1{font-size:clamp(52px,6.2vw,96px);line-height:.98;margin:20px 0 25px}.page-hero img{border-radius:42px;box-shadow:var(--shadow)}
.web3-pillars{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pillar{padding:34px;border-radius:30px;border:1px solid var(--line);background:#fff}.pillar .tag{font-weight:850;color:#6d5ae7}.pillar h3{font-size:31px;margin:12px 0}.pillar p{color:var(--muted);line-height:1.72}.token-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.donut-wrap{padding:34px;border-radius:34px;background:#fff;border:1px solid var(--line)}.donut{width:min(360px,80vw);aspect-ratio:1;border-radius:50%;margin:10px auto 30px;background:conic-gradient(#7c6cff 0 25%,#ff6fa5 25% 50%,#ffd166 50% 70%,#60d4a1 70% 80%,#88bfff 80% 90%,#aa99ff 90% 97%,#ff9c75 97% 100%);position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}.donut:after{content:"100%";position:absolute;inset:23%;background:white;border-radius:50%;display:grid;place-items:center;font-size:38px;font-weight:900}.legend{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}.legend div{font-size:14px;color:#656a80}.legend b{color:var(--ink)}.vesting{display:grid;gap:11px}.vest{padding:18px;border-radius:20px;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:150px 70px 1fr;align-items:center;gap:12px}.bar{height:11px;background:#f0edf7;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7c6cff,#ff6fa5)}
.roadmap-list{display:grid;gap:18px}.road-item{display:grid;grid-template-columns:180px 1fr 1fr;gap:24px;padding:28px;border-radius:28px;background:#fff;border:1px solid var(--line);transition:.25s}.road-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.road-item .date{font-weight:900;color:#6c5fe4}.road-item h3{margin:2px 0 10px;font-size:23px}.road-item p{margin:0;color:var(--muted);line-height:1.65}.notice{margin-top:30px;padding:22px 25px;border-radius:22px;background:#fff8e8;border:1px solid #ffe1a2;color:#78643d;line-height:1.65}
.news-list{display:grid;gap:26px}.news-row{display:grid;grid-template-columns:.95fr 1.05fr;gap:34px;background:#fff;border:1px solid var(--line);border-radius:34px;padding:22px;align-items:center}.news-copy{padding:26px}.news-copy .cat{color:#725fe6;font-weight:850;font-size:13px}.news-copy h2{font-size:38px;line-height:1.13;margin:13px 0 18px}.news-copy p{color:var(--muted);font-size:17px;line-height:1.7}.news-row img{border-radius:26px;aspect-ratio:16/9;object-fit:contain}.read{display:inline-flex;margin-top:20px;font-weight:800;color:#6656df}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px}.form{padding:34px;border-radius:34px;background:#fff;border:1px solid var(--line);display:grid;gap:16px}.field{display:grid;gap:8px}.field label{font-size:13px;font-weight:800}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fbfaff;border-radius:16px;padding:15px 16px;outline:none}.field textarea{min-height:170px;resize:vertical}.field input:focus,.field textarea:focus{border-color:#a89cff;box-shadow:0 0 0 4px #f0edff}.contact-side h1{font-size:clamp(54px,6vw,90px);line-height:1;margin:18px 0}.contact-side p{font-size:18px;color:var(--muted);line-height:1.75}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.contact-card{padding:20px;border-radius:22px;background:#fff;border:1px solid var(--line)}
.wp-layout{display:grid;grid-template-columns:280px 1fr;gap:44px}.wp-toc{position:sticky;top:112px;height:max-content;padding:20px;border-radius:25px;background:#fff;border:1px solid var(--line)}.wp-toc a{display:block;padding:10px 12px;border-radius:12px;color:#686d82;font-size:14px}.wp-toc a:hover{background:#f4f1ff;color:#6354df}.chapter{padding:46px;margin-bottom:22px;border-radius:36px;background:#fff;border:1px solid var(--line)}.chapter h2{font-size:42px;margin:0 0 16px}.chapter p{color:var(--muted);font-size:17px;line-height:1.82}.chapter-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}.chapter img{border-radius:25px}.quote{margin:24px 0;padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,#f3f0ff,#fff2f7);font-size:21px;font-weight:750;line-height:1.5}.footer{margin-top:100px;padding:70px 0 42px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer img{width:170px}.footer p{color:var(--muted);line-height:1.65;max-width:520px}.footer a{display:block;color:#74788e;margin:9px 0}.legal{margin-top:44px;color:#989bad;font-size:12px}.reveal{opacity:0;transform:translateY(24px);transition:.75s cubic-bezier(.2,.7,.2,1)}.reveal.show{opacity:1;transform:none}.paw-pop{position:fixed;z-index:99;pointer-events:none;width:28px;height:28px;animation:pop .65s ease-out forwards}.paw-pop:before,.paw-pop:after{content:"";position:absolute;background:#ff77aa;border-radius:50%}.paw-pop:before{width:13px;height:11px;left:7px;top:10px}.paw-pop:after{width:6px;height:6px;left:2px;top:3px;box-shadow:9px -2px 0 #8a77ff,18px 2px 0 #ffd166,5px 8px 0 #60d4a1}@keyframes pop{to{transform:translateY(-32px) scale(.6);opacity:0}}
@media(max-width:1080px){.site-header{grid-template-columns:180px 1fr 120px}.nav a,.nav button{padding:13px 10px}.hero,.page-hero,.story,.split-band,.contact-layout,.token-grid,.chapter-grid{grid-template-columns:1fr}.hero{padding-top:90px;min-height:auto;padding-bottom:70px}.hero-art{max-width:920px}.story.reverse .visual,.story.reverse .copy{order:initial}.section-head{grid-template-columns:1fr;gap:12px}.road-item{grid-template-columns:140px 1fr}.road-item>:last-child{grid-column:2}.wp-layout{grid-template-columns:1fr}.wp-toc{position:relative;top:auto;display:flex;overflow:auto}.wp-toc a{white-space:nowrap}.news-row{grid-template-columns:1fr}.news-row img{order:-1}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){:root{--wide:calc(100vw - 32px)}.site-header{top:8px;height:62px;width:calc(100vw - 16px);grid-template-columns:1fr auto;padding:0 12px}.brand img{width:127px}.nav,.actions .lang{display:none}.actions{display:flex}.hamb{display:inline-flex}.mega{display:none}.mobile-menu{position:fixed;z-index:48;inset:78px 8px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:12px;box-shadow:var(--shadow);display:none}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:15px;border-radius:14px;font-weight:750}.page{padding-top:74px}.display{font-size:52px}.hero{gap:24px}.hero-art img,.page-hero img{border-radius:26px}.section{padding:84px 0}.section-head h2{font-size:46px}.story{gap:24px;margin-bottom:76px}.visual{border-radius:26px}.copy h3{font-size:43px}.microcards{grid-template-columns:1fr}.split-band{padding:28px;border-radius:30px}.web3-pillars,.contact-cards{grid-template-columns:1fr}.legend{grid-template-columns:1fr}.vest{grid-template-columns:1fr}.road-item{grid-template-columns:1fr}.road-item>:last-child{grid-column:auto}.news-row{padding:12px;border-radius:26px}.news-copy{padding:15px}.news-copy h2{font-size:31px}.form,.chapter{padding:24px;border-radius:26px}.chapter h2{font-size:34px}.footer-grid{grid-template-columns:1fr}.page-hero{padding-top:70px}.page-hero h1{font-size:52px}}

/* v4 — approved structure refinement: Web3 depth, visible whitepaper, vesting/cliff, richer whitepaper */
.site-header{grid-template-columns:200px 1fr 260px}
.nav button.active{background:#f4f1ff;color:#6857e7}
.wp-btn-visible{height:42px;padding:0 17px;border-radius:14px;background:linear-gradient(135deg,#31364f,#5a5384);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:820;box-shadow:0 9px 24px rgba(49,54,79,.18);transition:.25s;white-space:nowrap}
.wp-btn-visible:hover,.wp-btn-visible.active{transform:translateY(-1px);background:linear-gradient(135deg,#6857e7,#ff6fa5);box-shadow:0 12px 28px rgba(124,108,255,.25)}
.wp-symbol{font-size:16px;line-height:1}.mobile-wp{background:#31364f!important;color:#fff!important;margin-top:5px}.gradient-text{background:linear-gradient(90deg,#6f5cff,#ff6fa5 55%,#f1a33c);-webkit-background-clip:text;color:transparent}.compact-top{padding-top:70px}.scene-card{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .28s ease,box-shadow .28s ease}.scene-card:hover{box-shadow:0 34px 90px rgba(73,60,131,.18)}
.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.role-card,.green-card,.utility-card{padding:28px;border-radius:28px;background:#fff;border:1px solid var(--line);position:relative;overflow:hidden}.role-card:before,.green-card:before,.utility-card:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-45px;top:-45px;background:radial-gradient(circle,#f2eaff,transparent 70%)}.role-card>span,.green-card>span,.utility-card>span{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:13px;background:#f3efff;color:#6d5ae7;font-weight:900}.role-card h3,.green-card h3,.utility-card h3{font-size:24px;margin:20px 0 10px}.role-card p,.green-card p,.utility-card p{margin:0;color:var(--muted);line-height:1.72}.web3-architecture{background:linear-gradient(180deg,transparent,#f4f1ff 25%,#fff4f7 75%,transparent)}.architecture-grid{display:grid;grid-template-columns:1fr 150px 1fr;gap:18px;align-items:stretch;margin-bottom:30px}.arch-card{padding:36px;border-radius:32px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 55px rgba(73,60,131,.08)}.arch-card .tag{color:#6b5ce7;font-size:13px;font-weight:900}.arch-card h3{font-size:31px;margin:14px 0 18px}.arch-card ul{margin:0;padding-left:20px;color:var(--muted);line-height:1.9}.arch-bridge{display:grid;place-items:center;text-align:center;color:#7768df;font-weight:850}.arch-bridge i{font-size:38px;font-style:normal}.wide-scene{max-width:1120px;margin:35px auto 0}.greenfield-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.data-flow{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:30px}.flow-step{position:relative;padding:22px 17px;border-radius:22px;background:#fff;border:1px solid var(--line);min-height:190px}.flow-step:not(:last-child):after{content:"→";position:absolute;right:-13px;top:50%;transform:translateY(-50%);z-index:2;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#7c6cff;color:#fff;font-weight:900}.flow-step>b{display:inline-flex;width:28px;height:28px;border-radius:10px;align-items:center;justify-content:center;background:#f2efff;color:#6e5de5}.flow-step h4{font-size:18px;margin:15px 0 8px}.flow-step p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.token-section{background:linear-gradient(180deg,transparent,#fff8f1 25%,#f6f2ff 82%,transparent)}.token-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.token-overview>div{padding:20px 22px;border-radius:20px;background:#fff;border:1px solid var(--line)}.token-overview span{display:block;font-size:12px;color:#8b8fa1;margin-bottom:6px}.token-overview b{font-size:16px}.token-grid.expanded{grid-template-columns:.8fr 1.2fr}.allocation-table{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:18px}.allocation-row{padding:18px 14px;border:1px solid var(--line);border-radius:18px;background:#fff}.allocation-row b{display:block;font-size:14px;margin-bottom:11px}.allocation-row span{display:block;color:var(--muted);font-size:12px;line-height:1.6}.circulation{margin-top:28px;padding:32px;border-radius:30px;background:#fff;border:1px solid var(--line)}.circulation-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.circulation-head h3{font-size:32px;line-height:1.12;margin:14px 0 0}.big-num{font-size:70px;font-weight:900;line-height:.9;color:#ff6fa5}.supply-bar{height:22px;border-radius:999px;background:#e9e7f0;overflow:hidden;margin:25px 0 12px}.supply-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7c6cff,#ff6fa5)}.supply-labels{display:flex;justify-content:space-between;gap:20px;font-size:13px}.supply-labels span{color:var(--muted);text-align:right}.subhead{margin:75px 0 26px}.subhead h3,.chapter-subtitle{font-size:38px;line-height:1.1;margin:14px 0 12px}.subhead p{color:var(--muted);font-size:17px}.vesting-table{display:grid;gap:10px}.vesting-row{display:grid;grid-template-columns:1.1fr .75fr 1.1fr 2fr;gap:12px;align-items:center;padding:20px 22px;border-radius:21px;background:#fff;border:1px solid var(--line)}.vesting-row>div:first-child b{display:block;font-size:17px}.vesting-row small{display:block;color:var(--muted);margin-top:4px}.table-label{display:block;font-size:11px;color:#9a9dae;margin-bottom:5px}.vesting-row p{margin:0;color:var(--muted);line-height:1.5;font-size:14px}.team-cliff{margin-top:24px;padding:30px;border-radius:28px;background:#fff;border:1px solid var(--line)}.team-cliff-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.team-cliff-title span{font-weight:800}.team-cliff-title b{color:#6b5ce7}.cliff-track{display:flex;min-height:70px;border-radius:20px;overflow:hidden}.cliff-track span{display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 12px;font-size:12px;font-weight:800}.cliff-lock{background:#34394f;color:#fff}.cliff-slow{background:#ffd166;color:#6c5520}.cliff-linear{background:linear-gradient(90deg,#7c6cff,#ff6fa5);color:#fff}.utility-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.token-flow,.growth-loop{margin-top:28px;padding:24px;border-radius:26px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.token-flow span,.growth-loop span{padding:10px 13px;border-radius:13px;background:#f6f3ff;font-weight:800;font-size:13px}.token-flow i,.growth-loop i{font-style:normal;color:#ff6fa5;font-weight:900}
.wp-progress{position:fixed;z-index:70;left:0;top:0;width:100%;height:4px;background:rgba(255,255,255,.5)}.wp-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7c6cff,#ff6fa5,#ffd166)}.wp-cover{padding:95px 0 72px;display:grid;grid-template-columns:1fr .85fr;gap:46px;align-items:center}.wp-cover>img{border-radius:38px;box-shadow:var(--shadow)}.wp-keywords{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.wp-keywords span{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:750;color:#696d83}.wp-toc-title{padding:8px 12px 15px;border-bottom:1px solid var(--line);margin-bottom:8px}.wp-toc-title b{display:block}.wp-toc-title span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.wp-toc a{cursor:pointer}.wp-content{min-width:0}.chapter{position:relative;overflow:hidden}.chapter-no{position:absolute;right:28px;top:18px;font-size:68px;font-weight:950;color:#f1edf9;line-height:1;pointer-events:none}.problem-grid,.trust-grid,.term-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.problem-grid>div,.trust-grid>div,.term-grid>div,.wp-service-grid>div,.wp-business-grid>div{padding:21px;border-radius:21px;background:#fbfaff;border:1px solid var(--line)}.problem-grid b,.trust-grid b,.term-grid b,.wp-service-grid b,.wp-business-grid b{display:block;margin-bottom:7px}.problem-grid p,.trust-grid p,.term-grid p,.wp-service-grid p,.wp-business-grid p{font-size:14px!important;line-height:1.65!important;margin:0!important}.wp-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.wp-business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.chapter-visual{margin-top:30px;padding-top:30px;border-top:1px solid var(--line)}.chapter-visual h3{font-size:31px;margin:0 0 14px}.wp-token-art{width:100%;height:100%;object-fit:contain;border-radius:28px}.wp-roadmap{display:grid;gap:9px;margin-top:26px}.wp-roadmap>div{display:grid;grid-template-columns:110px 180px 1.3fr 1fr;gap:14px;align-items:start;padding:16px 18px;border-radius:18px;background:#fbfaff;border:1px solid var(--line)}.wp-roadmap b{color:#6c5de3}.wp-roadmap p,.wp-roadmap small{margin:0;color:var(--muted);line-height:1.5}.wp-roadmap small{font-size:12px}
@media(max-width:1260px){.role-grid,.greenfield-grid,.utility-grid{grid-template-columns:repeat(2,1fr)}.data-flow{grid-template-columns:repeat(4,1fr)}.flow-step:nth-child(4):after{display:none}.allocation-table{grid-template-columns:repeat(4,1fr)}.vesting-row{grid-template-columns:1fr 1fr}.vesting-row>div:last-child{grid-column:1/-1}.architecture-grid{grid-template-columns:1fr 90px 1fr}.token-overview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1080px){.site-header{grid-template-columns:180px 1fr 190px}.wp-cover{grid-template-columns:1fr}.wp-cover>img{max-width:820px}.wp-roadmap>div{grid-template-columns:100px 160px 1fr}.wp-roadmap small{grid-column:3}.problem-grid,.trust-grid,.term-grid,.wp-service-grid,.wp-business-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.actions{gap:6px}.wp-btn-visible{height:38px;padding:0 11px;font-size:12px}.wp-symbol{display:none}.role-grid,.greenfield-grid,.utility-grid,.token-overview{grid-template-columns:1fr}.architecture-grid{grid-template-columns:1fr}.arch-bridge{min-height:55px}.arch-bridge i{transform:rotate(90deg)}.data-flow{grid-template-columns:1fr}.flow-step:not(:last-child):after{content:"↓";right:auto;left:50%;top:auto;bottom:-18px;transform:translateX(-50%)}.allocation-table{grid-template-columns:repeat(2,1fr)}.circulation-head{align-items:flex-start}.big-num{font-size:54px}.supply-labels{display:grid}.supply-labels span{text-align:left}.vesting-row{grid-template-columns:1fr}.vesting-row>div:last-child{grid-column:auto}.cliff-track{display:grid;min-height:auto}.cliff-track span{width:100%!important;min-height:58px}.problem-grid,.trust-grid,.term-grid,.wp-service-grid,.wp-business-grid{grid-template-columns:1fr}.wp-cover{padding-top:70px}.wp-roadmap>div{grid-template-columns:1fr}.wp-roadmap small{grid-column:auto}.chapter-no{font-size:46px}.token-flow,.growth-loop{justify-content:flex-start}}
body{overflow-x:hidden}.marquee{max-width:100vw}.wp-cover>*{min-width:0}.wp-cover .display,.wp-cover .lead{max-width:100%}.wp-cover img{width:100%;min-width:0}.wp-toc{max-width:100%;min-width:0}.wp-content{max-width:100%}
@media(max-width:760px){.donut-wrap{padding:22px}.donut{width:min(270px,70vw)}.wp-cover{width:var(--wide);max-width:var(--wide);overflow:hidden}.wp-cover>div{width:100%;max-width:100%;min-width:0}.wp-cover .display{font-size:50px!important;overflow-wrap:normal}.wp-cover .lead{font-size:17px}.wp-keywords{max-width:100%}.wp-toc{width:100%;max-width:100%;overflow-x:auto}.wp-toc-title{flex:0 0 auto}.wp-layout{width:var(--wide);max-width:var(--wide);overflow:visible}.chapter{max-width:100%;overflow:hidden}.token-grid.expanded{grid-template-columns:1fr}.wp-token-art{min-height:240px}}
.marquee{position:relative;height:58px;overflow:hidden;contain:layout paint}.marquee-track{position:absolute;left:0;top:0;height:58px;align-items:center;padding:0;display:flex}
.marquee-track{width:100%;max-width:100%;justify-content:space-evenly;animation:none!important;gap:10px}.marquee-track span:nth-child(n+8){display:none}.marquee-track span:after{display:none}
@media(max-width:760px){.marquee-track{justify-content:space-around;font-size:11px}.marquee-track span:nth-child(n+5){display:none}}
.hero-art:before{inset:0}

/* =========================================================
   V5 — Brand-world polish layer
   Structure and content order are intentionally unchanged.
   ========================================================= */
:root{
  --glow-purple:rgba(124,108,255,.20);
  --glow-pink:rgba(255,111,165,.18);
  --glow-mint:rgba(96,212,161,.15);
  --glass:rgba(255,255,255,.76);
}
body{
  background:
    radial-gradient(circle at 8% 13%,rgba(255,226,238,.62),transparent 28rem),
    radial-gradient(circle at 92% 9%,rgba(228,223,255,.58),transparent 31rem),
    radial-gradient(circle at 47% 78%,rgba(224,252,241,.32),transparent 32rem),
    var(--paper);
  background-attachment:fixed;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.34;
  background-image:radial-gradient(circle,rgba(124,108,255,.16) 1px,transparent 1.2px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,black,transparent 86%);
}
.global-progress{position:fixed;left:50%;top:85px;transform:translateX(-50%);width:min(1540px,calc(100vw - 62px));height:2px;z-index:52;pointer-events:none;border-radius:999px;overflow:hidden;background:transparent}
.global-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--purple),var(--pink),var(--yellow));box-shadow:0 0 12px rgba(255,111,165,.5)}
.site-header{transition:box-shadow .28s,background .28s,border-color .28s,transform .28s}
body.scrolled .site-header{background:rgba(255,255,255,.93);box-shadow:0 18px 60px rgba(65,54,108,.14);border-color:rgba(218,211,242,.95)}
.brand img{filter:drop-shadow(0 6px 16px rgba(124,108,255,.08));transition:transform .3s ease}.brand:hover img{transform:scale(1.025)}
.nav a,.nav button{position:relative;overflow:hidden;transition:background .22s,color .22s,transform .22s}.nav a:after,.nav button:after{content:"";position:absolute;left:18px;right:18px;bottom:6px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--purple),var(--pink));transform:scaleX(0);transition:.22s}.nav a.active:after,.nav a:hover:after,.nav button.active:after,.nav button:hover:after{transform:scaleX(1)}
.wp-btn-visible{box-shadow:0 10px 28px rgba(49,54,79,.16);transition:transform .22s,box-shadow .22s}.wp-btn-visible:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(49,54,79,.22)}
.hero{position:relative}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none;z-index:-1}.hero:before{width:110px;height:110px;right:2%;top:17%;background:radial-gradient(circle at 33% 30%,#fff,#ffb5cf 35%,rgba(255,111,165,.1) 68%,transparent 70%);opacity:.52;animation:orbDrift 9s ease-in-out infinite}.hero:after{width:72px;height:72px;left:44%;bottom:16%;background:radial-gradient(circle at 33% 30%,#fff,#a99dff 38%,rgba(124,108,255,.08) 70%,transparent 72%);opacity:.48;animation:orbDrift 11s ease-in-out infinite reverse}@keyframes orbDrift{50%{transform:translate(12px,-18px) scale(1.06)}}
.hero-scene{overflow:visible;border-radius:44px;transform:translate3d(var(--px,0),var(--py,0),0);transition:transform .18s ease-out}.hero-scene>img{position:relative;z-index:1}.hero-scene:after{content:"";position:absolute;inset:5% -3% -7% 4%;z-index:0;background:radial-gradient(ellipse at center,rgba(124,108,255,.19),transparent 65%);filter:blur(30px)}
.scene-badge{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid rgba(231,225,249,.92);border-radius:17px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);box-shadow:0 14px 35px rgba(76,63,132,.12);font-size:13px;font-weight:800;color:#555a72;animation:badgeFloat 5s ease-in-out infinite}.scene-badge i{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--pink));box-shadow:0 0 0 5px rgba(124,108,255,.08)}.badge-a{left:-4%;top:14%}.badge-b{right:-3%;top:31%;animation-delay:-1.2s}.badge-c{left:8%;bottom:9%;animation-delay:-2.3s}@keyframes badgeFloat{50%{transform:translateY(-7px)}}
.scene-status{position:absolute;z-index:3;left:7%;right:7%;bottom:-20px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border-radius:16px;background:rgba(255,255,255,.9);border:1px solid rgba(233,229,246,.98);box-shadow:0 14px 38px rgba(73,60,131,.11);backdrop-filter:blur(16px);font-size:12px;color:#70758e}.scene-status b{color:var(--ink)}.scene-status i{font-style:normal;color:#60d4a1;font-size:11px;animation:blink 1.8s ease-in-out infinite}@keyframes blink{50%{opacity:.35}}
.section{position:relative}.section:nth-of-type(odd):before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;left:-270px;top:20%;background:radial-gradient(circle,rgba(255,111,165,.07),transparent 66%);pointer-events:none}.section:nth-of-type(even):after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;right:-310px;bottom:9%;background:radial-gradient(circle,rgba(124,108,255,.07),transparent 66%);pointer-events:none}
.visual.scene-card{isolation:isolate;transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .22s ease,box-shadow .28s ease;box-shadow:0 25px 75px rgba(73,60,131,.12),0 0 0 1px rgba(255,255,255,.55)}.visual.scene-card:hover{box-shadow:0 32px 100px rgba(73,60,131,.18),0 0 0 1px rgba(255,255,255,.72)}.visual.scene-card:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.16),transparent 28%,transparent 72%,rgba(255,255,255,.13));mix-blend-mode:screen}.visual.scene-card img{z-index:0;position:relative}
.scene-meta{position:absolute;z-index:4;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 13px;border-radius:15px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.84);backdrop-filter:blur(15px);box-shadow:0 14px 30px rgba(57,45,113,.12);transform:translateY(8px);opacity:0;transition:.28s}.visual:hover .scene-meta{transform:translateY(0);opacity:1}.scene-meta b{font-size:12px}.scene-meta small{font-size:10px;color:#8a8ea2}.scene-dots{display:flex;gap:4px}.scene-dots i{display:block;width:6px;height:6px;border-radius:50%}.scene-dots i:nth-child(1){background:#ff7cae}.scene-dots i:nth-child(2){background:#ffd166}.scene-dots i:nth-child(3){background:#60d4a1}
.copy .num{display:inline-flex;align-items:center;gap:8px}.copy .num:before{content:"";width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--pink));box-shadow:0 0 0 5px #f3efff}.copy h3{max-width:680px}.micro{transition:transform .22s,box-shadow .22s,border-color .22s}.micro:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(73,60,131,.09);border-color:#ddd4ff}
.split-band{position:relative;isolation:isolate;box-shadow:0 30px 90px rgba(84,67,151,.1);border:1px solid rgba(233,227,249,.88)}.split-band:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:8%;top:-42%;background:radial-gradient(circle,#fff7d7,rgba(255,209,102,.18) 34%,transparent 67%);z-index:-1}
.page-hero{position:relative}.page-hero:after{content:"";position:absolute;z-index:-1;right:-2%;top:17%;width:44%;height:56%;border-radius:50%;background:radial-gradient(circle,rgba(219,212,255,.45),rgba(255,232,241,.22) 48%,transparent 70%);filter:blur(25px)}
.role-card,.green-card,.utility-card,.pillar,.road-item,.news-row,.contact-card,.form,.donut-wrap,.circulation,.vesting-row,.team-cliff,.token-overview>div,.problem-grid>div,.trust-grid>div,.term-grid>div,.wp-service-grid>div,.wp-business-grid>div{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.role-card:hover,.green-card:hover,.utility-card:hover,.pillar:hover,.token-overview>div:hover,.problem-grid>div:hover,.trust-grid>div:hover,.term-grid>div:hover,.wp-service-grid>div:hover,.wp-business-grid>div:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(73,60,131,.09);border-color:#ddd4ff}
.architecture-grid{position:relative}.architecture-grid:before{content:"";position:absolute;left:14%;right:14%;top:50%;height:1px;background:linear-gradient(90deg,transparent,#bcb1ff,#ffb1cf,#ffd78b,transparent);z-index:0}.arch-card,.arch-bridge{position:relative;z-index:1}.arch-card{overflow:hidden}.arch-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-45px;top:-45px;background:radial-gradient(circle,rgba(124,108,255,.18),transparent 70%)}
.donut{filter:drop-shadow(0 22px 34px rgba(73,60,131,.14));transition:transform .45s cubic-bezier(.2,.8,.2,1)}.donut-wrap:hover .donut{transform:rotate(4deg) scale(1.025)}
.allocation-row:nth-child(1){box-shadow:inset 0 3px 0 #7c6cff}.allocation-row:nth-child(2){box-shadow:inset 0 3px 0 #ff6fa5}.allocation-row:nth-child(3){box-shadow:inset 0 3px 0 #ffd166}.allocation-row:nth-child(4){box-shadow:inset 0 3px 0 #60d4a1}.allocation-row:nth-child(5){box-shadow:inset 0 3px 0 #88bfff}.allocation-row:nth-child(6){box-shadow:inset 0 3px 0 #aa99ff}.allocation-row:nth-child(7){box-shadow:inset 0 3px 0 #ff9c75}
.cliff-track{box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.value-chain{margin:28px 0 10px;padding:18px;border-radius:24px;background:linear-gradient(115deg,#f6f2ff,#fff7fb,#fff9ee);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.value-chain span{padding:10px 13px;border-radius:14px;background:#fff;border:1px solid rgba(231,226,246,.9);font-weight:850;font-size:13px;box-shadow:0 7px 18px rgba(73,60,131,.05)}.value-chain i{font-style:normal;color:#ff6fa5;font-weight:950}
.wp-toc a{position:relative;transition:background .2s,color .2s,transform .2s}.wp-toc a.active{background:linear-gradient(90deg,#f1edff,#fff3f8);color:#6757df;transform:translateX(3px)}.wp-toc a.active:before{content:"";position:absolute;left:4px;top:50%;width:5px;height:20px;border-radius:99px;background:linear-gradient(var(--purple),var(--pink));transform:translateY(-50%)}
.chapter{box-shadow:0 22px 70px rgba(73,60,131,.055);background:rgba(255,255,255,.92);backdrop-filter:blur(10px)}.chapter:nth-child(4n+1){background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(249,246,255,.93))}.chapter:nth-child(4n+2){background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,247,251,.93))}.chapter:nth-child(4n+3){background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(247,252,255,.93))}.chapter:nth-child(4n){background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,251,242,.93))}
.chapter-no{background:linear-gradient(135deg,#e5dfff,#ffd9e7);-webkit-background-clip:text;color:transparent;opacity:.72}
.wp-cover>img{transform:rotate(.6deg);transition:transform .5s ease,box-shadow .5s ease}.wp-cover>img:hover{transform:rotate(0) translateY(-5px);box-shadow:0 35px 110px rgba(73,60,131,.17)}
.news-row{overflow:hidden}.news-row:hover{transform:translateY(-5px);box-shadow:0 25px 70px rgba(73,60,131,.11);border-color:#ddd4ff}.news-row img{transition:transform .55s ease}.news-row:hover img{transform:scale(1.025)}
.road-item{position:relative;overflow:hidden}.road-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--purple),var(--pink),var(--yellow));opacity:.72}.road-item .date:after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-radius:50%;background:#60d4a1;box-shadow:0 0 0 5px rgba(96,212,161,.12)}
.btn.primary{position:relative;overflow:hidden}.btn.primary:after{content:"";position:absolute;top:-120%;left:-35%;width:30%;height:340%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);transform:rotate(18deg);transition:left .5s ease}.btn.primary:hover:after{left:115%}
.paw-pop{position:fixed;z-index:999;width:28px;height:28px;pointer-events:none;transform:translate(-50%,-50%) scale(.2) rotate(-12deg);opacity:0;animation:pawPop .7s ease-out forwards}.paw-pop:before{content:"🐾";font-size:22px;filter:drop-shadow(0 5px 10px rgba(124,108,255,.16))}@keyframes pawPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-12deg)}25%{opacity:.75}100%{opacity:0;transform:translate(-50%,-86%) scale(1.15) rotate(8deg)}}
.reveal{opacity:0;transform:translateY(34px) scale(.992);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.8,.2,1)}.reveal.show{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.scene-badge{animation:none}}
@media(max-width:1080px){.scene-badge{display:none}.scene-status{position:relative;left:auto;right:auto;bottom:auto;margin:10px 0 0}.global-progress{top:84px}.architecture-grid:before{display:none}}
@media(max-width:760px){body{background-attachment:scroll}.global-progress{top:80px;width:calc(100vw - 38px)}.hero-scene{overflow:hidden}.scene-status{margin:0;border-radius:0 0 22px 22px;box-shadow:none;border-top:0}.scene-meta{display:none}.value-chain{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.value-chain span,.value-chain i{flex:0 0 auto}.chapter{box-shadow:0 14px 45px rgba(73,60,131,.05)}.visual.scene-card{transform:none!important}}
html,body{max-width:100%;overflow-x:hidden}

/* V8 — brand polish, accessibility, pending vesting state */
.skip-link{position:fixed;z-index:9999;left:22px;top:12px;padding:12px 16px;border-radius:14px;background:#302d49;color:#fff;font-weight:800;transform:translateY(-160%);transition:transform .18s;box-shadow:0 10px 30px rgba(40,35,70,.25)}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid rgba(124,108,255,.4);outline-offset:3px}.nav a:focus-visible,.nav button:focus-visible,.btn:focus-visible,.icon-btn:focus-visible,.wp-btn-visible:focus-visible{outline-color:#7c6cff}
#app{animation:routeIn .34s cubic-bezier(.2,.75,.2,1)}@keyframes routeIn{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
body:before{content:"";position:fixed;z-index:-3;inset:0;pointer-events:none;background:radial-gradient(circle at 7% 20%,rgba(255,111,165,.08),transparent 25%),radial-gradient(circle at 92% 18%,rgba(124,108,255,.09),transparent 27%),linear-gradient(#fbfaff,#fbfaff);transition:background .35s ease}
body[data-route="web3"]:before{background:radial-gradient(circle at 11% 17%,rgba(136,191,255,.16),transparent 28%),radial-gradient(circle at 88% 24%,rgba(124,108,255,.14),transparent 30%),linear-gradient(#fbfaff,#f9fbff)}
body[data-route="whitepaper"]:before{background:radial-gradient(circle at 14% 17%,rgba(255,209,102,.1),transparent 25%),radial-gradient(circle at 87% 16%,rgba(255,111,165,.09),transparent 28%),linear-gradient(#fbfaff,#fffdfa)}
.pointer-glow{--gx:-200px;--gy:-200px;position:fixed;z-index:-1;left:0;top:0;width:100vw;height:100vh;pointer-events:none;background:radial-gradient(280px circle at var(--gx) var(--gy),rgba(124,108,255,.07),rgba(255,111,165,.025) 45%,transparent 72%);mix-blend-mode:multiply}
.site-header{transition:box-shadow .25s ease,background .25s ease,border-color .25s ease,transform .25s ease}.scrolled .site-header{background:rgba(255,255,255,.91);border-color:rgba(218,211,240,.96);box-shadow:0 18px 55px rgba(65,54,108,.12)}
.wp-btn-visible{height:42px;padding:0 15px;border-radius:14px;background:linear-gradient(135deg,#37324f,#554b7d);color:#fff;display:flex;align-items:center;gap:7px;font-weight:820;box-shadow:0 9px 23px rgba(54,47,85,.15);transition:transform .2s,box-shadow .2s}.wp-btn-visible:hover{transform:translateY(-2px);box-shadow:0 13px 29px rgba(54,47,85,.22)}.wp-btn-visible.active{background:linear-gradient(135deg,#6c5ce7,#ff6fa5)}.wp-symbol{font-size:14px}
.hero-scene{transform:translate3d(var(--px,0),var(--py,0),0);transition:transform .18s ease-out}.hero-scene:after,.scene-card:after{content:"";position:absolute;z-index:2;inset:-45% -22%;pointer-events:none;background:linear-gradient(115deg,transparent 41%,rgba(255,255,255,.18) 50%,transparent 59%);transform:translateX(-46%) rotate(3deg);transition:transform .75s cubic-bezier(.2,.8,.2,1)}.hero-scene:hover:after,.scene-card:hover:after{transform:translateX(44%) rotate(3deg)}
.visual,.hero-art,.page-hero>img,.wide-scene{border:1px solid rgba(229,224,244,.85)}
.story{position:relative}.story:after{content:"";position:absolute;left:50%;bottom:-60px;width:1px;height:42px;background:linear-gradient(transparent,#ded7f5,transparent)}.story:last-child:after{display:none}
.story .copy{padding-inline:clamp(0px,1vw,16px)}
.news-row,.road-item{content-visibility:auto;contain-intrinsic-size:auto 600px}
.vesting-pending{margin-top:28px;padding:34px;border:1px solid #ded8f4;border-radius:30px;background:linear-gradient(135deg,rgba(248,246,255,.97),rgba(255,247,251,.97) 55%,rgba(255,251,240,.97));display:grid;grid-template-columns:88px 1fr;gap:24px;align-items:center;box-shadow:0 20px 65px rgba(73,60,131,.07)}.vesting-pending h3{font-size:clamp(25px,2.5vw,40px);margin:14px 0 10px;letter-spacing:-.035em}.vesting-pending p{margin:0;color:var(--muted);font-size:16px;line-height:1.72;max-width:850px}.pending-icon{width:78px;height:78px;border-radius:25px;background:#fff;position:relative;box-shadow:0 12px 35px rgba(73,60,131,.11);border:1px solid rgba(226,220,244,.9)}.pending-icon:before{content:"";position:absolute;inset:19px;border:5px solid #8a79ff;border-radius:50%}.pending-icon:after{content:"";position:absolute;width:5px;height:18px;border-radius:9px;background:#ff6fa5;left:37px;top:19px;transform-origin:bottom;transform:rotate(38deg)}.pending-icon span{position:absolute;width:8px;height:8px;border-radius:50%;background:#ffd166;left:35px;top:35px;z-index:2}.pending-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.pending-tags span{padding:8px 11px;border-radius:999px;background:#fff;border:1px solid #e7e1f5;color:#77718a;font-size:12px;font-weight:750}
.wp-reading-status{position:fixed;z-index:36;right:24px;bottom:24px;display:flex;align-items:baseline;gap:5px;padding:10px 13px;border:1px solid rgba(225,219,242,.9);border-radius:16px;background:rgba(255,255,255,.88);backdrop-filter:blur(15px);box-shadow:0 12px 35px rgba(64,51,111,.1);color:#817995;font-size:12px}.wp-reading-status span{font-size:20px;font-style:normal;font-weight:900;color:#6857e7}.wp-reading-status b{font-weight:500}.wp-reading-status em{font-style:normal;font-weight:800}
.token-section .allocation-table{margin-top:24px}.circulation{position:relative;overflow:hidden}.circulation:after{content:"20";position:absolute;right:3%;top:-15%;font-size:170px;font-weight:900;color:rgba(124,108,255,.035);pointer-events:none}
@media(max-width:760px){.vesting-pending{grid-template-columns:1fr;padding:25px}.pending-icon{width:62px;height:62px;border-radius:20px}.pending-icon:before{inset:15px}.pending-icon:after{left:29px;top:15px}.pending-icon span{left:27px;top:27px}.wp-reading-status{right:12px;bottom:12px}.story:after{display:none}.pointer-glow{display:none}.wp-btn-visible span:last-child{display:none}.wp-btn-visible{width:42px;padding:0;justify-content:center}}
/* V9 — illustration completeness */
.vector-scene img{object-fit:contain;background:linear-gradient(135deg,#fff9fc,#f6f4ff 58%,#f2fbff)}
.home-story .visual img{object-fit:contain}
.contact-visual{margin-top:24px;border-radius:28px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 18px 50px rgba(73,60,131,.08)}
.contact-visual img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}
.chapter-health-note{margin-top:28px;padding:24px 26px;border-radius:24px;background:linear-gradient(135deg,#fff8fb,#f7f5ff);border:1px solid var(--line)}
.chapter-health-note h3{font-size:30px;margin:0 0 10px}.chapter-health-note p{margin:0}
.chapter-grid>img{width:100%;aspect-ratio:16/9;object-fit:contain;background:linear-gradient(135deg,#fff9fc,#f7f5ff,#f3fbff)}
.wp-token-art{object-fit:contain!important;background:linear-gradient(135deg,#fff9fc,#f7f5ff)}
.news-row img[src$=".svg"],.page-hero img[src$=".svg"],.split-band img[src$=".svg"]{object-fit:contain;background:linear-gradient(135deg,#fff9fc,#f7f5ff,#f3fbff)}
@media(max-width:760px){.contact-visual{margin-top:18px}.chapter-health-note{padding:20px}.chapter-health-note h3{font-size:25px}}

/* V10 — product-realism illustration layer */
.product-showcase{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(250,248,255,.35),rgba(255,248,251,.64),rgba(247,252,255,.35))}
.product-showcase:before{content:"";position:absolute;left:-90px;top:20%;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,116,168,.13),transparent 68%);pointer-events:none}
.product-showcase:after{content:"";position:absolute;right:-120px;bottom:5%;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(124,108,255,.14),transparent 68%);pointer-events:none}
.product-grid{position:relative;z-index:1;display:grid;gap:18px}
.home-product-grid{grid-template-columns:1.08fr .92fr .92fr}
.service-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.product-card{position:relative;overflow:hidden;border:1px solid rgba(222,215,244,.92);border-radius:30px;background:rgba(255,255,255,.88);box-shadow:0 20px 60px rgba(73,60,131,.07);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.product-card:hover{transform:translateY(-6px);box-shadow:0 28px 80px rgba(73,60,131,.13);border-color:#d5caff}
.product-visual{position:relative;overflow:hidden;aspect-ratio:1200/760;background:linear-gradient(135deg,#fff9fc,#f6f4ff,#f0fbff)}
.product-visual:after{content:"";position:absolute;inset:-55% -18%;background:linear-gradient(115deg,transparent 43%,rgba(255,255,255,.42) 50%,transparent 57%);transform:translateX(-58%);transition:transform .9s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.product-card:hover .product-visual:after{transform:translateX(58%)}
.product-visual img{width:100%;height:100%;display:block;object-fit:contain;transform:scale(1.015);transition:transform .5s ease}
.product-card:hover .product-visual img{transform:scale(1.035)}
.product-caption{display:flex;gap:14px;align-items:flex-start;padding:19px 21px 22px}
.product-caption>span{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,#f0edff,#fff0f6);font-size:12px;font-weight:900;color:#6c5de3}
.product-caption b{display:block;font-size:18px;letter-spacing:-.02em;margin:2px 0 5px}
.product-caption p{margin:0;color:var(--muted);font-size:14px;line-height:1.58;word-break:keep-all}
.home-product-grid .product-card:first-child{grid-row:span 1}
.web3-product-showcase{position:relative;background:linear-gradient(180deg,#fbfaff 0,#f7fbff 100%)}
.web3-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.web3-product-card{overflow:hidden;border:1px solid var(--line);border-radius:32px;background:#fff;box-shadow:0 22px 70px rgba(73,60,131,.08);transition:transform .3s ease,box-shadow .3s ease}
.web3-product-card:hover{transform:translateY(-6px);box-shadow:0 30px 88px rgba(73,60,131,.14)}
.web3-product-card>img{width:100%;aspect-ratio:1200/760;object-fit:contain;background:linear-gradient(135deg,#fff9fc,#f6f4ff,#f1fbff);display:block}
.web3-product-card>div{padding:22px 24px 26px}
.web3-product-card span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#f0edff;color:#6b5ce4;font-size:12px;font-weight:900;margin-bottom:13px}
.web3-product-card h3{margin:0 0 7px;font-size:25px;letter-spacing:-.03em}
.web3-product-card p{margin:0;color:var(--muted);line-height:1.7;word-break:keep-all}
.wp-lifecycle-extra{margin-top:34px;border-top:1px solid var(--line);padding-top:30px}
.wp-lifecycle-extra p{max-width:760px;color:var(--muted);line-height:1.75}
.wp-lifecycle-extra img{width:100%;margin-top:18px;border-radius:28px;background:linear-gradient(135deg,#fff9fc,#f6f4ff,#f0fbff);box-shadow:0 18px 55px rgba(73,60,131,.08);object-fit:contain}
@media(max-width:1080px){.home-product-grid{grid-template-columns:1fr 1fr}.home-product-grid .product-card:first-child{grid-column:1/-1}.service-product-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.home-product-grid,.service-product-grid,.web3-product-grid{grid-template-columns:1fr}.home-product-grid .product-card:first-child{grid-column:auto}.product-card,.web3-product-card{border-radius:24px}.product-caption{padding:16px 17px 19px}.product-caption b{font-size:17px}.web3-product-card>div{padding:18px 18px 22px}.web3-product-card h3{font-size:22px}.product-showcase:before,.product-showcase:after{display:none}}

/* V11 targeted illustration replacement: standalone artwork, no text inside image */
.pending-art{width:88px;height:88px;border-radius:25px;overflow:hidden;background:#fff;border:1px solid rgba(226,220,244,.9);display:grid;place-items:center}
.pending-art img{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:760px){.pending-art{width:72px;height:72px;border-radius:20px}}

/* V13: generated/approved illustration assets are never cropped */
.news-row img{object-fit:contain!important;background:linear-gradient(135deg,#fff9fc,#f7f5ff,#f3fbff)}

/* V09: no-crop presentation safeguard */
main img{object-fit:contain!important;object-position:center!important;}
.product-visual img,.visual img,.news-row img,.chapter-grid>img,.wp-token-art,.pending-art img,.web3-product-card>img{transform:none!important;}

/* V14 — STYLE LOCK application safeguard: generated artwork is always fully visible */
main img{object-fit:contain!important;object-position:center!important;}
.visual img,.product-visual img,.web3-product-card>img,.page-hero>img,.chapter-grid>img,.news-row img{object-fit:contain!important;}

/* V15 whitepaper completeness + readability */
.wp-source-note{margin-top:18px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.72);color:#7a7e92;font-size:12px;line-height:1.6}
.wp-subsection{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}
.wp-subhead{max-width:800px}.wp-subhead h3{font-size:31px;line-height:1.35;margin:8px 0 12px}.wp-subhead>p{margin-top:0}
.wp-mini-grid{display:grid;gap:12px;margin-top:18px}.wp-mini-grid.three{grid-template-columns:repeat(3,1fr)}.wp-mini-grid.four{grid-template-columns:repeat(4,1fr)}.wp-mini-grid.five{grid-template-columns:repeat(5,1fr)}
.wp-mini-grid>div,.wp-flow-cards>div,.wp-compare-grid>div{padding:19px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#fff,#fbfaff)}
.wp-mini-grid b,.wp-flow-cards b,.wp-compare-grid b{display:block;font-size:15px;margin-bottom:7px}.wp-mini-grid p,.wp-flow-cards p,.wp-compare-grid p{font-size:13px!important;line-height:1.62!important;margin:0!important}.wp-mini-grid small,.wp-flow-cards small,.wp-compare-grid small{display:block;margin-top:9px;color:#8a83a5;font-size:11px}.wp-mini-grid small{font-weight:800;color:#6f60dd}
.wp-details{margin-top:28px;border:1px solid var(--line);border-radius:24px;background:#fbfaff;overflow:hidden}.wp-details summary{cursor:pointer;list-style:none;padding:20px 23px;font-weight:850;color:#5f56b9;display:flex;align-items:center;justify-content:space-between}.wp-details summary::-webkit-details-marker{display:none}.wp-details summary:after{content:'+';display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eeeaff;color:#6758dc;font-size:20px}.wp-details[open] summary:after{content:'–'}.wp-details[open] summary{border-bottom:1px solid var(--line)}
.wp-compare-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px}.wp-compare-grid.five{grid-template-columns:repeat(5,1fr)}.wp-compare-grid span{display:block;margin-top:9px;color:#6b5cdd;font-size:11px;font-weight:850}
.wp-callout{margin:0 18px 18px;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#f2efff,#fff3f8);border:1px solid #e6defb}.wp-callout.warn{background:linear-gradient(135deg,#fff9ec,#fff4f7);border-color:#f5dfcf}.wp-callout b{display:block;margin-bottom:6px}.wp-callout p{font-size:14px!important;line-height:1.7!important;margin:0!important}
.wp-vision{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.wp-vision>div{padding:25px;border-radius:23px;border:1px solid var(--line);background:linear-gradient(135deg,#f7f4ff,#fff)}.wp-vision>div:last-child{background:linear-gradient(135deg,#fff4f8,#fff)}.wp-vision span{display:block;color:#7465e4;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.wp-vision b{display:block;font-size:21px;margin:8px 0}.wp-vision p{font-size:14px!important;line-height:1.7!important;margin:0!important}
.wp-flow-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px}
.storage-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 18px 0}.storage-primary{padding:22px;border-radius:20px;border:1px solid var(--line);background:#fff}.storage-primary>b{display:block;color:#7061de;font-size:12px}.storage-primary>strong{display:block;font-size:22px;margin:7px 0}.storage-primary p{font-size:13px!important;line-height:1.6!important;margin:0!important}
.vesting-schedule{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:28px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#fbf9ff,#fff5f9);margin-top:18px}.vesting-schedule .pending-art{grid-row:1 / span 2}.vesting-schedule .pending-art img{width:100%;height:100%;max-height:240px;object-fit:contain!important}.vesting-schedule h3{font-size:29px;margin:8px 0 10px}.vesting-schedule>div>p{font-size:14px!important;line-height:1.7!important;margin:0!important}.vesting-table{grid-column:1/-1;display:grid;gap:8px}.vesting-line{display:grid;grid-template-columns:160px 100px 110px 1fr;gap:10px;align-items:center;padding:12px 14px;border-radius:15px;background:#fff;border:1px solid var(--line)}.vesting-line b{font-size:13px}.vesting-line span{font-size:12px;font-weight:850;color:#6758dd}.vesting-line p{font-size:12px!important;line-height:1.55!important;margin:0!important;color:#72778a!important}
.wp-signal-list{display:grid;gap:8px;margin-top:17px}.wp-signal-list>div{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:13px 15px;border:1px solid var(--line);border-radius:16px;background:#fff}.wp-signal-list span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#f0ecff;color:#6858dc;font-weight:900;font-size:12px}.wp-signal-list p{font-size:13px!important;line-height:1.55!important;margin:0!important}
.reference-list{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:8px 18px 22px}.reference-list>div{display:grid;grid-template-columns:42px 1fr;gap:8px;padding:12px 6px;border-bottom:1px solid var(--line)}.reference-list>b{color:#6c5ddd}.reference-list span{font-size:12px;line-height:1.55;color:#73788b}.reference-list strong{color:#3f4357;font-size:12px}.wp-details.refs{background:#fff}
@media(max-width:1260px){.wp-mini-grid.five{grid-template-columns:repeat(3,1fr)}.wp-mini-grid.four{grid-template-columns:repeat(2,1fr)}.wp-compare-grid,.wp-compare-grid.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.wp-mini-grid.three,.wp-mini-grid.five,.wp-flow-cards,.wp-compare-grid,.wp-compare-grid.five{grid-template-columns:repeat(2,1fr)}.wp-vision,.storage-split{grid-template-columns:1fr}.vesting-schedule{grid-template-columns:1fr}.vesting-schedule .pending-art{grid-row:auto}.vesting-line{grid-template-columns:1fr 1fr}.vesting-line p{grid-column:1/-1}.reference-list{grid-template-columns:1fr}}
@media(max-width:600px){.wp-mini-grid.three,.wp-mini-grid.four,.wp-mini-grid.five,.wp-flow-cards,.wp-compare-grid,.wp-compare-grid.five{grid-template-columns:1fr}.vesting-line{grid-template-columns:1fr}.vesting-line p{grid-column:auto}.wp-details summary{padding:17px}.reference-list{padding:6px 12px 18px}}
/* V16 dynamic admin-published news: only appears when server has published posts. */
.server-news-row{border-top:1px solid var(--line,rgba(80,84,118,.14));padding-top:48px}.news-body{margin-top:18px;border-top:1px solid rgba(80,84,118,.12);padding-top:14px}.news-body summary{cursor:pointer;font-weight:800;color:var(--ink,#32364d)}.news-body p{margin-top:12px;white-space:normal}.server-news-date{display:block;margin-top:16px;color:var(--muted,#777b8e)}

/* V20 — LAYER EDGE SPACING ONLY.
   Public V18 text, image slots, grids, card sizing and internal layout are untouched.
   Only the vertical air at the top and bottom edge of major .section layers is normalized. */
:root{--fp-layer-edge-y:120px;}
.section{padding-top:var(--fp-layer-edge-y)!important;padding-bottom:var(--fp-layer-edge-y)!important;}
@media(max-width:760px){:root{--fp-layer-edge-y:84px;}}

/* V23 — visual rhythm correction.
   LOCKED: copy, illustration files, whitepaper content, service ordering.
   Scope: whitespace rhythm, row geometry, full-bleed no-crop imagery, route landing, sticky whitepaper navigation. */
:root{
  --fp23-section-y:72px;
  --fp23-follow-y:24px;
  --fp23-row-gap:70px;
  --fp23-col-gap:clamp(44px,4vw,68px);
  --fp23-radius:30px;
}

/* Wide but protected canvas: content never hugs the viewport edge. */
.shell{width:min(1480px,calc(100vw - 112px));}

/* Section intros: title and explanation share one visual baseline rather than two floating boxes. */
.section{padding-top:var(--fp23-section-y)!important;padding-bottom:var(--fp23-section-y)!important;}
.section + .section{padding-top:var(--fp23-follow-y)!important;}
.page-hero + .section{padding-top:42px!important;}
.section-head{
  grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);
  gap:var(--fp23-col-gap);
  align-items:end;
  margin-bottom:38px;
}
.section-head h2{font-size:clamp(40px,3.85vw,66px);line-height:1.06;margin-top:14px;}
.section-head p{margin:0;max-width:590px;justify-self:end;align-self:end;padding:0;}

/* Story rows: equal columns, consistent vertical center and predictable row rhythm. */
.story{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:var(--fp23-col-gap);
  align-items:center;
  margin:0 0 var(--fp23-row-gap);
}
.story:last-child{margin-bottom:0;}
.story>*{min-width:0;}
.story .copy{padding:0 clamp(14px,1.5vw,26px);}
.copy h3{font-size:clamp(38px,3.55vw,60px);line-height:1.07;margin:12px 0 18px;}
.copy .desc{max-width:610px;margin:0;}
.microcards{margin-top:24px;gap:12px;}
.micro{padding:17px;}

/* Illustration means illustration: no inset matte, glass overlay or hover label. */
.visual,.visual.scene-card{
  aspect-ratio:16/9;
  border:0;
  border-radius:var(--fp23-radius);
  overflow:hidden;
  background:transparent;
  box-shadow:0 18px 52px rgba(73,60,131,.10);
  transform:none!important;
}
.visual.scene-card:before,.visual.scene-card:after,.scene-meta{display:none!important;}
.visual img,.home-story .visual img,.vector-scene img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:16/9!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block;
  border-radius:var(--fp23-radius);
  background:transparent!important;
  transform:none!important;
}
.visual:hover img{transform:none!important;}

/* Product artwork touches the card edges at its own native ratio; no smaller image inside a decorative block. */
.product-visual{aspect-ratio:auto!important;background:transparent!important;}
.product-visual:after{display:none!important;}
.product-visual img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  display:block;
  background:transparent!important;
  transform:none!important;
  border-radius:28px 28px 0 0;
}
.service-product-grid .product-visual{aspect-ratio:4/3!important;}
.service-product-grid .product-visual img{height:100%!important;aspect-ratio:4/3!important;}
.web3-product-card>img,.news-row img,.chapter-grid>img,.page-hero>img,.split-band img,.contact-visual img,.wp-lifecycle-extra img{
  width:100%;height:auto!important;object-fit:contain!important;background:transparent!important;
}

/* Compact transitions between large page layers. */
.page-hero{padding:74px 0 50px;gap:var(--fp23-col-gap);}
.split-band{padding:54px;gap:var(--fp23-col-gap);}
.footer{margin-top:72px;}
.story[id],[data-chapter]{scroll-margin-top:112px;}

/* Whitepaper chapter navigation follows reading on desktop. */
.wp-layout{align-items:start;overflow:visible;}
.wp-toc{
  position:sticky!important;
  top:106px!important;
  align-self:start;
  z-index:24;
  max-height:calc(100vh - 128px);
  overflow-y:auto;
  overscroll-behavior:contain;
  box-shadow:0 14px 42px rgba(73,60,131,.07);
}
.wp-toc a.active{background:#f1edff;color:#5f50db;font-weight:850;}

@media(max-width:1080px){
  :root{--fp23-section-y:62px;--fp23-follow-y:18px;--fp23-row-gap:58px;}
  .shell{width:min(100% - 64px,1480px);}
  .section-head{grid-template-columns:1fr;gap:16px;margin-bottom:32px;}
  .section-head p{justify-self:start;max-width:760px;}
  .story{grid-template-columns:1fr;gap:28px;}
  .story.reverse .visual,.story.reverse .copy{order:initial;}
  .story .copy{padding:0 12px;}
  .wp-layout{grid-template-columns:1fr;}
  .wp-toc{
    position:sticky!important;top:92px!important;max-height:none;overflow-x:auto;overflow-y:hidden;
    display:flex;align-items:center;gap:4px;padding:12px 14px;border-radius:20px;
    background:rgba(255,255,255,.94);backdrop-filter:blur(16px);
  }
  .wp-toc-title{flex:0 0 auto;border-bottom:0;border-right:1px solid var(--line);margin:0 8px 0 0;padding:6px 16px 6px 4px;}
  .wp-toc a{flex:0 0 auto;white-space:nowrap;}
}
@media(max-width:760px){
  :root{--fp23-section-y:50px;--fp23-follow-y:14px;--fp23-row-gap:48px;}
  .shell{width:calc(100vw - 32px);}
  .page-hero{padding:54px 0 34px;}
  .section-head{margin-bottom:26px;}
  .section-head h2{font-size:42px;}
  .story{gap:20px;}
  .story .copy{padding:0 4px;}
  .copy h3{font-size:40px;}
  .visual,.visual img,.home-story .visual img,.vector-scene img{border-radius:24px;}
  .split-band{padding:28px;}
  .wp-toc{top:78px!important;border-radius:16px;padding:9px 10px;}
  .wp-toc-title{display:none;}
  .story[id],[data-chapter]{scroll-margin-top:92px;}
}

/* V23.1 — density + sticky correction after visual QA. */
html,body{overflow-x:clip!important;}
:root{--fp23-section-y:60px;--fp23-follow-y:18px;--fp23-row-gap:52px;}
.section-head{margin-bottom:30px;}
.page-hero{padding-bottom:28px;}
.page-hero + .section{padding-top:18px!important;}
.footer{margin-top:60px;}
@media(max-width:1080px){
  :root{--fp23-section-y:54px;--fp23-follow-y:14px;--fp23-row-gap:48px;}
  .section-head{margin-bottom:28px;}
}
@media(max-width:760px){
  :root{--fp23-section-y:46px;--fp23-follow-y:10px;--fp23-row-gap:42px;}
  .page-hero{padding-bottom:22px;}
  .page-hero + .section{padding-top:12px!important;}
  .section-head{margin-bottom:24px;}
}

/* =========================================================
   V24 — Teal reference inspired layout system
   LOCKED: Korean copy, whitepaper wording, asset files/mapping, service order.
   Reference principles translated to Fam pet:
   - unified card-like page heroes
   - consistent text / media rows
   - compact section rhythm
   - native-ratio images touch the media frame; no inset matte
   ========================================================= */
:root{
  --fp24-max:1560px;
  --fp24-gutter:clamp(24px,3.6vw,64px);
  --fp24-y:clamp(48px,4.3vw,70px);
  --fp24-y-sm:clamp(30px,3vw,46px);
  --fp24-gap:clamp(28px,3.2vw,48px);
  --fp24-card-r:34px;
  --fp24-media-r:26px;
  --fp24-line:rgba(87,72,139,.12);
  --fp24-shadow:0 20px 62px rgba(64,51,111,.075);
  --fp24-shadow-sm:0 12px 36px rgba(64,51,111,.055);
  --fp24-surface:rgba(255,255,255,.94);
}
.shell{width:min(var(--fp24-max),calc(100vw - var(--fp24-gutter)*2))!important;}
.section{padding:var(--fp24-y) 0!important;}
.section + .section{padding-top:var(--fp24-y-sm)!important;}
.page-hero + .section{padding-top:var(--fp24-y-sm)!important;}
.footer{margin-top:var(--fp24-y)!important;}

/* Typography stays editorial, but reduces the huge empty counter-column problem. */
.section-head{
  grid-template-columns:minmax(0,.94fr) minmax(360px,1.06fr)!important;
  gap:var(--fp24-gap)!important;
  align-items:center!important;
  margin-bottom:28px!important;
}
.section-head>div{max-width:760px;}
.section-head h2{font-size:clamp(38px,3.35vw,58px)!important;line-height:1.07!important;margin:12px 0 0!important;}
.section-head p{font-size:clamp(15px,1.05vw,18px)!important;line-height:1.78!important;max-width:650px!important;justify-self:end!important;align-self:center!important;margin:0!important;}

/* Page hero = one product surface, like the reference. */
.page-hero{
  margin-top:28px!important;
  padding:clamp(30px,3.1vw,44px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr)!important;
  gap:var(--fp24-gap)!important;
  align-items:center!important;
  border:1px solid var(--fp24-line)!important;
  border-radius:38px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(250,247,255,.96) 54%,rgba(246,251,255,.97))!important;
  box-shadow:var(--fp24-shadow)!important;
}
.page-hero:after{display:none!important;}
.page-hero>div{min-width:0!important;max-width:720px!important;}
.page-hero h1{font-size:clamp(48px,4.4vw,72px)!important;line-height:1.01!important;margin:16px 0 20px!important;}
.page-hero .lead{font-size:clamp(15px,1.05vw,18px)!important;line-height:1.8!important;max-width:58ch!important;margin:0!important;}
.page-hero>img{
  width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important;
  border-radius:var(--fp24-media-r)!important;box-shadow:0 14px 42px rgba(64,51,111,.10)!important;
  background:transparent!important;display:block!important;
}

/* Home hero follows the same coherent surface instead of floating content. */
.hero{
  min-height:0!important;
  margin-top:28px!important;
  padding:clamp(30px,3.2vw,46px)!important;
  grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr)!important;
  gap:var(--fp24-gap)!important;
  align-items:center!important;
  border:1px solid var(--fp24-line)!important;
  border-radius:40px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(250,247,255,.95) 52%,rgba(246,251,255,.97))!important;
  box-shadow:var(--fp24-shadow)!important;
}
.hero:after{display:none!important;}
.hero .display{font-size:clamp(50px,4.7vw,76px)!important;line-height:1!important;margin:18px 0 22px!important;}
.hero .lead{max-width:58ch!important;}
.hero-art{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:var(--fp24-media-r)!important;overflow:hidden!important;}
.hero-art:before,.hero-art:after,.hero-art .scene-badge,.hero-art .scene-status{display:none!important;}
.hero-art>img{width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important;border-radius:var(--fp24-media-r)!important;box-shadow:0 16px 44px rgba(64,51,111,.10)!important;transform:none!important;}

/* Main story rows become finished product cards: no floating image vs text. */
.story{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(24px,2.8vw,42px)!important;
  align-items:center!important;
  margin:0 0 18px!important;
  padding:clamp(22px,2.35vw,34px)!important;
  border:1px solid var(--fp24-line)!important;
  border-radius:var(--fp24-card-r)!important;
  background:var(--fp24-surface)!important;
  box-shadow:var(--fp24-shadow-sm)!important;
  overflow:hidden!important;
}
.story:after{display:none!important;}
.story.reverse .visual{order:2!important}.story.reverse .copy{order:1!important}
.story .copy{padding:clamp(8px,1.5vw,22px)!important;max-width:650px!important;}
.story .copy .num{font-size:13px!important;}
.copy h3{font-size:clamp(36px,3.1vw,54px)!important;line-height:1.08!important;margin:12px 0 16px!important;}
.copy .desc{font-size:clamp(15px,1.04vw,17px)!important;line-height:1.78!important;max-width:58ch!important;}
.microcards{margin-top:20px!important;gap:9px!important;}
.micro{padding:14px!important;border-radius:16px!important;}
.micro span{font-size:12px!important;line-height:1.58!important;}

/* Illustration insertion: the image IS the rectangle. No inner matte/padding/overlay. */
.visual,.visual.scene-card,.wide-scene{
  border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;
  border-radius:var(--fp24-media-r)!important;overflow:hidden!important;aspect-ratio:auto!important;min-height:0!important;
}
.visual.scene-card:before,.visual.scene-card:after,.scene-meta{display:none!important;}
.visual>img,.home-story .visual>img,.vector-scene>img,.wide-scene>img{
  width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;
  display:block!important;border-radius:var(--fp24-media-r)!important;background:transparent!important;box-shadow:0 14px 42px rgba(64,51,111,.095)!important;
  transform:none!important;filter:none!important;padding:0!important;margin:0!important;
}
.visual:hover img{transform:none!important;}

/* Generated service story images are native 16:9; their native shape defines the row. */
.story .visual>img{aspect-ratio:1672/941!important;width:100%!important;}

/* Product cards: 4:3 image touches card edges, caption below. */
.product-grid{gap:16px!important;}
.service-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.product-card{border-radius:28px!important;border:1px solid var(--fp24-line)!important;background:#fff!important;box-shadow:var(--fp24-shadow-sm)!important;transform:none!important;}
.product-card:hover{transform:translateY(-3px)!important;box-shadow:var(--fp24-shadow)!important;}
.product-visual{aspect-ratio:auto!important;background:transparent!important;overflow:hidden!important;}
.product-visual:after{display:none!important;}
.product-visual img{width:100%!important;height:auto!important;object-fit:contain!important;display:block!important;transform:none!important;background:transparent!important;margin:0!important;padding:0!important;}
.service-product-grid .product-visual img{aspect-ratio:4/3!important;height:auto!important;}
.product-caption{padding:16px 18px 19px!important;}
.product-caption b{font-size:17px!important;}.product-caption p{font-size:12.5px!important;line-height:1.6!important;}

/* Home product section uses the same image-first card language. */
.home-product-grid{gap:16px!important;}
.home-product-grid .product-visual img{width:100%!important;height:auto!important;object-fit:contain!important;}

/* Web3: combine head + diagrams more tightly; wide images no inner decorative shell. */
.web3-architecture .wide-scene,.section .wide-scene{margin-top:22px!important;}
.architecture-grid{margin-top:28px!important;}
.greenfield-grid,.role-grid,.utility-grid{gap:10px!important;}
.role-card,.green-card,.utility-card{border-radius:20px!important;box-shadow:0 10px 30px rgba(64,51,111,.045)!important;}
.web3-product-card{border-radius:28px!important;box-shadow:var(--fp24-shadow-sm)!important;overflow:hidden!important;}
.web3-product-card>img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:contain!important;background:transparent!important;display:block!important;}

/* Roadmap rows are structured cards, avoiding huge vertical holes. */
.roadmap-list{display:grid!important;gap:12px!important;}
.road-item{margin:0!important;padding:clamp(20px,2vw,28px)!important;border:1px solid var(--fp24-line)!important;border-radius:24px!important;background:#fff!important;box-shadow:var(--fp24-shadow-sm)!important;}
.notice{border-radius:20px!important;}

/* News uses the same image-first card; images directly touch their media side. */
.news-list{display:grid!important;gap:14px!important;}
.news-row{padding:10px!important;border-radius:28px!important;border:1px solid var(--fp24-line)!important;box-shadow:var(--fp24-shadow-sm)!important;background:#fff!important;gap:12px!important;}
.news-row>img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:contain!important;background:transparent!important;border-radius:22px!important;margin:0!important;}
.news-copy{padding:22px!important;align-self:center!important;}
.news-copy h2{font-size:clamp(30px,2.6vw,44px)!important;line-height:1.12!important;}

/* Contact: image likewise uses its native rectangle with only rounded corners. */
.contact-visual{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.contact-visual img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:var(--fp24-media-r)!important;box-shadow:0 14px 42px rgba(64,51,111,.09)!important;}

/* Whitepaper retains V23 content/sticky behavior; simplify embedded image frames. */
.chapter-grid>img,.chapter-visual>img,.wp-lifecycle-extra>img,.wp-token-art{
  width:100%!important;height:auto!important;object-fit:contain!important;border-radius:22px!important;background:transparent!important;box-shadow:0 12px 34px rgba(64,51,111,.07)!important;padding:0!important;
}
.wp-details{border-radius:18px!important;}

@media(max-width:1080px){
  :root{--fp24-gutter:32px;--fp24-y:54px;--fp24-y-sm:34px;}
  .page-hero,.hero,.story{grid-template-columns:1fr!important;}
  .page-hero>div,.hero>div:first-child,.story .copy{max-width:780px!important;}
  .page-hero>img,.hero-art,.story .visual{width:100%!important;max-width:900px!important;margin-inline:auto!important;}
  .story.reverse .visual,.story.reverse .copy{order:initial!important;}
  .section-head{grid-template-columns:1fr!important;gap:14px!important;align-items:start!important;}
  .section-head p{justify-self:start!important;max-width:760px!important;}
  .service-product-grid{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:760px){
  :root{--fp24-gutter:16px;--fp24-y:42px;--fp24-y-sm:26px;--fp24-card-r:25px;--fp24-media-r:20px;}
  .shell{width:calc(100vw - 32px)!important;}
  .page-hero,.hero{margin-top:18px!important;padding:22px!important;border-radius:28px!important;gap:20px!important;}
  .page-hero h1,.hero .display{font-size:clamp(40px,10.8vw,54px)!important;}
  .section-head{margin-bottom:20px!important;}
  .section-head h2{font-size:clamp(34px,9vw,46px)!important;}
  .story{padding:12px!important;border-radius:25px!important;gap:14px!important;margin-bottom:12px!important;}
  .story .copy{padding:14px 10px 16px!important;}
  .copy h3{font-size:clamp(34px,9vw,44px)!important;}
  .microcards{grid-template-columns:1fr!important;}
  .service-product-grid,.home-product-grid,.web3-product-grid{grid-template-columns:1fr!important;}
  .product-card{border-radius:23px!important;}
  .news-row{grid-template-columns:1fr!important;}
}

/* =========================================================
   V25 — Cohesive editorial/product layout redesign
   LOCKED: all copy, service order, image files and asset mapping.
   Goal: text and imagery read as one composition, not two pasted blocks.
   Reference principle: Teal-style hierarchy translated to Fam pet.
   ========================================================= */
:root{
  --fp25-max:1488px;
  --fp25-gutter:clamp(24px,3.2vw,56px);
  --fp25-section:clamp(54px,4.7vw,76px);
  --fp25-section-sm:clamp(34px,3vw,48px);
  --fp25-gap:clamp(28px,3.2vw,48px);
  --fp25-card-r:32px;
  --fp25-media-r:24px;
  --fp25-line:rgba(81,72,132,.115);
  --fp25-shadow:0 22px 66px rgba(57,49,104,.075);
  --fp25-shadow-sm:0 12px 36px rgba(57,49,104,.052);
  --fp25-surface:rgba(255,255,255,.95);
  --fp25-bg:#fbfaff;
}
body{
  background:
    radial-gradient(circle at 8% 0%,rgba(255,160,194,.075),transparent 23%),
    radial-gradient(circle at 92% 2%,rgba(125,108,255,.075),transparent 25%),
    var(--fp25-bg)!important;
}
.shell{width:min(var(--fp25-max),calc(100vw - var(--fp25-gutter)*2))!important;}
.section{padding:var(--fp25-section) 0!important;}
.section + .section{padding-top:var(--fp25-section-sm)!important;}
.page-hero + .section{padding-top:var(--fp25-section-sm)!important;}
.footer{margin-top:var(--fp25-section)!important;}

/* Header and canvas line up to one grid. */
.site-header{width:min(1580px,calc(100vw - 32px))!important;}
.site-header .brand img{width:154px!important;}

/* Titles are strong, but never allowed to overpower the artwork. */
.display{font-size:clamp(48px,4.5vw,74px)!important;line-height:1.01!important;letter-spacing:-.052em!important;}
.lead{font-size:clamp(16px,1.12vw,19px)!important;line-height:1.78!important;}
.copy h3{font-size:clamp(34px,3vw,50px)!important;line-height:1.09!important;letter-spacing:-.045em!important;}
.copy .desc{font-size:clamp(14px,1.02vw,17px)!important;line-height:1.78!important;}

/* Section introductions are one reading block. No empty right-side paragraph box. */
.section-head{
  display:block!important;
  max-width:980px!important;
  margin:0 0 clamp(28px,2.7vw,40px)!important;
}
.section-head>div{max-width:none!important;}
.section-head h2{
  max-width:17ch!important;
  margin:12px 0 0!important;
  font-size:clamp(38px,3.45vw,58px)!important;
  line-height:1.07!important;
  letter-spacing:-.05em!important;
}
.section-head p{
  max-width:760px!important;
  margin:18px 0 0!important;
  padding:0!important;
  font-size:clamp(14px,1vw,17px)!important;
  line-height:1.78!important;
  justify-self:auto!important;
  align-self:auto!important;
}

/* Page hero: one surface, 5/7 balance. Media is the visual anchor. */
.page-hero,
.hero{
  margin-top:26px!important;
  padding:clamp(28px,3vw,42px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr)!important;
  gap:clamp(32px,3.4vw,52px)!important;
  align-items:center!important;
  min-height:0!important;
  border:1px solid var(--fp25-line)!important;
  border-radius:38px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(252,248,255,.96) 56%,rgba(247,252,255,.96))!important;
  box-shadow:var(--fp25-shadow)!important;
}
.page-hero>div,.hero>div:first-child{max-width:640px!important;min-width:0!important;}
.page-hero h1,.hero .display{
  font-size:clamp(46px,4.2vw,68px)!important;
  line-height:1.01!important;
  margin:16px 0 20px!important;
}
.page-hero .lead,.hero .lead{max-width:55ch!important;margin:0!important;}
.page-hero>img,.hero-art>img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
  border-radius:var(--fp25-media-r)!important;
  box-shadow:0 16px 44px rgba(57,49,104,.10)!important;
  background:transparent!important;
  transform:none!important;
  filter:none!important;
}
.hero-art{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important;border-radius:var(--fp25-media-r)!important;}
.hero-art:before,.hero-art:after,.hero-art .scene-badge,.hero-art .scene-status{display:none!important;}
.hero .trust-row{margin-top:24px!important;gap:8px!important;}
.hero .pill{padding:8px 11px!important;font-size:12px!important;}
.hero .btns{margin-top:24px!important;}
.marquee{margin-top:14px!important;}

/* HOME: overview lives as compact image-first cards; details belong on Services. */
.home-experience-section{padding-top:var(--fp25-section-sm)!important;}
.home-story-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.home-story-grid .home-story{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto 1fr!important;
  gap:0!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid var(--fp25-line)!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:var(--fp25-shadow-sm)!important;
  overflow:hidden!important;
  align-items:start!important;
}
.home-story-grid .home-story .visual,
.home-story-grid .home-story.reverse .visual{
  order:1!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  border-radius:21px!important;
  overflow:hidden!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-story-grid .home-story .visual>img{
  width:100%!important;height:100%!important;aspect-ratio:16/9!important;
  object-fit:contain!important;border-radius:21px!important;box-shadow:none!important;
}
.home-story-grid .home-story .copy,
.home-story-grid .home-story.reverse .copy{
  order:2!important;
  max-width:none!important;
  padding:20px 18px 18px!important;
}
.home-story-grid .home-story .copy h3{
  font-size:clamp(27px,2vw,34px)!important;
  line-height:1.12!important;
  margin:10px 0 11px!important;
}
.home-story-grid .home-story .copy .desc{font-size:13.5px!important;line-height:1.72!important;max-width:52ch!important;}
.home-story-grid .home-story .num{font-size:11.5px!important;}

/* Product grids: overview pages benefit from a clean 3-column rhythm. */
.home-product-grid,.service-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;}
.home-product-grid .product-card:first-child{grid-column:auto!important;}
.product-card{border-radius:26px!important;border:1px solid var(--fp25-line)!important;box-shadow:var(--fp25-shadow-sm)!important;background:#fff!important;overflow:hidden!important;}
.product-visual{padding:0!important;background:transparent!important;overflow:hidden!important;}
.product-visual:after{display:none!important;}
.product-visual img{
  width:100%!important;height:auto!important;object-fit:contain!important;display:block!important;
  margin:0!important;padding:0!important;background:transparent!important;border-radius:0!important;transform:none!important;
}
.service-product-grid .product-visual img{aspect-ratio:4/3!important;}
.product-caption{padding:15px 17px 18px!important;gap:11px!important;}
.product-caption>span{width:31px!important;height:31px!important;border-radius:10px!important;font-size:11px!important;}
.product-caption b{font-size:16px!important;}.product-caption p{font-size:12px!important;line-height:1.58!important;}

/* SERVICES: clear sticky sub-navigation and large 58/42 detail rows. */
.service-jump-wrap{
  position:sticky!important;
  top:94px!important;
  z-index:35!important;
  margin-top:14px!important;
  background:rgba(251,250,255,.9)!important;
  border-block:1px solid rgba(81,72,132,.08)!important;
  backdrop-filter:blur(16px)!important;
}
.service-jump{display:flex!important;gap:6px!important;overflow-x:auto!important;padding:9px 0!important;scrollbar-width:none!important;}
.service-jump::-webkit-scrollbar{display:none!important;}
.service-jump a{
  flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;gap:8px!important;
  min-height:38px!important;padding:0 12px!important;border-radius:999px!important;
  color:#62677d!important;font-size:12px!important;font-weight:730!important;white-space:nowrap!important;
}
.service-jump a:hover{background:#fff!important;color:#5f50d8!important;box-shadow:0 6px 18px rgba(57,49,104,.07)!important;}
.service-jump a span{display:grid!important;place-items:center!important;width:23px!important;height:23px!important;border-radius:999px!important;background:#f1edff!important;color:#6c5ce3!important;font-size:9px!important;font-weight:900!important;}
.service-detail-section{padding-top:32px!important;}
.service-story-stack{display:grid!important;gap:18px!important;}
.service-story-stack .story{
  display:grid!important;
  grid-template-columns:minmax(520px,1.18fr) minmax(0,.82fr)!important;
  gap:0!important;
  margin:0!important;
  padding:14px!important;
  align-items:center!important;
  border:1px solid var(--fp25-line)!important;
  border-radius:32px!important;
  background:var(--fp25-surface)!important;
  box-shadow:var(--fp25-shadow-sm)!important;
  overflow:hidden!important;
}
.service-story-stack .story.reverse{grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr)!important;}
.service-story-stack .story .visual{
  width:100%!important;aspect-ratio:16/9!important;min-height:0!important;
  border:0!important;border-radius:23px!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important;
}
.service-story-stack .story .visual>img{
  width:100%!important;height:100%!important;aspect-ratio:16/9!important;object-fit:contain!important;
  border-radius:23px!important;box-shadow:none!important;background:transparent!important;
}
.service-story-stack .story .copy{max-width:560px!important;padding:clamp(24px,2.6vw,40px)!important;}
.service-story-stack .story .copy h3{font-size:clamp(34px,2.85vw,47px)!important;line-height:1.09!important;margin:11px 0 15px!important;}
.service-story-stack .story .copy .desc{font-size:15px!important;line-height:1.78!important;}
.service-story-stack .story.reverse .copy{order:1!important;}
.service-story-stack .story.reverse .visual{order:2!important;}
.microcards{grid-template-columns:1fr!important;gap:7px!important;margin-top:18px!important;}
.micro{padding:12px 14px!important;border-radius:14px!important;}
.micro b{font-size:12px!important;margin-bottom:3px!important;}.micro span{font-size:11.5px!important;line-height:1.55!important;}
.story[id]{scroll-margin-top:154px!important;}

/* Shared no-matte image policy. The image itself is the media rectangle. */
.visual,.visual.scene-card,.wide-scene{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important;}
.visual.scene-card:before,.visual.scene-card:after,.scene-meta{display:none!important;}
.visual>img,.wide-scene>img,.web3-product-card>img,.news-row>img,.contact-visual img{
  width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important;
  background:transparent!important;padding:0!important;margin:0!important;transform:none!important;filter:none!important;
}

/* WEB3: same hierarchy as Services — stacked intro, then systems/cards. */
.role-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;}
.role-card{min-height:170px!important;padding:20px!important;border-radius:20px!important;box-shadow:var(--fp25-shadow-sm)!important;}
.role-card h3{font-size:19px!important;line-height:1.25!important;margin-top:16px!important;}.role-card p{font-size:12.5px!important;line-height:1.65!important;}
.architecture-grid{gap:12px!important;margin-top:24px!important;}.arch-card{padding:24px!important;border-radius:24px!important;}.arch-card h3{font-size:23px!important;}
.wide-scene{margin-top:18px!important;border-radius:28px!important;box-shadow:var(--fp25-shadow-sm)!important;}
.wide-scene>img{border-radius:28px!important;}
.greenfield-grid{gap:10px!important;}.green-card{min-height:150px!important;padding:20px!important;border-radius:20px!important;}
.data-flow{gap:8px!important;margin-top:18px!important;}.flow-step{padding:16px!important;border-radius:17px!important;}
.web3-product-grid{gap:16px!important;}.web3-product-card{border-radius:26px!important;box-shadow:var(--fp25-shadow-sm)!important;}
.web3-product-card>img{aspect-ratio:4/3!important;}.web3-product-card>div{padding:18px 20px 22px!important;}
.token-grid{gap:18px!important;}.donut-wrap{padding:26px!important;border-radius:28px!important;}.token-grid .visual{border-radius:28px!important;box-shadow:var(--fp25-shadow-sm)!important;}.token-grid .visual>img{border-radius:28px!important;}
.token-overview{gap:9px!important;}.token-overview>div{padding:16px!important;border-radius:17px!important;}
.circulation{padding:26px!important;border-radius:28px!important;}

/* Roadmap: compact timeline cards, not three disconnected text columns. */
.roadmap-list{gap:10px!important;max-width:1280px!important;}
.road-item{
  grid-template-columns:150px minmax(0,1fr) minmax(0,1fr)!important;
  gap:20px!important;padding:23px 25px!important;border-radius:22px!important;
  box-shadow:var(--fp25-shadow-sm)!important;align-items:start!important;
}
.road-item .date{padding-top:3px!important;font-size:14px!important;}.road-item h3{font-size:21px!important;margin:0 0 8px!important;}.road-item p{font-size:13px!important;line-height:1.65!important;}

/* News: compact editorial hero and image-led rows. */
body[data-route="news"] main.page>section.shell:first-child{
  margin-top:26px!important;padding:clamp(30px,3.2vw,46px)!important;
  border:1px solid var(--fp25-line)!important;border-radius:36px!important;background:linear-gradient(135deg,#fff,#faf7ff 54%,#f7fbff)!important;box-shadow:var(--fp25-shadow)!important;
}
body[data-route="news"] main.page>section.shell:first-child .display{font-size:clamp(46px,4.25vw,70px)!important;margin:16px 0 18px!important;max-width:12ch!important;}
body[data-route="news"] main.page>section.shell:first-child .lead{max-width:60ch!important;margin:0!important;}
.news-list{gap:14px!important;}.news-row{grid-template-columns:minmax(0,.84fr) minmax(500px,1.16fr)!important;gap:12px!important;padding:10px!important;border-radius:28px!important;box-shadow:var(--fp25-shadow-sm)!important;}
.news-copy{padding:24px!important;}.news-copy h2{font-size:clamp(28px,2.4vw,40px)!important;margin:12px 0 14px!important;}.news-copy p{font-size:14px!important;line-height:1.72!important;}
.news-row>img{width:100%!important;aspect-ratio:16/9!important;border-radius:22px!important;align-self:center!important;}

/* Contact: both columns have comparable visual weight. */
.contact-layout{grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr)!important;gap:var(--fp25-gap)!important;align-items:start!important;}
.contact-side{padding:30px!important;border:1px solid var(--fp25-line)!important;border-radius:32px!important;background:#fff!important;box-shadow:var(--fp25-shadow-sm)!important;}
.contact-side h1{font-size:clamp(44px,4.15vw,66px)!important;margin:14px 0 18px!important;}.contact-side p{font-size:15px!important;line-height:1.78!important;}
.contact-cards{margin-top:20px!important;}.contact-card{padding:16px!important;border-radius:17px!important;}
.contact-visual{margin-top:20px!important;}.contact-visual img{border-radius:22px!important;}
.form{padding:28px!important;border-radius:32px!important;box-shadow:var(--fp25-shadow-sm)!important;}.field textarea{min-height:200px!important;}

/* Whitepaper: keep sticky TOC and default-closed reference disclosures. */
.wp-toc{position:sticky!important;top:106px!important;}
.wp-details:not([open])>summary{border-bottom:0!important;}
.wp-details.refs:not([open]) .reference-list{display:none!important;}

@media(max-width:1180px){
  :root{--fp25-gutter:32px;--fp25-section:58px;--fp25-section-sm:36px;}
  .page-hero,.hero,.service-story-stack .story,.service-story-stack .story.reverse,.contact-layout{grid-template-columns:1fr!important;}
  .page-hero>div,.hero>div:first-child,.service-story-stack .story .copy{max-width:780px!important;}
  .page-hero>img,.hero-art,.service-story-stack .story .visual{width:100%!important;max-width:920px!important;margin-inline:auto!important;}
  .service-story-stack .story.reverse .visual,.service-story-stack .story.reverse .copy{order:initial!important;}
  .home-story-grid{grid-template-columns:1fr 1fr!important;}
  .home-product-grid,.service-product-grid{grid-template-columns:1fr 1fr!important;}
  .role-grid{grid-template-columns:1fr 1fr!important;}
  .news-row{grid-template-columns:1fr!important;}
  .contact-side{max-width:900px!important;}
}
@media(max-width:760px){
  :root{--fp25-gutter:16px;--fp25-section:42px;--fp25-section-sm:28px;--fp25-card-r:24px;--fp25-media-r:18px;}
  .shell{width:calc(100vw - 32px)!important;}
  .page-hero,.hero{margin-top:18px!important;padding:20px!important;border-radius:28px!important;gap:20px!important;}
  .page-hero h1,.hero .display{font-size:clamp(40px,10.7vw,54px)!important;}
  .section-head{margin-bottom:22px!important;}.section-head h2{font-size:clamp(34px,8.8vw,45px)!important;}
  .home-story-grid,.home-product-grid,.service-product-grid,.role-grid,.web3-product-grid{grid-template-columns:1fr!important;}
  .home-story-grid .home-story{padding:10px!important;border-radius:23px!important;}
  .service-jump-wrap{top:86px!important;}
  .service-story-stack{gap:12px!important;}
  .service-story-stack .story{padding:10px!important;border-radius:24px!important;}
  .service-story-stack .story .copy{padding:18px 12px!important;}
  .service-story-stack .story .copy h3{font-size:clamp(32px,8.7vw,42px)!important;}
  .road-item{grid-template-columns:1fr!important;gap:10px!important;}
  .news-row{padding:8px!important;}.news-copy{padding:18px!important;}
  .contact-side,.form{padding:20px!important;border-radius:25px!important;}
}
/* V25.1 — News has no dedicated hero illustration, so avoid an empty half-page surface. */
body[data-route="news"] main.page>section.shell:first-child{
  width:min(var(--fp25-max),calc(100vw - var(--fp25-gutter)*2))!important;
  margin-top:0!important;
  padding:clamp(44px,4.4vw,68px) 0 clamp(26px,2.6vw,38px)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body[data-route="news"] main.page>section.shell:first-child .display{max-width:11ch!important;}
body[data-route="news"] main.page>section.shell:first-child .lead{max-width:62ch!important;}
body[data-route="news"] main.page>section.shell:first-child + .section{padding-top:18px!important;}

/* =========================================================
   V26 — Natural headline flow + row alignment pass
   User direction:
   - no forced title line breaks; let Korean headings wrap naturally
   - use existing copy to occupy width instead of leaving decorative voids
   - pair tall/large illustrations with adjacent information blocks
   - align card rows to the same grid
   - whitepaper market-expansion promises removed in app.js
   ========================================================= */
:root{
  --fp26-max:1520px;
  --fp26-gutter:clamp(24px,3vw,52px);
  --fp26-y:clamp(46px,4.1vw,64px);
  --fp26-y-sm:clamp(30px,2.7vw,42px);
  --fp26-gap:clamp(22px,2.5vw,38px);
  --fp26-line:rgba(81,72,132,.11);
  --fp26-radius:28px;
  --fp26-shadow:0 16px 48px rgba(57,49,104,.065);
}
.shell{width:min(var(--fp26-max),calc(100vw - var(--fp26-gutter)*2))!important;}
.section{padding:var(--fp26-y) 0!important;}
.section + .section,.page-hero + .section{padding-top:var(--fp26-y-sm)!important;}

/* Natural wrapping: authored newlines no longer force vertical title stacks. */
.copy h3{white-space:normal!important;text-wrap:pretty!important;word-break:keep-all!important;}
.section-head h2,.page-hero h1,.contact-side h1,.chapter h2,.chapter h3{
  text-wrap:pretty!important;word-break:keep-all!important;overflow-wrap:normal!important;
}

/* Section introductions fill the whole row: title left, existing explanation right. */
.section-head{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr)!important;
  gap:clamp(28px,3.2vw,52px)!important;
  align-items:end!important;
  max-width:none!important;
  width:100%!important;
  margin:0 0 clamp(22px,2.2vw,32px)!important;
}
.section-head>div{max-width:none!important;min-width:0!important;}
.section-head h2{
  max-width:none!important;
  margin:10px 0 0!important;
  font-size:clamp(36px,3.05vw,50px)!important;
  line-height:1.09!important;
  letter-spacing:-.045em!important;
}
.section-head p{
  width:100%!important;
  max-width:430px!important;
  margin:0!important;
  justify-self:end!important;
  padding:0 0 2px!important;
  font-size:clamp(14px,.96vw,16px)!important;
  line-height:1.78!important;
}

/* Page headings: remove narrow artificial columns so long messages occupy the row naturally. */
.page-hero>div,.hero>div:first-child{max-width:700px!important;}
.page-hero h1{max-width:none!important;font-size:clamp(44px,3.85vw,62px)!important;line-height:1.05!important;}
body[data-route="news"] main.page>section.shell:first-child .display{max-width:none!important;}
.contact-side h1{max-width:none!important;font-size:clamp(42px,3.7vw,60px)!important;line-height:1.06!important;}

/* Service/product heading no longer creates a tall empty band. */
.product-showcase .section-head,.web3-product-showcase .section-head{margin-bottom:24px!important;}
.service-product-grid,.home-product-grid{align-items:stretch!important;}
.product-card{height:100%!important;display:grid!important;grid-template-rows:auto 1fr!important;}
.product-caption{align-self:stretch!important;}

/* Services: image/text rows align to one baseline and use available height efficiently. */
.service-story-stack{gap:14px!important;}
.service-story-stack .story,
.service-story-stack .story.reverse{
  grid-template-columns:minmax(560px,1.14fr) minmax(0,.86fr)!important;
  min-height:0!important;
  align-items:stretch!important;
  padding:12px!important;
  border-radius:28px!important;
}
.service-story-stack .story.reverse{grid-template-columns:minmax(0,.86fr) minmax(560px,1.14fr)!important;}
.service-story-stack .story .visual{align-self:stretch!important;display:grid!important;place-items:center!important;}
.service-story-stack .story .copy{
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  max-width:none!important;
  padding:clamp(22px,2.3vw,34px)!important;
}
.service-story-stack .story .copy h3{font-size:clamp(32px,2.5vw,42px)!important;max-width:16ch!important;}
.service-story-stack .story .copy .desc{max-width:50ch!important;}

/* BSC × Greenfield: the illustration becomes the second column, not a detached lower strip. */
.architecture-layout{
  display:grid!important;
  grid-template-columns:minmax(360px,.78fr) minmax(560px,1.22fr)!important;
  gap:var(--fp26-gap)!important;
  align-items:stretch!important;
}
.architecture-layout .architecture-grid{
  margin:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:1fr auto 1fr!important;
  gap:10px!important;
  align-items:stretch!important;
}
.architecture-layout .architecture-grid:before{display:none!important;}
.architecture-layout .arch-card{
  min-height:0!important;
  padding:clamp(22px,2.2vw,30px)!important;
  border-radius:24px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  box-shadow:var(--fp26-shadow)!important;
}
.architecture-layout .arch-card h3{font-size:clamp(23px,1.7vw,29px)!important;margin:10px 0 12px!important;}
.architecture-layout .arch-card ul{line-height:1.75!important;}
.architecture-layout .arch-bridge{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:4px 0!important;
}
.architecture-layout .arch-bridge i{font-size:22px!important;}
.architecture-visual{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:4/3!important;
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:var(--fp26-shadow)!important;
}
.architecture-visual>img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:28px!important;}

/* Greenfield: four capabilities align beside the illustration; flow becomes 3 x 2 full-width. */
.greenfield-layout{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr)!important;
  gap:var(--fp26-gap)!important;
  align-items:stretch!important;
}
.greenfield-layout .greenfield-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,1fr)!important;
  gap:10px!important;
  height:100%!important;
}
.greenfield-layout .green-card{
  min-height:0!important;
  height:100%!important;
  padding:18px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  border-radius:18px!important;
}
.greenfield-layout .green-card h3{font-size:clamp(17px,1.3vw,21px)!important;margin:12px 0 8px!important;}
.greenfield-layout .green-card p{font-size:12.5px!important;line-height:1.65!important;}
.greenfield-visual{
  aspect-ratio:4/3!important;
  width:100%!important;
  height:auto!important;
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:var(--fp26-shadow)!important;
}
.greenfield-visual>img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:28px!important;}
.data-flow{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:18px!important;
}
.flow-step{
  min-height:142px!important;
  padding:18px!important;
  border-radius:18px!important;
  display:grid!important;
  grid-template-columns:32px 1fr!important;
  grid-template-rows:auto 1fr!important;
  column-gap:12px!important;
  align-content:start!important;
}
.flow-step>b{grid-row:1 / span 2!important;align-self:start!important;}
.flow-step h4{margin:2px 0 7px!important;font-size:17px!important;}
.flow-step p{font-size:12.5px!important;line-height:1.62!important;}
.flow-step:not(:last-child):after{display:none!important;}

/* Other multi-card bands use the full row rather than leaving a tail of empty canvas. */
.role-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.role-card{height:100%!important;min-height:150px!important;}
.utility-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch!important;}
.utility-card{height:100%!important;}

/* Whitepaper: natural headings, sticky toc retained, token legend spans the complete visual row. */
.chapter h2{font-size:clamp(34px,2.8vw,44px)!important;max-width:none!important;line-height:1.12!important;}
.chapter h3{max-width:none!important;}
.chapter-grid{grid-template-columns:minmax(0,.82fr) minmax(430px,1.18fr)!important;gap:24px!important;align-items:center!important;}
.wp-token-layout{
  display:grid!important;
  grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr)!important;
  gap:16px!important;
  align-items:stretch!important;
}
.wp-token-layout .donut-wrap{
  min-height:0!important;
  padding:22px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:24px!important;
}
.wp-token-layout .donut{margin:0 auto!important;width:min(330px,78%)!important;}
.wp-token-layout .wp-token-art{
  width:100%!important;
  height:100%!important;
  min-height:340px!important;
  object-fit:contain!important;
  border-radius:24px!important;
  background:transparent!important;
}
.wp-token-legend{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  padding:14px!important;
  border:1px solid var(--fp26-line)!important;
  border-radius:18px!important;
  background:#fbfaff!important;
}
.wp-token-legend>div{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  background:#fff!important;
  border:1px solid rgba(81,72,132,.075)!important;
  font-size:12px!important;
}
.wp-roadmap>div{grid-template-columns:105px 160px minmax(0,1.35fr) minmax(220px,.8fr)!important;}

@media(max-width:1180px){
  .section-head{grid-template-columns:1fr!important;gap:12px!important;align-items:start!important;}
  .section-head p{justify-self:start!important;max-width:760px!important;margin-top:0!important;}
  .architecture-layout,.greenfield-layout,.service-story-stack .story,.service-story-stack .story.reverse{grid-template-columns:1fr!important;}
  .architecture-visual,.greenfield-visual,.service-story-stack .story .visual{max-width:920px!important;margin-inline:auto!important;}
  .service-story-stack .story.reverse .copy,.service-story-stack .story.reverse .visual{order:initial!important;}
  .wp-token-layout{grid-template-columns:1fr 1fr!important;}
  .wp-token-legend{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .chapter-grid{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  :root{--fp26-y:40px;--fp26-y-sm:26px;--fp26-gutter:16px;}
  .section-head h2{font-size:clamp(32px,8.5vw,43px)!important;}
  .section-head p{font-size:14px!important;}
  .service-story-stack .story .copy h3{max-width:none!important;font-size:clamp(30px,8vw,40px)!important;}
  .architecture-layout .architecture-grid,.greenfield-layout .greenfield-grid,.data-flow,.role-grid,.utility-grid{grid-template-columns:1fr!important;grid-template-rows:auto!important;}
  .architecture-visual,.greenfield-visual{aspect-ratio:4/3!important;}
  .flow-step{min-height:0!important;}
  .wp-token-layout{grid-template-columns:1fr!important;}
  .wp-token-legend{grid-column:auto!important;grid-template-columns:1fr!important;}
  .wp-token-layout .wp-token-art{min-height:240px!important;}
  .wp-roadmap>div{grid-template-columns:1fr!important;}
}


/* =========================================================
   V27 — Final three-point polish
   1) whitepaper token art: no letterbox void + clipped rounded corners
   2) home experience intro: supporting copy sits below title, full reading width
   3) footer family phrase starts on its own line
   Content and illustration assets are otherwise unchanged.
   ========================================================= */

/* 1. Whitepaper token economy image uses its intrinsic 16:9 face directly. */
.wp-token-layout .wp-token-art{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  object-fit:contain!important;
  object-position:center!important;
  align-self:center!important;
  justify-self:stretch!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:26px!important;
  background:transparent!important;
  box-shadow:0 16px 42px rgba(57,49,104,.09)!important;
  clip-path:inset(0 round 26px)!important;
  overflow:hidden!important;
}

/* 2. Main-experience explanation belongs to the title, not a detached right column. */
.home-experience-section .section-head{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin-bottom:clamp(22px,2.2vw,32px)!important;
}
.home-experience-section .section-head>div{
  width:100%!important;
  max-width:none!important;
}
.home-experience-section .section-head h2{
  width:100%!important;
  max-width:none!important;
  text-wrap:pretty!important;
  word-break:keep-all!important;
}
.home-experience-section .section-head p{
  width:auto!important;
  max-width:1080px!important;
  margin:15px 0 0!important;
  padding:0!important;
  justify-self:start!important;
  font-size:clamp(14px,.98vw,16px)!important;
  line-height:1.76!important;
}

/* 3. The second footer line always begins with the family-focused copy. */
.footer-family-break{display:block!important;}

@media(max-width:760px){
  .wp-token-layout .wp-token-art{border-radius:20px!important;clip-path:inset(0 round 20px)!important;}
  .home-experience-section .section-head p{margin-top:12px!important;}
}

/* =========================================================
   V28 — Grid Finish / Native Media / Footer Closure
   Scope is intentionally limited to visual alignment and spacing.
   Copy, service order, whitepaper content and image source files stay unchanged.
   ========================================================= */
:root{
  --fp28-gap:clamp(24px,2.6vw,40px);
  --fp28-radius:28px;
  --fp28-line:rgba(81,72,132,.11);
  --fp28-shadow:0 16px 46px rgba(57,49,104,.065);
}

/* Section title + supporting description share the same left edge.
   This removes the detached right-column paragraph and makes every section read in one sweep. */
.section-head{
  display:block!important;
  width:100%!important;
  max-width:1120px!important;
  margin:0 0 clamp(22px,2.1vw,30px)!important;
}
.section-head>div{width:100%!important;max-width:none!important;}
.section-head h2{
  width:100%!important;
  max-width:none!important;
  margin:10px 0 0!important;
  text-wrap:pretty!important;
  word-break:keep-all!important;
}
.section-head p{
  width:100%!important;
  max-width:980px!important;
  margin:13px 0 0!important;
  padding:0!important;
  justify-self:start!important;
  align-self:auto!important;
  text-wrap:pretty!important;
  word-break:keep-all!important;
}

/* Service details: image and copy are two sibling surfaces, not one padded container.
   The media keeps its intrinsic ratio, so no vertical letterbox is introduced by a tall text column. */
.service-story-stack{gap:clamp(28px,3vw,42px)!important;}
.service-story-stack .story,
.service-story-stack .story.reverse{
  display:grid!important;
  grid-template-columns:minmax(560px,1.12fr) minmax(0,.88fr)!important;
  gap:var(--fp28-gap)!important;
  align-items:stretch!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.service-story-stack .story.reverse{grid-template-columns:minmax(0,.88fr) minmax(560px,1.12fr)!important;}
.service-story-stack .story .visual{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  align-self:center!important;
  display:block!important;
  overflow:hidden!important;
  border:1px solid var(--fp28-line)!important;
  border-radius:var(--fp28-radius)!important;
  background:transparent!important;
  box-shadow:var(--fp28-shadow)!important;
}
.service-story-stack .story .visual>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:calc(var(--fp28-radius) - 1px)!important;
  background:transparent!important;
  box-shadow:none!important;
}
.service-story-stack .story .copy{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:100%!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:clamp(26px,2.5vw,38px)!important;
  border:1px solid var(--fp28-line)!important;
  border-radius:var(--fp28-radius)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:var(--fp28-shadow)!important;
}
.service-story-stack .story .copy h3{
  max-width:none!important;
  text-wrap:pretty!important;
  word-break:keep-all!important;
}
.service-story-stack .story .copy .desc{max-width:58ch!important;}
.service-story-stack .story.reverse .copy{order:1!important;}
.service-story-stack .story.reverse .visual{order:2!important;}

/* Product images: use the file's own ratio and round the actual image edge.
   This avoids placing a smaller artwork inside a second decorative rectangle. */
.product-card{overflow:hidden!important;}
.product-visual{
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:transparent!important;
}
.service-product-grid .product-visual,
.service-product-grid .product-visual img{aspect-ratio:auto!important;}
.product-visual>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:25px 25px 0 0!important;
}

/* Web3 token economy: two equally weighted columns, vertically centered like the whitepaper composition. */
.token-section .token-grid.expanded{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(18px,2vw,28px)!important;
  align-items:center!important;
}
.token-section .donut-wrap{
  align-self:center!important;
  padding:clamp(20px,2vw,28px)!important;
  border-radius:28px!important;
}
.token-section .donut{
  width:min(300px,72%)!important;
  margin:0 auto 20px!important;
}
.token-section .legend{gap:8px 14px!important;}
.token-section .token-grid.expanded>.visual{
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  align-self:center!important;
  overflow:hidden!important;
  border:1px solid var(--fp28-line)!important;
  border-radius:28px!important;
  background:transparent!important;
  box-shadow:var(--fp28-shadow)!important;
}
.token-section .token-grid.expanded>.visual>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:27px!important;
  background:transparent!important;
}

/* Whitepaper token pair also stays centered on one row with a clean native 16:9 image edge. */
.wp-token-layout{align-items:center!important;}
.wp-token-layout .donut-wrap{align-self:center!important;}
.wp-token-layout .wp-token-art{
  align-self:center!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1672/941!important;
  object-fit:contain!important;
  border-radius:26px!important;
  clip-path:inset(0 round 26px)!important;
  overflow:hidden!important;
}

/* Close pages cleanly. The final content block hands off directly to the footer instead of creating a blank band. */
body[data-route="services"] main.page>.section:last-child,
body[data-route="web3"] main.page>.section:last-child,
body[data-route="roadmap"] main.page>.section:last-child,
body[data-route="news"] main.page>.section:last-child,
body[data-route="contact"] main.page>.section:last-child{
  padding-bottom:clamp(24px,2.4vw,36px)!important;
}
body[data-route="services"] .footer,
body[data-route="web3"] .footer,
body[data-route="roadmap"] .footer,
body[data-route="news"] .footer,
body[data-route="contact"] .footer,
body[data-route="whitepaper"] .footer{
  margin-top:0!important;
  padding-top:clamp(42px,4vw,54px)!important;
  padding-bottom:30px!important;
}
.footer-grid{align-items:start!important;}
.legal{margin-top:30px!important;}

/* Whitepaper finish line: last chapter ends on the same shell grid as the footer.
   Footer's first column follows the TOC column width for a deliberate final alignment. */
.whitepaper-page .wp-layout{margin-bottom:0!important;padding-bottom:0!important;}
.whitepaper-page #wp10{margin-bottom:0!important;}
.whitepaper-page + .footer .footer-grid{
  grid-template-columns:280px minmax(0,1fr) minmax(0,1fr)!important;
  gap:44px!important;
}
.whitepaper-page + .footer .legal{margin-top:28px!important;}

@media(max-width:1180px){
  .service-story-stack .story,
  .service-story-stack .story.reverse{grid-template-columns:1fr!important;gap:20px!important;}
  .service-story-stack .story.reverse .visual,
  .service-story-stack .story.reverse .copy{order:initial!important;}
  .service-story-stack .story .visual{max-width:920px!important;margin-inline:auto!important;}
  .token-section .token-grid.expanded{grid-template-columns:1fr!important;}
  .token-section .token-grid.expanded>.visual{max-width:900px!important;margin-inline:auto!important;}
  .whitepaper-page + .footer .footer-grid{grid-template-columns:1fr 1fr!important;gap:28px!important;}
  .whitepaper-page + .footer .footer-grid>div:first-child{grid-column:1/-1!important;}
}
@media(max-width:760px){
  .section-head{margin-bottom:20px!important;}
  .section-head p{margin-top:10px!important;}
  .service-story-stack{gap:24px!important;}
  .service-story-stack .story .copy{padding:22px 18px!important;border-radius:24px!important;}
  .service-story-stack .story .visual,
  .service-story-stack .story .visual>img{border-radius:24px!important;}
  .token-section .donut{width:min(270px,76vw)!important;}
  .whitepaper-page + .footer .footer-grid{grid-template-columns:1fr!important;}
  .whitepaper-page + .footer .footer-grid>div:first-child{grid-column:auto!important;}
}

/* =========================================================
   V29 — Visible Media Radius + Final Grid Alignment
   The previous pass still allowed legacy wrapper styles to visually
   swallow image corners. This pass makes the image itself the surface.
   No source image is cropped or replaced.
   ========================================================= */
:root{
  --fp29-radius:30px;
  --fp29-radius-sm:24px;
  --fp29-media-line:rgba(88,76,145,.14);
  --fp29-media-shadow:0 18px 48px rgba(58,48,105,.11);
  --fp29-gap:clamp(24px,2.4vw,38px);
}

/* A. SECTION HEADING: one reading column and one baseline. */
.section-head,
.home-experience-section .section-head{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 clamp(22px,2vw,30px)!important;
  padding:0!important;
}
.section-head>div,
.home-experience-section .section-head>div{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.section-head h2,
.home-experience-section .section-head h2{
  width:100%!important;
  max-width:none!important;
  margin:10px 0 0!important;
  padding:0!important;
  white-space:normal!important;
  text-wrap:pretty!important;
  word-break:keep-all!important;
}
.section-head p,
.home-experience-section .section-head p{
  width:100%!important;
  max-width:1120px!important;
  margin:12px 0 0!important;
  padding:0!important;
  justify-self:start!important;
  align-self:auto!important;
  white-space:normal!important;
  text-wrap:pretty!important;
  word-break:keep-all!important;
  line-height:1.75!important;
}

/* B. SERVICE DETAIL MEDIA: actual <img> is the rounded object.
   The wrapper is transparent and contributes no white mat or padding. */
.service-story-stack{
  gap:clamp(26px,2.7vw,40px)!important;
}
.service-story-stack .story,
.service-story-stack .story.reverse{
  grid-template-columns:minmax(560px,1.14fr) minmax(0,.86fr)!important;
  gap:var(--fp29-gap)!important;
  align-items:center!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.service-story-stack .story.reverse{
  grid-template-columns:minmax(0,.86fr) minmax(560px,1.14fr)!important;
}
.service-story-stack .story .visual,
.service-story-stack .story .visual.scene-card{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  align-self:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
.service-story-stack .story .visual::before,
.service-story-stack .story .visual::after,
.service-story-stack .story .scene-meta{display:none!important;}
.service-story-stack .story .visual>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--fp29-media-line)!important;
  border-radius:var(--fp29-radius)!important;
  clip-path:inset(0 round var(--fp29-radius))!important;
  box-shadow:var(--fp29-media-shadow)!important;
  background:transparent!important;
  transform:none!important;
  filter:none!important;
  overflow:hidden!important;
}
.service-story-stack .story .copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-self:center!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-width:none!important;
  padding:clamp(24px,2.4vw,36px)!important;
  border:1px solid rgba(82,72,133,.10)!important;
  border-radius:var(--fp29-radius)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 12px 38px rgba(58,48,105,.055)!important;
}
.service-story-stack .story.reverse .copy{order:1!important;}
.service-story-stack .story.reverse .visual{order:2!important;}

/* C. HOME / PRODUCT IMAGES: no secondary inner mat. */
.home-story-grid .visual,
.product-visual,
.service-product-grid .product-visual,
.home-product-grid .product-visual{
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  border-radius:0!important;
}
.home-story-grid .visual>img,
.product-visual>img,
.service-product-grid .product-visual>img,
.home-product-grid .product-visual>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--fp29-media-line)!important;
  border-radius:var(--fp29-radius)!important;
  clip-path:inset(0 round var(--fp29-radius))!important;
  box-shadow:var(--fp29-media-shadow)!important;
  background:transparent!important;
  transform:none!important;
  filter:none!important;
}
.product-card{
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.product-caption{
  margin-top:12px!important;
  border:1px solid rgba(82,72,133,.09)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(58,48,105,.045)!important;
}

/* D. WEB3 TOKEN ECONOMY: equal columns, vertically centered, image itself rounded. */
.token-section .token-grid.expanded{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(22px,2.3vw,34px)!important;
  align-items:center!important;
  margin-top:24px!important;
}
.token-section .donut-wrap{
  align-self:center!important;
  width:100%!important;
  height:auto!important;
  padding:clamp(22px,2.2vw,32px)!important;
  border-radius:var(--fp29-radius)!important;
  background:#fff!important;
  border:1px solid rgba(82,72,133,.10)!important;
  box-shadow:0 12px 38px rgba(58,48,105,.055)!important;
}
.token-section .token-grid.expanded>.visual{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  align-self:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.token-section .token-grid.expanded>.visual>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--fp29-media-line)!important;
  border-radius:var(--fp29-radius)!important;
  clip-path:inset(0 round var(--fp29-radius))!important;
  box-shadow:var(--fp29-media-shadow)!important;
  background:transparent!important;
  transform:none!important;
  filter:none!important;
}

/* E. WHITEPAPER TOKEN ECONOMY: same visual rule as public Web3 section. */
.wp-token-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(20px,2.2vw,32px)!important;
  align-items:center!important;
}
.wp-token-layout .donut-wrap{
  align-self:center!important;
  width:100%!important;
  padding:clamp(22px,2vw,30px)!important;
  border-radius:var(--fp29-radius)!important;
}
.wp-token-layout .wp-token-art{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  align-self:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--fp29-media-line)!important;
  border-radius:var(--fp29-radius)!important;
  clip-path:inset(0 round var(--fp29-radius))!important;
  box-shadow:var(--fp29-media-shadow)!important;
  background:transparent!important;
  overflow:hidden!important;
  transform:none!important;
  filter:none!important;
}
.wp-token-layout .wp-token-legend{
  grid-column:1/-1!important;
  margin-top:0!important;
}

/* F. PAGE END: eliminate the large blank band before footer. */
body[data-route="services"] main.page>.section:last-child,
body[data-route="web3"] main.page>.section:last-child,
body[data-route="roadmap"] main.page>.section:last-child,
body[data-route="news"] main.page>.section:last-child,
body[data-route="contact"] main.page>.section:last-child,
body[data-route="whitepaper"] main.page>.section:last-child{
  padding-bottom:20px!important;
  margin-bottom:0!important;
}
body[data-route="services"] .footer,
body[data-route="web3"] .footer,
body[data-route="roadmap"] .footer,
body[data-route="news"] .footer,
body[data-route="contact"] .footer,
body[data-route="whitepaper"] .footer{
  margin-top:0!important;
  padding:30px 0 28px!important;
}
.footer-grid{align-items:start!important;}
.legal{margin-top:22px!important;}

/* G. WHITEPAPER FINAL GRID: footer continues the exact TOC/content columns. */
body[data-route="whitepaper"] .wp-layout{
  grid-template-columns:280px minmax(0,1fr)!important;
  gap:44px!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
body[data-route="whitepaper"] #wp10{
  margin-bottom:0!important;
}
body[data-route="whitepaper"] .footer-grid{
  grid-template-columns:280px minmax(0,1fr) minmax(0,.58fr)!important;
  gap:44px!important;
}
body[data-route="whitepaper"] .footer-grid>div:first-child{grid-column:1!important;}
body[data-route="whitepaper"] .footer-grid>div:nth-child(2){grid-column:2!important;}
body[data-route="whitepaper"] .footer-grid>div:nth-child(3){grid-column:3!important;}

@media(max-width:1180px){
  .service-story-stack .story,
  .service-story-stack .story.reverse,
  .token-section .token-grid.expanded,
  .wp-token-layout{grid-template-columns:1fr!important;}
  .service-story-stack .story.reverse .copy,
  .service-story-stack .story.reverse .visual{order:initial!important;}
  .service-story-stack .story .visual{max-width:920px!important;margin-inline:auto!important;}
  .token-section .token-grid.expanded>.visual,
  .wp-token-layout .wp-token-art{max-width:920px!important;margin-inline:auto!important;}
  .wp-token-layout .wp-token-legend{grid-column:auto!important;}
  body[data-route="whitepaper"] .wp-layout{grid-template-columns:1fr!important;gap:24px!important;}
  body[data-route="whitepaper"] .footer-grid{grid-template-columns:1fr 1fr!important;gap:26px!important;}
  body[data-route="whitepaper"] .footer-grid>div:first-child{grid-column:1/-1!important;}
  body[data-route="whitepaper"] .footer-grid>div:nth-child(2),
  body[data-route="whitepaper"] .footer-grid>div:nth-child(3){grid-column:auto!important;}
}
@media(max-width:760px){
  :root{--fp29-radius:22px;--fp29-radius-sm:18px;}
  .section-head{margin-bottom:20px!important;}
  .section-head p{margin-top:9px!important;}
  .service-story-stack{gap:22px!important;}
  .service-story-stack .story .copy{padding:20px 17px!important;border-radius:22px!important;}
  .service-story-stack .story .visual>img,
  .home-story-grid .visual>img,
  .product-visual>img,
  .token-section .token-grid.expanded>.visual>img,
  .wp-token-layout .wp-token-art{
    border-radius:22px!important;
    clip-path:inset(0 round 22px)!important;
  }
  body[data-route="whitepaper"] .footer-grid{grid-template-columns:1fr!important;}
  body[data-route="whitepaper"] .footer-grid>div:first-child{grid-column:auto!important;}
}

/* =========================================================
   V30 — Unified Experience Blocks
   User-requested structural change:
   - Home experience overview: one full-width rounded block per service
   - Services detail: image + copy live inside one shared rounded block
   - Existing copy and image files are unchanged
   - No crop: intrinsic image ratio remains visible
   ========================================================= */
:root{
  --fp30-card-radius:38px;
  --fp30-media-radius:34px;
  --fp30-line:rgba(86,72,140,.11);
  --fp30-shadow:0 22px 68px rgba(56,47,105,.075);
  --fp30-gap:clamp(30px,3.1vw,52px);
}

/* HOME — replace the 2-card gallery with six full-width product-like rows. */
.home-story-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:clamp(24px,2.5vw,38px)!important;
}
.home-story-grid .home-story,
.home-story-grid .home-story.reverse{
  display:grid!important;
  grid-template-columns:minmax(0,1.16fr) minmax(390px,.84fr)!important;
  grid-template-rows:auto!important;
  gap:0!important;
  align-items:center!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--fp30-line)!important;
  border-radius:var(--fp30-card-radius)!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:var(--fp30-shadow)!important;
  overflow:hidden!important;
  transform:none!important;
}
.home-story-grid .home-story.reverse{
  grid-template-columns:minmax(390px,.84fr) minmax(0,1.16fr)!important;
}
.home-story-grid .home-story .visual,
.home-story-grid .home-story.reverse .visual{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  align-self:center!important;
}
.home-story-grid .home-story .visual>img,
.home-story-grid .home-story.reverse .visual>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  clip-path:none!important;
  transform:none!important;
  filter:none!important;
  background:transparent!important;
}
.home-story-grid .home-story:not(.reverse) .visual>img{
  border-radius:calc(var(--fp30-card-radius) - 1px) 24px 24px calc(var(--fp30-card-radius) - 1px)!important;
}
.home-story-grid .home-story.reverse .visual>img{
  border-radius:24px calc(var(--fp30-card-radius) - 1px) calc(var(--fp30-card-radius) - 1px) 24px!important;
}
.home-story-grid .home-story .copy,
.home-story-grid .home-story.reverse .copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-self:stretch!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  padding:clamp(30px,3.2vw,52px)!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-story-grid .home-story:not(.reverse) .visual{order:1!important;}
.home-story-grid .home-story:not(.reverse) .copy{order:2!important;}
.home-story-grid .home-story.reverse .copy{order:1!important;}
.home-story-grid .home-story.reverse .visual{order:2!important;}
.home-story-grid .home-story .copy h3{
  font-size:clamp(34px,3vw,50px)!important;
  line-height:1.08!important;
  margin:12px 0 16px!important;
  max-width:13ch!important;
}
.home-story-grid .home-story .copy .desc{
  max-width:48ch!important;
  font-size:clamp(14px,1.02vw,17px)!important;
  line-height:1.78!important;
}
.home-story-grid .home-story .num{font-size:12px!important;}

/* SERVICES — make each detail a single large block, not two detached cards. */
.service-story-stack{
  display:grid!important;
  gap:clamp(26px,2.8vw,44px)!important;
}
.service-story-stack .story,
.service-story-stack .story.reverse{
  display:grid!important;
  grid-template-columns:minmax(0,1.16fr) minmax(410px,.84fr)!important;
  gap:0!important;
  align-items:center!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--fp30-line)!important;
  border-radius:var(--fp30-card-radius)!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:var(--fp30-shadow)!important;
  overflow:hidden!important;
}
.service-story-stack .story.reverse{
  grid-template-columns:minmax(410px,.84fr) minmax(0,1.16fr)!important;
}
.service-story-stack .story .visual,
.service-story-stack .story .visual.scene-card,
.service-story-stack .story.reverse .visual{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  align-self:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.service-story-stack .story .visual>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  clip-path:none!important;
  box-shadow:none!important;
  background:transparent!important;
  transform:none!important;
  filter:none!important;
}
.service-story-stack .story:not(.reverse) .visual>img{
  border-radius:calc(var(--fp30-card-radius) - 1px) 24px 24px calc(var(--fp30-card-radius) - 1px)!important;
}
.service-story-stack .story.reverse .visual>img{
  border-radius:24px calc(var(--fp30-card-radius) - 1px) calc(var(--fp30-card-radius) - 1px) 24px!important;
}
.service-story-stack .story .copy,
.service-story-stack .story.reverse .copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-self:stretch!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:clamp(32px,3.4vw,56px)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.service-story-stack .story:not(.reverse) .visual{order:1!important;}
.service-story-stack .story:not(.reverse) .copy{order:2!important;}
.service-story-stack .story.reverse .copy{order:1!important;}
.service-story-stack .story.reverse .visual{order:2!important;}
.service-story-stack .story .copy h3{
  max-width:13ch!important;
  font-size:clamp(36px,3vw,50px)!important;
  line-height:1.08!important;
  margin:12px 0 17px!important;
}
.service-story-stack .story .copy .desc{
  max-width:49ch!important;
  font-size:clamp(14px,1.05vw,17px)!important;
  line-height:1.8!important;
}
.service-story-stack .story .microcards{
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin-top:20px!important;
}
.service-story-stack .story .micro{
  padding:13px 15px!important;
  border-radius:15px!important;
  box-shadow:none!important;
}

/* Keep the section heading visually connected to the first full-width block. */
.home-experience-section .section-head,
.service-products .section-head{
  margin-bottom:clamp(20px,2vw,30px)!important;
}

@media(max-width:1180px){
  .home-story-grid .home-story,
  .home-story-grid .home-story.reverse,
  .service-story-stack .story,
  .service-story-stack .story.reverse{
    grid-template-columns:1fr!important;
  }
  .home-story-grid .home-story.reverse .visual,
  .home-story-grid .home-story.reverse .copy,
  .service-story-stack .story.reverse .visual,
  .service-story-stack .story.reverse .copy{
    order:initial!important;
  }
  .home-story-grid .home-story .visual>img,
  .home-story-grid .home-story.reverse .visual>img,
  .service-story-stack .story .visual>img,
  .service-story-stack .story.reverse .visual>img{
    border-radius:calc(var(--fp30-card-radius) - 1px) calc(var(--fp30-card-radius) - 1px) 24px 24px!important;
  }
  .home-story-grid .home-story .copy h3,
  .service-story-stack .story .copy h3{max-width:18ch!important;}
}

@media(max-width:760px){
  :root{--fp30-card-radius:26px;--fp30-media-radius:23px;}
  .home-story-grid{gap:18px!important;}
  .service-story-stack{gap:20px!important;}
  .home-story-grid .home-story .copy,
  .home-story-grid .home-story.reverse .copy,
  .service-story-stack .story .copy,
  .service-story-stack .story.reverse .copy{
    padding:22px 19px 24px!important;
  }
  .home-story-grid .home-story .visual>img,
  .home-story-grid .home-story.reverse .visual>img,
  .service-story-stack .story .visual>img,
  .service-story-stack .story.reverse .visual>img{
    border-radius:25px 25px 18px 18px!important;
  }
  .home-story-grid .home-story .copy h3,
  .service-story-stack .story .copy h3{
    max-width:none!important;
    font-size:clamp(29px,8vw,39px)!important;
  }
}

/* =========================================================
   V31 — Integrated Image + Copy Panels
   Reference direction: one large rounded surface, generous media,
   copy vertically centered in the same surface. No crop.
   ========================================================= */
:root{
  --fp31-card-radius:38px;
  --fp31-media-radius:30px;
  --fp31-line:rgba(115,101,185,.13);
  --fp31-shadow:0 28px 76px rgba(79,64,145,.09);
  --fp31-surface:linear-gradient(135deg,rgba(250,247,255,.98),rgba(255,247,249,.97) 58%,rgba(255,251,244,.96));
}

/* Shared surface language: one block, not image-card + text-card. */
.home-story-grid .home-story,
.home-story-grid .home-story.reverse,
.service-story-stack .story,
.service-story-stack .story.reverse{
  display:grid!important;
  grid-template-columns:minmax(0,1.17fr) minmax(380px,.83fr)!important;
  gap:0!important;
  align-items:center!important;
  padding:14px!important;
  border:1px solid var(--fp31-line)!important;
  border-radius:var(--fp31-card-radius)!important;
  background:var(--fp31-surface)!important;
  box-shadow:var(--fp31-shadow)!important;
  overflow:hidden!important;
}
.home-story-grid .home-story.reverse,
.service-story-stack .story.reverse{
  grid-template-columns:minmax(380px,.83fr) minmax(0,1.17fr)!important;
}

/* The image itself is the visual plane. Keep its native ratio and round it clearly. */
.home-story-grid .home-story .visual,
.home-story-grid .home-story.reverse .visual,
.service-story-stack .story .visual,
.service-story-stack .story .visual.scene-card,
.service-story-stack .story.reverse .visual{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:var(--fp31-media-radius)!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  align-self:center!important;
}
.home-story-grid .home-story .visual>img,
.home-story-grid .home-story.reverse .visual>img,
.service-story-stack .story .visual>img,
.service-story-stack .story.reverse .visual>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:var(--fp31-media-radius)!important;
  clip-path:inset(0 round var(--fp31-media-radius))!important;
  box-shadow:none!important;
  background:transparent!important;
  transform:none!important;
  filter:none!important;
}
.home-story-grid .home-story .visual::before,
.home-story-grid .home-story .visual::after,
.service-story-stack .story .visual::before,
.service-story-stack .story .visual::after,
.home-story-grid .home-story .scene-meta,
.service-story-stack .story .scene-meta{display:none!important;}

/* Copy is not a second card. It belongs to the same surface. */
.home-story-grid .home-story .copy,
.home-story-grid .home-story.reverse .copy,
.service-story-stack .story .copy,
.service-story-stack .story.reverse .copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-self:stretch!important;
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  padding:clamp(36px,3.6vw,64px)!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-story-grid .home-story .copy h3,
.service-story-stack .story .copy h3{
  max-width:13.5ch!important;
  margin:14px 0 18px!important;
  font-size:clamp(38px,3.15vw,54px)!important;
  line-height:1.08!important;
  letter-spacing:-.055em!important;
}
.home-story-grid .home-story .copy .desc,
.service-story-stack .story .copy .desc{
  max-width:48ch!important;
  margin:0!important;
  font-size:clamp(14px,1.02vw,17px)!important;
  line-height:1.82!important;
}
.home-story-grid .home-story .num,
.service-story-stack .story .num{font-size:12px!important;}

/* Preserve the alternating reading rhythm while keeping media dominant. */
.home-story-grid .home-story:not(.reverse) .visual,
.service-story-stack .story:not(.reverse) .visual{order:1!important;}
.home-story-grid .home-story:not(.reverse) .copy,
.service-story-stack .story:not(.reverse) .copy{order:2!important;}
.home-story-grid .home-story.reverse .copy,
.service-story-stack .story.reverse .copy{order:1!important;}
.home-story-grid .home-story.reverse .visual,
.service-story-stack .story.reverse .visual{order:2!important;}

/* Health detail cards stay compact within the copy plane. */
.service-story-stack .story .microcards{
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin-top:22px!important;
}
.service-story-stack .story .micro{
  padding:13px 15px!important;
  border:1px solid rgba(112,98,180,.11)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:none!important;
}

/* Section spacing: enough breathing room without creating blank bands. */
.home-story-grid{gap:clamp(24px,2.5vw,38px)!important;}
.service-story-stack{gap:clamp(26px,2.7vw,42px)!important;}
.home-experience-section .section-head,
.service-products .section-head{margin-bottom:clamp(22px,2.1vw,32px)!important;}

@media(max-width:1180px){
  .home-story-grid .home-story,
  .home-story-grid .home-story.reverse,
  .service-story-stack .story,
  .service-story-stack .story.reverse{
    grid-template-columns:1fr!important;
    padding:12px!important;
  }
  .home-story-grid .home-story.reverse .visual,
  .home-story-grid .home-story.reverse .copy,
  .service-story-stack .story.reverse .visual,
  .service-story-stack .story.reverse .copy{order:initial!important;}
  .home-story-grid .home-story .copy,
  .service-story-stack .story .copy{padding:30px 26px 34px!important;}
  .home-story-grid .home-story .copy h3,
  .service-story-stack .story .copy h3{max-width:18ch!important;}
}

@media(max-width:760px){
  :root{--fp31-card-radius:27px;--fp31-media-radius:21px;}
  .home-story-grid .home-story,
  .home-story-grid .home-story.reverse,
  .service-story-stack .story,
  .service-story-stack .story.reverse{padding:8px!important;}
  .home-story-grid .home-story .copy,
  .home-story-grid .home-story.reverse .copy,
  .service-story-stack .story .copy,
  .service-story-stack .story.reverse .copy{padding:23px 18px 25px!important;}
  .home-story-grid .home-story .copy h3,
  .service-story-stack .story .copy h3{
    max-width:none!important;
    font-size:clamp(30px,8.4vw,40px)!important;
  }
}

/* =========================================================
   V32 — Whitepaper-only media normalization
   Public Home / Services / Web3 / Roadmap / News / Contact remain V31.
   - Native image ratio; no forced 16:9 on 4:3 chapter art
   - Image itself is the rounded visual surface
   - Whitepaper vesting illustration is shown as a real image, not a tiny icon
   - The non-reference-style trust image is intentionally not rendered
   ========================================================= */
body[data-route="whitepaper"]{
  --fp32-wp-radius:30px;
  --fp32-wp-radius-sm:22px;
  --fp32-wp-line:rgba(111,96,180,.13);
  --fp32-wp-shadow:0 20px 58px rgba(71,58,132,.09);
}

/* Whitepaper cover and chapter media: no decorative inner mat, no forced ratio. */
body[data-route="whitepaper"] .wp-cover>img,
body[data-route="whitepaper"] .chapter-grid>img,
body[data-route="whitepaper"] .wp-lifecycle-extra>img,
body[data-route="whitepaper"] .wp-token-layout .wp-token-art{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--fp32-wp-line)!important;
  border-radius:var(--fp32-wp-radius)!important;
  clip-path:inset(0 round var(--fp32-wp-radius))!important;
  background:transparent!important;
  box-shadow:var(--fp32-wp-shadow)!important;
  transform:none!important;
  filter:none!important;
  overflow:hidden!important;
}

/* Remove legacy image-stage washes that make the illustration look pasted inside another box. */
body[data-route="whitepaper"] .chapter-grid>img,
body[data-route="whitepaper"] .wp-lifecycle-extra>img{
  background-image:none!important;
}
body[data-route="whitepaper"] .wp-cover>img:hover,
body[data-route="whitepaper"] .chapter-grid>img:hover,
body[data-route="whitepaper"] .wp-lifecycle-extra>img:hover,
body[data-route="whitepaper"] .wp-token-layout .wp-token-art:hover{
  transform:none!important;
}

/* Give copy and media one stable row without stretching either side. */
body[data-route="whitepaper"] .chapter-grid{
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr)!important;
  gap:clamp(24px,2.6vw,40px)!important;
  align-items:center!important;
}
body[data-route="whitepaper"] .chapter-grid.wp-text-only{
  grid-template-columns:minmax(0,1fr)!important;
  max-width:900px!important;
}
body[data-route="whitepaper"] .chapter-grid.wp-text-only>div{
  max-width:780px!important;
}

/* Token economy: chart and reference-style illustration are two equal visual columns. */
body[data-route="whitepaper"] .wp-token-layout{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(20px,2.2vw,30px)!important;
  align-items:center!important;
}
body[data-route="whitepaper"] .wp-token-layout .donut-wrap{
  align-self:center!important;
  height:auto!important;
  min-height:0!important;
  padding:clamp(22px,2.2vw,32px)!important;
  border:1px solid var(--fp32-wp-line)!important;
  border-radius:var(--fp32-wp-radius)!important;
  background:#fff!important;
  box-shadow:var(--fp32-wp-shadow)!important;
}
body[data-route="whitepaper"] .wp-token-layout .wp-token-art{
  align-self:center!important;
}
body[data-route="whitepaper"] .wp-token-layout .wp-token-legend{
  grid-column:1/-1!important;
}

/* The vesting asset is a full 4:3 illustration. Stop shrinking it into an 88px icon. */
body[data-route="whitepaper"] #wp4 .vesting-schedule{
  display:grid!important;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr)!important;
  gap:clamp(22px,2.4vw,36px)!important;
  align-items:center!important;
  padding:clamp(22px,2.4vw,34px)!important;
}
body[data-route="whitepaper"] #wp4 .vesting-schedule .pending-art{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:var(--fp32-wp-radius)!important;
  background:transparent!important;
  overflow:hidden!important;
  display:block!important;
}
body[data-route="whitepaper"] #wp4 .vesting-schedule .pending-art>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--fp32-wp-line)!important;
  border-radius:var(--fp32-wp-radius)!important;
  clip-path:inset(0 round var(--fp32-wp-radius))!important;
  background:transparent!important;
  box-shadow:var(--fp32-wp-shadow)!important;
}
body[data-route="whitepaper"] #wp4 .vesting-schedule>div:nth-child(2){
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
}
body[data-route="whitepaper"] #wp4 .vesting-schedule .vesting-table{
  grid-column:1/-1!important;
  grid-row:2!important;
}

/* Lifecycle image: use the entire content width as a clean visual plane. */
body[data-route="whitepaper"] .wp-lifecycle-extra{
  overflow:visible!important;
}
body[data-route="whitepaper"] .wp-lifecycle-extra>img{
  margin-top:20px!important;
}

@media(max-width:1180px){
  body[data-route="whitepaper"] .chapter-grid,
  body[data-route="whitepaper"] .wp-token-layout,
  body[data-route="whitepaper"] #wp4 .vesting-schedule{
    grid-template-columns:1fr!important;
  }
  body[data-route="whitepaper"] #wp4 .vesting-schedule .pending-art,
  body[data-route="whitepaper"] #wp4 .vesting-schedule>div:nth-child(2),
  body[data-route="whitepaper"] #wp4 .vesting-schedule .vesting-table{
    grid-column:1!important;
    grid-row:auto!important;
  }
  body[data-route="whitepaper"] #wp4 .vesting-schedule .pending-art{
    max-width:760px!important;
    margin-inline:auto!important;
  }
}
@media(max-width:760px){
  body[data-route="whitepaper"]{--fp32-wp-radius:22px;}
  body[data-route="whitepaper"] .wp-cover>img,
  body[data-route="whitepaper"] .chapter-grid>img,
  body[data-route="whitepaper"] .wp-lifecycle-extra>img,
  body[data-route="whitepaper"] .wp-token-layout .wp-token-art,
  body[data-route="whitepaper"] #wp4 .vesting-schedule .pending-art>img{
    border-radius:var(--fp32-wp-radius-sm)!important;
    clip-path:inset(0 round var(--fp32-wp-radius-sm))!important;
  }
}

/* =========================================================
   V33 — Whitepaper token-utility cards only
   Everything else remains V32.
   ========================================================= */
body[data-route="whitepaper"] #wp4 .utility-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin:22px 0 0!important;
  padding:0!important;
  align-items:stretch!important;
  position:relative!important;
  overflow:visible!important;
}
body[data-route="whitepaper"] #wp4 .utility-card{
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:210px!important;
  margin:0!important;
  padding:26px 28px!important;
  border:1px solid var(--fp32-wp-line)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(71,58,132,.055)!important;
  overflow:hidden!important;
  transform:none!important;
  opacity:1!important;
  align-self:stretch!important;
}
body[data-route="whitepaper"] #wp4 .utility-card:hover{
  transform:none!important;
  box-shadow:0 12px 34px rgba(71,58,132,.055)!important;
}
body[data-route="whitepaper"] #wp4 .utility-card>span{
  width:40px!important;
  height:40px!important;
  border-radius:13px!important;
}
body[data-route="whitepaper"] #wp4 .utility-card h3{
  margin:20px 0 10px!important;
  font-size:clamp(22px,1.7vw,28px)!important;
  line-height:1.2!important;
}
body[data-route="whitepaper"] #wp4 .utility-card p{
  margin:0!important;
  font-size:14px!important;
  line-height:1.75!important;
}
body[data-route="whitepaper"] #wp4>.chapter-subtitle + .utility-grid{
  margin-top:18px!important;
}
@media(max-width:760px){
  body[data-route="whitepaper"] #wp4 .utility-grid{grid-template-columns:1fr!important;gap:10px!important;}
  body[data-route="whitepaper"] #wp4 .utility-card{min-height:0!important;padding:22px!important;border-radius:20px!important;}
}

/* =========================================================
   V34 — ONLY: wp4 "final stage of the data economy" callout
   Keep every other V33 element unchanged.
   ========================================================= */
body[data-route="whitepaper"] #wp4 .utility-grid + .wp-callout{
  clear:both!important;
  display:grid!important;
  grid-template-columns:minmax(190px,.26fr) minmax(0,.74fr)!important;
  align-items:center!important;
  column-gap:28px!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:28px 0 22px!important;
  padding:24px 28px!important;
  position:relative!important;
  inset:auto!important;
  z-index:1!important;
  transform:none!important;
  border:1px solid #e5dcf8!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#f5f1ff 0%,#fff5f8 100%)!important;
  box-shadow:0 10px 26px rgba(74,60,136,.045)!important;
  overflow:hidden!important;
}
body[data-route="whitepaper"] #wp4 .utility-grid + .wp-callout b{
  margin:0!important;
  font-size:16px!important;
  line-height:1.45!important;
  letter-spacing:-.02em!important;
}
body[data-route="whitepaper"] #wp4 .utility-grid + .wp-callout p{
  margin:0!important;
  min-width:0!important;
  font-size:13.5px!important;
  line-height:1.72!important;
}
@media(max-width:760px){
  body[data-route="whitepaper"] #wp4 .utility-grid + .wp-callout{
    grid-template-columns:1fr!important;
    row-gap:8px!important;
    margin:20px 0 18px!important;
    padding:20px!important;
    border-radius:18px!important;
  }
}
