/* Trajectory style guide: ink/cyan, white/teal, system UI and Avenir identity. */
:root {
  --ground: #050c0e;
  --ground-deep: #050c0e;
  --panel: #050c0e;
  --text: #28c4cc;
  --text-secondary: #28c4cc;
  --text-muted: #28c4cc;
  --cyan: #28c4cc;
  --cyan-bright: #28c4cc;
  --divider: #28c4cc;
  --sf-ink: #050c0e;
  --sf-accent: #28c4cc;
  --sf-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sf-brand: "Avenir Next", Avenir, var(--sf-ui);
}
html[data-appearance="light"] {
  --ground: #fff; --ground-deep: #fff; --panel: #fff;
  --text: #007488; --text-secondary: #007488; --text-muted: #007488;
  --cyan: #007488; --cyan-bright: #007488; --divider: #007488;
  --sf-ink: #fff; --sf-accent: #007488;
  color-scheme: light;
}
html { color-scheme: dark; scroll-padding-top: 110px; }
body { background: var(--sf-ink); color: var(--sf-accent); font-family: var(--sf-ui); line-height: 1.6; }
body::before { background: linear-gradient(color-mix(in srgb, var(--sf-accent) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--sf-accent) 5%, transparent) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(#000, transparent 900px); }
body::after { position: absolute; height: 900px; background: radial-gradient(ellipse at 72% 20%, color-mix(in srgb, var(--sf-accent) 7%, transparent), transparent 62%); }
[hidden] { display: none !important; }
.sf-main { width: min(1200px, calc(100% - 80px)); max-width: 1200px; margin: 0 auto; padding: 152px 0 0; }
.sf-main :where(p, h1, h2, h3, figure, ul) { margin: 0; }
.sf-main :where(h1, h2, h3) { color: var(--sf-accent); font-family: var(--sf-ui); font-weight: 600; letter-spacing: -.035em; text-transform: none; }
.sf-main h1 { font-size: clamp(42px, 5.6vw, 76px); line-height: 1.1; }
.sf-main h2 { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.16; }
.sf-main h3 { font-size: 21px; line-height: 1.35; letter-spacing: -.02em; }
.sf-main p { max-width: 68ch; }
.sf-main p + p { margin-top: 16px; }
.sf-eyebrow { font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.sf-intro, .sf-intro p { font-size: 19px; line-height: 1.6; letter-spacing: -.015em; }
.sf-small { font-size: 13px; line-height: 1.6; }
.sf-main .sf-product-name { font-family: var(--sf-brand); font-size: clamp(58px, 7.3vw, 98px); font-weight: 400; line-height: 1.15; letter-spacing: .08em; margin: 24px 0; }
.sf-header { position: fixed; z-index: 100; inset: 0 0 auto; height: 88px; background: var(--sf-ink); border-bottom: 1px solid var(--sf-accent); }
.admin-bar .sf-header { top: var(--wp-admin--admin-bar--height, 32px); }
.sf-header__inner { width: min(1360px, calc(100% - 80px)); height: 100%; margin: 0 auto; display: flex; align-items: center; gap: 32px; }
.sf-brand { display: flex; align-items: center; gap: 8px; margin-right: auto; }
.sf-brand svg { width: 44px; height: 44px; }
.sf-brand span, .sf-wordmark { font: 400 14px/1.4 var(--sf-brand); letter-spacing: .17em; }
.sf-nav { display: flex; gap: 32px; align-items: center; }
.sf-nav a, .sf-appearance, .sf-nav-toggle { font-size: 14px; font-weight: 500; }
.sf-nav a { padding: 12px 0; }
.sf-nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 7px; }
.sf-products-menu { position: relative; }
.sf-products-menu > summary { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 12px 0; font-size: 14px; font-weight: 500; list-style: none; cursor: pointer; }
.sf-products-menu > summary::-webkit-details-marker { display: none; }
.sf-products-menu > summary::marker { content: ""; }
.sf-products-menu > summary:hover, .sf-products-menu:has([aria-current="page"]) > summary { text-decoration: underline; text-underline-offset: 7px; }
.sf-products-menu > summary:focus-visible, .sf-products-menu__list a:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 3px; }
.sf-menu-chevron { width: 7px; height: 7px; margin-top: -4px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); }
.sf-products-menu[open] .sf-menu-chevron { margin-top: 4px; transform: rotate(225deg); }
.sf-products-menu__list { position: absolute; top: calc(100% + 6px); right: 0; width: max-content; min-width: 200px; max-width: min(320px, calc(100vw - 40px)); max-height: min(60vh, 420px); overflow-y: auto; margin: 0; padding: 8px; list-style: none; border: 1px solid var(--sf-accent); border-radius: 4px; background: var(--sf-ink); box-shadow: 0 12px 32px rgb(0 0 0 / 20%); }
.sf-nav .sf-products-menu__list a { display: block; min-height: 44px; padding: 10px 14px; overflow-wrap: anywhere; }
.sf-products-menu__list a:hover, .sf-products-menu__list a:focus-visible { background: color-mix(in srgb, var(--sf-accent) 10%, var(--sf-ink)); }
.sf-appearance, .sf-nav-toggle { color: var(--sf-accent); background: var(--sf-ink); border: 1px solid var(--sf-accent); border-radius: 3px; min-height: 44px; padding: 8px 14px; cursor: pointer; }
.sf-appearance { margin-left: 16px; }
.sf-nav-toggle { display: none; }
.sf-appearance span { margin-left: 8px; }
.sf-header a:hover, .sf-footer a:hover, .sf-link:hover, .sf-back:hover { text-decoration: underline; text-underline-offset: 5px; }
.sf-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; width: fit-content; min-height: 50px; border: 1px solid var(--sf-accent); border-radius: 3px; padding: 12px 20px; color: var(--sf-accent); background: var(--sf-ink); font-size: 15px; font-weight: 500; line-height: 1.5; cursor: pointer; text-decoration: none; }
.sf-button--solid { background: var(--sf-accent); color: var(--sf-ink); }
.sf-button:hover { text-decoration: underline; text-underline-offset: 4px; }
.sf-button:active, .sf-appearance:active { background: var(--sf-accent); color: var(--sf-ink); }
.sf-button--solid:active { background: var(--sf-ink); color: var(--sf-accent); }
.sf-link, .sf-back { display: inline-block; min-height: 44px; padding: 10px 0; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
.sf-launch-hero { display: grid; grid-template-columns: .82fr 1.18fr; gap: 56px; align-items: center; padding: 28px 0 96px; }
.sf-main .sf-home-line { font-size: clamp(28px, 3vw, 38px); line-height: 1.2; letter-spacing: -.03em; }
.sf-launch-copy .sf-intro { margin: 24px 0 32px; font-size: 17px; }
.sf-launch-copy .sf-small { margin-top: 16px; }
.sf-launch-art { min-width: 0; }
.sf-hero-screen { display: block; border: 1px solid var(--sf-accent); border-radius: 4px; overflow: hidden; }
.sf-hero-screen img { width: 100%; height: auto; }
.sf-screen-caption { font-size: 12px; text-align: center; margin-top: 16px !important; }
.sf-section { padding: 80px 0; border-top: 1px solid var(--sf-accent); }
.sf-section > .sf-eyebrow { margin-bottom: 24px; }
.sf-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.sf-about-grid p { font-size: 18px; }
.sf-three-up { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; margin-top: 48px; }
.sf-principle h3 { margin-bottom: 16px; }
.sf-principle p { font-size: 16px; }
.sf-principle .sf-step { font: 14px/1.5 Menlo, monospace; margin-bottom: 20px; }
.sf-contact-strip { display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center; padding: 64px 24px; border-top: 1px solid var(--sf-accent); }
.sf-contact-strip .sf-purchase { justify-content: center; }
.sf-product-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .55fr); align-items: center; gap: 64px; padding: 16px 0 56px; }
.sf-product-identity, .sf-product-actions { min-width: 0; }
.sf-product-identity .sf-intro { max-width: 52ch; margin-top: 20px; }
.sf-product-identity .sf-product-tagline { margin-top: 20px; font-size: 26px; line-height: 1.3; font-weight: 600; letter-spacing: -.02em; }
.sf-product-tagline:empty { display: none; }
.sf-product-tagline:not(:empty) + .sf-intro { margin-top: 8px; }
.sf-product-actions { text-align: right; }
.sf-product-actions .sf-purchase { justify-content: flex-end; }
.sf-product-actions .sf-status { flex-basis: 100%; border: 0; padding: 0; }
.sf-product-actions .sf-purchase > .sf-button:first-of-type { background: var(--sf-accent); color: var(--sf-ink); }
.sf-product-details { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); align-items: start; gap: 64px; padding: 64px 0; border-top: 1px solid var(--sf-accent); }
.sf-product-details > * { min-width: 0; }
.sf-product-details .sf-product-story > .sf-section:first-child { padding: 0; border: 0; }
.sf-back { margin-bottom: 32px; }
.sf-product-identity .sf-product-name { margin-bottom: 0; }
.sf-purchase { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; }
.sf-purchase .sf-small { flex-basis: 100%; margin: 0; }
.sf-status { display: inline-block; border: 1px solid var(--sf-accent); padding: 7px 12px; border-radius: 3px; font-size: 14px; }
.sf-gallery { max-width: 1056px; margin: 0 auto 80px; }
.sf-gallery__controls { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 16px; }
.sf-gallery__controls button { min-width: 76px; min-height: 44px; border: 1px solid var(--sf-accent); border-radius: 3px; color: var(--sf-accent); background: var(--sf-ink); cursor: pointer; font-size: 14px; }
.sf-gallery__controls button[aria-pressed="true"] { color: var(--sf-ink); background: var(--sf-accent); }
.sf-gallery__controls button:hover { text-decoration: underline; text-underline-offset: 4px; }
.sf-gallery figure > a { cursor: zoom-in; display: block; border: 1px solid var(--sf-accent); border-radius: 4px; overflow: hidden; }
.sf-gallery img { width: 100%; height: auto; }
.sf-gallery figure + figure { margin-top: 24px; }
.sf-gallery figure[hidden] + figure { margin-top: 0; }
.sf-comparison { margin-top: 56px; display: grid; grid-template-columns: 1fr 2fr; gap: 48px; }
.sf-film { padding-top: 64px; }
.sf-film > * { min-width: 0; }
.sf-section-heading h2 { margin: 16px 0; }
.sf-film__placeholder { width: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; border: 1px solid var(--sf-accent); border-radius: 4px; min-height: 0; aspect-ratio: 16 / 9; background: var(--sf-ink); padding: 24px; text-align: center; }
.sf-film__symbol { display: grid; place-items: center; height: 40px; width: 40px; font-size: 32px; line-height: 1; }
.sf-main .sf-film__placeholder > p { font-size: 18px; margin: 0; }
.sf-main .sf-film__placeholder > .sf-film__status { font-size: 13px; }
.sf-film__player { display: block; width: 100%; aspect-ratio: 16/9; border: 1px solid var(--sf-accent); border-radius: 4px; }
.sf-spec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-top: 40px; }
.sf-spec-value { white-space: pre-line; font-size: 16px; line-height: 1.9; }
.sf-spec h3 { margin-top: 32px; margin-bottom: 12px; }
.sf-page-heading { padding: 24px 0 72px; }
.sf-page-heading h1 { margin: 24px 0; }
.sf-support-contact { min-height: calc(100svh - 220px); padding-bottom: 80px; }
.sf-support-contact h1 { margin: 16px 0 24px; }
.sf-support-email { display: inline-block; margin: 28px 0; padding: 4px 0; font-size: clamp(20px, 3vw, 32px); line-height: 1.4; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 6px; }
.sf-support-contact > p:last-child { font-size: 16px; }
.sf-support-form-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .42fr); gap: 64px; margin-top: 40px; }
.sf-support-form-layout > * { min-width: 0; }
.sf-support-sidebar { padding-top: 4px; }
.sf-main .sf-support-sidebar h2 { font-size: 23px; }
.sf-support-sidebar .sf-support-email { font-size: 18px; margin: 16px 0; }
.sf-support-sidebar p { font-size: 16px; }
.sf-enquiry-form { padding: 0; }
.sf-enquiry-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.sf-enquiry-wide { grid-column: 1 / -1; }
.sf-main .sf-enquiry-form p { margin: 0; max-width: none; }
.sf-enquiry-form label { display: grid; gap: 8px; color: var(--sf-accent); font: 400 14px/1.5 var(--sf-ui); text-transform: none; letter-spacing: 0; }
.sf-enquiry-form input:not([type="submit"]):not([type="hidden"]), .sf-enquiry-form select, .sf-enquiry-form textarea { display: block; width: 100%; min-width: 0; min-height: 48px; padding: 12px; border: 1px solid var(--sf-accent); border-radius: 3px; background: var(--sf-ink); color: var(--sf-accent); font: 400 16px/1.5 var(--sf-ui); box-shadow: none; }
.sf-enquiry-form textarea { min-height: 180px; resize: vertical; }
.sf-enquiry-form input:not([type="hidden"]):focus-visible, .sf-enquiry-form select:focus-visible, .sf-enquiry-form textarea:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 3px; box-shadow: none; }
.sf-enquiry-form.contact-form-live input:not([type="submit"]):not([type="hidden"]):focus, .sf-enquiry-form.contact-form-live select:focus, .sf-enquiry-form.contact-form-live textarea:focus { border-color: var(--sf-accent); outline: 2px solid var(--sf-accent); outline-offset: 3px; box-shadow: none; }
.sf-enquiry-form input[type="submit"] { min-height: 48px; padding: 12px 20px; border: 1px solid var(--sf-accent); border-radius: 3px; color: var(--sf-ink); background: var(--sf-accent); font: 500 15px/1.4 var(--sf-ui); letter-spacing: 0; text-transform: none; cursor: pointer; }
.sf-enquiry-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.sf-enquiry-form .wpcf7-not-valid-tip { display: block; margin-top: 8px; color: var(--sf-accent); font: 500 14px/1.5 var(--sf-ui); }
.sf-enquiry-form [aria-invalid="true"] { outline: 2px solid var(--sf-accent); outline-offset: 2px; }
.sf-support-layout { display: grid; grid-template-columns: 1fr 2fr; gap: 80px; padding: 0 0 80px; }
.sf-support-intro { border-top: 1px solid var(--sf-accent); padding-top: 24px; }
.sf-support-intro h2 { font-size: 24px; margin-bottom: 20px; }
.sf-faq > h2 { font-size: 24px; margin-bottom: 24px; }
.sf-faq details { border-top: 1px solid var(--sf-accent); padding: 0; }
.sf-faq details:last-child { border-bottom: 1px solid var(--sf-accent); }
.sf-faq summary { padding: 22px 32px 22px 0; font-weight: 500; font-size: 17px; cursor: pointer; }
.sf-faq details p { margin: 0 0 24px; font-size: 16px; }
.sf-contact-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; padding-bottom: 80px; }
.sf-contact-primary { border: 1px solid var(--sf-accent); border-radius: 4px; padding: 40px; align-self: start; background: var(--sf-ink); }
.sf-contact-email .sf-email { display: block; font-size: clamp(18px, 2.3vw, 28px); line-height: 1.4; letter-spacing: -.02em; overflow-wrap: anywhere; margin: 24px 0; text-decoration: underline; text-underline-offset: 6px; }
.sf-contact-email .sf-button { margin-top: 32px; }
.sf-contact-context h2 { font-size: 25px; margin-bottom: 24px; }
.sf-contact-context p { margin-top: 24px; }
.sf-reading { max-width: 760px; margin: 0 auto; padding-bottom: 80px; }
.sf-reading h2 { font-size: 26px; margin: 40px 0 16px; }
.sf-reading h2:first-child { margin-top: 0; }
.sf-reading p { font-size: 18px; }
.sf-reading p a { text-decoration: underline; }
.sf-reading > .sf-button { margin-top: 40px; }
.sf-footer { width: min(1200px, calc(100% - 80px)); margin: 0 auto; border-top: 1px solid var(--sf-accent); padding: 48px 0 28px; }
.sf-footer__top { display: flex; justify-content: space-between; gap: 32px; }
.sf-footer p { margin: 12px 0 0; font-size: 14px; }
.sf-footer nav { display: flex; flex-wrap: wrap; align-items: start; justify-content: end; gap: 8px 24px; max-width: 56%; }
.sf-footer nav a { display: inline-block; font-size: 14px; padding: 4px 0; min-height: 40px; }
.sf-footer__bottom { display: flex; justify-content: space-between; gap: 24px; font-size: 12px; margin-top: 48px; }
/* A short studio introduction followed directly by the tools. */
.sf-studio-intro { padding: 24px 0 56px; max-width: 800px; }
.sf-studio-intro .sf-intro { max-width: 58ch; margin-top: 24px; }
.sf-taglines { display: flex; align-items: center; gap: 16px; max-width: 610px; margin-top: 12px; }
.sf-taglines__copy { flex: 1; min-width: 0; font-size: clamp(20px, 2.1vw, 27px); line-height: 1.4; font-weight: 500; letter-spacing: -.025em; }
.sf-taglines.is-enhanced .sf-taglines__copy { display: grid; }
.sf-taglines.is-enhanced [data-tagline] { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility .45s; }
.sf-taglines.is-enhanced [data-tagline].is-current { opacity: 1; visibility: visible; }
.sf-taglines__toggle { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid color-mix(in srgb, var(--sf-accent) 40%, transparent); border-radius: 50%; color: var(--sf-accent); background: transparent; font: 16px/1 var(--sf-ui); cursor: pointer; }
.sf-taglines__toggle:hover { border-color: var(--sf-accent); }
.sf-taglines__toggle:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 4px; }

.sf-home-products { border-top: 1px solid var(--sf-accent); padding: 32px 0 64px; }
.sf-main .sf-catalogue-title { font-size: 22px; letter-spacing: -.02em; }
/* Shared product identity and automatic catalogue. */
.sf-product-lockup { display: flex; align-items: center; gap: 20px; margin-top: 0; }
.sf-product-lockup .sf-product-icon { flex: 0 0 80px; width: 80px; }
.sf-product-icon img { display: block; width: 100%; height: auto; }
.sf-main .sf-product-lockup .sf-product-name { font-size: clamp(44px, 5vw, 72px); margin: 0; overflow-wrap: anywhere; }
.sf-catalogue { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 32px 0 0; }
.sf-product-card { display: flex; flex-direction: column; position: relative; padding: 32px; min-width: 0; border: 1px solid var(--sf-accent); border-radius: 4px; background: var(--sf-ink); }
.sf-product-card__body { display: flex; flex-direction: column; min-width: 0; text-align: center; }
.sf-product-card__identity > p { margin: 0; }
.sf-product-card__media { width: min(100%, 232px); margin: 24px auto 0 !important; min-width: 0; border: 1px solid var(--sf-accent); border-radius: 4px; overflow: hidden; }
.sf-product-card__media img { display: block; width: 100%; height: auto; }
.sf-product-card__link::after { content: ""; position: absolute; inset: 0; border-radius: 4px; }
.sf-product-card:focus-within { outline: 2px solid var(--sf-accent); outline-offset: 4px; }
.sf-product-card__identity { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-bottom: 16px; }
.sf-product-card__identity .sf-card-icon { width: 128px; height: 128px; object-fit: contain; flex-shrink: 0; }
.sf-main .sf-product-card :is(h2, h3) { margin: 0; font: 400 30px/1.2 var(--sf-brand); letter-spacing: .08em; overflow-wrap: anywhere; }
.sf-main .sf-product-card__summary { max-width: 32ch; margin: 0 auto; font-size: 16px; line-height: 1.6; }
.sf-product-card__link { color: inherit; font: inherit; text-decoration: none; }
.sf-product-card:hover .sf-product-card__link { text-decoration: underline; text-underline-offset: 5px; }
.sf-product-card--soon { min-height: 460px; align-items: center; justify-content: center; overflow: hidden; border-color: color-mix(in srgb, var(--sf-accent) 35%, transparent); }
.sf-teaser__content { position: absolute; inset: 32px; display: flex; flex-direction: column; align-items: center; filter: blur(7px); opacity: .3; pointer-events: none; user-select: none; }
.sf-teaser__icon { width: 128px; height: 128px; object-fit: contain; flex-shrink: 0; }
.sf-teaser__title { width: 65%; height: 28px; margin: 20px 0 22px; background: var(--sf-accent); border-radius: 3px; flex-shrink: 0; }
.sf-teaser__line { width: 100%; height: 9px; margin-bottom: 12px; background: var(--sf-accent); border-radius: 2px; flex-shrink: 0; }
.sf-teaser__line--short { width: 65%; }
.sf-teaser__screen { width: min(100%, 232px); aspect-ratio: 18 / 11; margin-top: 24px; border: 2px solid var(--sf-accent); border-radius: 4px; background: linear-gradient(90deg, transparent 0 18%, color-mix(in srgb, var(--sf-accent) 65%, transparent) 18% 80%, transparent 80%), repeating-linear-gradient(0deg, var(--sf-accent) 0 2px, transparent 2px 16px); flex-shrink: 0; }
.sf-main .sf-teaser__label { position: relative; z-index: 1; margin: 0; padding: 10px 16px; border-radius: 3px; background: color-mix(in srgb, var(--sf-ink) 92%, transparent); font-size: 20px; font-weight: 500; line-height: 1.4; text-align: center; }
.sf-section > h2 + p { margin-top: 24px; }
.sf-main .sf-feature-list { display: block; max-width: 850px; margin: 24px 0 0; padding-left: 24px; list-style: disc; font-size: 17px; line-height: 1.7; }
.sf-feature-list > li { padding-left: 4px; margin: 10px 0; }
.sf-product-specs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 64px; }
.sf-product-specs > * { min-width: 0; }
.sf-product-specs h2 { font-size: clamp(28px, 3vw, 36px); }
.sf-format-group { margin-top: 24px; }
.sf-main .sf-format-group h3 { font-size: 13px; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; }
.sf-main .sf-format-list { display: block; margin: 12px 0 0; padding-left: 20px; list-style: disc; font-size: 16px; line-height: 1.7; }
.sf-format-list > li { margin: 8px 0; padding-left: 4px; }
.sf-format-notes { margin-top: 24px; padding-top: 20px; border-top: 1px solid color-mix(in srgb, var(--sf-accent) 35%, transparent); font-size: 14px; line-height: 1.7; }
.sf-format-notes p + p { margin-top: 8px; }
.sf-requirements .sf-spec-value { margin-top: 24px; }
.sf-requirements .sf-link { margin-top: 12px; }
.sf-roadmap { margin-top: 48px; }
.sf-roadmap .sf-format-list { margin-top: 24px; }
.sf-lightbox-open { overflow: hidden; }
.sf-lightbox { position: fixed; inset: 0; margin: auto; padding: 56px 16px 16px; width: fit-content; max-width: 96vw; max-height: 96dvh; border: 1px solid var(--sf-accent); border-radius: 4px; background: var(--sf-ink); color: var(--sf-accent); overflow: auto; }
.sf-lightbox::backdrop { background: rgb(0 0 0 / 85%); }
.sf-lightbox img { display: block; width: auto; height: auto; max-width: calc(96vw - 34px); max-height: calc(96dvh - 74px); object-fit: contain; }
.sf-lightbox__close { position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--sf-accent); border-radius: 3px; background: var(--sf-ink); color: var(--sf-accent); font: 28px/1 system-ui, sans-serif; cursor: pointer; }
.sf-lightbox__close:hover { background: var(--sf-accent); color: var(--sf-ink); }
.sf-lightbox__close:focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 3px; }
@media (max-width: 1180px) {
 .sf-catalogue { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
 .sf-launch-hero { gap: 32px; grid-template-columns: 1fr 1fr; }
 .sf-main .sf-product-name { font-size: clamp(48px, 7.2vw, 78px); }
 .sf-brand span { font-size: 12px; letter-spacing: .12em; }
 .sf-header__inner, .sf-nav { gap: 24px; }
 .sf-appearance { margin-left: 0; }
 .sf-contact-grid, .sf-product-top, .sf-spec-grid, .sf-about-grid { gap: 40px; }
 .sf-contact-primary { padding: 28px; }
 .sf-product-details, .sf-product-specs { gap: 40px; }
}
@media (max-width: 760px) {
 .sf-support-form-layout, .sf-enquiry-fields { grid-template-columns: minmax(0, 1fr); }
 .sf-support-form-layout { gap: 40px; margin-top: 32px; }
 .sf-studio-intro { padding: 12px 0 40px; }
 .sf-taglines__copy { min-height: 2.8em; }
 .sf-home-products { padding: 24px 0 48px; }
 .sf-product-lockup { gap: 16px; }
 .sf-product-lockup .sf-product-icon { flex-basis: 56px; width: 56px; }
 .sf-main .sf-product-lockup .sf-product-name { font-size: clamp(38px, 11vw, 64px); }
 .sf-catalogue { grid-template-columns: 1fr; gap: 24px; }
 .sf-main .sf-feature-list { margin-top: 24px; font-size: 16px; }
 .sf-product-card { padding: 24px; }
 .sf-product-card--soon { min-height: 320px; }
 .sf-teaser__content { inset: 24px; }
 .sf-main { width: calc(100% - 40px); padding-top: 120px; }
 .sf-header { height: 76px; }
 .sf-header__inner { width: calc(100% - 32px); gap: 12px; }
 .sf-brand { gap: 0; }
 .sf-brand svg { width: 36px; height: 36px; }
 .sf-brand span { max-width: 110px; font-size: 11px; }
 .sf-nav-toggle { display: block; }
 .sf-appearance { padding: 8px 12px; font-size: 13px; }
 .sf-appearance span { display: none; }
 .sf-nav { position: absolute; top: 75px; left: 0; right: 0; max-height: calc(100dvh - 76px); overflow-y: auto; padding: 12px 20px; background: var(--sf-ink); border-bottom: 1px solid var(--sf-accent); flex-direction: column; align-items: stretch; gap: 0; }
 .sf-products-menu > summary { justify-content: space-between; }
 .sf-products-menu__list { position: static; width: auto; min-width: 0; max-width: none; max-height: none; overflow: visible; margin: 0 0 8px; padding: 0 0 0 16px; border: 0; border-left: 1px solid var(--sf-accent); border-radius: 0; box-shadow: none; }
 .sf-header.is-enhanced .sf-nav { display: none; }
 .sf-header.is-enhanced .sf-nav.is-open { display: flex; }
 .sf-header:not(.is-enhanced) { position: static; height: auto; }
 .sf-header:not(.is-enhanced) .sf-header__inner { flex-wrap: wrap; padding: 16px 0; }
 .sf-header:not(.is-enhanced) .sf-nav { position: static; flex-basis: 100%; border: 0; padding: 0; }
 .sf-launch-hero, .sf-product-top, .sf-support-layout, .sf-contact-grid, .sf-product-details, .sf-about-grid, .sf-spec-grid, .sf-product-specs, .sf-comparison { grid-template-columns: 1fr; gap: 32px; }
 .sf-launch-hero { padding-top: 12px; padding-bottom: 56px; }
 .sf-main .sf-product-name { font-size: clamp(50px, 12vw, 80px); }
 .sf-launch-copy .sf-intro { max-width: 38ch; }
 .sf-main .sf-home-line { font-size: 34px; }
 .sf-three-up { grid-template-columns: 1fr; gap: 32px; margin-top: 32px; }
 .sf-principle .sf-step { margin-bottom: 12px; }
 .sf-section, .sf-product-details { padding: 48px 0; }
 .sf-film { padding: 0; width: 100%; max-width: 480px; }
 .sf-contact-strip { padding: 48px 0; }
 .sf-product-top { padding: 0 0 40px; gap: 24px; }
 .sf-product-actions { text-align: left; }
 .sf-product-actions .sf-purchase { justify-content: flex-start; }
 .sf-back { margin-bottom: 20px; }
 .sf-gallery { margin-bottom: 48px; }
 .sf-page-heading { padding: 12px 0 48px; }
 .sf-support-layout, .sf-contact-grid { padding-bottom: 48px; }
 .sf-contact-primary { padding: 24px; }
 .sf-comparison { margin-top: 40px; gap: 16px; }
 .sf-footer { width: calc(100% - 40px); padding: 32px 0 24px; }
 .sf-footer__top, .sf-footer__bottom { flex-direction: column; gap: 24px; }
 .sf-footer nav { max-width: none; justify-content: start; gap: 4px 24px; }
 .sf-footer__bottom { margin-top: 24px; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .sf-taglines.is-enhanced [data-tagline] { transition: none; } }
@media (forced-colors: active) { .sf-button, .sf-status, .sf-gallery__controls button { border: 1px solid ButtonText; } }
