/* Generated by scripts/bundle-css.mjs: base.css + site.css. Don't edit: change those files and re-run. */
/* The design's shared stylesheet, generated by scripts/import-pages.py. Don't edit: change the design files and re-import. */
:root{--ink:#0a1720;--mid:#122939;--deep:#08111b;--paper:#f2f2ed;--white:#fff;--lime:#d7f66a;--blue:#87dfdf;--line:#c6cec9;--quiet:#566570}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 'DM Sans',sans-serif}h1,h2,h3{font-family:'Space Grotesk',sans-serif;line-height:1.04;letter-spacing:-.052em}h1,h2,h3,p{margin-top:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%}.wrap{max-width:1500px;margin:auto;padding-left:clamp(22px,5vw,78px);padding-right:clamp(22px,5vw,78px)}.top{height:72px;background:var(--deep);color:white;border-bottom:1px solid #354452;display:flex;align-items:center;gap:28px;position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:12px;font:700 27px/1 'Space Grotesk';letter-spacing:-.06em}.brandmark{width:27px;height:27px;background:var(--lime);clip-path:polygon(0 0,40% 0,40% 38%,100% 38%,100% 100%,60% 100%,60% 62%,0 62%)}.links{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:13px;font-weight:700}.links a:hover{color:var(--lime)}.top-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:13px 18px;background:var(--lime);color:var(--deep);border:1px solid var(--lime);font-size:13px;font-weight:800;white-space:nowrap}.top-cta:hover,.btn:hover{background:#ebffa8}.btn.line{background:transparent;color:white;border-color:#74878d}.btn.line:hover{border-color:var(--lime);color:var(--lime)}.menu{display:none;background:transparent;border:1px solid #85939b;color:white;padding:7px 12px}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800}.eyebrow:before{content:'';display:inline-block;vertical-align:middle;width:24px;height:2px;background:var(--lime);margin-right:11px}.hero{background:var(--deep);color:white;overflow:hidden}.hero-inner{padding-top:82px;padding-bottom:56px}.hero h1{font-size:clamp(51px,7.4vw,112px);line-height:.94;max-width:1350px;margin:25px 0 26px}.hero h1 .fixed{display:block}.rotate-shell{display:block;min-height:1.07em;color:var(--lime)}.rotate{display:inline-block;transition:opacity .3s,transform .3s}.rotate.exit{opacity:0;transform:translateY(-12px)}.hero-bottom{display:grid;grid-template-columns:minmax(0,720px) 1fr;gap:35px;align-items:end}.hero-bottom p{font-size:clamp(18px,1.5vw,22px);line-height:1.46;color:#c3d2d7;margin:0}.actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.hero-art{border:1px solid #3d5360;margin-top:56px;padding:20px;background:radial-gradient(circle at 50% 5%,#234658,#0e202e 50%,#0b1925);position:relative;overflow:hidden}.hero-art:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:34px 34px;pointer-events:none}.art-head{position:relative;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:4px 5px 17px;color:#c7d8d8;font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:800}.art-head span:last-child{color:var(--lime)}.art-body{position:relative;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:10px}.art-card{border:1px solid #526b75;background:#112736;padding:19px;min-height:266px}.art-card small{font-size:11px;color:#99c7c8;letter-spacing:.12em;font-weight:800;text-transform:uppercase}.art-card h3,.art-card h2{font-size:27px;margin:15px 0 19px}.art-list{display:grid;gap:7px}.art-list span,.art-list li{padding:10px 12px;border:1px solid #54707a;background:#1b3948;font-size:13px;font-weight:700}.art-control{background:var(--lime);color:var(--deep);border-color:var(--lime)}.art-control small{color:#334624}.art-control h3,.art-control h2{font-size:34px}.art-control .art-list span,.art-control .art-list li{background:#e8ff9c;border-color:#a3bb5d}.art-foot{position:relative;margin-top:10px;background:#d9e2db;padding:14px 18px;color:#15252a;font-size:13px;font-weight:800;display:flex;justify-content:space-between;gap:12px}.hero-meta{display:flex;justify-content:space-between;gap:20px;color:#b0c0c4;font-size:13px;margin-top:15px}.hero-meta strong{color:white}.section{padding-top:105px;padding-bottom:105px}.sectop{display:grid;grid-template-columns:.55fr 1.45fr;gap:32px;margin-bottom:45px}.sectop h2{font-size:clamp(41px,5vw,74px);margin:0;max-width:1000px}.sectop p{grid-column:2;max-width:790px;font-size:18px;color:#536067;margin:0}.sectop .eyebrow{padding-top:10px}.thesis{background:#e4e9e3}.thesis-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end}.thesis h2{font-size:clamp(45px,5.8vw,84px);margin:0}.thesis p{font-size:19px;color:#46565b;margin:0}.capabilities{background:#fff}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.cap{background:#f6f7f3;padding:28px;min-height:263px;display:flex;flex-direction:column}.cap:nth-child(2){background:#eaf0e7}.cap:nth-child(5){background:#eaf0e7}.cap small{font-size:12px;letter-spacing:.14em;font-weight:800;color:#557167}.cap h3{font-size:28px;margin:35px 0 12px}.cap p{color:#536266;font-size:15px;margin:0}.product{background:var(--deep);color:white}.product .sectop p{color:#bdcdd1}.product-visual{border:1px solid #4b6471;padding:23px;background:#102737}.product-top{display:flex;justify-content:space-between;gap:20px;color:#a4c5c8;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-bottom:15px}.product-rows{display:grid;gap:9px}.product-row{display:grid;grid-template-columns:185px 1fr;gap:10px}.row-label{color:#b7d2d2;font-size:14px;font-weight:800;padding:15px;display:flex;align-items:center}.row-cells{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.row-cells div,.row-cells li{background:#19394a;border:1px solid #587380;padding:18px;font-weight:700;font-size:15px}.product-row:nth-child(2) .row-cells div,.product-row:nth-child(2) .row-cells li{background:#244554}.product-row:nth-child(3) .row-cells div,.product-row:nth-child(3) .row-cells li{background:#c1eece;color:#0d2930;border-color:#c1eece}.product-base{margin-top:9px;background:var(--lime);color:var(--deep);padding:17px 20px;display:flex;justify-content:space-between;gap:20px;font-size:14px;font-weight:800}.product-copy{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px}.product-copy h3{font-size:25px}.product-copy p{color:#bbcad0;font-size:15px}.workloads{background:#edf0eb}.work-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:9px}.work-tab{border:1px solid #a8b6b0;background:#f9faf5;text-align:left;padding:18px 21px;font-size:17px;font-weight:800}.work-tab[aria-selected=true]{background:var(--ink);color:var(--lime);border-color:var(--ink)}.work-panel{border:1px solid #859c99;background:#dce7e2;display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:36px;min-height:390px}.work-panel h3{font-size:clamp(37px,4.4vw,65px);margin:18px 0}.work-panel p{font-size:17px;color:#475d60}.work-panel .fit{font-size:14px;border-top:1px solid #a3b9b4;padding-top:18px;margin-top:25px}.work-panel .fit strong{color:var(--ink)}.work-flow{background:#102a39;color:white;padding:23px;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between}.work-flow small{color:#a4d7d2;font-size:11px;letter-spacing:.14em;font-weight:800}.work-flow .steps{display:grid;gap:8px}.work-flow .step{border:1px solid #6a8189;padding:14px 16px;background:#1b3c4d;font-size:14px;font-weight:700}.work-flow .step:nth-child(2){background:var(--lime);border-color:var(--lime);color:var(--ink)}.work-flow footer{font-size:12px;color:#b2d2d2}.two{background:#fff}.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.buyer{background:#e8eeea;border:1px solid #b8c6bf;padding:30px;min-height:310px}.buyer:nth-child(2){background:#152d3d;color:white;border-color:#152d3d}.buyer small{font-size:12px;letter-spacing:.13em;font-weight:800;color:#496d68}.buyer:nth-child(2) small{color:var(--lime)}.buyer h3{font-size:clamp(31px,3.2vw,48px);margin:25px 0 16px}.buyer p{max-width:570px;color:#4d6366}.buyer:nth-child(2) p{color:#bfd0d2}.buyer .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:25px}.buyer .tags span{padding:7px 9px;border:1px solid #8ca9a0;font-size:12px;font-weight:800}.buyer:nth-child(2) .tags span{border-color:#6b8591}.packs{background:#e7e9e0}.pack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pack{border:1px solid #bac8bd;background:#fafbf5;min-height:270px;padding:24px;display:flex;flex-direction:column}.pack:first-child{background:var(--lime);border-color:#c4dd62}.pack small{font-size:11px;letter-spacing:.13em;font-weight:800;text-transform:uppercase}.pack h3{font-size:28px;margin:40px 0 13px}.pack p{font-size:15px;color:#526265;margin:0}.pack footer{font-size:12px;border-top:1px solid #aabbb0;padding-top:12px;margin-top:auto;font-weight:800}.physical{background:#fff}.physical-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:35px;align-items:start}.physical-copy h2{font-size:clamp(42px,5vw,74px)}.physical-copy p{font-size:18px;color:#516268}.physical-surface{background:#0e2735;color:white;border:1px solid #395b66;padding:23px}.physical-surface .topline{display:flex;justify-content:space-between;gap:10px;color:#a7cdd0;font-size:11px;font-weight:800;letter-spacing:.1em}.physical-steps{margin-top:30px;display:grid;gap:8px}.physical-step{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:center;border:1px solid #5d7983;padding:17px;background:#1b3c4e;font-size:14px}.physical-step strong{color:var(--lime)}.physical-step span{color:#d2e7e6}.physical-note{border-top:1px solid #54717b;margin-top:23px;padding-top:14px;color:#bbd3d4;font-size:13px}.deployment{background:#dce8e2}.deployment-flex{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:end}.deployment h2{font-size:clamp(44px,5vw,73px);margin-bottom:0}.deployment p{font-size:18px;color:#4b6264}.envs{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.envs span,.envs li{padding:11px 13px;border:1px solid #8ba59d;background:#f3f8f1;font-size:13px;font-weight:800}.end{background:var(--deep);color:white;padding-top:75px;padding-bottom:55px}.end h2{font-size:clamp(34px,4.2vw,60px);line-height:1.08;max-width:950px}.end h2 em{font-style:normal;color:var(--lime)}.end p{font-size:17px;color:#bfced1;max-width:740px}.end .actions{justify-content:flex-start}.foot{border-top:1px solid #3b505c;margin-top:95px;padding-top:25px;display:flex;justify-content:space-between;gap:35px;font-size:13px;color:#a9bec2}.foot nav{display:flex;gap:18px;flex-wrap:wrap}.foot a:hover{color:var(--lime)}
@media(max-width:1050px){.links{gap:12px}.hero-bottom{grid-template-columns:1fr}.actions{justify-content:flex-start}.art-body{grid-template-columns:1fr 1fr}.art-card:last-child{grid-column:1/-1;min-height:auto}.pack-grid{grid-template-columns:1fr 1fr}.product-copy{grid-template-columns:1fr 1fr}}@media(max-width:720px){.top{height:64px}.menu{display:block;margin-left:auto}.links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--deep);padding:20px;flex-direction:column;align-items:stretch;border-top:1px solid #445360}.links.open{display:flex}.top-cta{display:none}.hero-inner{padding-top:56px}.hero h1{font-size:clamp(46px,10.6vw,69px)}.rotate-shell{min-height:2.05em}.hero-art{padding:10px;margin-top:36px}.art-body,.thesis-grid,.sectop,.work-panel,.two-grid,.physical-grid,.deployment-flex{grid-template-columns:1fr}.art-card{min-height:190px}.art-card:last-child{grid-column:auto}.art-control h3,.art-control h2{font-size:29px}.art-foot,.hero-meta{display:block}.section{padding-top:70px;padding-bottom:70px}.sectop{gap:13px}.sectop p{grid-column:1}.cap-grid,.product-copy,.pack-grid{grid-template-columns:1fr}.cap{min-height:200px}.cap h3{margin-top:24px}.product-row{grid-template-columns:1fr;gap:0}.row-label{padding:12px 0}.row-cells{grid-template-columns:1fr}.row-cells div,.row-cells li{padding:12px}.product-base{display:block}.work-tabs{grid-template-columns:1fr}.work-panel{padding:22px}.buyer{min-height:0}.physical-step{grid-template-columns:1fr;gap:4px}.foot{display:block}.foot nav{margin-top:22px}}@media(prefers-reduced-motion:reduce){.rotate{transition:none}}

/* Extended platform story */
.nl{background:#e5ece7}.nl-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:36px;align-items:center}.nl h2,.private-ai h2,.lifecycle h2{font-size:clamp(42px,5vw,74px)}.nl p,.private-ai p,.lifecycle p{font-size:17px;color:#4f6265}.nl-surface{background:#0b2331;color:white;border:1px solid #4b6570;padding:21px;box-shadow:12px 12px 0 #b8cbbf}.nl-bar{display:flex;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid #46616b;font-size:12px;color:#acd0d0;font-weight:800;letter-spacing:.09em}.prompt{background:#1b3a4a;border:1px solid #58737b;padding:18px;margin:22px 0 13px;font-size:17px}.plan{display:grid;gap:7px}.plan div,.plan li{padding:12px 14px;border-left:3px solid var(--lime);background:#142f3e;font-size:14px}.approval{margin-top:16px;background:var(--lime);color:#13242b;padding:11px 14px;font-size:13px;font-weight:800}.nl-note{font-size:13px!important;margin-top:15px!important;color:#a9c3c4!important}.private-ai{background:#fff}.private-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.private-card{background:#eaf1eb;border:1px solid #bdcec4;min-height:245px;padding:24px}.private-card h3{font-size:26px;margin:30px 0 12px}.private-card p{font-size:15px;color:#536568}.private-rail{margin-top:10px;background:#d9edc7;padding:18px 21px;font-weight:800;font-size:14px}.lifecycle{background:#e7eae2}.life-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.life-card{background:#f8faf4;border:1px solid #b6c5b7;min-height:216px;padding:22px}.life-card small{font-size:11px;letter-spacing:.12em;font-weight:800;color:#598075}.life-card h3{font-size:25px;margin:34px 0 10px}.life-card p{font-size:14px}.lifecycle .note{margin-top:14px;border:1px solid #b4c3b5;padding:16px;background:#dae7d9;font-size:14px}.engines{margin-top:12px;border:1px solid #b5c5b8;background:#f8faf5;padding:18px 22px;display:flex;align-items:start;justify-content:space-between;gap:25px}.engines strong{white-space:nowrap}.engines span{color:#506267;font-size:14px}@media(max-width:1050px){.private-grid{grid-template-columns:1fr 1fr}.life-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.nl-grid{grid-template-columns:1fr}.nl-surface{box-shadow:5px 5px 0 #b8cbbf}.private-grid,.life-grid{grid-template-columns:1fr}.private-card,.life-card{min-height:0}.engines{display:block}.engines strong{display:block;margin-bottom:7px}}

.outcome-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.outcome{border:1px solid #a7b9b0;background:#f9faf6;padding:28px;min-height:270px;display:flex;flex-direction:column;transition:background .2s,transform .2s}.outcome:nth-child(2){background:#e2eee8}.outcome:nth-child(3){background:#e3e9dd}.outcome:nth-child(4){background:#dcece9}.outcome:hover{background:var(--lime);transform:translateY(-3px)}.outcome small{font-size:12px;font-weight:800;letter-spacing:.13em;color:#51726b}.outcome h3{font-size:clamp(25px,2.7vw,41px);margin:28px 0 13px}.outcome p{font-size:16px;color:#526466;max-width:530px}.outcome span{margin-top:auto;padding-top:20px;font-size:13px;font-weight:800;text-transform:uppercase}@media(max-width:720px){.outcome-grid{grid-template-columns:1fr}.outcome{min-height:235px}}
/* Hyperlake site additions. base.css is the design's own stylesheet (generated by scripts/import-pages.py);
   this file only adds what the design files don't have: the Sign in button, the contact and 404 pages, the blog. */

/* Header: Sign in / Sign up sits at the end of the links. The links need about 930px, so the header switches to
   the Menu button below 960px (the design switched at 720px, which crowded the header between 720 and 870px). */
.links .signin{padding:12px 16px;border:1px solid #74878d;white-space:nowrap}
.links .signin:hover{border-color:var(--lime)}
@media(max-width:960px){.menu{display:block;margin-left:auto}.links{display:none;position:absolute;top:72px;left:0;right:0;background:var(--deep);padding:20px;flex-direction:column;align-items:stretch;gap:20px;border-top:1px solid #445360}.links.open{display:flex}.links .signin{text-align:center}}
@media(max-width:720px){.links{top:64px}}

.btn:disabled{opacity:.6;cursor:wait}
.btn.outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.outline:hover{background:var(--lime);border-color:var(--lime)}

/* Page hero for contact, 404 and blog (same look as the use-cases hero) */
.page-hero{background:var(--deep);color:white;padding-top:58px;padding-bottom:60px}
.page-hero h1{font-size:clamp(38px,4.5vw,64px);line-height:1.05;max-width:1000px;margin:22px 0}
.page-hero p{font-size:17px;color:#b8cbd0;max-width:950px}
.page-hero .actions{justify-content:flex-start;margin-top:30px}

/* Contact page */
.contact{background:#fff}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;align-items:start}
.contact-card{background:#e8eeea;border:1px solid #b8c6bf;padding:30px}
.contact-card small,.contact-form small{display:block;font-size:12px;letter-spacing:.13em;font-weight:800;text-transform:uppercase;color:#496d68}
.contact-card h2{font-size:clamp(31px,3.2vw,48px);margin:25px 0 16px}
.contact-card p{color:#4d6366;max-width:520px}
.contact-card .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:25px}
.contact-card .tags span{padding:7px 9px;border:1px solid #8ca9a0;font-size:12px;font-weight:800}
.contact-card .signin-note{margin:28px 0 0;padding-top:18px;border-top:1px solid #b8c6bf;font-size:14px}
.contact-card .signin-note a{font-weight:800;color:var(--ink);border-bottom:2px solid var(--lime)}
.contact-form{background:#152d3d;color:white;border:1px solid #152d3d;padding:30px}
.contact-form small{color:var(--lime);margin-bottom:24px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-size:11px;letter-spacing:.12em;font-weight:800;text-transform:uppercase;color:#a4d7d2}
.field input,.field textarea{width:100%;border:1px solid #587380;border-radius:0;background:#19394a;color:white;padding:13px 14px;font:16px/1.4 'DM Sans',sans-serif;outline:none}
.field textarea{min-height:170px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--lime)}
.contact-form .btn{margin-top:18px}
.form-note{font-size:12px;color:#a9c3c4;margin:14px 0 0}
.form-status{margin:10px 0 0;font-size:13px;font-weight:700;color:var(--lime);min-height:20px}
.form-status.error{color:#ffb35a}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}.contact-card,.contact-form{padding:22px}}

/* Blog */
.blog-list{background:#fff}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.post-card{display:flex;flex-direction:column;border:1px solid #b6c8b9;background:#f8faf5;transition:transform .2s,border-color .2s}
.post-card:hover{transform:translateY(-3px);border-color:var(--ink)}
.post-card-media{aspect-ratio:1200/630;background:var(--deep);overflow:hidden}
.post-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.post-card-media.empty{background:radial-gradient(circle at 20% 25%,rgba(215,246,106,.35),transparent 40%),radial-gradient(circle at 80% 75%,rgba(135,223,223,.3),transparent 40%),var(--deep)}
.post-card-body{flex:1;display:flex;flex-direction:column;gap:10px;padding:24px}
.post-meta{font-size:11px;letter-spacing:.13em;font-weight:800;text-transform:uppercase;color:#4c766a}
.post-card h2{margin:0;font-size:26px}
.post-card p{margin:0;font-size:15px;color:#526469}
.post-card-more{margin-top:auto;padding-top:14px;border-top:1px solid #b6c8b9;display:flex;justify-content:space-between;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.post-card-more:after{content:"↗"}
.post-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr}
.post-card.featured .post-card-media{aspect-ratio:auto;min-height:340px}
.post-card.featured .post-card-body{justify-content:center;padding:34px}
.post-card.featured h2{font-size:clamp(28px,2.7vw,41px)}
.post-card.featured p{font-size:16px}
.blog-empty{border:1px dashed #a7b9b0;padding:56px 24px;text-align:center;font-size:17px;color:#526466}
.blog-empty a{font-weight:800;border-bottom:2px solid var(--lime)}
/* Blog index: pointer to the free cost calculator */
.tool-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;margin-top:28px;padding:26px 30px;border:1px solid var(--ink);border-left:8px solid var(--lime);background:var(--paper)}
.tool-card .eyebrow{color:#496d68}
.tool-card h2{margin:10px 0 8px;font-size:clamp(24px,2.4vw,32px)}
.tool-card h2 a{border-bottom:2px solid var(--lime)}
.tool-card p{margin:0;max-width:640px;color:#3d4e55}
@media(max-width:640px){.tool-card{padding:22px 20px}}
.post-head{padding-bottom:0}
.post-head .eyebrow a{border-bottom:1px solid currentColor}
.post-lead{max-width:820px}
.post-byline{margin-top:26px;font-size:14px;color:#c3d2d7}
.post-byline b{color:white}
.post-cover{margin:0;padding:0 4.5vw 56px;background:var(--deep)}
.post-cover img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border:1px solid #3d5360}
.post-body{padding:72px 4.5vw;font-size:19px;line-height:1.7;color:#2c3b41}
.post-body>*{max-width:720px}
.post-body p{margin:0 0 1.15em}
.post-body h2{margin:1.9em 0 .55em;font-size:clamp(28px,2.4vw,36px);color:var(--ink);scroll-margin-top:90px}
.post-body h3{margin:1.6em 0 .5em;font-size:24px;line-height:1.15;color:var(--ink);scroll-margin-top:90px}
.post-body h4{margin:2em 0 .8em;font-size:12px;line-height:1.4;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:var(--ink)}
.post-body a{color:var(--ink);border-bottom:2px solid var(--lime);transition:background .15s}
.post-body a:hover{background:rgba(215,246,106,.4)}
.post-body blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:4px solid var(--lime);font-size:22px;line-height:1.45;font-weight:600;color:var(--ink)}
.post-body ul,.post-body ol{margin:0 0 1.15em;padding-left:1.25em}
.post-body li{margin:.35em 0}
.post-body code{padding:.1em .35em;background:#e4e9e3;font:.85em ui-monospace,SFMono-Regular,Menlo,monospace}
.post-body strong{color:var(--ink)}
.post-figure{margin:2.2em 0;max-width:960px!important}
.post-figure img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.post-figure figcaption{margin-top:10px;font-size:13px;line-height:1.5;color:var(--quiet)}
.post-figure-link{display:block;border:0!important;cursor:zoom-in}
.post-figure-link:hover{background:none!important}
.post-video-frame{position:relative;aspect-ratio:16/9;background:var(--deep);border:1px solid var(--ink)}
.post-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.post-body>.post-video:first-child{margin-top:0;margin-bottom:2.4em}
.post-foot{margin:0 4.5vw 90px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
.post-share{display:flex;gap:14px;align-items:center;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.post-share span{color:var(--quiet)}
.post-share a{border-bottom:1px solid var(--ink);padding-bottom:3px}
.more-posts{background:#e4e9e3}
@media(max-width:1100px){.post-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.post-card.featured{grid-template-columns:1fr}.post-card.featured .post-card-media{min-height:0;aspect-ratio:1200/630}}
@media(max-width:640px){.post-grid{grid-template-columns:1fr}.post-cover{padding:0 20px 40px}.post-body{padding:56px 20px}.post-body blockquote{font-size:19px}.post-foot{margin:0 20px 70px}.post-card.featured .post-card-body{padding:24px}}

/* FAQ page */
.faq{background:#fff}
.faq-group{display:grid;grid-template-columns:.55fr 1.45fr;gap:32px;padding:42px 0;border-top:1px solid var(--line)}
.faq-group:first-child{border-top:0;padding-top:0}
.faq-group h2{font:800 12px/1.4 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:8px 0 0}
.faq-item+.faq-item{margin-top:32px}
.faq-item h3{font-size:clamp(23px,2.2vw,30px);margin:0 0 12px}
.faq-item p{font-size:17px;color:#536067;margin:0;max-width:790px}
.faq-item a{font-weight:800;color:var(--ink);border-bottom:2px solid var(--lime)}
@media(max-width:720px){.faq-group{grid-template-columns:1fr;gap:14px;padding:34px 0}}

/* Blog: "In this article" */
.post-toc{margin:0 0 2.4em;padding:22px 26px;border-left:3px solid var(--lime);background:#e8eeea}
.post-toc-title{font-size:12px;letter-spacing:.14em;font-weight:800;text-transform:uppercase;color:#496d68;margin-bottom:12px}
.post-toc ol{margin:0;padding-left:1.2em;font-size:16px;line-height:1.5}
.post-toc li{margin:.3em 0}
.post-body .post-toc a{border-bottom:0}
.post-body .post-toc a:hover{background:none;text-decoration:underline}

/* Accessibility: the lifecycle cards' labels (#598075 in the design) were just under the 4.5:1 contrast minimum */
.life-card small{color:#4a6f64}

/* blog video thumbnail, shown until the player loads */
.post-video-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post-video-frame[data-embed]{cursor:pointer}
.post-video-frame[data-embed]:after{content:"";position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;border-radius:12px;background:rgba(0,0,0,.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5v14l11-7z'/%3E%3C/svg%3E") center/28px no-repeat}
.post-video-frame[data-embed]:hover:after{background-color:#e00}

/* skip link: the first focusable element on every page, visible only when focused */
.skip{position:absolute;left:-9999px;top:0;z-index:1000;padding:12px 18px;background:#d7f66a;color:#08111b;font-weight:800;border-radius:0 0 8px 0}
.skip:focus{left:0}
main:focus{outline:none}

/* label groups that are real lists (the homepage): same look as the design's boxes, without list markers or default margins */
ul.row-cells,ul.art-list,ol.plan{list-style:none;margin:0;padding:0}
ul.envs{list-style:none;margin:20px 0 0;padding:0}
/* engine choices: a list of one-line sentences */
.engines .engine-body{flex:1;min-width:0}
.engine-list{margin:10px 0;padding:0 0 0 18px;columns:2;column-gap:28px;color:#506267;font-size:14px;line-height:1.55}
.engine-list li{break-inside:avoid;margin:3px 0}
@media(max-width:760px){.engine-list{columns:1}}

/* a link inside a label (the homepage's Physical AI workloads) */
.inline-link{text-decoration:underline;text-underline-offset:4px}
