:root {
    --superfluo-bg: #0b0b12;
    --superfluo-bg-soft: #11111b;
    --superfluo-surface: #151520;
    --superfluo-surface-2: #1b1b27;
    --superfluo-text: #f4f5f7;
    --superfluo-muted: #a8abb8;
    --superfluo-line: rgba(255,255,255,.12);
    --superfluo-line-strong: rgba(255,255,255,.24);
    --superfluo-cyan: #5dc5cc;
    --superfluo-cyan-bright: #78e4e7;
    --superfluo-violet: #c61c69;
    --superfluo-violet-bright: #ed4b94;
    --superfluo-max: 85rem;
    --superfluo-header-height: 5.5rem;
    --superfluo-radius: .125rem;
    --superfluo-ease: cubic-bezier(.22,1,.36,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--superfluo-bg); }
body { margin: 0; min-width: 20rem; background: var(--superfluo-bg); color: var(--superfluo-text); font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; font-size: 1rem; line-height: 1.65; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
body.superfluo_menu_open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
::selection { background: var(--superfluo-cyan); color: #08080d; }
:focus-visible { outline: .125rem solid var(--superfluo-cyan-bright); outline-offset: .25rem; }
.superfluo_shell { width: min(calc(100% - 3rem), var(--superfluo-max)); margin-inline: auto; }
.superfluo_skip_link { position: fixed; z-index: 1000; left: 1.25rem; top: .75rem; padding: .75rem 1rem; background: var(--superfluo-cyan); color: #050509; font-weight: 800; transform: translateY(-150%); transition: transform .2s; }
.superfluo_skip_link:focus { transform: translateY(0); }

.superfluo_site_header { position: fixed; z-index: 100; inset: 0 0 auto; height: var(--superfluo-header-height); border-bottom: .0625rem solid transparent; transition: background .35s, border-color .35s, transform .35s var(--superfluo-ease); }
.superfluo_header_inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 2.5rem; }
.superfluo_brand { position: relative; z-index: 2; width: 14.75rem; }
.superfluo_brand img { width: 100%; height: auto; }
.superfluo_brand svg { width: 100%; height: auto; }

.superfluo_site_nav { display: flex; align-items: center; gap: clamp(1.25rem, 2.1vw, 2.5rem); font-size: 0.875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.superfluo_site_nav a { position: relative; color: rgba(255,255,255,.74); transition: color .25s; }
.superfluo_site_nav a:hover { color: #fff; }
.superfluo_site_nav .superfluo_nav_contact { padding: .75rem 1rem; border: .0625rem solid var(--superfluo-line-strong); color: #fff; transition: background .25s, color .25s, border-color .25s; }
.superfluo_site_nav .superfluo_nav_contact:hover { background: var(--superfluo-cyan); border-color: var(--superfluo-cyan); color: #08080d; }
.superfluo_site_nav .superfluo_language_link { color: var(--superfluo-cyan);}

@media (min-width: 51.3125rem) and (hover: hover) {
    .superfluo_site_nav a:not(.superfluo_nav_contact):not(.superfluo_language_link)::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -.4375rem;
        width: 100%;
        height: .0625rem;
        background: var(--superfluo-cyan);
        transform: scaleX(0);
        transform-origin: right;
        transition: transform .35s var(--superfluo-ease);
    }

    .superfluo_site_nav a:not(.superfluo_nav_contact):not(.superfluo_language_link):hover::after {
        transform: scaleX(1);
        transform-origin: left;
    }
}

.superfluo_menu_toggle { display: none; align-items: center; gap: 1rem; padding: .5rem 0; border: 0; background: transparent; color: #fff; cursor: pointer; }
.superfluo_menu_toggle_label { font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.superfluo_menu_toggle_lines { width: 1.875rem; height: 1.125rem; display: grid; align-content: center; gap: .5rem; }
.superfluo_menu_toggle_lines i { display: block; height: .0625rem; background: currentColor; transition: transform .3s var(--superfluo-ease), width .3s; }
.superfluo_menu_toggle_lines i:last-child { width: 65%; justify-self: end; }
.superfluo_menu_toggle[aria-expanded="true"] .superfluo_menu_toggle_lines i:first-child { transform: translateY(.25rem) rotate(45deg); }
.superfluo_menu_toggle[aria-expanded="true"] .superfluo_menu_toggle_lines i:last-child { width: 100%; transform: translateY(-.25rem) rotate(-45deg); }

.superfluo_hero { position: relative; min-height: 100svh; padding: calc(var(--superfluo-header-height) + 5.75rem) 0 2.75rem; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; border-bottom: .0625rem solid var(--superfluo-line); background: radial-gradient(circle at 78% 32%, rgba(93,197,204,.1), transparent 28%), linear-gradient(135deg, #0b0b12 0%, #0d0d16 62%, #11101a 100%); }
.superfluo_hero_grid, .superfluo_contact_grid { position: absolute; inset: 0; opacity: .33; background-image: linear-gradient(rgba(255,255,255,.055) .0625rem, transparent .0625rem), linear-gradient(90deg, rgba(255,255,255,.055) .0625rem, transparent .0625rem); background-size: 4.875rem 4.875rem; mask-image: linear-gradient(to bottom, black 20%, transparent 95%); }
.superfluo_hero_grid::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--superfluo-bg) 0%, transparent 20%, transparent 80%, var(--superfluo-bg) 100%); }
.superfluo_hero_orb { position: absolute; border-radius: 50%; filter: blur(.0625rem); pointer-events: none; }
.superfluo_hero_orb_one { width: 26.25rem; height: 26.25rem; right: -8.125rem; top: 15%; border: .0625rem solid rgba(93,197,204,.34); box-shadow: inset 0 0 6.25rem rgba(93,197,204,.08), 0 0 7.5rem rgba(93,197,204,.04); animation: orbit 16s ease-in-out infinite alternate; }
.superfluo_hero_orb_two { width: 10.625rem; height: 10.625rem; right: 26%; bottom: 14%; border: .0625rem solid rgba(198,28,105,.35); box-shadow: inset 0 0 3.75rem rgba(198,28,105,.1); animation: orbit 11s ease-in-out infinite alternate-reverse; }
@keyframes orbit { to { transform: translate3d(-2.25rem, 1.5rem, 0) scale(1.08); } }
.superfluo_hero_layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(23.75rem, .75fr); gap: clamp(3.75rem, 9vw, 9.5rem); align-items: center; }
.superfluo_eyebrow { display: flex; align-items: center; gap: .75rem; margin: 0 0 1.75rem; color: var(--superfluo-muted); font: 700 1rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .13em; text-transform: uppercase; }
.superfluo_eyebrow > span { display: block; width: 2.125rem; height: .0625rem; background: var(--superfluo-cyan); }
.superfluo_hero h1, .superfluo_section h2, .superfluo_contact_section h2 { margin: 0; font-weight: 400; line-height: .98; letter-spacing: -.055em; text-wrap: balance; }
.superfluo_hero h1 { max-width: 57.5rem; font-size: clamp(4rem, 7.4vw, 7.4rem); }
.superfluo_hero h1 em, .superfluo_section h2 em, .superfluo_contact_section h2 em { color: var(--superfluo-cyan); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.superfluo_hero h1 em { color: var(--superfluo-violet-bright); }
.superfluo_hero_lead { max-width: 43.125rem; margin: 2.25rem 0 0; color: #c5c7d0; font-size: clamp(1.125rem, 1.35vw, 1.375rem); line-height: 1.65; }
.superfluo_hero_actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.75rem; }
.superfluo_button { min-height: 3.375rem; padding: 0 1.5rem; display: inline-flex; align-items: center; justify-content: center; gap: 1.25rem; border: .0625rem solid transparent; font-size: 0.875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; transition: transform .3s var(--superfluo-ease), background .3s, border-color .3s, color .3s; }
.superfluo_button:hover { transform: translateY(-.1875rem); }
.superfluo_button svg { width: 1.125rem; fill: none; stroke: currentColor; stroke-width: 1.7; }
.superfluo_button_primary { background: var(--superfluo-cyan); color: #07070b; }
.superfluo_button_primary:hover { background: var(--superfluo-cyan-bright); }
.superfluo_button_ghost { border-color: var(--superfluo-line-strong); color: #fff; }
.superfluo_button_ghost:hover { border-color: #fff; background: rgba(255,255,255,.05); }
.superfluo_hero_console { position: relative; border: .0625rem solid var(--superfluo-line); background: rgba(17,17,27,.76); box-shadow: 0 2.375rem 6.25rem rgba(0,0,0,.35); backdrop-filter: blur(.875rem); transform: rotate(1.25deg); }
.superfluo_hero_console::before { content: ""; position: absolute; width: 54%; height: .0625rem; left: 24%; top: -.0625rem; background: linear-gradient(90deg, transparent, var(--superfluo-cyan), transparent); }
.superfluo_console_topbar { min-height: 3.0625rem; padding: 0 1rem; display: flex; align-items: center; gap: .5rem; border-bottom: .0625rem solid var(--superfluo-line); color: #777b89; }
.superfluo_console_topbar span { width: .5rem; height: .5rem; border-radius: 6.1875rem; background: #3e414d; }
.superfluo_console_topbar span:first-child { background: var(--superfluo-violet); }
.superfluo_console_topbar span:nth-child(2) { background: #c79f42; }
.superfluo_console_topbar span:nth-child(3) { background: var(--superfluo-cyan); }
.superfluo_console_topbar b { margin-left: auto; font: 500 .75rem/1 ui-monospace, monospace; letter-spacing: .06em; }
.superfluo_console_code { padding: 2rem 1.5rem 2rem; font: 500 clamp(.75rem, .83vw, .875rem)/2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: #dde0e8; overflow: hidden; }
.superfluo_console_code p { margin: 0; white-space: nowrap; }
.superfluo_console_code i { display: inline-block; width: 2.125rem; color: #4d5060; font-style: normal; user-select: none; }
.superfluo_code_key { color: #bd75ff; }.superfluo_code_value { color: #7cdae0; }.superfluo_code_number { color: #ffbd6a; }.superfluo_code_bool { color: #f263a5; }
.superfluo_console_status { display: flex; align-items: center; gap: .5rem; padding: .75rem 1rem; border-top: .0625rem solid var(--superfluo-line); color: #8c909d; font: 600 .75rem/1 ui-monospace, monospace; }
.superfluo_status_dot { width: .4375rem; height: .4375rem; border-radius: 50%; background: var(--superfluo-cyan); box-shadow: 0 0 .875rem var(--superfluo-cyan); animation: pulse 2s infinite; }
@keyframes pulse { 50% { opacity: .35; } }
.superfluo_hero_meta { position: relative; z-index: 2; margin-top: 5rem; padding-top: 1.5rem; display: grid; grid-template-columns: repeat(3, minmax(8.75rem, 1fr)) auto; align-items: end; border-top: .0625rem solid var(--superfluo-line); }
.superfluo_hero_meta > div { display: flex; align-items: baseline; gap: .75rem; }
.superfluo_hero_meta strong { font-size: 1.5rem; font-weight: 500; }
.superfluo_hero_meta span { color: #7f8290; font: 600 .75rem/1.3 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .08em; }
.superfluo_scroll_cue { display: flex; align-items: center; gap: .75rem; }
.superfluo_scroll_cue i { display: block; width: 2.625rem; height: 2.625rem; border: .0625rem solid var(--superfluo-line); border-radius: 50%; position: relative; }
.superfluo_scroll_cue i::after { content: "↓"; position: absolute; inset: 0; display: grid; place-items: center; font-size: 0.875rem; color: var(--superfluo-cyan); animation: bounce 1.6s infinite; }
@keyframes bounce { 50% { transform: translateY(.1875rem); } }

.superfluo_section { position: relative; padding: clamp(6.25rem, 11vw, 11.25rem) 0; }
.superfluo_work_section { background: #f0f0ec; color: #111119; }
.superfluo_section_heading { display: grid; grid-template-columns: .6fr 1.4fr; gap: 3.75rem; align-items: start; margin-bottom: clamp(3.75rem, 7vw, 6.25rem); }
.superfluo_section_heading .superfluo_eyebrow { color: #5f626c; margin-top: 1rem; }
.superfluo_section_heading h2, .superfluo_services_intro h2, .superfluo_about_heading h2 { font-size: clamp(3rem, 5.6vw, 6.375rem); }
.superfluo_section_heading h2 em { color: var(--superfluo-violet); }
.superfluo_section_heading > div > p { max-width: 43.125rem; margin: 1.75rem 0 0; color: #5c5f68; font-size: 1.125rem; }
.superfluo_section_heading.superfluo_compact { margin-bottom: 4.5rem; }
.superfluo_project_grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem; }
.superfluo_project_card { min-width: 0; border-top: .0625rem solid rgba(17,17,25,.2); }
.superfluo_project_card_wide { grid-column: span 2; }
.superfluo_project_card a { display: block; }
.superfluo_project_media { position: relative; aspect-ratio: 16/10; overflow: hidden; background: #d7d8d5; }
.superfluo_project_card_wide .superfluo_project_media { aspect-ratio: 2/1; }
.superfluo_project_media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.14), transparent 35%); pointer-events: none; }
.superfluo_project_media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--superfluo-ease), filter .5s; }
.superfluo_project_card:hover .superfluo_project_media img { transform: scale(1.025); }
.superfluo_project_content { min-height: 12.5rem; display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: start; padding: 1.75rem 0 2.5rem; }
.superfluo_project_index { margin: 0 0 1rem; color: #696b74; font: 700 .75rem/1.3 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .08em; }
.superfluo_project_content h3 { margin: 0 0 .75rem; font-size: clamp(1.75rem, 2.4vw, 2.75rem); font-weight: 500; line-height: 1.08; letter-spacing: -.035em; }
.superfluo_project_content p:last-child { max-width: 43.75rem; margin: 0; color: #5e6168; font-size: 1.125rem; }
.superfluo_project_arrow { width: 3rem; height: 3rem; display: grid; place-items: center; border: .0625rem solid rgba(17,17,25,.2); border-radius: 50%; font-size: 1.125rem; transition: background .25s, color .25s, transform .35s var(--superfluo-ease); }
.superfluo_project_card:hover .superfluo_project_arrow { background: #111119; color: #fff; transform: rotate(45deg); }
.superfluo_more_work { margin-top: 4.5rem; padding-top: 1.5rem; display: grid; grid-template-columns: .6fr 1.4fr; gap: 3.75rem; border-top: .0625rem solid rgba(17,17,25,.25); }
.superfluo_more_work > p { margin: .5rem 0 0; color: #696b74; font: 700 .75rem/1.2 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .09em; }
.superfluo_work_links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 3rem; }
.superfluo_work_links a { padding: 1rem 0; display: flex; justify-content: space-between; gap: 1.25rem; border-bottom: .0625rem solid rgba(17,17,25,.14); font-weight: 650; transition: color .2s, padding .25s var(--superfluo-ease); }
.superfluo_work_links a:hover { color: var(--superfluo-violet); padding-left: .5rem; }

.superfluo_services_section { background: var(--superfluo-bg); }
.superfluo_services_layout { display: grid; grid-template-columns: .76fr 1.24fr; gap: clamp(4.5rem, 10vw, 10rem); }
.superfluo_services_intro { position: sticky; top: calc(var(--superfluo-header-height) + 3.4375rem); align-self: start; }
.superfluo_services_intro h2 { font-size: clamp(3rem, 5.1vw, 5.9rem); }
.superfluo_services_intro p:last-child { max-width: 33.125rem; margin: 2rem 0 0; color: var(--superfluo-muted); font-size: 1.125rem; }
.superfluo_services_list { border-top: .0625rem solid var(--superfluo-line); }
.superfluo_service_item { position: relative; min-height: 10.375rem; padding: 2rem .5rem 2rem 0; display: grid; grid-template-columns: 4rem 1fr auto; gap: 1.5rem; align-items: start; border-bottom: .0625rem solid var(--superfluo-line); overflow: hidden; transition: padding .35s var(--superfluo-ease); }
.superfluo_service_item::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(93,197,204,.09), transparent 70%); transform: translateX(-102%); transition: transform .55s var(--superfluo-ease); }
.superfluo_service_item:hover::before { transform: translateX(0); }
.superfluo_service_item:hover { padding-left: 1.25rem; }
.superfluo_service_item > * { position: relative; z-index: 1; }
.superfluo_service_item > span { color: var(--superfluo-cyan); font: 700 .75rem/1.2 ui-monospace, monospace; }
.superfluo_service_item h3 { margin: 0 0 .75rem; font-size: clamp(1.375rem, 2vw, 2rem); font-weight: 500; letter-spacing: -.025em; }
.superfluo_service_item p { max-width: 39.375rem; margin: 0; color: var(--superfluo-muted); font-size: 1.125rem; }
.superfluo_service_item > i { color: #6f7280; font-style: normal; font-size: 1.375rem; transition: transform .35s, color .25s; }
.superfluo_service_item:hover > i { color: var(--superfluo-cyan); transform: rotate(45deg); }

.superfluo_process_section { background: var(--superfluo-surface); }
.superfluo_process_section .superfluo_section_heading h2 em { color: var(--superfluo-cyan); }
.superfluo_process_section .superfluo_section_heading .superfluo_eyebrow { color: var(--superfluo-muted); }
.superfluo_process_grid { --superfluo-process-title-height: 5.25rem; --superfluo-process-copy-height: 5.75rem; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; border-top: .0625rem solid var(--superfluo-line); border-left: .0625rem solid var(--superfluo-line); }
.superfluo_process_grid li { min-height: 23rem; padding: 1.75rem 1.75rem 2.5rem; display: flex; flex-direction: column; border-right: .0625rem solid var(--superfluo-line); border-bottom: .0625rem solid var(--superfluo-line); transition: background .3s; }
.superfluo_process_grid li:hover { background: rgba(255,255,255,.025); }
.superfluo_process_grid span { color: var(--superfluo-cyan); font: 700 .75rem/1.2 ui-monospace, monospace; }
.superfluo_process_grid h3 { min-height: var(--superfluo-process-title-height); margin: auto 0 1rem; display: flex; align-items: flex-end; font-size: clamp(1.75rem, 2.2vw, 2.375rem); font-weight: 500; line-height: 1.1; letter-spacing: -.035em; }
.superfluo_process_grid p { min-height: var(--superfluo-process-copy-height); margin: 0; color: var(--superfluo-muted); font-size: 1.125rem; line-height: 1.65; }

.superfluo_about_section { overflow: hidden; background: #f0f0ec; color: #111119; }
.superfluo_about_symbol { position: absolute; width: min(46vw, 39.375rem); right: -7%; bottom: -12%; opacity: .07; transform: rotate(-9deg); }
.superfluo_about_layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3.75rem, 9vw, 9rem); align-items: start; }
.superfluo_about_heading .superfluo_eyebrow { color: #60636c; }
.superfluo_about_heading h2 em { color: var(--superfluo-violet); }
.superfluo_about_copy { padding-top: 3rem; }
.superfluo_about_copy p { max-width: 38.75rem; color: #5c5f68; font-size: 1.125rem; }
.superfluo_about_copy .superfluo_large_copy { margin-top: 0; color: #111119; font-size: clamp(1.5rem, 2.2vw, 2.125rem); line-height: 1.45; letter-spacing: -.025em; }
.superfluo_text_link { width: fit-content; margin-top: 2rem; padding-bottom: .5rem; display: inline-flex; gap: 1rem; border-bottom: .0625rem solid #111119; font-weight: 750; font-size: 1.25rem;}
.superfluo_text_link span { color: var(--superfluo-violet); transition: transform .3s; }.superfluo_text_link:hover span { transform: translate(.25rem,-.25rem); }

.superfluo_contact_section { position: relative; padding: clamp(7rem, 13vw, 13rem) 0 4.5rem; overflow: hidden; background: var(--superfluo-violet); color: #fff; }
.superfluo_contact_grid { opacity: .22; mask-image: linear-gradient(to bottom, black, transparent 100%); }
.superfluo_contact_inner { position: relative; z-index: 1; }
.superfluo_eyebrow.superfluo_light { color: rgba(255,255,255,.72); }.superfluo_eyebrow.superfluo_light span { background: #fff; }
.superfluo_contact_section h2 { max-width: 68.75rem; font-size: clamp(3.75rem, 8vw, 9rem); }
.superfluo_contact_section h2 em { color: #fff; }
.superfluo_contact_email { margin-top: clamp(3rem, 7vw, 5.5rem); padding-bottom: .5rem; display: inline-flex; align-items: center; gap: 2rem; border-bottom: .0625rem solid rgba(255,255,255,.65); font-size: clamp(1.5rem, 3vw, 3.375rem); line-height: 1.2; letter-spacing: -.03em; }
.superfluo_contact_email span { font-size: .7em; transition: transform .35s var(--superfluo-ease); }.superfluo_contact_email:hover span { transform: translate(.4375rem,-.4375rem); }
.superfluo_contact_hint { max-width: 48rem; margin: 2rem 0 0; color: rgba(255,255,255,.78); font-size: .875rem; }

.superfluo_site_footer { padding: 4.75rem 0 1.75rem; background: #08080d; color: #c4c6cf; }
.superfluo_footer_grid { display: grid; grid-template-columns: minmax(18rem, .9fr) minmax(13rem, .65fr) minmax(0, 1.45fr); column-gap: 4rem; row-gap: 4rem; align-items: start; }
.superfluo_footer_logo { display: inline-block; width: 12.9375rem; }
.superfluo_footer_logo img { width: 100%; height: auto; }
.superfluo_footer_brand p, .superfluo_footer_company p { margin: 0 0 .75rem; color: #7b7e8b; font-size: 1rem; line-height: 1.8; }
.superfluo_footer_brand > p { margin: 1.5rem 0 0; color: #8b8e9a; font-size: 1.25rem; }
.superfluo_footer_company strong { color: #dfe1e8; }
.superfluo_footer_company a:hover { color: var(--superfluo-cyan); }
.superfluo_footer_legal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 2rem; }
.superfluo_footer_legal > div { padding-top: .75rem; display: grid; grid-template-columns: 3.625rem 1fr; gap: .75rem; border-top: .0625rem solid rgba(255,255,255,.1); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .75rem; }
.superfluo_footer_legal span { color: #6f7280; }
.superfluo_footer_legal strong { color: #aeb1bd; font-weight: 500; overflow-wrap: anywhere; }
.superfluo_footer_bottom { margin-top: 4rem; padding-top: 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-top: .0625rem solid var(--superfluo-line); color: #858895; font-size: 1rem; }
.superfluo_footer_meta, .superfluo_footer_links { display: flex; align-items: center; gap: 1.5rem; }
.superfluo_footer_links a { color: #9c9faa; }
.superfluo_footer_links a:hover { color: var(--superfluo-cyan); }

@media (max-width: 68.75rem) {
    :root { --superfluo-header-height: 4.75rem; }
    .superfluo_site_nav { gap: 1.25rem; }
    .superfluo_site_nav .superfluo_nav_contact { display: none; }
    .superfluo_hero_layout { grid-template-columns: 1fr; gap: 4rem; }
    .superfluo_hero_copy { max-width: 59.375rem; }
    .superfluo_hero_console { width: min(100%, 38.75rem); justify-self: end; }
    .superfluo_hero_meta { grid-template-columns: repeat(3,1fr); }
    .superfluo_scroll_cue { display: none; }
    .superfluo_services_layout { grid-template-columns: 1fr; gap: 4.5rem; }
    .superfluo_services_intro { position: static; }
    .superfluo_process_grid { grid-template-columns: repeat(2,1fr); }
    .superfluo_footer_grid { grid-template-columns: .8fr 1.2fr; column-gap: 3rem; }
    .superfluo_footer_legal { grid-column: 1/-1; }
}

@media (max-width: 51.25rem) {
    .superfluo_shell { width: min(calc(100% - 2rem), var(--superfluo-max)); }
    .superfluo_brand { width: 11.875rem; }
    .superfluo_menu_toggle { position: relative; z-index: 3; display: flex; }
    .superfluo_site_nav { position: fixed; inset: 0; padding: 7.5rem 1.75rem 2.5rem; display: flex; flex-direction: column; align-items: flex-start; gap: 0; background: rgba(8,8,13,.98); visibility: hidden; opacity: 0; transform: translateY(-.75rem); transition: visibility .3s, opacity .3s, transform .35s var(--superfluo-ease); height: 100vh; height: 100dvh;}
    .superfluo_site_nav.superfluo_is_open { visibility: visible; opacity: 1; transform: none; }
    .superfluo_site_nav a { width: 100%; padding: 1rem 0; border-bottom: .0625rem solid var(--superfluo-line); color: #fff; font-size: clamp(1.625rem, 8vw, 2.75rem); font-weight: 500; letter-spacing: -.02em; text-transform: none; }
    .superfluo_site_nav .superfluo_nav_contact { display: block; margin-top: 2rem; padding: 1rem 1rem; border: .0625rem solid var(--superfluo-line-strong); font-size: 1rem; text-transform: uppercase; letter-spacing: .08em; color: var(--superfluo-cyan);}
    .superfluo_site_nav .superfluo_language_link { margin-top: auto; border-bottom: 0; font-size: 1rem; text-transform: uppercase; }
    .superfluo_hero { padding-top: calc(var(--superfluo-header-height) + 4rem); }
    .superfluo_hero h1 { font-size: clamp(3.375rem, 14vw, 6.375rem); }
    .superfluo_hero_console { justify-self: stretch; transform: none; }
    .superfluo_hero_meta { grid-template-columns: repeat(3,1fr); gap: 1rem; }
    .superfluo_hero_meta > div { display: block; }
    .superfluo_hero_meta strong, .superfluo_hero_meta span { display: block; }
    .superfluo_section_heading, .superfluo_more_work, .superfluo_about_layout { grid-template-columns: 1fr; gap: 2rem; }
    .superfluo_section_heading .superfluo_eyebrow { margin-top: 0; }
    .superfluo_project_card_wide { grid-column: auto; }
    .superfluo_project_card_wide .superfluo_project_media { aspect-ratio: 16/10; }
    .superfluo_work_links { grid-template-columns: 1fr; }
    .superfluo_about_copy { padding-top: 0; }
    .superfluo_footer_grid { grid-template-columns: 1fr; }
    .superfluo_footer_legal { grid-column: auto; }
    .superfluo_footer_bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 37.5rem) {
    .superfluo_hero_lead { font-size: 1.125rem; }
    .superfluo_hero_actions { align-items: stretch; flex-direction: column; }
    .superfluo_button { width: 100%; }
    .superfluo_console_code { padding-inline: .75rem; font-size: 0.75rem; }
    .superfluo_console_code i { width: 1.5625rem; }
    .superfluo_hero_meta { margin-top: 3.5rem; grid-template-columns: 1fr; }
    .superfluo_hero_meta > div { padding-bottom: 1rem; border-bottom: .0625rem solid var(--superfluo-line); }
    .superfluo_hero_meta strong, .superfluo_hero_meta span { display: inline; }
    .superfluo_hero_meta span { margin-left: .5rem; }
    .superfluo_project_grid { grid-template-columns: 1fr; }
    .superfluo_project_content { min-height: 0; grid-template-columns: 1fr; }
    .superfluo_project_arrow { display: none; }
    .superfluo_service_item { grid-template-columns: 2.625rem 1fr; }
    .superfluo_service_item > i { display: none; }
    .superfluo_process_grid { --superfluo-process-title-height: auto; --superfluo-process-copy-height: auto; grid-template-columns: 1fr; }
    .superfluo_process_grid li { min-height: 17.25rem; }
    .superfluo_process_grid h3, .superfluo_process_grid p { min-height: 0; }
    .superfluo_contact_section h2 { font-size: clamp(3.125rem, 15vw, 5.375rem); }
    .superfluo_contact_email { gap: 1rem; font-size: clamp(1.25rem, 7vw, 2rem); }
    .superfluo_footer_legal { grid-template-columns: 1fr; gap: 1.25rem; }
    .superfluo_footer_meta, .superfluo_footer_links { align-items: flex-start; flex-direction: column; gap: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    }

/* Superfluo v4 additions */
.superfluo_site_header {
    background: rgba(11,11,18,.84);
    border-color: var(--superfluo-line);
    -webkit-backdrop-filter: blur(1rem);
    backdrop-filter: blur(1rem);
}

.superfluo_project_card > .superfluo_project_static,
.superfluo_lab_card > .superfluo_lab_static {
    display: block;
}

.superfluo_work_link {
    min-width: 0;
    padding: 1rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    border-bottom: .0625rem solid rgba(17,17,25,.14);
    font-weight: 650;
    transition: color .2s, padding .25s var(--superfluo-ease);
}

.superfluo_work_link > span {
    min-width: 0;
    display: grid;
    gap: 0;
}

.superfluo_work_link strong {
    overflow-wrap: anywhere;
    font-weight: 650;
}

.superfluo_work_link small {
    color: #696b74;
    font: 650 .75rem/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.superfluo_work_link i {
    flex: 0 0 auto;
    font-style: normal;
}

.superfluo_work_link:hover {
    color: var(--superfluo-violet);
    padding-left: .5rem;
}

.superfluo_work_link_disabled {
    cursor: default;
}

.superfluo_work_link_disabled:hover {
    padding-left: 0;
    color: inherit;
}

.superfluo_work_link_disabled b {
    flex: 0 0 auto;
    padding: .25rem .5rem;
    border: .0625rem solid rgba(17,17,25,.24);
    color: var(--superfluo-violet);
    font: 750 .75rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.superfluo_labs_section {
    background: #0e0e16;
}

.superfluo_labs_section .superfluo_section_heading h2 em {
    color: var(--superfluo-violet-bright);
}

.superfluo_labs_section .superfluo_section_heading .superfluo_eyebrow,
.superfluo_labs_section .superfluo_section_heading > div > p {
    color: var(--superfluo-muted);
}


.superfluo_labs_grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 1.5rem;
}

.superfluo_lab_card {
    min-width: 0;
    border: .0625rem solid var(--superfluo-line);
    background: var(--superfluo-surface);
    overflow: hidden;
}

.superfluo_lab_card a,
.superfluo_lab_static {
    display: grid;
    grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
    height: 100%;
}

.superfluo_lab_media {
    min-height: 19.375rem;
    overflow: hidden;
    background: #09090f;
}

.superfluo_lab_media picture,
.superfluo_lab_media img {
    width: 100%;
    height: 100%;
}

.superfluo_lab_media img {
    object-fit: cover;
    filter: saturate(.82) contrast(1.04);
    transition: transform .5s var(--superfluo-ease), filter .3s;
}

.superfluo_lab_card:hover .superfluo_lab_media img {
    transform: scale(1.025);
    filter: saturate(1) contrast(1.04);
}

.superfluo_lab_content {
    position: relative;
    padding: clamp(1.75rem,3vw,3rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.superfluo_lab_content > p:first-child {
    margin: 0 0 1rem;
    color: var(--superfluo-cyan);
    font: 700 .75rem/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.superfluo_lab_content h3 {
    margin: 0;
    font-size: clamp(1.75rem, 3vw, 3.5rem);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -.04em;
}

.superfluo_lab_content h3 + p {
    margin: 1.5rem 0 0;
    color: var(--superfluo-muted);
    font-size: 1.125rem;
}

.superfluo_lab_content > span {
    position: absolute;
    right: 1.5rem;
    top: 1.5rem;
    width: 2.5rem;
    height: 2.5rem;
    display: grid;
    place-items: center;
    border: .0625rem solid var(--superfluo-line-strong);
    color: var(--superfluo-cyan);
}

.superfluo_privacy_note {
    color: #8b8e9a;
}

@supports (content-visibility: auto) {
    .superfluo_labs_section,
    .superfluo_services_section,
    .superfluo_process_section,
    .superfluo_about_section,
    .superfluo_contact_section {
        content-visibility: auto;
        contain-intrinsic-size: auto 56.25rem;
    }
}

@media (max-width: 51.25rem) {
    .superfluo_labs_grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 37.5rem) {
    .superfluo_lab_card a,
    .superfluo_lab_static {
        grid-template-columns: 1fr;
    }

    .superfluo_lab_media {
        min-height: 0;
        aspect-ratio: 16/10;
    }
}

@media (prefers-reduced-transparency: reduce) {
    .superfluo_site_header,
    .superfluo_hero_console {
        background: #0b0b12;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
}

@media (prefers-contrast: more) {
    :root {
        --superfluo-muted: #d0d2da;
        --superfluo-line: rgba(255,255,255,.32);
        --superfluo-line-strong: rgba(255,255,255,.62);
    }

    .superfluo_work_section,
    .superfluo_about_section {
        color: #000;
    }

    :focus-visible {
        outline-width: .1875rem;
    }
}

@media (forced-colors: active) {
    .superfluo_hero_grid,
    .superfluo_contact_grid,
    .superfluo_hero_orb,
    .superfluo_about_symbol {
        display: none;
    }

    .superfluo_button,
    .superfluo_project_card,
    .superfluo_lab_card,
    .superfluo_process_grid,
    .superfluo_service_item {
        border-color: CanvasText;
    }
}

.superfluo_not_found {
    position: relative;
    min-height: 78svh;
    padding: calc(var(--superfluo-header-height) + 6.25rem) 0 6.25rem;
    display: grid;
    align-items: center;
    overflow: hidden;
    background: var(--superfluo-bg);
}

.superfluo_not_found_inner {
    position: relative;
    z-index: 1;
}

.superfluo_not_found h1 {
    max-width: 56.25rem;
    margin: 0;
    font-size: clamp(3.5rem,8vw,8rem);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.055em;
}

.superfluo_not_found p:not(.superfluo_eyebrow) {
    max-width: 38.75rem;
    margin: 1.75rem 0 2.5rem;
    color: var(--superfluo-muted);
    font-size: 1.125rem;
}

h1,
h2,
h3 {
    text-wrap: balance;
}


/* Superfluo logo — Pulse v4.1 */
.superfluo_brand > svg {
    display: block;
    max-width: 100%;
    height: auto;
    overflow: visible;
}

/* Wordmark */
.superfluo_brand .word path {
    fill: var(--superfluo-cyan);
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
    animation: superfluo-logo-letter-in .22s cubic-bezier(.18, .84, .24, 1) forwards;
}

.superfluo_brand .word .l8 { animation-delay: .84s; }
.superfluo_brand .word .l7 { animation-delay: .89s; }
.superfluo_brand .word .l6 { animation-delay: .94s; }
.superfluo_brand .word .l5 { animation-delay: .99s; }
.superfluo_brand .word .l4 { animation-delay: 1.04s; }
.superfluo_brand .word .l3 { animation-delay: 1.09s; }
.superfluo_brand .word .l2 { animation-delay: 1.14s; }
.superfluo_brand .word .l1 { animation-delay: 1.19s; }

/* Icon */

.superfluo_brand .icon {
    animation: superfluo-logo-icon-travel .88s cubic-bezier(.18, .86, .20, 1) .34s both;
}

.superfluo_brand .icon-half {
    fill: var(--superfluo-cyan);
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
    animation: superfluo-logo-half-in .28s cubic-bezier(.16, 1, .3, 1) forwards;
}

.superfluo_brand .icon-half.left {
    animation-delay: .04s;
}

.superfluo_brand .icon-half.right {
    animation-name: superfluo-logo-half-in-right;
    animation-delay: .08s;
}

/* Dot and pulse ring */
.superfluo_brand .dot {
    fill: var(--superfluo-violet);
    transform-box: fill-box;
    transform-origin: center;
    animation: superfluo-logo-dot-pulse .82s cubic-bezier(.16, 1, .3, 1) both;
}

.superfluo_brand .ring {
    fill: none;
    stroke: var(--superfluo-violet);
    stroke-width: 1.5;
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
    animation: superfluo-logo-ring .40s ease-out .05s both;
}

/* Animation keyframes */
@keyframes superfluo-logo-half-in {
    0% {
        opacity: 0;
        transform: translateX(-8px) scale(.56) rotate(-7deg);
    }

    72% {
        opacity: 1;
        transform: translateX(1px) scale(1.03) rotate(.4deg);
    }

    100% {
        opacity: 1;
        transform: translateX(0) scale(1) rotate(0);
    }
}

@keyframes superfluo-logo-half-in-right {
    0% {
        opacity: 0;
        transform: translateX(8px) scale(.56) rotate(7deg);
    }

    72% {
        opacity: 1;
        transform: translateX(-1px) scale(1.03) rotate(-.4deg);
    }

    100% {
        opacity: 1;
        transform: translateX(0) scale(1) rotate(0);
    }
}

@keyframes superfluo-logo-dot-pulse {
    0%   { opacity: 0; transform: scale(0); }
    14%  { opacity: 1; transform: scale(1.20); }
    24%  { opacity: 1; transform: scale(.98); }
    34%  { opacity: 1; transform: scale(1.06); }
    46%  { opacity: 1; transform: scale(1); }
    64%  { opacity: .95; transform: scale(1); }
    100% { opacity: 0; transform: scale(.72); }
}

@keyframes superfluo-logo-ring {
    0% {
        opacity: .58;
        transform: scale(.60);
        stroke-width: 1.9;
    }

    100% {
        opacity: 0;
        transform: scale(1.65);
        stroke-width: .6;
    }
}

@keyframes superfluo-logo-icon-travel {
    0%   { transform: translateX(-262px); }
    78%  { transform: translateX(3px); }
    100% { transform: translateX(0); }
}

@keyframes superfluo-logo-letter-in {
    0% {
        opacity: 0;
        transform: translateX(6px) scale(.992);
    }

    100% {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

/* Temporary reset used by the pageshow handler */
.superfluo_brand.superfluo_logo_reset > svg * {
    animation: none !important;
}

/* Reduced motion: show the completed logo immediately */
@media (prefers-reduced-motion: reduce) {
    .superfluo_brand .word path,
    .superfluo_brand .icon,
    .superfluo_brand .icon-half,
    .superfluo_brand .dot,
    .superfluo_brand .ring {
        animation: none !important;
    }

    .superfluo_brand .word path,
    .superfluo_brand .icon-half {
        opacity: 1;
    }

    .superfluo_brand .dot,
    .superfluo_brand .ring {
        display: none;
    }

    .superfluo_brand .icon {
        transform: none;
    }
}
/* Superfluo DRM additions */
.superfluo_brand {
    width: auto;
    display: inline-flex;
    align-items: center;
    gap: .75rem;
}

.superfluo_brand > svg {
    width: 14.75rem;
    flex: 0 0 auto;
}

.superfluo_brand_suffix {
    min-width: 3.25rem;
    min-height: 1.875rem;
    padding: .25rem .5rem;
    display: inline-grid;
    place-items: center;
    border: .0625rem solid rgba(93,197,204,.55);
    color: var(--superfluo-cyan);
    font: 800 .75rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: .12em;
}

.superfluo_drm_module_section,
.superfluo_fileopen_section {
    background: #f0f0ec;
    color: #111119;
}

.superfluo_drm_module_section .superfluo_section_heading .superfluo_eyebrow,
.superfluo_fileopen_section .superfluo_section_heading .superfluo_eyebrow {
    color: #5f626c;
}

.superfluo_drm_module_section .superfluo_section_heading > div > p,
.superfluo_fileopen_section .superfluo_section_heading > div > p {
    color: #5c5f68;
}

.superfluo_drm_module_intro {
    margin-bottom: clamp(3.5rem, 7vw, 6rem);
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
    gap: clamp(2.5rem, 6vw, 6rem);
    align-items: center;
}

.superfluo_drm_app_media {
    margin: 0;
    overflow: hidden;
    border: .0625rem solid rgba(17,17,25,.14);
    background: #fff;
}

.superfluo_drm_app_media img {
    width: 100%;
    height: auto;
}

.superfluo_drm_module_copy p {
    margin: 0;
    color: #444750;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.55;
    letter-spacing: -.02em;
}

.superfluo_drm_stack {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: .0625rem solid rgba(17,17,25,.18);
    border-left: .0625rem solid rgba(17,17,25,.18);
}

.superfluo_drm_stack_item {
    min-height: 18.5rem;
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    border-right: .0625rem solid rgba(17,17,25,.18);
    border-bottom: .0625rem solid rgba(17,17,25,.18);
    transition: background .3s;
}

.superfluo_drm_stack_item:hover {
    background: rgba(17,17,25,.035);
}

.superfluo_drm_stack_item > span {
    color: var(--superfluo-violet);
    font: 700 .75rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.superfluo_drm_stack_item h3 {
    margin: auto 0 1rem;
    font-size: clamp(1.5rem, 2.1vw, 2.25rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -.035em;
}

.superfluo_drm_stack_item p {
    margin: 0;
    color: #5c5f68;
    font-size: 1.0625rem;
}

.superfluo_fileopen_section {
    border-top: .0625rem solid rgba(17,17,25,.1);
}

.superfluo_section_heading_compact {
    margin-bottom: 4.5rem;
}

.superfluo_fileopen_grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: .0625rem solid rgba(17,17,25,.18);
    border-left: .0625rem solid rgba(17,17,25,.18);
}

.superfluo_fileopen_card {
    min-height: 25rem;
    padding: clamp(1.75rem, 3vw, 2.75rem);
    display: flex;
    flex-direction: column;
    border-right: .0625rem solid rgba(17,17,25,.18);
    border-bottom: .0625rem solid rgba(17,17,25,.18);
}

.superfluo_fileopen_card_licence {
    background: rgba(198,28,105,.055);
}

.superfluo_fileopen_card_client {
    background: #111119;
    color: #fff;
}

.superfluo_fileopen_label {
    margin: 0 0 2rem;
    color: var(--superfluo-violet);
    font: 700 .75rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.superfluo_fileopen_card_client .superfluo_fileopen_label {
    color: var(--superfluo-cyan);
}

.superfluo_fileopen_card h3 {
    margin: 0 0 1.25rem;
    font-size: clamp(1.75rem, 2.5vw, 2.75rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.04em;
}

.superfluo_fileopen_card > p:not(.superfluo_fileopen_label) {
    margin: 0;
    color: #5c5f68;
    font-size: 1.0625rem;
}

.superfluo_fileopen_card_client > p:not(.superfluo_fileopen_label) {
    color: var(--superfluo-muted);
}

.superfluo_fileopen_card .superfluo_text_link,
.superfluo_fileopen_card .superfluo_button {
    margin-top: auto;
}

.superfluo_fileopen_card_client small {
    margin-top: 1rem;
    color: #777b89;
    font: 600 .75rem/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

@supports (content-visibility: auto) {
    .superfluo_drm_module_section,
    .superfluo_fileopen_section {
        content-visibility: auto;
        contain-intrinsic-size: auto 56.25rem;
    }
}

@media (max-width: 68.75rem) {
    .superfluo_drm_stack {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .superfluo_fileopen_grid {
        grid-template-columns: 1fr 1fr;
    }

    .superfluo_fileopen_card_client {
        grid-column: 1 / -1;
        min-height: 20rem;
    }
}

@media (max-width: 51.25rem) {
    .superfluo_brand > svg {
        width: 11.875rem;
    }

    .superfluo_brand_suffix {
        min-width: 2.75rem;
        min-height: 1.625rem;
        font-size: .6875rem;
    }

    .superfluo_drm_module_intro {
        grid-template-columns: 1fr;
    }

    .superfluo_drm_module_copy {
        max-width: 42rem;
    }

    .superfluo_fileopen_grid {
        grid-template-columns: 1fr;
    }

    .superfluo_fileopen_card_client {
        grid-column: auto;
    }
}

@media (max-width: 37.5rem) {
    .superfluo_brand {
        gap: .5rem;
    }

    .superfluo_brand > svg {
        width: 9.75rem;
    }

    .superfluo_brand_suffix {
        min-width: 2.5rem;
        padding-inline: .375rem;
    }

    .superfluo_drm_stack {
        grid-template-columns: 1fr;
    }

    .superfluo_drm_stack_item {
        min-height: 15.5rem;
    }

    .superfluo_fileopen_card {
        min-height: 22rem;
    }
}
