/* Homepage layout and shared product-page visual tokens. */
.legacy-anchor { display: none; }
.legacy-anchor:target { display: block; position: fixed; bottom: 12px; left: 12px; right: 12px; z-index: 120; padding: 16px; background: var(--hub-surface); color: var(--hub-accent); }
.core-test-page { --hub-muted: #a7b8c3; --hub-accent: #9edfe6; --hub-line: #23353e; --hub-surface: #0c141c; --hub-tint: #10212b; --hub-button-primary: linear-gradient(115deg, #c1eaf0, #85cfd7); --hub-button-control: linear-gradient(135deg, #addce6, #76bdcb); --hub-button-service: linear-gradient(130deg, #294f60, #17343f); --hub-service-ink: #e5f3f6; --hub-service-icon: #a9e2e8; min-height: 100svh; background: radial-gradient(ellipse at 48% 25%, #10232b55, transparent 50%), var(--bg); overflow-x: clip; }
.core-test-page::before, .core-test-page::after { display: none; }
html[data-theme="light"] .core-test-page { --hub-muted: #506371; --hub-accent: #216778; --hub-line: #cedce2; --hub-surface: #f8fbfd; --hub-tint: #e7f0f4; --hub-button-service: linear-gradient(130deg, #d9edf2, #b9dce6); --hub-service-ink: #173c4a; --hub-service-icon: #256879; background: radial-gradient(ellipse at 48% 25%, #dcebef88, transparent 50%), var(--bg); }
.core-test-page button, .core-test-page a { -webkit-tap-highlight-color: transparent; }
.core-test-page button { font: inherit; cursor: pointer; }
.core-test-page [hidden] { display: none !important; }
.core-test-page :is(a, button, [tabindex]):focus-visible { outline: 2px solid var(--hub-accent); outline-offset: 5px; }
.core-test-page button:disabled { opacity: .35; cursor: default; }
.core-test-page .core-test-skip { position: fixed; z-index: 110; top: 12px; left: 16px; padding: 10px 18px; background: var(--bg); color: var(--fg); transform: translateY(-160%); }
.core-test-page .core-test-skip:focus { transform: none; }
.hub-layout { width: min(1560px, calc(100% - 96px)); min-height: calc(100svh - 80px); margin: auto; padding: 12px 0 18px; display: flex; flex-direction: column; gap: 16px; }
.core-test-hero { display: grid; grid-template-columns: minmax(0, 1.38fr) minmax(180px, .7fr) minmax(360px, .94fr); gap: 18px; align-items: center; flex: 1; min-height: 390px; }
.core-test-copy { padding-block: 0; position: relative; z-index: 4; }
.hub-eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; color: var(--hub-accent); }
.core-test-copy h1 { margin: 0; font-size: clamp(48px, 5.1vw, 86px); line-height: 1.13; letter-spacing: -.065em; font-weight: 600; }
.core-test-title-line { display: block; padding-bottom: .09em; margin-bottom: -.09em; overflow: visible; }
.core-test-title-offset { color: #a3dfe5; background: linear-gradient(105deg, #dfedf6, #8ad2dc 78%, #70c8c8); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
html[data-theme="light"] .core-test-title-offset { background-image: linear-gradient(105deg, #294c69, #18778a); }
.core-test-claim { margin: 20px 0 10px; font-size: clamp(19px, 1.55vw, 25px); line-height: 1.45; font-weight: 500; letter-spacing: -.035em; max-width: 34ch; }
.core-test-lead { max-width: 52ch; margin: 0; color: var(--hub-muted); font-size: 16px; line-height: 1.65; text-wrap: pretty; }
.core-test-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.core-test-primary, .core-test-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 48px; padding: 11px 18px; border: 1px solid var(--hub-line); border-radius: 9px; color: var(--fg); font-size: 15px; line-height: 1.5; font-weight: 600; text-decoration: none; transition: transform .25s, border-color .25s, box-shadow .25s; }
.core-test-primary { background: var(--hub-button-primary); border-color: #b3dfe6; color: #102e3c; }
.core-test-primary:is(:hover, :focus-visible), .core-test-secondary:is(:hover, :focus-visible) { transform: translateY(-2px); border-color: var(--hub-accent); box-shadow: 0 6px 22px #4fb8c312; }
.core-test-visual { margin: 0 0 0 -140px; width: calc(100% + 140px); min-width: 0; align-self: center; position: relative; z-index: 3; pointer-events: none; }
.core-test-visual swissploit-security-core { --symbol-height: clamp(390px, 32vw, 490px); --sculpture-scale: 1.25; --particle-tail: 1; --particle-bleed: 120px; }

.hub-updates { position: relative; z-index: 4; align-self: center; min-width: 0; border: 1px solid var(--hub-line); border-radius: 18px; background: linear-gradient(140deg, var(--hub-tint), var(--hub-surface) 45%); overflow: hidden; }
.hub-shorts { padding: 14px 18px 8px; }
.hub-module-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.hub-module-heading h2 { margin: 0; font-size: 15px; line-height: 1.4; font-weight: 600; }
.hub-module-heading > a { flex: none; display: inline-flex; align-items: center; min-height: 44px; color: var(--hub-muted); text-decoration: none; font-size: 13px; }
.hub-module-heading > a:hover { color: var(--hub-accent); }
.hub-short-content { display: grid; grid-template-columns: 132px minmax(0, 1fr); align-items: center; gap: 18px; min-height: 235px; touch-action: pan-y; }
.hub-short-poster { display: block; position: relative; aspect-ratio: 9 / 16; width: 100%; border: 1px solid #ffffff26; border-radius: 10px; overflow: hidden; background: #142b37; color: #fff; }
.hub-short-poster img { width: 100%; height: 100%; object-fit: cover; }
.hub-short-poster::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 45%, #030c1688); pointer-events: none; }
.hub-play { position: absolute; inset: 0; margin: auto; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #ffffff88; border-radius: 50%; background: #081824cc; font-size: 15px; transition: transform .25s; }
.hub-short-poster:hover .hub-play { transform: scale(1.03); }
.hub-short-copy { min-width: 0; overflow-wrap: anywhere; }
.hub-short-copy .hub-eyebrow { margin-bottom: 8px; font-size: 11px; }
.hub-short-copy h3 { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; font-size: 20px; line-height: 1.4; letter-spacing: -.025em; margin: 0 0 8px; font-weight: 500; }
.hub-short-copy > a { display: inline-flex; align-items: center; min-height: 44px; color: var(--hub-accent); font-size: 14px; text-underline-offset: 5px; }
.hub-carousel-bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; }
.hub-carousel-bar > span { color: var(--hub-muted); font-size: 12px; }
.hub-carousel-controls { display: flex; align-items: center; justify-content: flex-end; gap: 6px; color: var(--hub-muted); }
.hub-carousel-controls button { display: grid; place-items: center; flex: none; width: 44px; height: 44px; padding: 0; border: 1px solid #98cdd7; border-radius: 50%; background: var(--hub-button-control); color: #123743; font-size: 18px; transition: transform .22s, box-shadow .22s, border-color .22s; }
.hub-carousel-controls button:hover:enabled { transform: translateY(-2px); border-color: #c1edf1; box-shadow: 0 4px 16px #6bbdcc2b; }
.hub-carousel-controls > span { min-width: 48px; text-align: center; font-size: 14px; font-variant-numeric: tabular-nums; }
.hub-empty { grid-column: 1 / -1; font-size: 15px; color: var(--hub-muted); }
.hub-empty a { color: var(--hub-accent); }
.hub-rotation-toggle:focus { z-index: 5; top: 8px; left: 8px; width: auto; height: auto; min-height: 44px; margin: 0; padding: 8px 12px; overflow: visible; clip-path: none; border: 1px solid var(--hub-line); border-radius: 8px; color: var(--hub-accent); background: var(--hub-surface); font-size: 14px; }
.hub-all-videos { margin-right: auto; color: var(--hub-accent); font-size: 14px; text-underline-offset: 4px; }
.hub-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hub-short-content { position: relative; }
.carousel-outgoing { position: absolute; inset: 0; display: inherit; grid-template-columns: inherit; align-items: inherit; gap: inherit; z-index: 1; pointer-events: none; background: transparent; }
.hub-section-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.hub-section-heading h2 { font-size: 17px; line-height: 1.3; font-weight: 500; letter-spacing: -.01em; margin: 0; }
.core-test-footer { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.core-test-resource { position: relative; display: flex; align-items: center; gap: 16px; min-height: 104px; padding: 20px; border: 1px solid var(--hub-line); border-radius: 13px; background: linear-gradient(125deg, var(--hub-tint), var(--hub-surface) 85%); color: var(--fg); text-decoration: none; transition: transform .3s, border-color .3s, box-shadow .3s, background-color .3s; }
.core-test-resource:is(:hover, :focus-visible) { transform: translateY(-2px); border-color: var(--hub-accent); background-color: var(--hub-tint); box-shadow: 0 8px 28px #4fb8c315; }
.core-test-resource-icon { display: grid; place-items: center; width: 42px; height: 44px; flex: 0 0 42px; color: var(--hub-accent); transition: transform .3s; }
.core-test-resource-icon svg { display: block; width: 40px; height: 40px; aspect-ratio: 1; flex-shrink: 0; max-width: none; fill: none; stroke: currentColor; stroke-width: 1.2; }
.core-test-resource-copy { min-width: 0; }
.core-test-resource-copy strong { display: block; margin-bottom: 6px; font-size: 19px; line-height: 1.3; font-weight: 500; letter-spacing: -.025em; }
.core-test-resource-copy > span { display: block; color: var(--hub-muted); font-size: 15px; line-height: 1.5; }

.resource-motion, .service-motion { transform-box: fill-box; transform-origin: center; }
.resource-motion { animation: resource-play 6s ease-in-out infinite; animation-play-state: paused; }
.core-test-resource.is-visible .resource-motion { animation-play-state: running; }
.core-test-resource[data-resource="learn"] .resource-motion { animation-name: resource-pages; animation-duration: 7s; animation-delay: -2s; }
.core-test-resource[data-resource="quiz"] .resource-motion { animation-name: resource-inspect; animation-duration: 6.5s; animation-delay: -4s; }
.core-test-resource[data-resource="game"] .resource-motion { animation-name: resource-swim; animation-duration: 8s; animation-delay: -1s; }
.core-test-resource:is(:hover, :focus-visible) .core-test-resource-icon { transform: scale(1.08); }
.motion-paused .resource-motion, .core-test-page:has(dialog[open]) .resource-motion { animation-play-state: paused; }
.hub-offers { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 16px; }
.hub-business, .hub-services { min-width: 0; padding: 20px 24px; border: 1px solid var(--hub-line); border-radius: 13px; background: linear-gradient(115deg, var(--hub-tint), var(--hub-surface) 80%); transition: transform .3s, border-color .3s, box-shadow .3s; }
.hub-business:is(:hover, :focus-within), .hub-services:is(:hover, :focus-within) { transform: translateY(-3px); border-color: var(--hub-accent); box-shadow: 0 8px 28px #4fb8c312; }
.hub-business { display: grid; grid-template-columns: 1fr auto; gap: 12px 16px; align-items: center; scroll-margin-top: 24px; }
.hub-business-intro { grid-column: 1 / -1; }
.hub-business h2, .hub-services h2 { font-size: 22px; line-height: 1.3; letter-spacing: -.035em; font-weight: 500; margin: 0 0 6px; }
.hub-business p:not(.hub-eyebrow), .hub-services p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--hub-muted); }
.hub-business-features { display: grid; gap: 3px; color: var(--hub-muted); font-size: 14px; line-height: 1.5; }
.hub-business-features span::before { content: '+'; margin-right: 10px; color: var(--hub-accent); }
.hub-business > a { font-size: 14px; padding-inline: 14px; }
.hub-services { display: flex; flex-direction: column; justify-content: center; gap: 18px; }
.hub-service-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.hub-service-links a { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; min-height: 86px; padding: 12px; border: 1px solid #518b9c66; border-radius: 9px; background: var(--hub-button-service); color: var(--hub-service-ink); font-size: 16px; line-height: 1.4; text-decoration: none; transition: transform .25s, border-color .25s, box-shadow .25s; }
.hub-service-links a:is(:hover, :focus-visible) { transform: translateY(-2px); border-color: var(--hub-accent); box-shadow: 0 6px 20px #5fb7c426; }
.hub-service-links svg { flex: none; width: 24px; height: 24px; stroke: var(--hub-service-icon); stroke-width: 1.2; fill: none; }
.hub-service-links a:is(:hover, :focus-visible) .service-motion { animation: service-scan 1s ease-in-out; }
.hub-service-links a[data-core="datenschutz-care"]:is(:hover, :focus-visible) .service-motion { animation-name: resource-pages; }
.hub-service-links a[data-core="incident-readiness"]:is(:hover, :focus-visible) .service-motion { animation-name: service-signal; }
.hub-dialog { --dialog-padding: 36px; width: min(820px, calc(100% - 32px)); max-height: calc(100svh - 40px); padding: var(--dialog-padding); border: 1px solid var(--hub-line); border-radius: 20px; background: var(--hub-surface); color: var(--fg); overscroll-behavior: contain; }
.hub-dialog[open] { animation: hero-enter .25s ease both; }
.hub-dialog::backdrop { background: #020810c9; backdrop-filter: blur(6px); }
.hub-dialog-close { position: absolute; right: 14px; top: 12px; width: 44px; height: 44px; border: 1px solid var(--hub-line); border-radius: 50%; background: var(--hub-surface); color: var(--fg); font-size: 25px !important; }
.hub-dialog > .hub-eyebrow { padding-right: 38px; margin-bottom: 20px; flex-wrap: wrap; }
.hub-dialog h2 { font-size: clamp(26px, 3vw, 38px); font-weight: 500; line-height: 1.15; letter-spacing: -.05em; margin: 0 0 20px; }
.hub-dialog-lead { max-width: 65ch; font-size: 14px; color: var(--hub-muted); }
.hub-video-dialog { width: min(440px, calc(100% - 24px)); text-align: center; --dialog-padding: 22px; }
.hub-video-dialog h2 { font-size: 18px; line-height: 1.4; letter-spacing: -.02em; }
.hub-player { aspect-ratio: 9 / 16; max-height: 60svh; margin: auto; background: #020810; }
.hub-player iframe { width: 100%; height: 100%; border: 0; }
.hub-video-dialog > a { display: inline-block; margin-top: 14px; color: var(--hub-accent); font-size: 12px; }
.core-test-page:has(.hub-dialog[open]) { overflow-y: hidden; }
@keyframes resource-play { 45%, 55% { transform: scale(1.1); } }
@keyframes resource-pages { 50% { transform: perspective(80px) rotateY(12deg) translateY(-1px); } }
@keyframes resource-inspect { 50% { transform: translateY(2px); } }
@keyframes resource-swim { 50% { transform: translateX(3px); } }
@keyframes service-scan { 50% { transform: translateY(4px); } }
@keyframes service-signal { 50% { transform: scale(1.7); opacity: .5; } }
@keyframes hero-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.core-test-title-line, .core-test-claim, .core-test-lead, .core-test-actions, .hub-updates, .hub-discovery, .hub-business { animation: hero-enter .7s cubic-bezier(.22,1,.36,1) backwards; }
.core-test-title-offset { animation-delay: .12s; }
.core-test-claim, .core-test-lead { animation-delay: .24s; }
.core-test-actions { animation-delay: .34s; }
.hub-updates { animation-delay: .4s; }
.hub-discovery { animation-delay: .5s; }
.hub-business { animation-delay: .6s; }
.hub-slide { animation: hub-fade .25s ease; }
@keyframes hub-fade { from { opacity: .25; } to { opacity: 1; } }

.core-test-primary:active, .core-test-secondary:active { transform: translateY(1px); }
.hub-carousel-controls button:active:enabled { transform: scale(.95); box-shadow: none; }
@media (min-width: 1251px) { .core-test-copy { transform: translateY(-10px); } }

/* Keep article controls alongside the preview; all hit targets remain 44px. */
@media (min-width: 1001px) {
  .core-test-visual { height: 360px; }
  .core-test-visual swissploit-security-core { top: 50%; transform: translateY(-50%); }
}
@media (min-width: 1251px) and (max-height: 949px) {
  .hub-layout { gap: 10px; padding-bottom: 12px; }
  .core-test-resource { min-height: 100px; }
  .hub-business, .hub-services { padding-block: 16px; }
  .hub-services { gap: 10px; }
  .hub-shorts { padding-block: 8px 4px; }
  .hub-short-content { grid-template-columns: 124px minmax(0, 1fr); min-height: 221px; }
  .hub-short-copy h3 { -webkit-line-clamp: 4; }
  .hub-short-copy .hub-eyebrow { display: none; }
  .hub-carousel-bar { margin-top: 6px; }
}
@media (min-width: 1500px) and (min-height: 950px) {
  .core-test-hero { gap: 28px; }
  .hub-short-content { grid-template-columns: 150px minmax(0, 1fr); min-height: 267px; }
  .core-test-resource { min-height: 112px; padding: 24px; }
  .hub-offers { gap: 20px; }
  .hub-business, .hub-services { padding: 24px 28px; }
}
@media (max-width: 1250px) {
  .core-test-hero { grid-template-columns: minmax(0, 1.3fr) minmax(140px, .6fr) minmax(340px, 1fr); gap: 12px; }
  .core-test-copy h1 { font-size: 4.9vw; }
  .core-test-visual { margin-left: -70px; width: calc(100% + 70px); }
  .core-test-visual swissploit-security-core { --sculpture-scale: 1.08; --particle-tail: .25; --particle-bleed: 48px; }
  .core-test-resource { padding: 18px 14px; gap: 10px; }
  .core-test-resource-copy strong { font-size: 18px; }
  .hub-offers { grid-template-columns: 1fr 1fr; }
  .hub-business, .hub-services { padding: 20px; }
  .hub-business { grid-template-columns: 1fr; }
  .hub-business > a { justify-self: start; }
  .hub-service-links { grid-template-columns: 1fr; }
  .hub-service-links a { flex-direction: row; justify-content: flex-start; align-items: center; min-height: 48px; padding: 10px 12px; }
}
@media (min-width: 1001px) and (max-width: 1250px) {
}
@media (max-width: 1000px) {
  .core-test-hero { grid-template-columns: minmax(0, 1fr) minmax(240px, .8fr); row-gap: 28px; }
  .core-test-copy h1 { font-size: clamp(44px, 6.6vw, 66px); }
  .core-test-visual { margin: 0; width: 100%; }
  .core-test-visual swissploit-security-core { --symbol-height: 370px; --sculpture-scale: 1; --particle-tail: 0; --particle-bleed: 16px; }
  .hub-updates { grid-column: 1 / -1; display: block; }
  .core-test-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  .hub-layout { min-height: calc(100svh - 80px); padding-top: 28px; gap: 28px; }
  .hub-offers { grid-template-columns: 1fr; }
  .hub-business { grid-template-columns: 1fr auto; }
  .hub-service-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hub-service-links a { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
  .core-test-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .core-test-copy { padding: 8px 0 0; }
  .core-test-copy h1 { font-size: clamp(38px, 10.2vw, 62px); }
  .core-test-copy .hub-eyebrow { font-size: 11px; }
  .core-test-claim { font-size: 21px; margin-top: 22px; }
  .core-test-actions { gap: 10px; }
  .core-test-actions a { font-size: 14px; gap: 12px; padding-inline: 14px; }
  .core-test-visual { width: 100%; max-width: 340px; margin: 0 auto; }
  .core-test-visual swissploit-security-core { --symbol-height: 280px; }
  .hub-updates { display: block; }
  .hub-shorts { padding: 14px 18px 8px; }
  .hub-short-content { grid-template-columns: 108px minmax(0, 1fr); gap: 14px; }
  .hub-short-copy h3 { font-size: 17px; }
  .core-test-footer { gap: 12px; }
  .core-test-resource { flex-direction: column; align-items: flex-start; gap: 12px; padding: 18px 14px; min-height: 160px; }
  .core-test-resource-copy strong { font-size: 18px; }
  .core-test-resource-copy > span { font-size: 14px; }
  .hub-business { display: flex; align-items: flex-start; flex-direction: column; gap: 18px; }
  .hub-service-links { grid-template-columns: 1fr; }
  .hub-service-links a { flex-direction: row; align-items: center; min-height: 52px; gap: 12px; }
  .hub-dialog { --dialog-padding: 24px; border-radius: 14px; }
  .hub-business-panel { grid-template-columns: 1fr; gap: 20px; }
  .hub-tabs button { padding: 10px 8px; font-size: 12px; }
}
@media (max-width: 360px) {
  .core-test-footer { grid-template-columns: 1fr; }
  .core-test-resource { flex-direction: row; align-items: center; min-height: 104px; }
  .hub-short-content { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; min-height: 216px; }
  .hub-module-heading { gap: 6px; }
  .hub-module-heading h2 { font-size: 14px; }
  .hub-module-heading > a { font-size: 12px; }
  .hub-carousel-bar { flex-wrap: wrap; }
  .hub-carousel-controls { margin-left: auto; }
}
/* Final polish: the sculpture leads; thumbnail and cards stay deliberately quiet. */
.hub-short-poster { transition: border-color .35s, box-shadow .35s; }
.hub-short-poster img { transition: transform .5s ease; }
.hub-short-poster:is(:hover, :focus-visible) { border-color: #9edfe6; box-shadow: 0 0 18px #75d5df22; }
.hub-short-poster:is(:hover, :focus-visible) img { transform: scale(1.03); }
.hub-carousel-bar { justify-content: flex-end; }
.hub-business { background: linear-gradient(115deg, color-mix(in srgb, var(--hub-accent) 9%, var(--hub-tint)), var(--hub-surface) 85%); }
.hub-business h2 { font-weight: 600; }
.resource-motion { animation-duration: 10s; }
.core-test-resource[data-resource] .resource-motion { animation-duration: 11s; }
@media (min-width: 1001px) {
}
@media (min-width: 1251px) {
  .hub-business { grid-template-columns: minmax(0, 1fr) auto; }
  .hub-business-features { font-size: 13px; }
  .hub-service-links a { flex-direction: row; align-items: center; gap: 7px; min-height: 68px; padding: 8px; font-size: 15px; }
  .hub-service-links svg { width: 20px; height: 20px; }
  .hub-business, .hub-services { padding-inline: 20px; }
  .hub-business { gap: 10px; }
}
@media (min-width: 1251px) and (max-height: 949px) {
  .hub-shorts .hub-carousel-bar { margin-top: 0; }
  .hub-services { gap: 8px; }
  .hub-business-features { gap: 1px; }
  .hub-business, .hub-services { padding-block: 14px; }
}
@media (max-width: 1000px) and (min-width: 601px) {
}
@media (max-width: 600px) {
}
@media (prefers-reduced-motion: reduce) {
  .core-test-page *, .core-test-page *::before, .core-test-page *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .core-test-resource:is(:hover, :focus-visible), .hub-business:is(:hover, :focus-within), .hub-services:is(:hover, :focus-within), .hub-service-links a:is(:hover, :focus-visible) { transform: none; }
}
@media (min-width:1251px) and (max-height:800px) {
  .core-test-hero { min-height: 292px; }
  .core-test-copy { transform: none; }
  .core-test-copy h1 { font-size: clamp(48px,4.4vw,64px); }
  .core-test-copy .hub-eyebrow { margin-bottom: 10px; }
  .core-test-claim { margin-top: 12px; }
  .core-test-actions { margin-top: 14px; }
  .core-test-visual { height: 280px; }
  .core-test-visual swissploit-security-core { --symbol-height: 330px; --particle-bleed: 65px; --sculpture-scale: 1.12; }
  .core-test-resource { min-height: 88px; padding-block: 14px; }
  .hub-short-content { grid-template-columns: 108px minmax(0,1fr); min-height: 192px; }
  .hub-layout { gap: 6px; padding-block: 6px; }
}

/* The video itself leads; all secondary controls share a single quiet footer. */
.hub-shorts { padding: 20px 18px 12px; }
.hub-short-content { grid-template-columns: 148px minmax(0,1fr); min-height: 264px; }
.hub-short-copy h3 { font-size: clamp(20px, 1.4vw, 22px); -webkit-line-clamp: 6; line-height: 1.35; hyphens: auto; }
/* Grow only into the existing desktop hero space; short screens retain their size. */
@media (min-width:1251px) and (min-height:850px) {
  .hub-short-content { --poster-width: clamp(148px, calc(148px + (100svh - 800px) * .16), 188px); grid-template-columns: var(--poster-width) minmax(0,1fr); min-height: calc(var(--poster-width) * 16 / 9); }
}
@media (min-width:1251px) and (max-height:800px) { .hub-short-content { grid-template-columns: 124px minmax(0,1fr); min-height: 221px; } .hub-short-copy h3 { font-size: 20px; } .hub-shorts { padding-block: 12px 8px; } }
@media (max-width:1250px) { .hub-short-content { grid-template-columns: 132px minmax(0,1fr); min-height: 235px; } }
@media (max-width:600px) { .hub-short-content { grid-template-columns: 118px minmax(0,1fr); min-height: 210px; } .hub-short-copy h3 { font-size: 20px; } .hub-carousel-bar { gap: 4px; } .hub-all-videos { font-size: 14px; } .hub-carousel-controls { gap: 3px; } }
@media (max-width:360px) { .hub-short-content { grid-template-columns: 100px minmax(0,1fr); } .hub-short-copy h3 { font-size: 18px; } .hub-all-videos { flex-basis: 100%; min-height: 36px; } }
