/* Dedicated Kanvas landing page. Kept separate so changes deploy cleanly. */
body.kanvas-site{background:#070812;color:#f3f2f8}
body.kanvas-site:before{background:radial-gradient(circle at 76% 25%,rgba(94,58,171,.10),transparent 32%),linear-gradient(180deg,#080912,#070812 72%)}
body.kanvas-site:after{opacity:.52}
.kanvas-site .site-header{background:rgba(7,8,18,.94);border-bottom:1px solid rgba(190,185,224,.12)}

.kv-hero{position:relative;padding:42px 0 58px;overflow:hidden;background:linear-gradient(180deg,rgba(8,9,18,.86),rgba(8,9,20,.80));border-bottom:2px solid #8d5cff;box-shadow:0 14px 34px -18px rgba(141,92,255,.95)}
.kv-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(560px,1.5fr);align-items:center;min-height:410px;position:relative}
.kv-copy{position:relative;z-index:4;padding:20px 0 24px}
.kv-pill{display:inline-block;margin-bottom:22px;padding:7px 14px;border:1px solid rgba(145,100,244,.18);border-radius:999px;background:rgba(83,45,163,.31);color:#b694ff;font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em}
.kv-copy h1{margin:0;font-size:clamp(72px,7vw,112px);line-height:.88;letter-spacing:-.08em;background:linear-gradient(92deg,#f3f0ff 4%,#bda8ff 46%,#7043ef 92%);-webkit-background-clip:text;background-clip:text;color:transparent}
.kv-subtitle{margin:18px 0 20px;font-size:clamp(19px,1.8vw,27px);font-weight:600;color:#d1cfe0;letter-spacing:-.035em}
.kv-lead{max-width:640px;margin:0;color:#aaaec1;font-size:16px;line-height:1.65}
.kv-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:27px}
.kv-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 21px;border-radius:9px;font:12px var(--mono);transition:.2s ease}
.kv-button.primary{border:1px solid rgba(172,132,255,.54);background:linear-gradient(135deg,#5f35df,#783bf1);box-shadow:0 10px 30px rgba(87,45,208,.22);color:#fff}
.kv-button.primary:hover{transform:translateY(-2px);background:linear-gradient(135deg,#6b40e7,#8647f8)}
.kv-button.secondary{border:1px solid rgba(194,190,224,.16);background:rgba(10,11,22,.72);color:#e0dfeb}
.kv-button.secondary:hover{border-color:rgba(169,137,240,.42);background:rgba(19,17,37,.86)}

.kv-art{position:relative;height:410px;margin-left:-104px;margin-right:0;overflow:hidden;border-radius:0 18px 18px 0;background:radial-gradient(circle at 69% 36%,#381574 0 12%,#1a0d42 32%,#0b0c20 61%,#070812 81%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 7%,#000 24%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 7%,#000 24%,#000 100%)}
.kv-art:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 .7px,transparent 1.3px),radial-gradient(circle,#aa80ff 0 .65px,transparent 1.2px);background-size:112px 93px,176px 151px;background-position:16px 27px,91px 5px;opacity:.63}
.kv-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,18,.9) 0%,rgba(7,8,18,.4) 8%,transparent 24%),linear-gradient(118deg,transparent 26%,rgba(133,64,248,.08) 41%,rgba(233,52,224,.15) 50%,transparent 63%)}
.kv-planet{position:absolute;width:540px;height:540px;border-radius:50%;right:-6px;top:-205px;background:radial-gradient(circle at 32% 32%,#5125a0,#1b1046 34%,#0c0e23 63%,#06070e 76%);box-shadow:-48px 54px 120px rgba(93,38,203,.30),inset -38px -36px 80px rgba(0,0,0,.58)}
.kv-planet:after{content:'';position:absolute;inset:11%;border-radius:50%;background:radial-gradient(ellipse at 30% 70%,rgba(255,45,205,.34),transparent 23%),radial-gradient(ellipse at 55% 43%,rgba(94,81,255,.27),transparent 24%)}
.kv-ribbon{position:absolute;right:-65px;border-radius:50%;transform-origin:right center;background:linear-gradient(90deg,transparent,rgba(70,42,231,.45),rgba(247,55,220,.88),rgba(122,79,255,.55),transparent);box-shadow:0 0 30px rgba(166,55,247,.27)}
.kv-ribbon.r1{width:760px;height:25px;top:188px;right:-88px;transform:rotate(-18deg)}
.kv-ribbon.r2{width:690px;height:18px;top:252px;right:-76px;transform:rotate(-25deg)}
.kv-ribbon.r3{width:590px;height:11px;top:315px;right:-60px;transform:rotate(-33deg)}
.kv-art-title{position:absolute;right:28px;bottom:25px;text-align:right;display:flex;flex-direction:column;gap:4px}
.kv-art-title strong{font:500 15px var(--mono);letter-spacing:.3em;color:#d6cff8}
.kv-art-title span{font:8px/1.6 var(--mono);letter-spacing:.24em;color:#9287c7}

.kv-features{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:2px}
.kv-features article{display:grid;grid-template-columns:50px minmax(0,1fr);gap:16px;align-items:start;padding:23px;border:1px solid rgba(190,185,223,.13);border-radius:11px;background:linear-gradient(145deg,rgba(17,18,34,.96),rgba(9,10,21,.94));box-shadow:0 12px 30px rgba(0,0,0,.12)}
.kv-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;border:1px solid rgba(145,102,242,.18);background:linear-gradient(145deg,rgba(97,51,210,.40),rgba(51,27,107,.46));color:#ae8cff;font-size:21px}
.kv-features h2{margin:2px 0 4px;font-size:15px;letter-spacing:-.025em}
.kv-features p{margin:0;color:#969aae;font-size:13px;line-height:1.5}

.kv-about{display:grid;grid-template-columns:.9fr 1.2fr;gap:64px;align-items:center;padding:88px 0 92px}
.kv-about h2,.kv-details h2,.kv-status h2{font-size:clamp(39px,4.4vw,64px);letter-spacing:-.06em;margin:13px 0 22px}
.kv-about h2 span{color:#9d73ff}
.kv-about p:not(.eyebrow),.kv-details p:not(.eyebrow),.kv-status p{color:#a8acbd;font-size:15.5px;line-height:1.7}
.kv-landscape{position:relative;min-height:320px;border:1px solid rgba(185,175,224,.15);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#0a0b21,#171039 52%,#090b17 69%,#060711);box-shadow:0 22px 68px rgba(31,10,79,.18)}
.kv-sky{position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 .7px,transparent 1.2px),radial-gradient(circle,#a47bff 0 .6px,transparent 1.1px);background-size:94px 81px,151px 129px;opacity:.58}
.kv-moon{position:absolute;width:215px;height:215px;border-radius:50%;right:75px;top:-34px;background:radial-gradient(circle at 35% 35%,#513095,#211650 55%,#0b0c20 78%);box-shadow:0 0 70px rgba(128,72,242,.29)}
.kv-mountains{position:absolute;left:-3%;right:-3%;bottom:88px;height:115px;background:linear-gradient(151deg,transparent 7%,#090a16 8% 17%,transparent 18%),linear-gradient(30deg,transparent 18%,#11111f 19% 33%,transparent 34%),linear-gradient(159deg,transparent 45%,#070811 46% 60%,transparent 61%),linear-gradient(22deg,transparent 68%,#0c0d18 69% 81%,transparent 82%)}
.kv-water{position:absolute;left:0;right:0;bottom:0;height:93px;background:linear-gradient(180deg,rgba(100,58,183,.18),rgba(7,8,16,.93)),repeating-linear-gradient(0deg,rgba(165,109,255,.13) 0 2px,transparent 2px 12px)}
.kv-landscape-title{position:absolute;left:28px;bottom:23px;display:flex;flex-direction:column}
.kv-landscape-title strong{font:500 17px var(--mono);letter-spacing:.28em;color:#d6cff4}
.kv-landscape-title span{margin-top:5px;font:8px var(--mono);letter-spacing:.26em;color:#907fc8}

.kv-details{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:72px 0;border-top:1px solid rgba(195,190,225,.11)}
.kv-detail{max-width:550px}
.kv-detail h2{font-size:clamp(34px,3.7vw,52px)}
.kv-pipeline-wrap{padding:66px 0;border-top:1px solid rgba(195,190,225,.11)}
.kv-pipeline{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:26px 0 18px;padding:20px;border:1px solid rgba(190,181,228,.14);border-radius:11px;background:rgba(13,14,28,.74)}
.kv-pipeline span{padding:10px 14px;border-radius:7px;border:1px solid rgba(144,101,230,.18);background:rgba(98,57,192,.12);font:11px var(--mono);color:#d3d3e3}
.kv-pipeline b{font-weight:400;color:#805ee2}
.kv-tags{display:flex;gap:8px;flex-wrap:wrap}
.kv-tags span{padding:7px 10px;border:1px solid rgba(183,173,223,.14);border-radius:999px;background:rgba(11,12,23,.7);font:10px var(--mono);color:#aaadbf}

.kv-status{display:grid;grid-template-columns:.7fr 1.1fr;gap:70px;padding:70px 0 84px;border-top:1px solid rgba(195,190,225,.11)}
.kv-status .kv-button{margin-top:12px}
.kv-next{display:flex;justify-content:space-between;gap:24px;padding:31px 0 70px;border-top:1px solid rgba(195,190,225,.11)}
.kv-next a{font:11px var(--mono);color:#9de1e5;border-bottom:1px solid rgba(157,225,229,.2);padding-bottom:6px}

@media(max-width:1000px){
  .kv-hero-grid{grid-template-columns:1fr;gap:22px}
  .kv-art{margin-left:0;margin-right:0;height:340px;border-radius:16px;-webkit-mask-image:none;mask-image:none}
  .kv-features{grid-template-columns:repeat(2,1fr);margin-top:18px}
  .kv-about{grid-template-columns:1fr;gap:34px}
}
@media(max-width:650px){
  .kv-hero{padding:24px 0 44px}
  .kv-copy h1{font-size:clamp(68px,20vw,94px)}
  .kv-subtitle{font-size:20px}
  .kv-lead{font-size:14.5px}
  .kv-art{height:265px}
  .kv-planet{width:340px;height:340px;right:-115px;top:-110px}
  .kv-ribbon.r1{width:400px;top:138px}.kv-ribbon.r2{width:350px;top:183px}.kv-ribbon.r3{width:300px;top:224px}
  .kv-features{grid-template-columns:1fr}
  .kv-features article{padding:18px}
  .kv-about{padding:68px 0}
  .kv-details,.kv-status{grid-template-columns:1fr;gap:22px;padding:54px 0}
  .kv-pipeline-wrap{padding:54px 0}
  .kv-about h2,.kv-details h2,.kv-status h2{font-size:clamp(37px,11vw,52px)}
  .kv-next{flex-direction:column;align-items:flex-start}
}

/* Kanvas polish pass */
.kv-art{isolation:isolate}
.kv-art .kv-foreground-glow{pointer-events:none}
.kv-art:before{z-index:0}
.kv-art:after{z-index:1}
.kv-planet,.kv-ribbon,.kv-art-title{z-index:2}
.kv-art::marker{display:none}
.kv-art .r1{filter:drop-shadow(0 0 18px rgba(235,62,221,.30))}
.kv-art .r2{filter:drop-shadow(0 0 13px rgba(111,78,255,.26))}
.kv-art .r3{filter:drop-shadow(0 0 10px rgba(92,66,230,.24))}
.kv-art{--fg-streak:linear-gradient(90deg,transparent 0%,rgba(104,64,255,.16) 23%,rgba(249,70,220,.64) 48%,rgba(146,100,255,.30) 69%,transparent 100%)}
.kv-art .kv-art-title{z-index:4}
.kv-art:after{background:
  linear-gradient(90deg,rgba(7,8,18,.9) 0%,rgba(7,8,18,.4) 8%,transparent 24%),
  linear-gradient(118deg,transparent 26%,rgba(133,64,248,.08) 41%,rgba(233,52,224,.15) 50%,transparent 63%)}
.kv-art::before{box-shadow:inset 0 0 90px rgba(0,0,0,.12)}
.kv-art{background:
  radial-gradient(circle at 69% 36%,#381574 0 12%,#1a0d42 32%,#0b0c20 61%,#070812 81%)}
.kv-art .kv-ribbon.r1::after{content:'';position:absolute;left:8%;right:10%;top:50%;height:8px;transform:translateY(-50%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);filter:blur(7px);border-radius:50%}

.kv-credibility{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin:22px auto 18px;padding:10px 14px;color:#9ca1b7;font:10px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.kv-credibility span{white-space:nowrap}
.kv-credibility i{font-style:normal;color:#6f55b8}

.kv-icon{padding:0}
.kv-icon svg{width:22px;height:22px;fill:none;stroke:#b99aff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kv-features article{transition:transform .2s ease,border-color .2s ease,background .2s ease}
.kv-features article:hover{transform:translateY(-2px);border-color:rgba(150,108,244,.28);background:linear-gradient(145deg,rgba(22,21,43,.98),rgba(10,11,22,.96))}

.kv-github-cta{min-width:190px;box-shadow:0 12px 34px rgba(87,45,208,.28)}
.kv-status .kv-github-cta{margin-top:18px}
@media(max-width:650px){
  .kv-credibility{justify-content:flex-start;gap:7px;padding-left:0;padding-right:0}
  .kv-credibility i{display:none}
  .kv-credibility span{padding:5px 8px;border:1px solid rgba(179,162,230,.12);border-radius:999px;background:rgba(12,13,25,.54);font-size:9px}
}

/* Feature icon rendering fix */
.kv-icon{color:#b99aff}
.kv-icon svg{display:block;width:22px;height:22px;fill:none!important;stroke:currentColor!important}
.kv-icon svg *{fill:none!important;stroke:currentColor!important}

.kv-hero:after{
  content:'';
  position:absolute;
  left:8%;
  right:8%;
  bottom:-1px;
  height:24px;
  pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(141,92,255,.42) 0%,rgba(141,92,255,.16) 38%,transparent 72%);
  filter:blur(9px);
  z-index:0;
}
.kv-hero-grid,.kv-credibility,.kv-features{position:relative;z-index:1}
@media(max-width:1000px){
  .kv-art{margin-left:0;margin-right:0;border-radius:16px;-webkit-mask-image:none;mask-image:none}
}

/* Restore the site-wide space field on the Kanvas page. */
.kv-hero:before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.48;
  background-image:
    radial-gradient(circle,#f4f2ff 0 .75px,transparent 1.2px),
    radial-gradient(circle,#b99aff 0 .7px,transparent 1.15px),
    radial-gradient(circle,#89dbe4 0 .55px,transparent 1.05px);
  background-size:139px 163px,223px 211px,307px 281px;
  background-position:19px 27px,96px 61px,48px 139px;
}
.kanvas-site main{
  position:relative;
  background:
    radial-gradient(ellipse 42% 30% at 80% 18%,rgba(100,62,185,.10),transparent 74%),
    radial-gradient(ellipse 32% 28% at 17% 61%,rgba(37,83,122,.08),transparent 76%);
}
.kv-about,.kv-details,.kv-pipeline-wrap,.kv-status,.kv-next{
  position:relative;
  z-index:1;
}
