/* Prism Robotics Website v0.2.4-preview — supplementary pages and web roadmap.
   Loaded after the existing v0.2.3.2 styles, without replacing their identity. */
:root{--pf-bg:#0b1427;--pf-surface:#152541;--pf-border:#304565;--pf-aqua:#5fe4d5;--pf-ink:#eff5ff;--pf-muted:#b3c3da}
/* Homepage: separate website/community roadmap, following the hardware roadmap. */
.web-roadmap{padding-top:48px;margin-top:46px;border-top:1px solid #314661}
.web-roadmap h3{font-size:clamp(23px,3vw,31px);line-height:1.2;letter-spacing:-.035em;color:#f4f9ff;margin:0 0 11px}
.web-roadmap-intro{font-size:14px;color:#aebed5;max-width:780px;line-height:1.8;margin:0 0 22px}
.web-roadmap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.web-roadmap-item{color:#e8f4ff;display:flex;flex-direction:column;gap:13px;text-decoration:none;background:linear-gradient(130deg,#192c48,#14243d);border:1px solid #354c69;padding:25px;border-radius:16px;transition:transform .2s,border-color .2s}
.web-roadmap-item:hover,.web-roadmap-item:focus-visible{transform:translateY(-2px);border-color:var(--pf-aqua);color:#fff}
.web-roadmap-kicker{font-size:11px;letter-spacing:.1em;font-weight:800;color:#85e9db}
.web-roadmap-item strong{font-size:21px;letter-spacing:-.025em;line-height:1.25;color:#fff}
.web-roadmap-item span:not(.web-roadmap-kicker):not(.web-roadmap-more){font-size:13px;line-height:1.75;color:#aebfd7}
.web-roadmap-more{font-size:13px;font-weight:750;color:#5fe4d5;margin-top:auto;padding-top:5px}
/* New pages share SEO and site-chrome styles. Override locally for design. */
.pf-main{background:radial-gradient(ellipse 64% 380px at 80% 9%,rgba(70,74,145,.11),transparent 74%),var(--pf-bg);padding-bottom:0}
.pf-main .wrap{width:min(1120px,calc(100% - 64px));margin:0 auto}
.pf-crumbs{font-size:12px;color:#91aac7;padding:25px 0 0}
.pf-crumbs a{color:#b5d0e8;text-decoration:none}
.pf-crumbs a:hover{color:var(--pf-aqua)}
.pf-crumbs span{display:inline-block;padding:0 11px;color:#6687a8}
.pf-main h1,.pf-main h2,.pf-main h3{color:var(--pf-ink)}
.pf-main p{color:#b7c7dd}
.pf-kicker{color:#79ebde;letter-spacing:.17em;text-transform:uppercase;font-size:11px;font-weight:820}
.pf-gradient{background:linear-gradient(93deg,#5fe4d5 4%,#84b8f6 66%,#a18dff 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.pf-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:60px;padding:92px 0 108px}
.pf-hero h1,.pf-account-hero h1{font-size:clamp(42px,5.3vw,72px);line-height:1.09;letter-spacing:-.058em;margin:20px 0 24px;max-width:800px}
.pf-lead{font-size:clamp(16px,1.8vw,19px);line-height:1.8;color:#c6d5e7!important;max-width:700px;margin:0 0 26px}
.pf-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 19px}
.pf-btn{min-height:48px;padding:13px 19px;display:inline-flex;gap:10px;align-items:center;justify-content:center;border-radius:10px;font-size:13px;font-weight:780;text-decoration:none;transition:transform .2s,border-color .2s,background .2s}
.pf-btn-primary{color:#082635!important;background:#5fe4d5;border:1px solid #5fe4d5}
.pf-btn-outline{color:#e4f1ff!important;background:#16263d;border:1px solid #506783}
.pf-btn:hover,.pf-btn:focus-visible{transform:translateY(-2px)}
.pf-btn-outline:hover{border-color:#5fe4d5;background:#1d3451}
.pf-availability{display:flex;align-items:center;gap:9px;font-size:12px;color:#a9bcd4!important;margin:20px 0 0}
.pf-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#5fe4d5;box-shadow:0 0 0 5px rgba(95,228,213,.10)}
.pf-hero-art{min-height:385px;display:flex;align-items:center;justify-content:center;border-radius:22px;border:1px solid #344d70;background:radial-gradient(circle at 65% 32%,#2d3767,#172844 53%,#102137 91%);position:relative;overflow:hidden}
.pf-hero-art:before,.pf-hero-art:after{position:absolute;content:"";width:340px;height:340px;border-radius:50%;border:1px solid rgba(95,228,213,.15);transform:rotateX(55deg) rotateZ(30deg)}
.pf-hero-art:after{width:490px;height:490px;border-color:rgba(153,135,255,.12)}
.pf-hero-art img{position:relative;z-index:1;width:180px;height:180px;object-fit:contain;filter:drop-shadow(0 15px 35px rgba(0,0,0,.45));margin-bottom:32px}
.pf-code{position:absolute;z-index:2;bottom:22px;left:25px;right:25px;display:flex;flex-direction:column;gap:2px;align-items:flex-start;color:#9ab1ce;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.8}
.pf-code span{color:#7fe8d9;font-size:15px;font-weight:700}.pf-code i{font-size:10px;color:#9d91e5;font-style:normal;letter-spacing:.14em}
.pf-section{padding:70px 0 85px;border-top:1px solid #233753}
.pf-section-soft{padding:82px 0 90px}
.pf-section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:35px}
.pf-section h2,.pf-bottom-callout h2{font-size:clamp(29px,3.7vw,42px);line-height:1.18;letter-spacing:-.045em;margin:12px 0 14px}
.pf-section-head p{font-size:14px;line-height:1.8;max-width:700px;margin:0}
.pf-pill{display:inline-flex;flex:none;align-items:center;justify-content:center;padding:9px 14px;border:1px solid #2a8079;border-radius:99px;background:#17343c;font-size:11px;color:#a1f5e9;font-weight:750}
.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.pf-card{display:flex;flex-direction:column;min-width:0;padding:29px 26px 26px;background:linear-gradient(148deg,#192a46,#122139);border:1px solid #314663;border-radius:16px;min-height:308px}
.pf-card-index{font-size:10px;color:#87a8c8;letter-spacing:.1em;font-weight:800}
.pf-card-symbol{font-family:ui-monospace,monospace;font-size:30px;font-weight:800;color:#8df3e7;line-height:1.2;margin:27px 0 21px;display:flex;justify-content:space-between;align-items:center}
.pf-card-symbol span{font-size:16px;color:#5a7d9a}
.pf-card h3{font-size:19px;letter-spacing:-.03em;line-height:1.32;margin:0 0 12px}
.pf-card p{font-size:13px;line-height:1.75;margin:0 0 19px;color:#a9bed5}
.pf-card-end{font-size:11px;color:#a5dbcF;margin-top:auto;padding-top:15px;border-top:1px solid #2a3e59}
.pf-two-col{display:grid;grid-template-columns:1fr .82fr;gap:88px;align-items:center}
.pf-two-col p{font-size:14px;line-height:1.9}
.pf-text-link{display:inline-flex;margin-top:12px;color:#76e8dc;font-weight:740;font-size:13px;text-decoration:none}
.pf-text-link:hover{text-decoration:underline}
.pf-side-panel{border:1px solid #34506d;background:#152843;border-radius:18px;padding:32px 34px}
.pf-side-eyebrow{display:block;color:#8daecc;font-weight:800;letter-spacing:.1em;font-size:11px;margin-bottom:19px}
.pf-side-line{display:flex;align-items:center;gap:20px;border-top:1px solid #2a4461;padding:16px 0}
.pf-side-line:last-child{padding-bottom:0}
.pf-side-line b{color:#67decf;font-size:13px;font-weight:800}
.pf-side-line span{color:#c5d6e8;font-size:13px}
.pf-bottom-callout{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:38px 42px;margin:2px 0 85px;border:1px solid #456578;border-radius:19px;background:linear-gradient(110deg,#173746,#233056,#1f294b)}
.pf-bottom-callout h2{margin:12px 0 10px;font-size:clamp(26px,3.3vw,38px)}
.pf-bottom-callout p{font-size:14px;margin:0;line-height:1.7;max-width:670px}
.pf-bottom-callout .pf-btn{flex:none}
.pf-account-hero{padding:105px 0 112px;position:relative}
.pf-account-badge{display:inline-flex;align-items:center;gap:12px;margin-left:18px;background:#153c3d;border:1px solid #287970;color:#a5f2e6;padding:9px 13px;border-radius:99px;font-size:11px;font-weight:770}
.pf-account-hero h1{max-width:980px;margin-top:28px}
.pf-account-hero .pf-lead{max-width:720px}
.pf-notice{padding:19px 22px;margin:30px 0 24px;border-left:3px solid var(--pf-aqua);background:#132a3f;border-radius:0 12px 12px 0;display:flex;flex-direction:column;gap:8px;max-width:820px}
.pf-notice strong{color:#e5fbf7;font-size:14px}.pf-notice span{color:#b8cde2;font-size:13px;line-height:1.7}
@media(max-width:1120px){.pf-hero{gap:35px}.pf-two-col{gap:45px}}
@media(max-width:900px){.web-roadmap-grid{grid-template-columns:1fr}.pf-hero{grid-template-columns:1fr;padding:65px 0}.pf-hero-art{min-height:310px}.pf-two-col{grid-template-columns:1fr}.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-bottom-callout{flex-direction:column;align-items:flex-start}.pf-account-hero{padding:80px 0 90px}}
@media(max-width:620px){.pf-main .wrap{width:calc(100% - 36px)}.pf-hero,.pf-account-hero{padding:51px 0 65px}.pf-hero h1,.pf-account-hero h1{font-size:clamp(38px,11vw,56px)}.pf-hero-art{min-height:275px}.pf-hero-art img{width:145px;height:145px}.pf-grid{grid-template-columns:1fr}.pf-section{padding:53px 0}.pf-section-head{align-items:start;flex-direction:column;gap:16px}.pf-card{min-height:275px}.pf-side-panel{padding:24px}.pf-bottom-callout{padding:28px 23px;margin-bottom:52px}.pf-account-badge{margin:20px 0 0}.pf-actions .pf-btn{width:100%}.web-roadmap{padding-top:33px;margin-top:35px}}
@media(prefers-reduced-motion:reduce){.web-roadmap-item,.pf-btn{transition:none}.web-roadmap-item:hover,.pf-btn:hover{transform:none}}
/* Extra navigation links require a slightly earlier collapse to the mobile menu. */
@media(max-width:1260px){.header .nav{display:none!important;position:absolute;left:18px;right:18px;top:72px;padding:13px;background:#152843;border:1px solid #395070;border-radius:13px;flex-direction:column;align-items:stretch;gap:5px;box-shadow:0 17px 37px #020712cf;white-space:normal;z-index:60}.header .nav.open{display:flex!important}.header .nav a{font-size:14px;padding:13px 14px;min-height:44px;display:flex;justify-content:flex-start}.header .nav a.nav-cta{margin:7px 0 0;justify-content:center}.header .mobile-menu{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:54px;margin-left:auto}.header .header-inner{height:72px}}

/* v0.2.4.1 : sélecteur de langue en liens (navigation sans JS) */
.header .lang a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;font:inherit;font-size:12px;font-weight:700;min-height:32px;min-width:35px;padding:8px 10px;border-radius:7px;color:#8d9fb7;text-decoration:none}
.header .lang a:hover{color:#e6f1ff}
.header .lang a[aria-current='true']{color:#061c29;background:#5fe4d5}
.header .lang a:focus-visible{outline:2px solid #5fe4d5;outline-offset:2px}
@media(max-width:420px){.header .lang a{min-width:30px;padding:6px}}
