/* SKB: shared laboratory rhythm, with its recognisable workshop banner preserved.
   All content remains server rendered. No continuously animated background. */
[data-skb-page] {
 --skb-ink:#152438; --skb-muted:#536375; --skb-line:#d4dce7;
 --skb-paper:#f3f5f9; --skb-dark:#0f1b2c; --skb-accent:#b8c7f7;
 color:var(--skb-ink); background:var(--skb-paper);
}
.skb-page h2,.skb-page h3 { text-transform:none; letter-spacing:-.025em; text-wrap:pretty; }
.skb-page h2 { font-size:clamp(30px,3.4vw,42px); line-height:1.15; }
.skb-page p { line-height:1.65; }
.skb-page .skb-eyebrow { margin:0 0 18px; color:#5b6190; font-size:12px; font-weight:650; line-height:1.5; letter-spacing:.07em; text-transform:uppercase; }
.skb-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:36px; }
.skb-section-heading > div { min-width:0; max-width:800px; }
.skb-section-heading h2 { margin:0; }
.skb-section-heading > .text-link { flex-shrink:0; color:#4d5887; }
.skb-page .skb-section-intro { margin:24px 0 0; max-width:760px; font-size:18px; color:var(--skb-muted); }
.skb-page .skb-button,.skb-page .hero .button {
 display:inline-flex; align-items:center; justify-content:space-between; gap:24px;
 min-height:52px; background:#ccd7fc; color:#172744; border:1px solid #e0e8ff;
 border-radius:13px; box-shadow:none; font-weight:600;
}
.skb-page .skb-button:hover,.skb-page .hero .button:hover { background:#e1e8ff; transform:none; box-shadow:none; }
.skb-page .skb-button::before,.skb-page .hero .button::before { display:none; }
.skb-page a:focus-visible,.skb-page summary:focus-visible { outline:3px solid #8b92db; outline-offset:5px; }

/* First screen: keep the workshop photograph, grid, large type and brand mark. */
.skb-page .hero { background:#edf1f7; padding:40px 0 56px; }
.skb-page .hero__inner { container-type:inline-size; padding:30px 46px 42px; min-height:0; border-radius:28px; box-shadow:0 24px 64px #071a3026; }
.skb-page .hero__system-bar { width:min(800px,calc(100% - 110px)); gap:16px 28px; flex-wrap:wrap; font-size:10px; line-height:1.5; }
.skb-page .hero__availability i,.skb-page .hero__inner::before,.skb-page .hero__inner::after { animation:none; }
.skb-page .hero__heading { margin-top:42px; max-width:850px; }
.skb-page .hero h1 { max-width:850px; margin-bottom:20px; font-size:clamp(32px,6.4cqi,70px); line-height:.98; letter-spacing:-.045em; }
.skb-page .hero__heading p { max-width:720px; font-size:21px; line-height:1.4; }
.skb-page .hero__text { max-width:650px; margin:28px 0 0; padding:0; font-size:17px; line-height:1.65; color:#d6e2f2; }
.skb-page .hero__actions { margin-top:28px; gap:16px 24px; flex-wrap:wrap; }
.skb-page .hero__link { font-size:15px; }
.skb-page .hero__telemetry { right:46px; bottom:42px; min-width:180px; }
.skb-page .hero__mark { top:28px; right:38px; width:60px; height:78px; }

/* Introduction: one calm editorial panel, with a complete, uncropped image. */
.skb-intro { padding-top:16px; }
.skb-intro-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,340px); gap:48px; align-items:center; padding:40px; border:1px solid var(--skb-line); border-radius:26px; background:#fff; }
.skb-intro-copy { min-width:0; }
.skb-intro-copy h2 { margin:0 0 24px; font-size:clamp(28px,3vw,38px); }
.skb-intro-copy > p:last-child { margin:0; color:var(--skb-muted); font-size:18px; }
.skb-intro-image { min-width:0; overflow:hidden; border-radius:18px; background:#0e1d33; }
.skb-intro-image img { display:block; width:100%; height:auto; max-height:510px; object-fit:contain; }

/* Cases: two entries use the full width; extra entries keep a regular grid. */
.skb-cases { background:#eaf0f7; }
.skb-cases .learning-case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.skb-cases .learning-case-grid:has(> :only-child) { grid-template-columns:minmax(0,1fr); max-width:760px; }
.skb-cases .learning-case-card { display:flex; flex-direction:column; border-color:#cbd8e6; border-radius:24px; background:#fff; box-shadow:none; }
.skb-cases .learning-case-card:hover { transform:none; box-shadow:none; }
.skb-cases .learning-case-card__visual { flex-shrink:0; aspect-ratio:16 / 10; min-height:0; background:#10243a; color:#c4d6f2; }
.skb-cases .learning-case-card__visual::after { display:none; }
.skb-cases .learning-case-card__visual img { object-fit:contain; transform:none; }
.skb-cases .learning-case-card__visual:focus-visible { outline-offset:-5px; }
.skb-cases .learning-case-card__copy { flex:1; min-height:0; padding:30px; }
.skb-cases .learning-case-card__meta { margin-bottom:20px; gap:8px; }
.skb-cases .learning-case-card__meta span { color:#4d5e83; background:#f5f7fd; border-color:#ced7e8; font-size:11px; line-height:1.5; }
.skb-cases .learning-case-card h3 { margin:0 0 18px; font-size:28px; line-height:1.2; }
.skb-cases .learning-case-card h3 a { text-decoration:none; }
.skb-cases .learning-case-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.skb-cases .learning-case-card p { margin-bottom:20px; color:var(--skb-muted); font-size:16px; line-height:1.65; }
.skb-cases .learning-case-card small { margin-bottom:24px; color:#536786; font-size:13px; line-height:1.5; }
.skb-cases .learning-case-card__link { display:flex; width:100%; min-height:52px; align-items:center; margin-top:auto; padding-top:16px; border:0; border-top:1px solid var(--skb-line); color:#364d76; font-size:15px; font-weight:600; text-decoration:none; }
.skb-cases .skb-cases-cta { margin-top:28px; background:#273b65; color:#fff; border-color:#273b65; }
.skb-cases .skb-cases-cta:hover { background:#354c7b; }

/* Magic Bento applies to informative surfaces, without fake click affordances. */
.skb-needs-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.skb-need { position:relative; isolation:isolate; min-width:0; padding:30px; border:1px solid #ccd6e5; border-radius:24px; background:#fff; overflow:hidden; }
.skb-need:first-child { background:linear-gradient(145deg,#243954,#15253c); color:#f0f5ff; border-color:#5b7190; }
.skb-need.skb-need--accent { background:#e0e3f7; color:#222d4c; border-color:#c4c9e6; }
.skb-need > :not(.ai-bento-light) { position:relative; z-index:1; }
.skb-need-icon { display:block; width:38px; height:38px; margin-bottom:32px; color:#6979ab; }
.skb-need:first-child .skb-need-icon { color:#b6c9ef; }
.skb-need.skb-need--accent .skb-need-icon { color:#616fa2; }
.skb-need-icon svg { display:block; width:100%; height:100%; }
.skb-need h3 { margin:0 0 18px; font-size:25px; line-height:1.25; color:inherit; }
.skb-need p { margin:0; color:#546479; font-size:17px; }
.skb-need:first-child p { color:#c9d9eb; }
.skb-need.skb-need--accent p { color:#4d5976; }
.skb-page .ai-bento-light { position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:var(--ai-bento-active,0); transition:opacity 180ms ease; }
.skb-page .ai-bento-light::before { content:""; position:absolute; inset:0; border-radius:inherit; background:radial-gradient(320px circle at var(--ai-bento-x,50%) var(--ai-bento-y,50%),#a8baff26,transparent 75%); }
.skb-page .ai-bento-light::after { content:""; display:none; position:absolute; inset:0; border-radius:inherit; padding:1px; background:radial-gradient(280px circle at var(--ai-bento-x,50%) var(--ai-bento-y,50%),#afc6ff,transparent 75%); }

/* A compact, connected route instead of four tall posters. */
.skb-process { background:radial-gradient(ellipse at 90% 0,#36416e55,transparent 55%),#101e31; color:#edf3ff; }
.skb-process .skb-eyebrow { color:#b8c8ec; }
.skb-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:0; margin:0; list-style:none; }
.skb-step { position:relative; min-width:0; }
.skb-step:not(:last-child)::after { content:""; position:absolute; top:26px; left:68px; right:0; height:1px; background:#a5bcdf35; }
.skb-step-number { position:relative; z-index:1; display:grid; place-items:center; width:52px; min-height:52px; padding:8px; margin-bottom:24px; border:1px solid #839fc061; border-radius:15px; background:#1c324e; color:#c8dcff; font-size:18px; line-height:1.3; overflow-wrap:anywhere; }
.skb-step:last-child .skb-step-number { background:#c3d3f7; color:#182d4a; border-color:#dde7ff; }
.skb-step h3 { margin:0 0 14px; font-size:23px; line-height:1.25; }
.skb-step p { margin:0; color:#bfd0e4; font-size:16px; }
.skb-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:48px; padding-top:40px; border-top:1px solid #91afcf30; }
.skb-service { min-width:0; overflow:hidden; border:1px solid #8cacd03b; border-radius:22px; background:#192c44; }
.skb-service-image { aspect-ratio:16 / 10; overflow:hidden; background:#20364f; }
.skb-service-image img { display:block; width:100%; height:100%; object-fit:cover; }
.skb-service-copy { padding:28px; }
.skb-service h3 { margin:0 0 16px; font-size:24px; line-height:1.25; }
.skb-service p { margin:0; font-size:16px; color:#c4d4e6; }

/* Native details remain functional without JavaScript or animation support. */
.skb-faq-layout { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:64px; align-items:start; }
.skb-faq h2 { font-size:clamp(28px,2.8vw,38px); }
.skb-faq-list { min-width:0; display:grid; gap:12px; }
.skb-faq-list details { padding:0 26px; border:1px solid var(--skb-line); border-radius:19px; background:#fff; }
.skb-faq-list details[open] { border-color:#a6b8d4; }
.skb-faq-list summary { position:relative; display:block; padding:24px 36px 24px 0; list-style:none; cursor:pointer; font-size:20px; font-weight:600; line-height:1.4; }
.skb-faq-list summary::-webkit-details-marker { display:none; }
.skb-faq-list summary::after { content:"+"; position:absolute; right:0; top:22px; width:24px; text-align:center; color:#65799b; font-size:26px; line-height:1.2; font-weight:400; }
.skb-faq-list details[open] summary::after { content:"−"; }
.skb-faq-list p { margin:0; padding:0 0 26px; color:var(--skb-muted); font-size:17px; }

.skb-contact { padding-top:0; }
.skb-contact-panel { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:space-between; gap:40px; overflow:hidden; padding:48px; border:1px solid #7488ac; border-radius:26px; background:radial-gradient(ellipse at 10% 100%,#44598b55,transparent 65%),#16273e; color:#f0f5ff; }
.skb-contact-panel > :not(.ai-border-light) { position:relative; z-index:1; }
.skb-contact-copy { min-width:0; flex:1; }
.skb-contact .skb-eyebrow { color:#bacbed; }
.skb-contact h2 { margin:0 0 26px; max-width:680px; }
.skb-contact-links { display:flex; flex-wrap:wrap; gap:8px 28px; }
.skb-contact-links a { display:inline-flex; align-items:center; min-height:44px; font-size:17px; color:#d1e0f5; text-decoration:underline; text-underline-offset:6px; overflow-wrap:anywhere; min-width:0; }
.skb-contact-panel > .button { flex-shrink:0; }
.skb-page .ai-border-light { display:none; position:absolute; inset:0; padding:2px; border-radius:inherit; pointer-events:none; background:conic-gradient(from var(--ai-border-angle,0deg),#8da7d900,#b6cbff80 18%,#edf3ff 26%,#a3bbf4 34%,#8da7d900 52%); opacity:calc(var(--ai-border-active,0) * (.25 + var(--ai-border-edge,0) * .75)); transition:opacity 180ms ease; }
@supports (mask-composite:exclude) or (-webkit-mask-composite:xor) {
 .skb-page .ai-bento-light::after,.skb-page .ai-border-light { display:block; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
}
@media(max-width:1119px) {
 .skb-page .hero__inner { padding:30px 32px 36px; }
 .skb-page .hero__heading { margin-top:34px; }
 .skb-page .hero__text { max-width:610px; }
 .skb-page .hero__telemetry { display:none; }
 .skb-intro-panel { padding:30px; gap:30px; }
 .skb-needs-grid { gap:16px; }
 .skb-need { padding:24px; }
 .skb-need h3 { font-size:23px; }
 .skb-services { gap:16px; }
 .skb-service-copy { padding:24px; }
 .skb-service h3 { font-size:22px; }
 .skb-faq-layout { gap:36px; grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr); }
}
@media(max-width:979px) {
 .skb-intro-panel { grid-template-columns:1fr; }
 .skb-intro-image { max-height:none; }
 .skb-intro-image img { max-height:420px; object-fit:contain; }
 .skb-needs-grid { grid-template-columns:1fr; }
 .skb-need { display:grid; grid-template-columns:44px minmax(0,1fr); gap:0 24px; }
 .skb-need-icon { grid-row:1 / 3; margin:0; }
 .skb-need h3,.skb-need p { grid-column:2; }
 .skb-need h3 { margin-bottom:12px; }
 .skb-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
 .skb-step:nth-child(even)::after { display:none; }
 .skb-services { grid-template-columns:1fr; }
 .skb-service { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; }
 .skb-service-image { align-self:stretch; aspect-ratio:auto; min-height:220px; }
 .skb-faq-layout { grid-template-columns:1fr; gap:0; }
 .skb-contact-panel { align-items:flex-start; flex-direction:column; }
}
@media(max-width:767px) {
 .skb-section-heading { align-items:flex-start; flex-direction:column; gap:20px; margin-bottom:28px; }
 .skb-page .skb-section-intro { font-size:17px; margin-top:20px; }
 .skb-page .hero { padding:28px 0 40px; }
 .skb-page .hero__inner { padding:24px; border-radius:24px; min-height:0; background-position:center,center,67% center; }
 .skb-page .hero__system-bar { width:100%; gap:12px; font-size:9px; }
 .skb-page .hero__system-bar > span:first-child { max-width:150px; }
 .skb-page .hero__availability { max-width:135px; }
 .skb-page .hero__heading { margin-top:32px; }
 .skb-page .hero h1 { font-size:clamp(22px,8.3cqi,36px); line-height:1.05; }
 .skb-page .hero__heading p { font-size:17px; line-height:1.4; }
 .skb-page .hero__text { font-size:16px; margin-top:24px; line-height:1.65; }
 .skb-page .hero__actions { gap:14px; width:100%; }
 .skb-page .hero__mark { display:none; }
 .skb-intro-panel { padding:24px; gap:28px; border-radius:24px; }
 .skb-intro-copy h2 { font-size:clamp(24px,7vw,28px); }
 .skb-intro-copy > p:last-child { font-size:17px; }
 .skb-cases .learning-case-grid { grid-template-columns:1fr; gap:20px; }
 .skb-cases .learning-case-card__copy { padding:24px; }
 .skb-cases .learning-case-card h3 { font-size:25px; }
 .skb-need { padding:26px; }
 .skb-need p { font-size:16px; }
 .skb-service-copy { padding:26px; }
 .skb-contact-panel { padding:30px; gap:28px; }
}
@media(max-width:639px) {
 .skb-page .hero__actions { flex-direction:column; align-items:stretch; }
 .skb-page .hero .button { width:100%; }
 .skb-page .hero__link { justify-content:flex-start; }
 .skb-page .hero__system-bar > span { max-width:100%; }
 .skb-need { display:block; padding:24px; }
 .skb-need-icon { margin-bottom:24px; }
 .skb-steps { grid-template-columns:1fr; gap:0; }
 .skb-step { display:grid; grid-template-columns:46px minmax(0,1fr); gap:20px; padding-bottom:28px; }
 .skb-step:last-child { padding-bottom:0; }
 .skb-step-number { width:46px; min-height:46px; margin:0; align-self:start; font-size:16px; }
 .skb-step h3 { font-size:22px; margin-bottom:10px; padding-top:8px; }
 .skb-step:not(:last-child)::after { display:block; left:23px; right:auto; top:58px; bottom:12px; width:1px; height:auto; }
 .skb-services { margin-top:36px; padding-top:32px; }
 .skb-service { display:block; }
 .skb-service-image { aspect-ratio:16 / 10; min-height:0; }
 .skb-faq-list details { padding-inline:22px; }
 .skb-faq-list summary { padding-block:22px; font-size:18px; }
 .skb-faq-list p { font-size:16px; }
 .skb-contact-panel { padding:28px 24px; }
 .skb-contact-links { flex-direction:column; gap:4px; }
 .skb-contact-links a { font-size:16px; }
 .skb-contact-panel > .button,.skb-cases .skb-cases-cta { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .skb-page *,.skb-page *::before,.skb-page *::after { animation:none !important; transition:none !important; } }
