
:root { --ink:#090909; --paper:#f3f0eb; --red:#f1251d; --muted:#9d9a94; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1240px, calc(100% - 64px)); margin-inline:auto; }
.noise { pointer-events:none; position:fixed; inset:0; opacity:.045; z-index:5; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.nav { height:94px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #282828; }
.brand { display:flex; align-items:center; gap:12px; }.brand img { width:111px; height:44px; object-fit:contain; object-position:left center; }.brand-tools { padding-left:12px; border-left:1px solid #494641; color:#aaa7a1; font-size:10px; font-weight:700; letter-spacing:.24em; }
.nav-link,.text-link,.footer-links a { display:inline-flex; transform-origin:left center; transition:color 180ms ease, transform 180ms ease; }.nav-link,.text-link { font-size:12px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }.nav-link:hover,.text-link:hover { color:var(--red); transform:scale(1.1); }.nav-link:focus-visible,.text-link:focus-visible,.footer-links a:focus-visible { outline:1px solid var(--red); outline-offset:7px; }
.hero { padding:111px 0 40px; min-height:630px; }.eyebrow { display:flex; align-items:center; gap:10px; margin:0; color:#b2afa9; font-size:10px; letter-spacing:.17em; font-weight:700; }.eyebrow span { display:block; width:22px; height:2px; background:var(--red); }
.hero-grid { display:grid; grid-template-columns:1fr 290px; align-items:end; gap:50px; padding:45px 0 77px; }.hero h1,.footer h2 { margin:0; max-width:900px; font-size:clamp(62px, 10.1vw, 145px); line-height:.83; letter-spacing:-.085em; font-weight:800; text-transform:uppercase; }.hero em,.footer em { color:var(--red); font-style:normal; }.hero-side { padding-bottom:9px; }.hero-side p,.project-description { color:#aaa7a2; font-size:15px; line-height:1.55; }.text-link { display:inline-flex; gap:10px; margin-top:27px; border-bottom:1px solid #4b4a48; padding-bottom:8px; }.hero-line { display:flex; justify-content:space-between; padding-top:16px; border-top:1px solid #343330; color:#797671; font-size:10px; letter-spacing:.12em; }
.projects { padding:95px 0 110px; scroll-margin-top:28px; }.section-head { display:flex; justify-content:space-between; margin-bottom:25px; }.project-count { margin:0; color:#a3a09b; font:11px monospace; }.project-card { display:grid; grid-template-columns:1.05fr .95fr; min-height:505px; border:1px solid #353431; background:#121212; overflow:hidden; }.project-visual { min-height:360px; position:relative; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at center, #3e1110 0, #1e1212 31%, #111 67%); }.project-visual:before,.project-visual:after { content:""; position:absolute; background:rgba(255,255,255,.07); }.project-visual:before { height:1px; width:100%; }.project-visual:after { width:1px; height:100%; }.app-icon { position:relative; z-index:2; width:min(41%,230px); filter:drop-shadow(0 24px 30px #000); }.orbit { position:absolute; border:1px solid rgba(241,37,29,.4); border-radius:50%; }.orbit-one { width:74%; aspect-ratio:1; }.orbit-two { width:48%; aspect-ratio:1; border-color:rgba(255,255,255,.12); }.visual-label { position:absolute; bottom:23px; z-index:2; color:#c5c0b9; font:10px monospace; letter-spacing:.18em; }.project-copy { padding:56px clamp(35px,5vw,78px); display:flex; flex-direction:column; align-items:flex-start; }.publisher-logo { width:min(100%,290px); height:auto; object-fit:contain; object-position:left center; }.project-kicker { margin:42px 0 11px; font-size:10px; letter-spacing:.15em; color:#9c9994; }.project-copy h2 { margin:0; font-size:clamp(36px,4vw,58px); line-height:.94; letter-spacing:-.065em; text-transform:uppercase; }.project-description { max-width:390px; margin:23px 0 28px; }.status { margin-top:auto; display:flex; gap:9px; align-items:center; font:10px monospace; color:#bebbb6; letter-spacing:.1em; }.status b { width:7px; height:7px; border-radius:50%; background:var(--red); box-shadow:0 0 13px var(--red); }
.footer { padding:74px 0 28px; border-top:1px solid #343330; display:grid; grid-template-columns:1fr 230px; gap:45px; }.footer h2 { font-size:clamp(48px,6.5vw,88px); margin-top:27px; }.footer-links { display:flex; flex-direction:column; justify-content:center; gap:14px; }.footer-links a { display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid #393835; font-size:13px; text-transform:uppercase; letter-spacing:.1em; }.footer-links a:hover { color:var(--red); transform:scale(1.035); }.copyright { grid-column:1/-1; margin:25px 0 0; color:#66645f; font:10px monospace; letter-spacing:.12em; }
@media (max-width:720px) { .shell { width:min(100% - 36px, 1240px); }.nav { height:73px; }.hero { min-height:0; padding:72px 0 33px; }.hero-grid,.project-card,.footer { grid-template-columns:1fr; }.hero-grid { gap:36px; padding:34px 0 56px; }.hero h1 { font-size:clamp(54px,16.2vw,100px); }.hero-line span:nth-child(2) { display:none; }.projects { padding:66px 0; }.project-copy { min-height:390px; padding:38px 27px; }.publisher-logo { max-height:70px; }.footer { padding-top:56px; gap:33px; }.footer-links { max-width:none; }.footer h2 { font-size:58px; } }

/* Site extensions */
.nav-actions { display:flex; align-items:center; justify-content:flex-end; gap:34px; min-width:220px; white-space:nowrap; }
.project-card { transition:border-color 220ms ease,transform 220ms ease,background 220ms ease; }
.project-card:hover { border-color:#6a2622; background:#161413; transform:translateY(-5px); }
.app-icon { transition:transform 240ms ease; }
.project-card:hover .app-icon { transform:scale(1.08) rotate(-3deg); }
.project-cta { margin-top:22px; color:var(--red); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.contact { display:grid; grid-template-columns:.8fr 1.2fr; gap:68px; padding:108px 0; border-top:1px solid #343330; }
.contact-meta>p:last-child { max-width:230px; color:#aaa7a2; font-size:14px; line-height:1.55; }
.contact h2,.imprint h2,.project-outro h2 { margin:0; font-size:clamp(52px,7vw,98px); line-height:.86; letter-spacing:-.075em; text-transform:uppercase; }
.contact em,.imprint em,.project-outro em { color:var(--red); font-style:normal; }
.contact-mail { display:flex; justify-content:space-between; align-items:center; max-width:640px; margin-top:38px; padding:20px 0; border-bottom:1px solid #5b5853; color:#f2eee7; font-size:clamp(18px,2.3vw,30px); letter-spacing:-.03em; transition:color 180ms ease,transform 180ms ease; }
.contact-mail:hover { color:var(--red); transform:scale(1.015); }
.contact-note,.imprint-note { color:#83807b; font-size:12px; line-height:1.55; }
.imprint { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:88px 0 105px; border-top:1px solid #343330; }
.imprint-copy { display:grid; gap:18px; align-content:start; color:#aaa7a2; font-size:14px; line-height:1.65; }
.imprint-copy p { margin:0; }.imprint-copy strong { color:var(--paper); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.footer-disabled { display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid #393835; color:#64615c; font-size:13px; text-transform:uppercase; letter-spacing:.1em; }.footer-disabled small { font:9px monospace; color:#8b625d; }
.publisher-page { background:linear-gradient(180deg,#090909 0%,#0e0b0b 30%,#090909 100%); }
.publisher-hero { padding:105px 0 92px; }.publisher-hero-logo { display:block; width:min(340px,75%); margin:45px 0 34px; }.publisher-hero h1 { margin:0; max-width:850px; font-size:clamp(58px,9vw,132px); line-height:.84; letter-spacing:-.085em; text-transform:uppercase; }.publisher-hero h1 em { color:var(--red); font-style:normal; }.publisher-intro { max-width:560px; margin:38px 0 42px; color:#aaa7a2; font-size:17px; line-height:1.55; }.publisher-facts { display:flex; gap:11px; flex-wrap:wrap; }.publisher-facts span { padding:8px 10px; border:1px solid #3b3935; color:#aaa7a2; font:10px monospace; letter-spacing:.1em; }
.feature { display:grid; grid-template-columns:.82fr 1.18fr; align-items:center; gap:clamp(38px,7vw,112px); min-height:760px; padding:105px 0; border-top:1px solid #302f2c; }.feature-platforms { grid-template-columns:1.18fr .82fr; }.feature-copy h2 { margin:24px 0 25px; font-size:clamp(44px,5.8vw,83px); line-height:.88; letter-spacing:-.075em; text-transform:uppercase; }.feature-copy>p:last-child { max-width:390px; color:#aaa7a2; font-size:16px; line-height:1.6; }
.product-shot { --shot-scale:.78; --shot-y:58px; --shot-tilt:5.5deg; position:relative; z-index:6; margin:0; width:100%; perspective:1500px; cursor:zoom-in; }.screen-shell { position:relative; overflow:hidden; border:1px solid #3b3937; border-radius:18px; background:#121214; box-shadow:0 42px 100px #000b,0 0 0 1px #000; transform:translateY(var(--shot-y)) scale(var(--shot-scale)) rotateX(var(--shot-tilt)) rotateY(calc(var(--shot-tilt) * -.42)); transition:transform 90ms linear,border-color 200ms ease; transform-style:preserve-3d; }.product-shot:hover .screen-shell,.product-shot:focus-visible .screen-shell { border-color:#84332e; }.product-shot:focus-visible { outline:1px solid var(--red); outline-offset:9px; }.screen-top { position:relative; z-index:2; display:flex; align-items:center; gap:6px; height:32px; padding:0 13px; border-bottom:1px solid #2d2d32; background:#17171b; color:#b9b5af; font:8px monospace; letter-spacing:.13em; }.screen-top span { width:7px; height:7px; border-radius:50%; background:#4b4a50; }.screen-top b { margin-left:7px; color:#df4b46; font-weight:700; }.screen-crop { position:relative; aspect-ratio:1.25/1; overflow:hidden; background:#0c0c0e; }.screen-crop img { position:absolute; display:block; max-width:none; transform-origin:top left; filter:saturate(1.06) contrast(1.03); }.shot-workflow .screen-crop img { width:177%; left:-4%; top:-1%; }.shot-platforms .screen-crop { aspect-ratio:1.16/1; }.shot-platforms .screen-crop img { width:151%; left:-50%; top:-27%; }.shot-profile .screen-crop { aspect-ratio:1.3/1; }.shot-profile .screen-crop img { width:148%; left:-25%; top:-3%; }.screen-modal { position:fixed; z-index:30; inset:0; display:grid; place-items:center; padding:58px 46px; background:rgba(4,4,5,.94); opacity:0; visibility:hidden; transition:opacity 180ms ease,visibility 180ms ease; }.screen-modal.is-open { opacity:1; visibility:visible; }.screen-modal figure { display:grid; gap:14px; width:fit-content; max-width:100%; max-height:100%; margin:0; transform:scale(.94); transition:transform 220ms ease; }.screen-modal.is-open figure { transform:scale(1); }.screen-modal-media { position:relative; display:block; max-width:100%; }.screen-modal img { display:block; width:auto; max-width:100%; height:auto; max-height:calc(100vh - 125px); border:1px solid #4a4744; border-radius:10px; box-shadow:0 35px 100px #000; background:#0d0d0e; }.screen-modal-redaction { display:none; position:absolute; z-index:2; left:22%; right:5%; top:68%; height:6.3%; place-items:center; overflow:hidden; border:1px solid #4d4b4d; border-radius:4px; background:repeating-linear-gradient(135deg,#19191c 0 7px,#25252a 7px 14px); color:#d6d1cb; font:700 9px monospace; letter-spacing:.13em; text-align:center; text-shadow:0 1px #000; }.screen-modal.has-redaction .screen-modal-redaction { display:grid; }.screen-modal figcaption { color:#c7c1b9; text-align:center; font:11px monospace; letter-spacing:.13em; text-transform:uppercase; }.screen-modal-close { position:absolute; z-index:1; top:18px; right:22px; display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid #5c5852; border-radius:50%; background:#171717; color:#fff; cursor:pointer; font-size:29px; line-height:1; transition:transform 160ms ease,border-color 160ms ease; }.screen-modal-close:hover { transform:scale(1.1); border-color:var(--red); }.modal-open { overflow:hidden; }.project-outro { padding:150px 0 120px; border-top:1px solid #302f2c; }.project-outro h2 { margin-top:25px; }.project-outro .text-link { margin-top:42px; }

/* Contact and legal pages */
.subpage { min-height:100vh; }.form-hero { display:grid; grid-template-columns:1fr minmax(250px,430px); gap:70px; padding:110px 0 65px; border-bottom:1px solid #343330; }.form-hero .eyebrow { grid-column:1/-1; }.form-hero h1,.legal h1,.form-result h1 { margin:0; font-size:clamp(58px,8vw,122px); line-height:.84; letter-spacing:-.085em; text-transform:uppercase; }.form-hero em,.legal h1 em,.form-result h1 em { color:var(--red); font-style:normal; }.form-hero>p:last-child { align-self:end; margin:0 0 8px; color:#aaa7a2; font-size:17px; line-height:1.6; }.form-wrap { padding:80px 0 118px; }.contact-form { max-width:820px; display:grid; gap:23px; }.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:23px; }.contact-form label { display:grid; gap:9px; color:#cbc6bd; font-size:11px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }.contact-form input,.contact-form textarea { width:100%; border:1px solid #45433f; border-radius:0; padding:16px 17px; background:#151515; color:var(--paper); font:16px Arial,Helvetica,sans-serif; outline:none; transition:border-color 180ms ease,box-shadow 180ms ease; }.contact-form textarea { resize:vertical; min-height:180px; }.contact-form input:focus,.contact-form textarea:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(241,37,29,.12); }.bot-field { position:absolute; width:1px!important; height:1px!important; overflow:hidden; opacity:0; pointer-events:none; }.form-note { margin:1px 0 0; color:#88847f; font-size:12px; line-height:1.5; }.form-submit { justify-self:start; display:inline-flex; align-items:center; gap:22px; padding:16px 20px; border:1px solid var(--red); background:var(--red); color:#fff; cursor:pointer; font:700 11px Arial,Helvetica,sans-serif; letter-spacing:.12em; text-transform:uppercase; transition:transform 180ms ease,background 180ms ease; }.form-submit:hover { transform:scale(1.04); background:#ff3a31; }.legal { padding:112px 0 120px; }.legal-grid { display:grid; grid-template-columns:1fr 1fr; gap:52px 80px; max-width:850px; margin-top:70px; padding-top:37px; border-top:1px solid #343330; }.legal-grid h2 { margin:0 0 13px; color:#c5c0b8; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }.legal-grid p { margin:0; color:#aaa7a2; font-size:16px; line-height:1.55; }.legal-grid a { color:var(--paper); border-bottom:1px solid #595650; }.legal-note { max-width:720px; margin:70px 0 0; padding:16px 18px; border-left:2px solid var(--red); color:#918d87; background:#111; font-size:12px; line-height:1.55; }.form-result { padding:160px 0; }.form-result h1 { max-width:900px; margin-top:30px; }.form-result .text-link { margin-top:40px; }

@media (max-width:720px) { .nav-actions { min-width:0; gap:15px; }.nav-link { font-size:10px; }.brand { gap:8px; }.brand img { width:82px; height:34px; }.brand-tools { padding-left:8px; font-size:8px; letter-spacing:.16em; }.hero-grid,.project-card,.footer,.contact,.imprint,.feature,.feature-platforms,.form-hero { grid-template-columns:1fr; }.contact,.imprint { gap:38px; padding:68px 0; }.contact-mail { margin-top:28px; font-size:19px; }.publisher-hero { padding:70px 0; }.publisher-hero-logo { margin:32px 0 27px; }.publisher-intro { font-size:15px; }.feature { min-height:0; padding:75px 0; gap:46px; }.feature-platforms .product-shot { order:2; }.product-shot { --shot-scale:1 !important; --shot-y:0px !important; --shot-tilt:0deg !important; }.screen-shell { border-radius:12px; transform:none !important; }.screen-crop { aspect-ratio:1.03/1; }.shot-workflow .screen-crop img { width:232%; left:-7%; }.shot-platforms .screen-crop img { width:190%; left:-68%; top:-22%; }.shot-profile .screen-crop img { width:183%; left:-38%; top:-2%; }.screen-modal { padding:58px 15px 28px; }.screen-modal-close { top:10px; right:12px; }.screen-modal img { max-height:calc(100vh - 95px); border-radius:5px; }.feature-copy h2 { font-size:52px; }.project-outro { padding:100px 0 80px; }.form-hero { gap:27px; padding:72px 0 48px; }.form-hero h1,.legal h1,.form-result h1 { font-size:clamp(55px,16vw,84px); }.form-hero>p:last-child { font-size:15px; }.form-wrap,.legal { padding:62px 0 80px; }.field-grid,.legal-grid { grid-template-columns:1fr; }.field-grid { gap:23px; }.legal-grid { margin-top:48px; gap:37px; }.legal-note { margin-top:48px; }.form-result { padding:110px 0; } }
