/* Solvegia · product pages: live demo hero, scroll story, bento, use cases, API, FAQ. */
.tint-text{background:linear-gradient(95deg,#fff 0%,var(--c1) 45%,var(--c2));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:flow 14s linear infinite}

/* ---------- Hero ---------- */
.p-hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);align-items:center;gap:clamp(30px,5vw,90px);padding-top:130px;padding-bottom:6vh}
.p-hero-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.p-hero .eyebrow{color:var(--c1)}
.p-hero .eyebrow::before{background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 0 14px var(--c1)}
.p-hero .prod-name{font-size:clamp(64px,9.4vw,168px)!important;line-height:.9}
.p-hero .prod-line{background-image:linear-gradient(95deg,#fff 0%,var(--c1) 25%,var(--c2) 50%,var(--c1) 75%,#fff 100%);font-size:clamp(26px,2.7vw,44px);line-height:1.08;max-width:15em}
.p-mark{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line);box-shadow:inset 0 0 22px -8px var(--c1),0 0 40px -14px var(--c1)}
.p-mark .plogo{width:24px;height:24px}
.p-crumbs{display:flex;align-items:center;gap:14px}

/* ---------- Live demo window ---------- */
.p-demo-wrap{position:relative;min-width:0;perspective:1400px}
.p-demo-wrap::before{content:"";position:absolute;inset:-14% -10%;z-index:-1;background:radial-gradient(closest-side,color-mix(in srgb,var(--c1) 26%,transparent),transparent 70%);filter:blur(30px);opacity:.75}
.p-demo{position:relative;border-radius:22px;overflow:hidden;background:linear-gradient(170deg,rgba(20,24,48,.86),rgba(8,10,24,.9));box-shadow:0 60px 140px -50px rgba(0,0,0,.95),inset 0 0 0 1px rgba(210,215,255,.13);transform:rotateY(-7deg) rotateX(3deg);transform-origin:30% 50%;transition:transform 1.2s var(--ease)}
.p-demo-wrap:hover .p-demo{transform:none}
.d-bar{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px solid var(--line)}
.d-bar i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.14)}
.d-bar span{margin-left:12px;flex:1;padding:5px 12px;border-radius:8px;background:rgba(255,255,255,.04);font:400 11.5px var(--mono);color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.d-body{position:relative;padding:22px;min-height:400px;font-size:13.5px;color:var(--soft)}
.d-body *{transition:opacity .5s var(--ease),transform .6s var(--ease),background .5s,color .4s,width .8s var(--ease),border-color .4s}
.d-hide{opacity:0!important;transform:translateY(8px)!important}
.d-row{display:flex;align-items:center;gap:12px}
.d-card{border-radius:14px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line);padding:14px 16px}
.d-lbl{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.d-val{color:var(--ink);font-weight:500}
.d-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;font:500 11px var(--mono);background:rgba(255,255,255,.06);color:var(--mute)}
.d-pill.on{background:color-mix(in srgb,var(--c1) 22%,transparent);color:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c1) 60%,transparent)}
.d-pill.ok{background:rgba(120,240,190,.16);color:#bff7df;box-shadow:inset 0 0 0 1px rgba(120,240,190,.45)}
.d-pill.ko{background:rgba(255,110,130,.16);color:#ffc2cc;box-shadow:inset 0 0 0 1px rgba(255,110,130,.45)}
.d-line{height:8px;border-radius:4px;background:rgba(255,255,255,.08)}
.d-grad{background:linear-gradient(90deg,var(--c1),var(--c2))}
.d-caret::after{content:"";display:inline-block;width:1.5px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--c1);animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.d-input{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(0,0,0,.25);box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink);min-height:44px}
.d-input svg{flex:none;opacity:.6}
.d-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:10px;font-weight:600;font-size:13px;color:#07101c;background:linear-gradient(90deg,var(--c1),var(--c2))}
.d-bubble{max-width:82%;padding:11px 14px;border-radius:16px;line-height:1.5}
.d-bubble.me{margin-left:auto;border-bottom-right-radius:5px;background:linear-gradient(135deg,color-mix(in srgb,var(--c1) 40%,#1a1d3a),color-mix(in srgb,var(--c2) 35%,#1a1d3a));color:#fff}
.d-bubble.ai{border-bottom-left-radius:5px;background:rgba(255,255,255,.06);color:var(--soft)}
.d-stack{display:grid;gap:12px}
.d-mono{font:400 12px/1.7 var(--mono)}
.d-sig stop:first-child{stop-color:var(--c1)}.d-sig stop:last-child{stop-color:var(--c2)}
.d-sig path{fill:none;stroke:url(#sg);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.d-seal{position:absolute;right:22px;bottom:22px;display:grid;place-items:center;width:96px;height:96px;border-radius:50%;text-align:center;font:500 9.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:radial-gradient(circle,color-mix(in srgb,var(--c1) 30%,transparent),transparent 70%);box-shadow:inset 0 0 0 1.5px var(--c1),0 0 40px -6px var(--c1);transform:rotate(-12deg) scale(1)}
.d-seal.d-hide{transform:rotate(-30deg) scale(1.6)!important}
.d-av{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;font:600 11px var(--sans);color:#07101c;background:linear-gradient(135deg,var(--c1),var(--c2))}
.d-map{position:relative;height:210px;border-radius:14px;overflow:hidden;background:#0a1020;box-shadow:inset 0 0 0 1px var(--line)}
.d-map svg{position:absolute;inset:0;width:100%;height:100%}
.d-pin{position:absolute;left:58%;top:46%;width:22px;height:22px;margin:-22px 0 0 -11px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 0 24px var(--c1)}
.d-pin.d-hide{transform:rotate(-45deg) translate(0,-40px)!important}
.d-ripple{position:absolute;left:58%;top:46%;width:14px;height:14px;margin:-7px;border-radius:50%;box-shadow:0 0 0 2px var(--c1);animation:ripple 1.8s var(--ease) infinite}
@keyframes ripple{from{transform:scale(.4);opacity:1}to{transform:scale(5);opacity:0}}
.d-sugg{border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);background:rgba(10,12,28,.9)}
.d-sugg div{padding:10px 14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}
.d-sugg div:first-child{border-top:0}
.d-sugg .sel{background:color-mix(in srgb,var(--c1) 16%,transparent)}
.d-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.d-tile{position:relative;aspect-ratio:16/10;border-radius:12px;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.07),rgba(0,0,0,.2));box-shadow:inset 0 0 0 1px var(--line)}
.d-tile .d-av{width:46px;height:46px;font-size:15px}
.d-tile.talk{box-shadow:inset 0 0 0 2px var(--c1),0 0 30px -8px var(--c1)}
.d-tile b{position:absolute;left:10px;bottom:8px;font:500 11px var(--sans);color:var(--soft)}
.d-wave{position:absolute;right:10px;bottom:10px;display:flex;gap:2px;align-items:flex-end;height:14px}
.d-wave i{width:3px;border-radius:2px;background:var(--c1);height:30%}
.talk .d-wave i{animation:wave .9s ease-in-out infinite}
.talk .d-wave i:nth-child(2){animation-delay:.15s}.talk .d-wave i:nth-child(3){animation-delay:.3s}
@keyframes wave{50%{height:100%}}
.d-ring{width:28px;height:28px;flex:none}
.d-ring circle{fill:none;stroke-width:3}
.d-ring .bg{stroke:rgba(255,255,255,.1)}
.d-ring .fg{stroke:var(--c1);stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;stroke-dasharray:69.1;stroke-dashoffset:69.1;transition:stroke-dashoffset 1.6s var(--ease)}
.d-block{border-radius:10px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line)}
.d-hash{font:400 11px var(--mono);color:#b9c4ff;word-break:break-all}
.d-term{font:400 12px/1.85 var(--mono);color:#c9d2f0}
.d-term .k{color:var(--c1)}.d-term .ok{color:#9ff0c8}.d-term .dim{color:var(--dim)}

/* ---------- Facts ---------- */
.p-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:2vh}
.p-facts>div{padding:26px 26px 26px 0;border-top:1px solid var(--line2);display:grid;gap:8px;align-content:start}
.p-facts>div+div{padding-left:26px;border-left:1px solid var(--line)}
.p-facts strong{font-weight:600;font-size:clamp(26px,2.6vw,40px);letter-spacing:-.04em;line-height:1}
.p-facts span{font-size:14px;color:var(--mute);line-height:1.45}

/* ---------- Scroll story ---------- */
.story{position:relative;height:340vh}
.story-stage{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(24px,4vw,70px)}
.story-copy{display:grid;gap:26px}
.story-copy .h2{font-size:clamp(34px,4vw,64px)}
.story .steps{display:grid;gap:4px;counter-reset:none}
.story .steps li{position:relative;padding:16px 0 16px 58px;border-top:1px solid var(--line);opacity:.38;transition:opacity .6s var(--ease)}
.story .steps li>span{position:absolute;left:0;top:18px;font:500 12px var(--mono);color:var(--c1)}
.story .steps li h3{font-size:clamp(19px,1.6vw,24px);font-weight:560;letter-spacing:-.025em;color:var(--ink)}
.story .steps li p{font:400 15px/1.6 var(--sans);letter-spacing:0;text-transform:none;display:grid;grid-template-rows:0fr;overflow:hidden;color:var(--mute);font-size:15px;line-height:1.6;transition:grid-template-rows .7s var(--ease),margin .7s var(--ease)}
.story .steps li p>span{min-height:0;display:block;margin:0;font:inherit;letter-spacing:inherit;color:inherit}
.story .steps li.is-current{opacity:1}
.story .steps li.is-current p{grid-template-rows:1fr;margin-top:8px}
.story .steps li.is-done{opacity:.6}
.story .steps li::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:linear-gradient(90deg,var(--c1),var(--c2));transition:width 1s var(--ease)}
.story .steps li.is-current::after,.story .steps li.is-done::after{width:100%}
.story-art{position:relative;min-width:0}
.story-art::before{content:"";position:absolute;inset:-10% -6%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(3,5,12,.85),rgba(3,5,12,.45) 60%,transparent)}
.story-art canvas{width:100%;aspect-ratio:600/560}

/* ---------- Bento ---------- */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.b-card{grid-column:span 2;position:relative;padding:30px;display:flex;flex-direction:column;gap:12px;min-height:230px;overflow:hidden;transition:transform .7s var(--ease)}
.b-card:nth-child(1),.b-card:nth-child(2){grid-column:span 3;min-height:260px}
.b-card:hover{transform:translateY(-4px)}
.b-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--gx,50%) var(--gy,0%),color-mix(in srgb,var(--c1) 16%,transparent),transparent 55%);opacity:0;transition:opacity .4s}
.b-card:hover::after{opacity:1}
.b-card .num{font:500 12px var(--mono);letter-spacing:.12em;color:var(--c1)}
.b-card p{color:var(--mute);font-size:15px;line-height:1.6}
.b-glyph{position:absolute;right:-20px;bottom:-30px;width:170px;height:170px;opacity:.14;-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat;background:linear-gradient(135deg,var(--c1),var(--c2));transition:transform 1.2s var(--ease),opacity .6s}
.b-card:hover .b-glyph{transform:rotate(-8deg) scale(1.06);opacity:.24}
.b-card .h3{max-width:18ch}

/* ---------- Use cases ---------- */
.uses{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:stretch}
.use-list{display:grid;gap:6px;align-content:start}
.use-tab{position:relative;display:flex;align-items:center;gap:16px;width:100%;padding:18px 20px;border-radius:16px;text-align:left;font-size:clamp(17px,1.4vw,21px);font-weight:500;letter-spacing:-.02em;color:var(--mute);transition:color .4s,background .4s;overflow:hidden}
.use-tab span{font:500 12px var(--mono);color:var(--dim)}
.use-tab:hover{color:var(--ink)}
.use-tab[aria-selected="true"]{color:var(--ink);background:rgba(255,255,255,.045)}
.use-tab[aria-selected="true"] span{color:var(--c1)}
.use-tab i{position:absolute;left:0;bottom:0;height:2px;width:0;background:linear-gradient(90deg,var(--c1),var(--c2))}
.use-tab[aria-selected="true"] i{animation:usebar var(--dur,6s) linear forwards}
.uses.paused .use-tab i{animation-play-state:paused}
@keyframes usebar{to{width:100%}}
.use-panel{position:relative;padding:clamp(30px,4vw,56px);display:flex;flex-direction:column;justify-content:flex-end;gap:18px;min-height:380px;overflow:hidden}
.use-panel .big{position:absolute;right:30px;top:10px;font-weight:600;font-size:clamp(120px,14vw,220px);line-height:1;letter-spacing:-.06em;opacity:.12}
.use-panel h3{font-size:clamp(28px,2.8vw,44px);font-weight:560;letter-spacing:-.04em;line-height:1.05;max-width:16ch}
.use-panel p{max-width:46ch;color:var(--soft);font-size:16.5px;line-height:1.65}
.use-panel .swap{transition:opacity .45s var(--ease),transform .6s var(--ease)}
.use-panel.out .swap{opacity:0;transform:translateY(12px)}

/* ---------- API ---------- */
.p-api{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,80px);align-items:center}
.code{border-radius:20px;overflow:hidden;background:rgba(6,8,20,.88);box-shadow:0 50px 120px -50px rgba(0,0,0,.9),inset 0 0 0 1px var(--line2)}
.code pre{margin:0;padding:24px 26px;min-height:220px;font:400 13px/1.75 var(--mono);color:#d7dcf5;white-space:pre-wrap;overflow-wrap:anywhere}
.code .t-k{color:var(--c1)}.code .t-s{color:#a9f0cf}.code .t-f{color:#9fb8ff}.code .t-c{color:var(--dim)}

/* ---------- Trust ---------- */
.trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.trust li{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;border-radius:18px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--line);font-size:15px;line-height:1.5;color:var(--soft)}
.trust svg{flex:none;margin-top:2px}


/* ---------- FAQ ---------- */
.faq{display:grid;gap:10px;max-width:980px}
.faq details{border-radius:18px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--line);transition:background .4s}
.faq details[open]{background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c1) 40%,transparent)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;cursor:pointer;list-style:none;font-size:clamp(16px,1.3vw,19px);font-weight:500;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary b{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.06);font-weight:400;transition:transform .5s var(--ease),background .4s}
.faq details[open] summary b{transform:rotate(45deg);background:linear-gradient(135deg,var(--c1),var(--c2));color:#07101c}
.faq .a{padding:0 26px 24px;color:var(--mute);font-size:15.5px;line-height:1.7;max-width:80ch}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .p-hero{grid-template-columns:1fr;min-height:0;padding-top:120px}
  .p-demo{transform:none}
  .p-facts{grid-template-columns:1fr 1fr}
  .p-facts>div:nth-child(3){padding-left:0;border-left:0}
  .story{height:auto}
  .story-stage{position:relative;height:auto;grid-template-columns:1fr;padding-top:10vh;padding-bottom:6vh}
  .story .steps li{opacity:1}.story .steps li p{grid-template-rows:1fr;margin-top:8px}.story .steps li::after{width:100%}
  .bento{grid-template-columns:1fr 1fr}.b-card,.b-card:nth-child(1),.b-card:nth-child(2){grid-column:span 1}
  .uses,.p-api{grid-template-columns:1fr}
}
@media (max-width:640px){
  .bento{grid-template-columns:1fr}
  .p-facts{grid-template-columns:1fr}.p-facts>div{padding-left:0!important;border-left:0!important}
  .d-body{min-height:360px;padding:16px}
  .use-panel{min-height:300px}
}

/* ---------- Thesis: the product's point of view ---------- */
.thesis{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);column-gap:clamp(30px,6vw,110px);row-gap:28px;align-items:end;padding-bottom:6vh}
.thesis .eyebrow{grid-column:1/-1;color:var(--c1)}
.thesis .eyebrow::before{background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 0 14px var(--c1)}
.thesis-title{font-weight:560;font-size:clamp(40px,5.6vw,96px);line-height:.98;letter-spacing:-.055em;text-wrap:balance}
.thesis-title em{background:linear-gradient(95deg,#fff 0%,var(--c1) 25%,var(--c2) 50%,var(--c1) 75%,#fff 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text}
.thesis-text{font-size:clamp(16.5px,1.3vw,19.5px);line-height:1.7;color:var(--soft);padding-left:24px;border-left:1px solid;border-image:linear-gradient(180deg,var(--c1),var(--c2)) 1}
@media (max-width:1000px){.thesis{grid-template-columns:1fr}}
