:root{--navy:#08090b;--navy-2:#101318;--blue:#75a7ff;--blue-d:#4d82e8;--ink:#f3f4f5;--muted:#979ca5;--line:#2a2d32;--bg:#08090b;--bg-2:#0d0f12;--ok:#83d7ad;--signal:#ff5a24}
html{scroll-behavior:smooth;background:#08090b}
body{font-family:"Noto Sans JP","Hiragino Sans",sans-serif;color:var(--ink);background:var(--bg);line-height:1.8;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 75%)}
.wrap{max-width:1440px;padding:0 54px}
h1,h2,h3{font-weight:500;letter-spacing:-.045em}
h2{font-size:clamp(42px,5.2vw,78px);line-height:1.08;max-width:1050px}
section{padding:150px 0;border-top:1px solid var(--line);position:relative}
section>.wrap{position:relative;z-index:1}
.eyebrow{font:500 11px/1.2 "IBM Plex Mono",monospace;color:var(--blue);text-transform:uppercase;letter-spacing:.16em;margin-bottom:26px}
.eyebrow:before{content:"[ ";color:#5c616b}.eyebrow:after{content:" ]";color:#5c616b}
.lead{font-size:17px;color:var(--muted);max-width:720px;margin-top:24px}

header{position:fixed;left:0;right:0;top:0;background:linear-gradient(to bottom,rgba(8,9,11,.96),rgba(8,9,11,.65),transparent);border:0;backdrop-filter:none;z-index:20}
header .wrap{max-width:none;height:88px;padding:0 42px;border-bottom:1px solid rgba(255,255,255,.08)}
.logo{font-size:20px;letter-spacing:-.04em;color:#fff}.logo img{width:25px;height:25px;display:block;border-radius:22%;box-shadow:0 0 0 1px rgba(255,255,255,.32)}
nav{font:500 11px "IBM Plex Mono",monospace;letter-spacing:.04em;text-transform:uppercase;gap:32px;color:#c5c8cd}
nav a{position:relative}nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--signal);transition:right .25s}nav a:hover:after{right:0}
header .btn{font:500 11px "IBM Plex Mono",monospace;text-transform:uppercase;padding:11px 17px;border:1px solid #555a62;background:transparent;border-radius:0}

.hero{min-height:100svh;padding:190px 0 92px;background:#08090b;color:#fff;display:flex;align-items:flex-end;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero:before{content:"";position:absolute;width:min(80vw,1100px);aspect-ratio:1;right:-12vw;top:-18vw;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(117,167,255,.28) 0 1px,transparent 2px),repeating-radial-gradient(circle,transparent 0 34px,rgba(255,255,255,.1) 35px 36px);filter:drop-shadow(0 0 70px rgba(64,120,255,.16));opacity:.78;animation:drift 18s ease-in-out infinite alternate}
.hero:after{content:"SECURE / PRIVATE / CONTROLLED";position:absolute;right:44px;bottom:42px;font:10px "IBM Plex Mono",monospace;letter-spacing:.18em;color:#6c737f;writing-mode:vertical-rl}
.hero .wrap{width:100%;position:relative;z-index:2}
.hero h1{font-size:clamp(52px,7.2vw,108px);font-weight:500;line-height:1.02;max-width:1180px;letter-spacing:-.065em}
.hero p{font-size:clamp(16px,1.3vw,20px);max-width:660px;color:#aeb4bf;margin:38px 0 42px}
.hero .eyebrow{color:#a9c6ff!important}
.hero .cta{gap:0}.btn{border-radius:0;transition:background .2s,color .2s,border .2s,transform .2s}.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--signal);color:#08090b;border:1px solid var(--signal)}.btn.primary:hover{background:#fff;border-color:#fff}
.btn.ghost{border:1px solid #515660;margin-left:-1px;color:#fff}.btn.outline{background:transparent;border-color:#3a3e45;color:#fff}
.hero .badges{margin-top:64px;padding-top:22px;border-top:1px solid #292d34;gap:0}.badge{background:transparent;border:0;border-right:1px solid #30343a;border-radius:0;padding:4px 20px 4px 0;margin-right:20px;color:#9299a4;font:10px "IBM Plex Mono",monospace;text-transform:uppercase}
.hero-orbit{position:absolute;right:3%;top:-72px;width:310px;height:310px;border:1px solid rgba(255,255,255,.14);border-radius:50%;display:grid;place-items:center;color:#fff;font:500 11px/1.3 "IBM Plex Mono",monospace;letter-spacing:.18em;text-align:center;opacity:.9}
.hero-orbit i{position:absolute;inset:28px;border:1px solid rgba(117,167,255,.25);border-radius:50%}.hero-orbit i:nth-child(2){inset:66px;border-color:rgba(255,90,36,.45)}.hero-orbit i:nth-child(3){inset:105px;background:#fff;border:0;box-shadow:0 0 35px #75a7ff}.hero-orbit span{z-index:2;color:#08090b;font-size:8px}

.alt{background:#0b0d10}
.grid{gap:1px;background:var(--line);border:1px solid var(--line)}
.card{border:0;border-radius:0;background:#0d0f12;padding:38px;min-height:220px;transition:background .25s,transform .25s}
.card:hover{background:#13171c;transform:translateY(-3px)}
.card h3{font-size:20px;margin-bottom:14px}.card p,.deploy ul{color:var(--muted)}
.icon{width:auto;height:auto;display:inline-flex;background:transparent;color:var(--blue);font:500 11px "IBM Plex Mono",monospace;border-radius:0;margin-bottom:48px}.icon:before{content:"0";color:#555b65;margin-right:2px}
.problem li{color:#c5c8ce}.problem li:before{color:var(--signal);font-family:"IBM Plex Mono"}.answer li:before{color:var(--ok)}
.deploy{gap:1px;background:var(--line);border:1px solid var(--line)}.deploy .card,.deploy .card.onprem{border-top:0}.deploy .card{padding:54px;min-height:430px}.deploy .card:first-child{background:linear-gradient(145deg,#111722,#0d0f12)}

.price-tabs{gap:0;border-bottom:1px solid var(--line);overflow-x:auto}.price-tabs button{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);padding:15px 23px;font:500 11px "IBM Plex Mono",monospace;white-space:nowrap}.price-tabs button.active{background:#f0f1f2;color:#090a0b;border-color:#f0f1f2}
.plan.hot{border:0;box-shadow:inset 0 2px var(--signal)}.plan .tag{top:16px;left:auto;right:16px;border-radius:0;background:var(--signal);color:#090a0b;font:500 9px "IBM Plex Mono",monospace;text-transform:uppercase}.plan .amt{font-size:clamp(26px,2.3vw,38px);font-weight:500;letter-spacing:-.05em}.plan .amt small,.plan .per,.note{color:var(--muted)}.plan li{border-color:#2a2d32}.plan li:before{color:var(--ok)}
table{background:#0d0f12;color:#dfe1e4}th,td{border-color:var(--line)}th{background:#13161a;color:#8e949e;font-family:"IBM Plex Mono",monospace}
.credit{grid-template-columns:1fr 1fr;gap:9vw}.meter{border-radius:0;background:radial-gradient(circle at 80% 0,#233455,#101318 55%);border:1px solid #343a45;padding:42px}.meter .bar{border-radius:0;height:4px}.meter .bar i{background:linear-gradient(90deg,var(--signal),#75a7ff)}
.steps{gap:1px;background:var(--line);border:1px solid var(--line)}.step{border:0;border-radius:0;background:#0d0f12;padding:28px;min-height:220px}.step .n{font:500 10px "IBM Plex Mono",monospace;color:var(--blue)}.step h3{font-size:17px;margin-top:42px}.step p{color:var(--muted)}
details{border-color:var(--line);padding:24px 0}summary{font-weight:500;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:30px}summary:after{content:"＋";font-family:"IBM Plex Mono"}details[open] summary:after{content:"−"}details p{color:var(--muted)}
.cta-band{background:linear-gradient(120deg,#111722,#090a0c 65%);padding:130px 0;text-align:left;border-top:1px solid var(--line)}.cta-band h2{font-size:clamp(48px,7vw,100px)}.cta-band p{margin-left:0!important}.cta-band .btn{margin-top:12px}
footer{background:#08090b;border-color:var(--line);padding:40px 0;font:10px "IBM Plex Mono",monospace;color:#69707a;text-transform:uppercase}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}.card.reveal:nth-child(2){transition-delay:.08s}.card.reveal:nth-child(3){transition-delay:.16s}.card.reveal:nth-child(4){transition-delay:.24s}
@keyframes drift{to{transform:translate(-3vw,5vw) rotate(8deg)}}
@media(max-width:860px){.wrap{padding:0 22px}header .wrap{padding:0 18px;height:68px}.hero{padding:140px 0 70px}.hero h1{font-size:clamp(43px,13vw,68px)}.hero-orbit{width:180px;height:180px;right:-50px;top:-55px;opacity:.45}.hero-orbit i:nth-child(3){inset:64px}.hero .badges{display:grid;grid-template-columns:1fr 1fr}.badge{padding:7px 8px;border-bottom:1px solid #30343a}.hero .btn{width:100%;text-align:center;margin:0 0 -1px}section{padding:100px 0}h2{font-size:40px}.card,.deploy .card{padding:28px;min-height:auto}.credit{gap:50px}.cta-band{padding:90px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* WorldQuant Foundry-inspired spatial system: split statements, central object, editorial rails */
.site-loader{position:fixed;inset:0;z-index:999;display:flex;align-items:flex-end;justify-content:space-between;padding:38px 44px;background:#08090b;color:#eceeef;font:500 11px "IBM Plex Mono",monospace;letter-spacing:.14em;transition:clip-path .85s cubic-bezier(.76,0,.24,1);clip-path:inset(0)}
.site-loader b{font-size:clamp(52px,8vw,120px);font-weight:400;letter-spacing:-.07em}.is-loaded .site-loader{clip-path:inset(0 0 100% 0);pointer-events:none}
.hero{align-items:stretch;padding:0;min-height:100svh}
.hero .wrap{max-width:none;padding:0 34px;display:grid;grid-template-columns:1fr minmax(260px,32vw) 1fr;grid-template-rows:88px 1fr 180px;align-items:center}
.hero .eyebrow{grid-column:1;grid-row:2;align-self:start;margin-top:15vh}
.hero h1{display:contents}
.hero h1 span{font-size:clamp(44px,5vw,82px);font-weight:500;line-height:.98;letter-spacing:-.065em;position:relative;z-index:3}
.hero h1 span:first-child{grid-column:1/3;grid-row:2;align-self:center;justify-self:start;max-width:760px}
.hero h1 span:last-child{grid-column:2/4;grid-row:2;align-self:center;justify-self:end;text-align:right;max-width:700px;margin-top:18vh}
.hero p{grid-column:2;grid-row:3;font-size:13px;line-height:1.65;margin:0 0 34px;color:#a5aab2;align-self:end}
.hero .cta{grid-column:1;grid-row:3;align-self:end;margin-bottom:34px}.hero .badges{grid-column:3;grid-row:3;align-self:end;margin:0 0 34px;display:grid;grid-template-columns:1fr 1fr;border-top:0}.hero .badge{border:0;border-top:1px solid #30343a;padding:8px 0;margin:0;font-size:8px}
.hero-orbit{grid-column:2;grid-row:2;position:relative;inset:auto;width:min(31vw,470px);height:min(31vw,470px);justify-self:center;z-index:2;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 58%);animation:orbFloat 9s ease-in-out infinite alternate}
.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px dotted rgba(255,255,255,.28);border-radius:50%;animation:orbSpin 22s linear infinite}.hero-orbit:before{inset:-38px}.hero-orbit:after{inset:48px;animation-direction:reverse;animation-duration:15s}
.hero:before{width:72vw;right:14vw;top:2vh;opacity:.35}.hero:after{bottom:24px}

section>.wrap{display:grid;grid-template-columns:180px minmax(0,1fr);column-gap:7vw}
section>.wrap>.eyebrow{grid-column:1;position:sticky;top:120px;align-self:start}
section>.wrap>h2,section>.wrap>.lead,section>.wrap>.grid,section>.wrap>.deploy,section>.wrap>.price-tabs,section>.wrap>.pane,section>.wrap>.steps,section>.wrap>div:not(.eyebrow){grid-column:2}
section>.wrap>h2{margin-bottom:60px}
section:not(.alt):nth-of-type(odd)> .wrap:after{content:"";position:absolute;right:-20vw;top:12%;width:42vw;aspect-ratio:1;border:1px dotted #292c31;border-radius:50%;z-index:-1}
.g2,.g3,.g4{grid-template-columns:1fr}.grid{background:transparent;border:0;gap:0}.grid>.card{border-top:1px solid var(--line);display:grid;grid-template-columns:70px minmax(180px,300px) 1fr;align-items:start;gap:30px;min-height:180px;padding:34px 0}.grid>.card:before{counter-increment:feature;content:counter(feature,decimal-leading-zero);font:10px "IBM Plex Mono",monospace;color:#626873}.grid>.card .icon,.deploy .icon{display:none}.grid>.card h3{grid-column:2;grid-row:1}.grid>.card p,.grid>.card ul,.grid>.card .per,.grid>.card .amt{grid-column:3}.grid>.card:hover{transform:none;background:transparent}.grid{counter-reset:feature}
.problem.grid>.card{display:block;padding:44px}.problem.grid>.card:before{display:none}
.deploy{grid-template-columns:1fr 1fr}.deploy .card{display:block}.deploy .card:before{display:none}
.pane .grid>.card{display:block;padding:36px;min-height:360px}.pane .grid>.card:before{display:none}
.credit{display:grid!important;grid-template-columns:1fr 1fr!important}.credit>.eyebrow,.credit>div{grid-column:auto!important}.credit>.eyebrow{position:static!important}
.steps{grid-template-columns:repeat(5,1fr)}
.reveal{opacity:0;transform:translateY(55px) scale(.985);filter:blur(5px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1),filter 1s}.reveal.is-visible{opacity:1;transform:none;filter:none}
@keyframes orbSpin{to{transform:rotate(360deg)}}@keyframes orbFloat{to{transform:translateY(-20px) rotate(4deg)}}

@media(max-width:1000px){.hero .wrap{grid-template-columns:1fr;grid-template-rows:90px 1fr auto auto;padding:0 24px}.hero .eyebrow{grid-column:1;grid-row:2;margin-top:5vh}.hero h1 span:first-child,.hero h1 span:last-child{grid-column:1;grid-row:2;align-self:center;font-size:clamp(43px,11vw,72px)}.hero h1 span:first-child{margin-top:-24vh}.hero h1 span:last-child{margin-top:15vh}.hero-orbit{grid-column:1;grid-row:2;width:55vw;height:55vw;opacity:.65}.hero p{grid-column:1;grid-row:3;max-width:560px;margin:0 0 26px}.hero .cta{grid-column:1;grid-row:4;margin:0 0 24px}.hero .badges{display:none}section>.wrap{display:block}.eyebrow,section>.wrap>.eyebrow{position:static}.grid>.card{grid-template-columns:44px 1fr}.grid>.card h3{grid-column:2}.grid>.card p,.grid>.card ul,.grid>.card .per,.grid>.card .amt{grid-column:2}.steps{grid-template-columns:1fr 1fr}.credit{grid-template-columns:1fr!important}.site-loader{padding:24px}}
@media(max-width:600px){.hero h1 span:first-child{margin-top:-28vh}.hero h1 span:last-child{margin-top:13vh}.hero-orbit{width:68vw;height:68vw}.steps{grid-template-columns:1fr}.deploy{grid-template-columns:1fr}.grid>.card{padding:28px 0}.hero .cta{display:grid}.site-loader b{font-size:48px}}
@media(prefers-reduced-motion:reduce){.site-loader{display:none}.hero-orbit,.hero-orbit:before,.hero-orbit:after{animation:none}}

/* Editorial challenge rail — light ethos panel with overlapping cards */
body>section:first-of-type{margin:0 0 28px;background:#d9d9d7;color:#111;border:0;border-radius:22px;padding:140px 0 66px;overflow:hidden}
body>section:first-of-type>.wrap{max-width:none;padding:0 34px;grid-template-columns:minmax(280px,1fr) 1.25fr}
body>section:first-of-type .eyebrow{color:#111;position:static;grid-column:1;font-size:10px}
body>section:first-of-type h2{grid-column:1;max-width:720px;font-size:clamp(32px,3vw,48px);text-transform:none;margin:0}
.challenge-intro{grid-column:2!important;align-self:end;border-top:1px solid #aaa;padding-top:20px;display:grid;grid-template-columns:140px 1fr;gap:30px;margin-bottom:70px}.challenge-intro span{font:500 10px "IBM Plex Mono",monospace;text-transform:uppercase}.challenge-intro p{margin:0;font-size:15px;line-height:1.45;max-width:520px}
.challenge-rail{grid-column:1/-1!important;display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 0 0;scrollbar-width:thin;scrollbar-color:#777 transparent}
.challenge-card{position:relative;flex:0 0 min(420px,78vw);height:650px;padding:34px;border-radius:22px;background:#0c0d0f;color:#f2f2f2;scroll-snap-align:start;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;margin-right:-12px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.challenge-card:hover{transform:translateY(-12px)}.challenge-card:nth-child(2){background:#679aa6;color:#0b1113}.challenge-card:nth-child(3){background:#f36a3d;color:#111}.challenge-card:nth-child(4){background:#ececeb;color:#111}.challenge-card:nth-child(5){background:#9ba8de;color:#111}
.challenge-art{height:310px;margin:25px 8% 0;position:relative;background-image:radial-gradient(circle,#aaa 1.5px,transparent 1.8px);background-size:13px 13px;mask-image:radial-gradient(ellipse at center,#000 22%,transparent 70%)}
.art-b{transform:skewY(-13deg);mask-image:linear-gradient(125deg,transparent 6%,#000 32%,#000 68%,transparent 94%)}.art-c{background-size:11px 11px;mask-image:conic-gradient(from 45deg,transparent,#000,transparent,#000,transparent)}.art-d{border:1px solid currentColor;border-radius:50%;background-size:9px 9px;mask-image:radial-gradient(circle,transparent 27%,#000 29% 65%,transparent 67%)}.art-e{transform:rotate(35deg);mask-image:linear-gradient(90deg,transparent,#000 30% 70%,transparent)}
.challenge-copy b{font:500 10px "IBM Plex Mono",monospace}.challenge-copy h3{font-size:clamp(28px,2.3vw,38px);line-height:1.05;text-align:center;margin:12px 0 26px}.challenge-copy p{font-size:12px;line-height:1.5;margin:0;padding-top:12px;border-top:1px solid currentColor}.challenge-copy .solution{margin-top:12px}.challenge-copy .solution:before{content:"PRIVATEAI / ";font:500 9px "IBM Plex Mono",monospace}

/* Large-format feature cards — particle field and oversized type */
#features{margin:0 0 28px;background:#e8e8e6;color:#111;border:0;border-radius:22px;padding:135px 0 54px;overflow:hidden}
#features>.wrap{max-width:none;padding:0 34px;display:block}
#features .eyebrow{position:static;color:#111;margin-bottom:18px}
#features h2{font-size:clamp(46px,6vw,92px);max-width:1200px;margin-bottom:75px}
#features .grid{display:flex;overflow-x:auto;gap:18px;scroll-snap-type:x mandatory;padding:0 0 18px;scrollbar-color:#777 transparent}
#features .grid>.card{position:relative;flex:0 0 min(1120px,82vw);height:min(720px,75vh);min-height:560px;display:flex;flex-direction:column;justify-content:space-between;padding:42px;border:1px solid #bbb;border-radius:18px;background:#ededeb;color:#111;scroll-snap-align:center;overflow:hidden;isolation:isolate}
#features .grid>.card:before{counter-increment:none;content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(circle,#898989 1.4px,transparent 1.7px);background-size:18px 18px;mask-image:radial-gradient(ellipse at center,#000 0,rgba(0,0,0,.8) 30%,transparent 72%)}
#features .grid>.card:after{counter-increment:feature;content:counter(feature,decimal-leading-zero) " / 06";position:absolute;left:42px;bottom:42px;font:500 10px "IBM Plex Mono",monospace;color:#444}
#features .grid>.card:nth-child(2n){background:#101112;color:#eee;border-color:#2c2e31}#features .grid>.card:nth-child(3){background:#679aa6}#features .grid>.card:nth-child(4){background:#f36a3d}#features .grid>.card:nth-child(5){background:#d9d9d7}#features .grid>.card:nth-child(6){background:#9ba8de}
#features .grid>.card h3{display:block;position:relative;grid-column:auto;align-self:center;text-align:center;margin:auto;max-width:960px;font-size:clamp(48px,5.4vw,88px);line-height:.92;text-transform:uppercase;letter-spacing:-.065em;z-index:1}
#features .grid>.card p{display:block;grid-column:auto;align-self:flex-end;width:min(440px,70%);font-size:13px;line-height:1.55;padding-top:15px;border-top:1px solid currentColor;margin:0;z-index:1}
#features .grid>.card .icon{display:none}

@media(max-width:760px){body>section:first-of-type{padding-top:100px}body>section:first-of-type>.wrap{display:block;padding:0 20px}.challenge-intro{display:block;margin:35px 0}.challenge-intro span{display:block;margin-bottom:12px}.challenge-card{height:590px;padding:26px}.challenge-art{height:270px}#features{padding-top:95px}#features>.wrap{padding:0 20px}#features h2{margin-bottom:45px}#features .grid>.card{flex-basis:88vw;height:620px;min-height:0;padding:25px}#features .grid>.card h3{font-size:clamp(38px,12vw,64px)}#features .grid>.card p{width:90%}#features .grid>.card:after{left:25px;bottom:25px}}

/* Challenge section continues the hero: split statement, warning core, issue-to-answer rails */
body>section:first-of-type{margin:0;background:#08090b;color:#f2f3f4;border-radius:0;padding:0 0 150px;overflow:hidden;border-bottom:1px solid var(--line)}
body>section:first-of-type:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 32%,rgba(255,90,36,.08),transparent 25%),repeating-radial-gradient(circle at 50% 32%,transparent 0 54px,rgba(255,255,255,.045) 55px 56px);pointer-events:none}
body>section:first-of-type>.wrap{max-width:none;padding:0 34px;display:grid;grid-template-columns:1fr minmax(240px,30vw) 1fr;grid-template-rows:130px minmax(640px,80vh) auto auto;column-gap:0}
body>section:first-of-type .eyebrow{grid-column:1;grid-row:1;align-self:end;color:#8fb4ff;margin-bottom:22px;position:static}
body>section:first-of-type h2{display:contents}
body>section:first-of-type h2 span{font-size:clamp(44px,5vw,82px);font-weight:500;line-height:.98;letter-spacing:-.065em;position:relative;z-index:2}
body>section:first-of-type h2 span:first-child{grid-column:1/3;grid-row:2;align-self:center;justify-self:start;max-width:760px;margin-top:-20vh}
body>section:first-of-type h2 span:last-child{grid-column:2/4;grid-row:2;align-self:center;justify-self:end;text-align:right;max-width:780px;margin-top:22vh}
.challenge-core{grid-column:2;grid-row:2;align-self:center;justify-self:center;width:min(28vw,430px);aspect-ratio:1;border:1px solid rgba(255,255,255,.16);border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(255,90,36,.88) 0 7%,rgba(255,90,36,.18) 8%,transparent 34%);box-shadow:0 0 70px rgba(255,90,36,.08);animation:orbFloat 8s ease-in-out infinite alternate}
.challenge-core:before,.challenge-core:after,.challenge-core i{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}.challenge-core:before{inset:13%}.challenge-core:after{inset:28%;border-color:rgba(255,90,36,.42)}.challenge-core i:first-child{inset:-45px;border-style:dotted;animation:orbSpin 24s linear infinite}.challenge-core i:nth-child(2){inset:39%;background:var(--signal);border:0;box-shadow:0 0 28px var(--signal)}.challenge-core b{font:500 9px "IBM Plex Mono",monospace;letter-spacing:.15em;color:#0a0a0b;z-index:2}
.challenge-intro{grid-column:1/-1!important;grid-row:3;display:grid;grid-template-columns:180px 1fr;border-top:1px solid #34373c;border-bottom:1px solid #34373c;padding:22px 0;margin:0;color:#aeb3bc}.challenge-intro span{font:500 10px "IBM Plex Mono",monospace;color:#f0f1f2;text-transform:uppercase}.challenge-intro p{margin:0;font-size:13px}
.challenge-rail{grid-column:1/-1!important;grid-row:4;display:block;overflow:visible;padding:0}
.challenge-card{width:100%;height:auto;min-height:176px;margin:0;padding:30px 0;border-radius:0;background:transparent!important;color:#eef0f2!important;display:grid;grid-template-columns:70px minmax(170px,230px) minmax(260px,1fr) 72px minmax(260px,1fr);gap:24px;align-items:start;border-bottom:1px solid #2d3035;overflow:visible;transition:background .25s;scroll-snap-align:none}
.challenge-card:hover{transform:none;background:rgba(255,255,255,.025)!important}.challenge-card:nth-child(n){color:#eef0f2}
.challenge-art{grid-column:4;grid-row:1/3;width:38px;height:38px;margin:2px auto 0;border:1px solid #525861;border-radius:50%;background:radial-gradient(circle,var(--signal) 0 3px,transparent 4px);mask-image:none!important;transform:none!important;position:relative}.challenge-art:after{content:"→";position:absolute;inset:0;display:grid;place-items:center;color:#838a95;font:11px "IBM Plex Mono",monospace;transform:translateY(46px)}
.challenge-copy{display:contents}.challenge-copy b{grid-column:1;grid-row:1;font:500 10px "IBM Plex Mono",monospace;color:#69717d;padding-top:5px}.challenge-copy h3{grid-column:2;grid-row:1;font-size:24px;text-align:left;margin:0;line-height:1.15}.challenge-copy p{font-size:14px;line-height:1.65;margin:0;padding:0;border:0}.challenge-copy .issue{grid-column:3;grid-row:1;color:#9299a4}.challenge-copy .solution{grid-column:5;grid-row:1;color:#eef0f2;margin:0}.challenge-copy .solution:before{display:block;content:"PRIVATEAI / ANSWER";font:500 9px "IBM Plex Mono",monospace;color:#7fa8ff;margin-bottom:12px;letter-spacing:.1em}
@media(max-width:900px){body>section:first-of-type>.wrap{display:grid;grid-template-columns:1fr;grid-template-rows:100px 680px auto auto;padding:0 20px}body>section:first-of-type .eyebrow{grid-column:1}.challenge-core{grid-column:1;grid-row:2;width:62vw;opacity:.65}body>section:first-of-type h2 span:first-child,body>section:first-of-type h2 span:last-child{grid-column:1;grid-row:2;font-size:clamp(42px,11vw,70px)}body>section:first-of-type h2 span:first-child{margin-top:-34vh}body>section:first-of-type h2 span:last-child{margin-top:30vh}.challenge-intro{grid-column:1!important}.challenge-rail{grid-column:1!important}.challenge-card{grid-template-columns:42px 1fr;gap:12px 18px;padding:28px 0}.challenge-copy b{grid-column:1}.challenge-copy h3{grid-column:2}.challenge-copy .issue{grid-column:2;grid-row:2}.challenge-art{display:none}.challenge-copy .solution{grid-column:2;grid-row:3;padding-top:18px;margin-top:8px;border-top:1px solid #2d3035}}

/* GetBlue-inspired scroll story: every wall owns one sticky viewport */
body>section:first-of-type{padding:0;background:#090a0c;overflow:visible}
body>section:first-of-type:before{display:none}
body>section:first-of-type>.wrap{display:block;max-width:none;padding:0}
body>section:first-of-type .eyebrow{position:absolute;left:34px;top:130px;z-index:3;color:#8fb4ff}
body>section:first-of-type h2{display:block;height:72vh;margin:0;padding:25vh 34px 0;text-align:center;font-size:clamp(54px,7vw,110px);line-height:.92;letter-spacing:-.065em;background:linear-gradient(to bottom,#090a0c,#0b0c0e);color:#f3f4f5}
.challenge-core{display:none}
.challenge-intro{height:28vh;margin:0!important;padding:5vh 34px!important;display:grid;grid-template-columns:1fr 1fr;align-items:start;background:#0b0c0e;border-top:1px solid #292c31;border-bottom:1px solid #292c31;color:#aeb3bc}
.challenge-intro span{font-size:11px}.challenge-intro p{justify-self:end;width:min(520px,100%);font-size:15px}
.challenge-rail{display:block!important;overflow:visible!important;background:#090a0c}
.challenge-card{position:sticky;top:0;width:100%;height:100vh;min-height:720px;margin:0;padding:104px 34px 32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:150px 1fr;gap:0;border:0;border-radius:0;background:#090a0c!important;color:#f3f4f5!important;overflow:hidden;box-shadow:0 -1px #2b2e33;isolation:isolate}
.challenge-card:nth-child(1){z-index:1}.challenge-card:nth-child(2){z-index:2}.challenge-card:nth-child(3){z-index:3}.challenge-card:nth-child(4){z-index:4}.challenge-card:nth-child(5){z-index:5}
.challenge-card:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,transparent calc(33.333% - .5px),#292c31 33.333%,transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),#292c31 66.666%,transparent calc(66.666% + .5px))}
.challenge-card:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 58%,rgba(117,167,255,.075),transparent 24%)}
.challenge-card:hover{background:#090a0c!important}
.challenge-copy{display:contents}
.challenge-copy b{grid-column:1;grid-row:1;align-self:start;color:#69717d;font:500 10px "IBM Plex Mono",monospace}
.challenge-copy h3{grid-column:1/4;grid-row:1;align-self:start;justify-self:center;text-align:center;margin:10px 0 0;font-size:clamp(38px,4vw,66px);font-weight:400;letter-spacing:-.055em}
.challenge-copy p{margin:0;border:1px solid #2d3035;background:rgba(8,9,11,.88);border-radius:22px;padding:28px;font-size:16px;line-height:1.55;box-shadow:0 24px 80px rgba(0,0,0,.28)}
.challenge-copy .issue{grid-column:1;grid-row:2;align-self:center;width:78%;justify-self:center;color:#e1e3e6;transform:translateY(-4vh)}
.challenge-copy .issue:before{content:"BLOCK / 現在の課題";display:block;margin-bottom:22px;color:#858c96;font:500 9px "IBM Plex Mono",monospace;letter-spacing:.11em}
.challenge-copy .solution{grid-column:3;grid-row:2;align-self:center;width:78%;justify-self:center;color:#f2f4f7;transform:translateY(5vh);margin:0}
.challenge-copy .solution:before{content:"PRIVATEAI / 解決後";display:block;margin-bottom:22px;color:#8fb4ff;font:500 9px "IBM Plex Mono",monospace;letter-spacing:.11em}
.challenge-art{grid-column:2;grid-row:2;align-self:center;justify-self:center;width:64%;height:58%;margin:0;border:1px solid #262a2f;border-radius:0;background:linear-gradient(180deg,transparent 0 18%,#20242a 18% calc(18% + 1px),transparent calc(18% + 1px)),radial-gradient(circle at 50% 62%,var(--signal) 0 5px,rgba(255,90,36,.16) 6px 45px,transparent 46px);mask-image:none!important;transform:none!important;position:relative;animation:stagePulse 3.5s ease-in-out infinite alternate}
.challenge-art:before{content:"POLICY GATE";position:absolute;left:18px;top:18px;font:500 9px "IBM Plex Mono",monospace;color:#737b86;letter-spacing:.1em}.challenge-art:after{content:"REVIEW REQUIRED";position:absolute;left:10%;right:10%;bottom:14%;height:48px;border:1px solid #3a3f47;display:grid;place-items:center;transform:none;color:#c4c8ce;font:500 10px "IBM Plex Mono",monospace;letter-spacing:.08em}
.challenge-card:nth-child(2) .challenge-art{background:linear-gradient(180deg,transparent 0 18%,#20242a 18% calc(18% + 1px),transparent calc(18% + 1px)),repeating-linear-gradient(135deg,transparent 0 16px,rgba(117,167,255,.12) 17px 18px)}
.challenge-card:nth-child(3) .challenge-art{background:linear-gradient(180deg,transparent 0 18%,#20242a 18% calc(18% + 1px),transparent calc(18% + 1px)),radial-gradient(circle at 50% 60%,transparent 0 72px,#75a7ff 73px 74px,transparent 75px)}
.challenge-card:nth-child(4) .challenge-art{background:linear-gradient(180deg,transparent 0 18%,#20242a 18% calc(18% + 1px),transparent calc(18% + 1px)),linear-gradient(155deg,transparent 48%,rgba(255,90,36,.8) 49% 50%,transparent 51%)}
.challenge-card:nth-child(5) .challenge-art{background:linear-gradient(180deg,transparent 0 18%,#20242a 18% calc(18% + 1px),transparent calc(18% + 1px)),repeating-linear-gradient(90deg,transparent 0 20%,rgba(117,167,255,.18) 20% 20.3%)}
@keyframes stagePulse{to{box-shadow:0 0 60px rgba(117,167,255,.09);transform:translateY(-8px)}}
@media(max-width:850px){body>section:first-of-type .eyebrow{left:20px;top:95px}body>section:first-of-type h2{height:65vh;padding:22vh 20px 0;font-size:clamp(48px,15vw,76px)}.challenge-intro{height:35vh;padding:5vh 20px!important;display:block}.challenge-intro p{margin-top:24px}.challenge-card{position:sticky;min-height:680px;padding:88px 20px 24px;grid-template-columns:1fr;grid-template-rows:100px 1fr 1fr}.challenge-card:before{background:none}.challenge-copy b{grid-column:1;grid-row:1}.challenge-copy h3{grid-column:1;grid-row:1;font-size:42px}.challenge-copy .issue{grid-column:1;grid-row:2;width:100%;align-self:end;transform:none;border-radius:16px}.challenge-art{display:none}.challenge-copy .solution{grid-column:1;grid-row:3;width:100%;align-self:start;transform:none;border-radius:16px;margin-top:14px}}

/* One accumulating scene: five challenges reveal left-to-right while the stage stays pinned */
#challenges{height:620vh!important;min-height:4200px;padding:0!important;background:#090a0c!important;overflow:visible!important}
#challenges>.wrap{position:sticky!important;top:0;height:100vh!important;min-height:700px;padding:0!important;display:block!important;overflow:hidden;background:#090a0c}
#challenges>.wrap:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(8.33% - .5px),#272a2f 8.33%,transparent calc(8.33% + .5px),transparent calc(33.33% - .5px),#272a2f 33.33%,transparent calc(33.33% + .5px),transparent calc(58.33% - .5px),#272a2f 58.33%,transparent calc(58.33% + .5px),transparent calc(83.33% - .5px),#272a2f 83.33%,transparent calc(83.33% + .5px));pointer-events:none}
#challenges .eyebrow{position:absolute;left:34px;top:112px;z-index:20;color:#8fb4ff}
#challenges h2{display:block!important;position:absolute;left:50%;top:28%;width:min(900px,80vw);height:auto!important;padding:0!important;margin:0!important;transform:translateX(-50%);text-align:center;font-size:clamp(46px,5vw,78px)!important;line-height:1!important;transition:opacity .65s,transform .65s,top .65s;z-index:2;background:none!important}
#challenges .challenge-intro{position:absolute;left:34px;right:34px;bottom:34px;height:auto!important;margin:0!important;padding:18px 0!important;display:grid!important;z-index:20;background:transparent;border-top:1px solid #30333a;border-bottom:0}
#challenges[data-step]:not([data-step="0"]) h2{top:13%;font-size:clamp(30px,3vw,50px)!important;opacity:.82;transform:translateX(-50%) scale(.92)}
#challenges .challenge-rail{position:absolute;inset:0;display:block!important;overflow:hidden!important;background:transparent!important}
#challenges .challenge-card{position:absolute!important;top:auto;width:auto;height:auto!important;min-height:0!important;margin:0!important;padding:28px 30px!important;display:block!important;border:1px solid #41464f!important;border-left:3px solid #759ee8!important;border-radius:18px!important;background:rgba(13,15,19,.985)!important;color:#f5f6f8!important;box-shadow:0 24px 70px rgba(0,0,0,.5)!important;opacity:0;transform:translateY(36px) scale(.96)!important;transition:opacity .65s cubic-bezier(.2,.8,.2,1),transform .65s cubic-bezier(.2,.8,.2,1),border-color .4s;z-index:5}
#challenges .challenge-card:before,#challenges .challenge-card:after{display:none}
#challenges .challenge-card:nth-child(1){left:4.5%;top:34%;width:29%;z-index:6}
#challenges .challenge-card:nth-child(2){left:8%;top:61%;width:28%;z-index:7}
#challenges .challenge-card:nth-child(3){left:36%;top:43%;width:28%;z-index:8;background:linear-gradient(180deg,rgba(17,20,26,.99),rgba(11,13,17,.985))!important}
#challenges .challenge-card:nth-child(4){left:66%;top:35%;width:29%;z-index:9}
#challenges .challenge-card:nth-child(5){left:64%;top:61%;width:30%;z-index:10}
#challenges .challenge-copy{display:block!important}
#challenges .challenge-copy b{display:block;color:#939aa5;font:600 10px "IBM Plex Mono",monospace;margin-bottom:12px;padding:0;letter-spacing:.08em}
#challenges .challenge-copy h3{display:block;font-size:clamp(22px,1.55vw,27px);font-weight:600;line-height:1.25;letter-spacing:-.035em;text-align:left;margin:0 0 18px}
#challenges .challenge-copy p{display:block;width:auto!important;margin:0!important;padding:15px 0 0!important;border:0!important;border-top:1px solid #3b4048!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;font-size:14px;line-height:1.75}
#challenges .challenge-copy .issue{color:#d5d8dd}
#challenges .challenge-copy .issue:before{content:"現在の課題";display:block;width:max-content;margin-bottom:9px;padding:4px 8px;border:1px solid #4a5059;border-radius:999px;color:#aeb4bd;font:600 9px "IBM Plex Mono",monospace;letter-spacing:.08em}
#challenges .challenge-copy .solution{margin-top:15px!important;padding:14px 15px!important;border:1px solid rgba(117,158,232,.32)!important;border-radius:10px!important;background:rgba(117,158,232,.09)!important;color:#f3f6fc}
#challenges .challenge-copy .solution:before{content:"PrivateAI の解決策";display:block;margin-bottom:7px;color:#9dbdff;font:600 9px "IBM Plex Mono",monospace;letter-spacing:.08em}
#challenges .challenge-art{display:none!important}
#challenges[data-step="1"] .challenge-card:nth-child(-n+1),#challenges[data-step="2"] .challenge-card:nth-child(-n+2),#challenges[data-step="3"] .challenge-card:nth-child(-n+3),#challenges[data-step="4"] .challenge-card:nth-child(-n+4),#challenges[data-step="5"] .challenge-card:nth-child(-n+5){opacity:1;transform:none!important}
#challenges[data-step="3"] .challenge-card:nth-child(3),#challenges[data-step="4"] .challenge-card:nth-child(3),#challenges[data-step="5"] .challenge-card:nth-child(3){border-color:#4a5361!important;box-shadow:0 0 70px rgba(117,167,255,.08)!important}
@media(max-width:850px){#challenges{height:620vh!important}#challenges>.wrap{min-height:650px}#challenges .eyebrow{left:20px;top:88px}#challenges h2{top:20%;font-size:44px!important}#challenges[data-step]:not([data-step="0"]) h2{top:11%;font-size:28px!important}#challenges .challenge-intro{left:20px;right:20px;bottom:18px;display:none!important}#challenges .challenge-card:nth-child(n){left:20px;right:20px;width:auto;top:auto;min-height:0!important;padding:18px!important}#challenges .challenge-card:nth-child(1){top:23%}#challenges .challenge-card:nth-child(2){top:39%}#challenges .challenge-card:nth-child(3){top:55%}#challenges .challenge-card:nth-child(4){top:71%}#challenges .challenge-card:nth-child(5){top:79%}#challenges .challenge-copy h3{font-size:18px;margin-bottom:10px}#challenges .challenge-copy .solution{display:none!important}#challenges .challenge-copy p{font-size:11px;padding-top:8px!important}#challenges .challenge-copy b{margin-bottom:7px}}

/* Editorial system — carries the hero's confidence through the entire page */
html{scroll-behavior:auto}
#challenges>.wrap:before{background:linear-gradient(90deg,transparent calc(8.33% - .5px),rgba(255,255,255,.1) 8.33%,transparent calc(8.33% + .5px),transparent calc(33.33% - .5px),rgba(255,255,255,.1) 33.33%,transparent calc(33.33% + .5px),transparent calc(58.33% - .5px),rgba(255,255,255,.1) 58.33%,transparent calc(58.33% + .5px),transparent calc(83.33% - .5px),rgba(255,255,255,.1) 83.33%,transparent calc(83.33% + .5px))}
#challenges .challenge-card{padding:26px 28px 28px!important;border:0!important;border-top:5px solid #f05b35!important;border-radius:2px!important;background:#e8e7e2!important;color:#111214!important;box-shadow:0 18px 0 rgba(0,0,0,.24)!important}
#challenges .challenge-card:nth-child(2),#challenges .challenge-card:nth-child(4){background:#f2f1ed!important}
#challenges .challenge-card:nth-child(3){background:#ef673f!important;color:#111214!important;box-shadow:0 18px 0 rgba(0,0,0,.3)!important}
#challenges .challenge-copy b{color:#5d5f60;font-size:10px;margin-bottom:14px}
#challenges .challenge-copy h3{color:#111214;font-size:clamp(22px,1.55vw,28px);line-height:1.22;margin-bottom:17px}
#challenges .challenge-copy p{color:#303235!important;border-color:rgba(17,18,20,.22)!important;font-size:13.5px;line-height:1.7}
#challenges .challenge-copy .issue:before{content:"課題";padding:0;border:0;border-radius:0;color:#5e6062;font-size:9px}
#challenges .challenge-copy .solution{margin-top:13px!important;padding:13px 0 0!important;border:0!important;border-top:1px solid rgba(17,18,20,.22)!important;border-radius:0!important;background:transparent!important;color:#111214!important;font-weight:600}
#challenges .challenge-copy .solution:before{content:"PrivateAI なら";color:#111214;font-size:9px}
#challenges[data-step="3"] .challenge-card:nth-child(3),#challenges[data-step="4"] .challenge-card:nth-child(3),#challenges[data-step="5"] .challenge-card:nth-child(3){border-color:#111214!important;box-shadow:0 18px 0 rgba(0,0,0,.3)!important}

#deploy,#pricing,#flow{padding:150px 0;background:#dededb;color:#111;border-radius:0;border:0;border-bottom:1px solid #b8b8b4}
#deploy .wrap,#pricing .wrap,#flow .wrap{max-width:none;padding:0 34px}
#deploy h2,#pricing h2,#flow h2{max-width:1100px;font-size:clamp(54px,6.5vw,104px);line-height:.95;letter-spacing:-.06em;font-weight:500}
#deploy .lead,#pricing .lead{width:min(650px,48vw);margin:32px 0 64px auto;color:#3c3d3d;font-size:18px;line-height:1.65}
#deploy .deploy{display:grid;grid-template-columns:1fr 1fr;gap:0!important;margin-top:70px!important}
#deploy .card{min-height:640px;padding:44px;border:0;border-radius:0;background:#101112;color:#f2f2ef;box-shadow:none}
#deploy .card.onprem{background:#ef673f;color:#111}
#deploy .card .icon{display:none}
#deploy .card:before{display:block;margin-bottom:150px;font:500 12px "IBM Plex Mono",monospace;letter-spacing:.1em;content:"01 / 設置"}
#deploy .card.onprem:before{content:"02 / 運用・保守"}
#deploy .card h3{font-size:clamp(38px,4vw,66px);line-height:.98;letter-spacing:-.05em}
#deploy .card p{max-width:620px;margin-top:26px;font-size:17px;line-height:1.65}
#deploy .card ul{margin-top:34px;padding-top:25px;border-top:1px solid currentColor;font-size:14px;line-height:1.75}

#features{padding-top:150px;background:#090a0b;color:#f2f2ef;border-radius:0}
#features h2{max-width:1200px;font-size:clamp(52px,6vw,96px);line-height:.96;letter-spacing:-.06em;font-weight:500;margin-bottom:90px}
#features .grid>.card{border-radius:2px;box-shadow:none}
#features .grid>.card:before{display:none}
#features .grid>.card h3{font-size:clamp(43px,4.8vw,78px);text-transform:none;line-height:1;letter-spacing:-.055em}
#features .grid>.card p{font-size:15px;line-height:1.7}

#pricing .price-tabs{border-bottom:1px solid #aaa;gap:0}
#pricing .price-tabs button{border-radius:0;border:0;border-top:1px solid #aaa;background:transparent;padding:18px 26px}
#pricing .price-tabs button.active{background:#111;color:#fff}
#pricing .pane .card{border-radius:0;border:1px solid #b7b7b3;background:#e9e9e6;box-shadow:none}
#pricing .pane .card.hot{background:#ef673f;color:#111;border-color:#ef673f}

body>section:not(#challenges):not(#deploy):not(#features):not(#pricing):not(#flow):not(#faq){padding:150px 0;background:#101112;color:#f1f1ee;border-radius:0}
body>section:not(#challenges):not(#deploy):not(#features):not(#pricing):not(#flow):not(#faq) h2{font-size:clamp(48px,5vw,82px);line-height:.98;letter-spacing:-.055em;font-weight:500}
body>section:not(#challenges):not(#deploy):not(#features):not(#pricing):not(#flow):not(#faq) .lead{color:#b9bab8;font-size:17px;line-height:1.7}
.meter{border-radius:0!important;background:#ef673f!important;color:#111!important;border:0!important;padding:34px!important}

#flow .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0!important;border:1px solid #aaa;background:#e8e7e2!important}
#flow .step{min-height:430px;padding:28px 24px!important;border:0!important;border-right:1px solid #aaa!important;border-radius:0!important;background:transparent!important;color:#111!important}
#flow .step:nth-child(3){background:#ef673f!important}
#flow .step:last-child{border-right:0!important}
#flow .step .n{margin-bottom:160px;color:#5e5f5f;font:500 11px "IBM Plex Mono",monospace}
#flow .step h3{font-size:27px;line-height:1.2}
#flow .step p{font-size:14px;line-height:1.7;color:#3d3e3e}

#faq{padding:150px 0;background:#f1f0ec;color:#111;border-radius:0}
#faq .wrap{max-width:1120px!important}
#faq h2{font-size:clamp(72px,9vw,140px);font-weight:500;letter-spacing:-.07em}
#faq details{border-color:#aaa}
#faq summary{font-size:20px;padding:26px 0}
.cta-band{padding:170px 0;background:#ef673f;color:#111}
.cta-band h2{font-size:clamp(58px,7vw,110px);line-height:.94;letter-spacing:-.065em;font-weight:500}
.cta-band p{font-size:18px;line-height:1.7}
.cta-band .btn.primary{background:#111;color:#fff;border-color:#111}

@media(max-width:850px){#deploy,#pricing,#flow,#features,#faq{padding:100px 0}#deploy .wrap,#pricing .wrap,#flow .wrap{padding:0 20px}#deploy .lead,#pricing .lead{width:100%;margin:28px 0 50px}#deploy .deploy{grid-template-columns:1fr}#deploy .card{min-height:520px;padding:28px}#deploy .card:before{margin-bottom:90px}#flow .steps{grid-template-columns:1fr}#flow .step{min-height:280px;border-right:0!important;border-bottom:1px solid #aaa!important}#flow .step .n{margin-bottom:75px}#challenges .challenge-card{border-top-width:3px!important;background:#e8e7e2!important}#challenges .challenge-copy .solution{display:none!important}}

/* Calm palette, vertical-to-horizontal feature story, and comparison pricing */
:root{--signal:#a65f4d;--blue:#8296aa;--blue-d:#667b90}
.btn.primary,.plan .tag{background:var(--signal);border-color:var(--signal)}
.hero-orbit i:nth-child(2){border-color:rgba(166,95,77,.45)}
#challenges .challenge-card{border-top-color:var(--signal)!important;background:#d8d6d0!important}
#challenges .challenge-card:nth-child(2),#challenges .challenge-card:nth-child(4){background:#e4e2dd!important}
#challenges .challenge-card:nth-child(3){background:#a65f4d!important}
#deploy .card.onprem,.meter,#flow .step:nth-child(3),.cta-band{background:#a65f4d!important}

#features{height:620vh;padding:0!important;overflow:visible!important;background:#0b0c0d}
#features>.wrap{position:sticky;top:0;height:100vh;max-width:none;padding:105px 34px 34px;display:block!important;overflow:hidden}
#features .eyebrow{position:absolute;left:34px;top:112px}
#features h2{position:relative;width:min(1100px,80vw);margin:0 0 42px!important;font-size:clamp(42px,5.2vw,82px);z-index:2}
#features .grid{display:flex!important;position:absolute;left:34px;bottom:34px;width:max-content;gap:18px!important;overflow:visible!important;transform:translate3d(calc(-1 * var(--feature-shift,0px)),0,0);will-change:transform}
#features .grid>.card{flex:0 0 min(760px,62vw);width:min(760px,62vw);height:58vh;min-height:520px;border:1px solid #363839;border-radius:2px;padding:38px!important;display:flex!important;flex-direction:column;justify-content:space-between;background:#d9d8d3;color:#161718}
#features .grid>.card:nth-child(2n){background:#151617;color:#ecece8}
#features .grid>.card:nth-child(3n){background:#8c6b5f;color:#f1efeb}
#features .grid>.card h3{margin:auto!important;max-width:650px;font-size:clamp(40px,4.4vw,70px);text-align:center}
#features .grid>.card p{width:min(480px,82%);color:inherit;opacity:.72}

#pricing{background:#0b0c0d;color:#eeefed;padding-bottom:130px}
#pricing h2{color:#eeefed}
#pricing .lead{color:#a7a8a6}
#pricing .price-workspace{grid-column:1/-1!important;display:grid;grid-template-columns:270px minmax(0,1fr);gap:32px;margin-top:72px}
#pricing .price-tabs{display:flex;flex-direction:column;align-self:start;margin:0;border:0;border-top:1px solid #4a4b4a;overflow:visible}
#pricing .price-nav-title{padding:0 0 22px;color:#f0f0ed;font-size:28px;letter-spacing:-.04em}
#pricing .price-tabs button{width:100%;padding:20px 0;border:0;border-bottom:1px solid #4a4b4a!important;background:transparent!important;color:#8f9190;text-align:left;font-size:13px}
#pricing .price-tabs button:before{content:"○";margin-right:14px;color:#727473}
#pricing .price-tabs button.active{color:#f0f0ed!important}
#pricing .price-tabs button.active:before{content:"◉";color:#ae7565}
#pricing .pane{grid-column:auto!important;min-width:0}
#pricing .pricing-compare{border:1px solid #424443;background:linear-gradient(115deg,#2a2b2a,#141515);overflow:hidden}
#pricing .compare-row{display:grid;grid-template-columns:minmax(180px,1.25fr) repeat(4,minmax(155px,1fr));min-height:116px;border-bottom:1px solid #4a4c4b}
#pricing .compare-three .compare-row{grid-template-columns:minmax(180px,1.25fr) repeat(3,minmax(190px,1fr))}
#pricing .compare-row:last-child{border-bottom:0}
#pricing .compare-row>div{position:relative;padding:24px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-left:1px solid rgba(255,255,255,.08);font-size:15px}
#pricing .compare-row .compare-label{align-items:flex-start;text-align:left;border-left:0;font-size:17px;color:#e8e8e5}
#pricing .compare-row small{display:block;margin-top:8px;color:#aaa;line-height:1.45;font-size:11px}
#pricing .compare-head{min-height:128px;background:rgba(0,0,0,.12)}
#pricing .compare-head>div:not(.compare-label){font-size:21px;color:#e8e8e5}
#pricing .compare-row strong{font-size:21px;font-weight:500}
#pricing .compare-row i{font-style:normal;font-size:19px;color:#b78576}
#pricing .compare-row .recommended{background:rgba(122,91,82,.23);border-left-color:#6e534c;border-right:1px solid #6e534c}
#pricing .compare-head .recommended b{position:absolute;top:14px;padding:3px 8px;border:1px solid #9a6d60;border-radius:999px;color:#c79485;font:500 8px "IBM Plex Mono",monospace}
#pricing .note{color:#868887}
#pricing .pane>.grid,#pricing .pane>div>table,#pricing .pane>table{background:#151616;color:#e4e4e1}
#pricing .pane .card{background:#171818;color:#e8e8e5;border-color:#3f4140}
#pane-support table{min-width:1200px!important;line-height:1.55}
#pane-support th,#pane-support td{padding:18px 20px;vertical-align:top}
#pane-support th:nth-child(4),#pane-support td:nth-child(4){background:rgba(122,91,82,.2)}
#pane-support td:first-child{color:#ecece9}
#pane-support td small{color:#8f9190}

@media(max-width:900px){#features{height:auto!important;padding:90px 0!important}#features>.wrap{position:relative;height:auto;min-height:0;padding:0 20px;overflow:hidden}#features .eyebrow{position:static}#features h2{width:100%;margin-bottom:50px!important}#features .grid{position:relative;left:auto;bottom:auto;overflow-x:auto!important;transform:none!important;width:auto;padding-bottom:18px}#features .grid>.card{flex-basis:86vw;width:86vw;height:620px;min-height:0}#pricing .price-workspace{grid-template-columns:1fr;margin-top:50px}#pricing .price-tabs{display:grid;grid-template-columns:1fr 1fr}#pricing .price-nav-title{grid-column:1/-1}#pricing .price-tabs button{padding:16px 0}#pricing .pane{overflow-x:auto}#pricing .pricing-compare{min-width:900px}#pricing .compare-row{grid-template-columns:190px repeat(4,175px)}#pricing .compare-three .compare-row{grid-template-columns:190px repeat(3,220px)}}
