:root{--bg:#f5f7fb;--surface:#fff;--surface2:#eef2f7;--text:#111318;--muted:#616975;--line:#dfe5ec;--accent:#1fc7e8;--accent2:#7a5cff;--ink:#0b0d12;--header:rgba(245,247,251,.86);--shadow:0 20px 60px rgba(15,20,30,.08);--radius:28px;--logo-filter:none}
html[data-theme="night"]{--bg:#090a0f;--surface:#11131a;--surface2:#171a23;--text:#f6f8fb;--muted:#9fa7b5;--line:#252a36;--accent:#35d7f6;--accent2:#8a70ff;--ink:#fff;--header:rgba(9,10,15,.82);--shadow:0 22px 70px rgba(0,0,0,.35);--logo-filter:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.55;transition:background .45s,color .45s}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:var(--header);backdrop-filter:blur(18px);border-bottom:1px solid transparent}.nav{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:24px}.brand picture{display:block;position:relative}.brand img{width:260px;height:auto;filter:none}.brand-white{display:none}.brand-colour{display:block}html[data-theme="night"] .brand-colour{display:none}html[data-theme="night"] .brand-white{display:block}.nav-links{display:flex;align-items:center;gap:24px;font-weight:700;font-size:.93rem}.nav-links a{color:var(--muted)}.nav-links a:hover,.nav-links a.active{color:var(--text)}.theme-toggle,.menu-toggle{border:1px solid var(--line);background:var(--surface);color:var(--text);width:44px;height:44px;border-radius:50%;cursor:pointer}.menu-toggle{display:none}.hero{padding:86px 0 56px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:64px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 15%,transparent)}h1{font-size:clamp(3.3rem,8vw,7.3rem);line-height:.86;letter-spacing:-.07em;margin:18px 0 28px;max-width:900px}h1 span{color:var(--accent)}.hero p{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--muted);max-width:690px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-weight:800;border:1px solid var(--line);background:var(--surface);color:var(--text)}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.hero-visual{position:relative;min-height:430px;border-radius:34px;background:linear-gradient(145deg,var(--surface),var(--surface2));border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.hero-visual:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 25% 30%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 30%),radial-gradient(circle at 80% 75%,color-mix(in srgb,var(--accent2) 30%,transparent),transparent 34%)}.hero-visual .stack{position:absolute;inset:36px;display:grid;align-content:center;gap:14px}.mini-card{background:color-mix(in srgb,var(--surface) 86%,transparent);border:1px solid var(--line);padding:18px 20px;border-radius:20px;backdrop-filter:blur(12px);transform:rotate(-2deg)}.mini-card:nth-child(2){transform:translateX(28px) rotate(2deg)}.mini-card:nth-child(3){transform:translateX(8px) rotate(-1deg)}.mini-card strong{display:block;font-size:1.03rem}.mini-card small{color:var(--muted)}.section{padding:92px 0}.section.tight{padding-top:38px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}.section-head h2{font-size:clamp(2.2rem,5vw,4.6rem);line-height:.95;letter-spacing:-.055em;margin:8px 0}.section-head p{max-width:520px;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.product{grid-column:span 6;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px;min-height:300px;position:relative;overflow:hidden}.product.featured{grid-column:span 8;min-height:390px}.product.side{grid-column:span 4}.status{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--surface2);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.status.live{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--accent)}.product h3{font-size:clamp(1.7rem,3vw,2.8rem);letter-spacing:-.04em;margin:24px 0 10px}.product p{color:var(--muted);max-width:560px}.product .arrow{position:absolute;right:26px;bottom:24px;font-size:1.8rem}.product .orb{position:absolute;width:190px;height:190px;border-radius:50%;right:-55px;top:-45px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 55%,transparent),color-mix(in srgb,var(--accent2) 35%,transparent));filter:blur(2px);opacity:.45}.story{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.story-number{font-size:clamp(6rem,16vw,13rem);font-weight:900;line-height:.75;letter-spacing:-.09em;color:color-mix(in srgb,var(--text) 10%,transparent)}.story-copy h2{font-size:clamp(2.4rem,5vw,5rem);line-height:.95;letter-spacing:-.055em;margin:0 0 28px}.story-copy p{font-size:1.14rem;color:var(--muted)}.work-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.work-strip a{aspect-ratio:1;border-radius:18px;overflow:hidden;background:var(--surface2);border:1px solid var(--line)}.work-strip img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.work-strip a:hover img{transform:scale(1.04)}.cta{background:var(--text);color:var(--bg);border-radius:36px;padding:56px;display:flex;justify-content:space-between;gap:34px;align-items:center}.cta h2{font-size:clamp(2.2rem,5vw,4.8rem);line-height:.95;letter-spacing:-.055em;margin:0}.cta p{opacity:.72;max-width:480px}.cta .btn{background:var(--bg);color:var(--text);border-color:transparent}.site-footer{padding:42px 0 54px;color:var(--muted)}.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--line);padding-top:28px}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.subhero{padding:90px 0 46px}.subhero h1{font-size:clamp(3.3rem,8vw,7rem);max-width:1000px}.prose{max-width:850px}.prose p{font-size:1.14rem;color:var(--muted)}.timeline{margin-top:50px;border-top:1px solid var(--line)}.timeline-row{display:grid;grid-template-columns:140px 1fr;gap:26px;padding:26px 0;border-bottom:1px solid var(--line)}.timeline-row strong{font-size:1.4rem}.timeline-row p{margin:0;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.portfolio-item{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}.portfolio-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.portfolio-item span{display:block;padding:13px 15px;font-weight:700;font-size:.85rem;color:var(--muted)}.legal{max-width:850px}.legal h2{margin-top:38px}.legal p,.legal li{color:var(--muted)}.notfound{min-height:70vh;display:grid;place-items:center;text-align:center}.notfound h1{font-size:clamp(6rem,18vw,14rem);margin:0}.contact-form{display:grid;gap:14px;max-width:760px}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:16px 18px;border-radius:16px;font:inherit}.contact-form textarea{min-height:170px;resize:vertical}.form-status{color:var(--muted);min-height:24px}.theme-note{font-size:.8rem;color:var(--muted);margin-top:12px}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:74px;left:20px;right:20px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.nav-links.open{display:flex}.menu-toggle{display:inline-grid;place-items:center}.nav-actions{display:flex;gap:8px}.brand img{width:210px}.hero-grid,.story{grid-template-columns:1fr}.hero{padding-top:56px}.hero-visual{min-height:340px}.product.featured,.product.side,.product{grid-column:span 12}.work-strip{grid-template-columns:repeat(3,1fr)}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.cta{padding:36px;align-items:flex-start;flex-direction:column}.section{padding:68px 0}.section-head{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.wrap{width:min(100% - 28px,1180px)}.brand img{width:175px}.hero-visual .stack{inset:20px}.mini-card:nth-child(2),.mini-card:nth-child(3){transform:none}.work-strip{grid-template-columns:repeat(2,1fr)}.portfolio-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:1fr;gap:6px}.cta{border-radius:26px;padding:28px}.section-head h2{margin-bottom:0}}

.status.nearly{background:color-mix(in srgb,#f0a52b 18%,var(--surface));color:#b87500}

@media(max-width:520px){.site-footer{text-align:center}.footer-row{flex-direction:column;justify-content:center;align-items:center;gap:16px}.footer-links{justify-content:center;align-items:center;gap:14px 18px}}

/* Product identities */
.product-logo{display:flex;align-items:center;margin:24px 0 18px;min-height:82px;position:relative;z-index:1}
.product-logo img{display:block;width:auto;height:auto;max-width:100%;object-fit:contain;object-position:left center}
.product-logo-wfs img{max-width:430px;max-height:92px}
.product-logo-predictor{min-height:112px}.product-logo-predictor img{width:118px;height:118px;object-fit:contain}
.product-logo-wtbt img{max-width:430px;max-height:94px}
.product-logo-football img{max-width:360px;max-height:118px;border-radius:4px}
@media(max-width:600px){.product-logo{min-height:64px;margin:20px 0 14px}.product-logo-wfs img,.product-logo-wtbt img{max-width:100%;max-height:78px}.product-logo-predictor{min-height:92px}.product-logo-predictor img{width:94px;height:94px}.product-logo-football img{max-width:100%;max-height:100px}}

/* Product logo day/night variants */
.product-logo .product-logo-night{display:none}
html[data-theme="night"] .product-logo .product-logo-day{display:none}
html[data-theme="night"] .product-logo .product-logo-night{display:block}

/* Conversational contact — merged onto themed product-logo build */
.contact-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.contact-intro{min-width:0}.contact-start{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.contact-open{cursor:pointer;font:inherit}.contact-email,.contact-direct a{font-weight:700;text-decoration:underline;text-underline-offset:4px}.contact-email{font-size:.86rem;opacity:.68}.contact-panel{grid-column:1/-1;border-top:1px solid color-mix(in srgb,var(--bg) 24%,transparent);margin-top:8px;padding-top:30px}.contact-panel[hidden]{display:none}.contact-question{font-size:1.08rem;font-weight:800;opacity:1!important;margin:0 0 14px}.contact-types{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.contact-types button{border:1px solid color-mix(in srgb,var(--bg) 30%,transparent);background:transparent;color:var(--bg);border-radius:999px;padding:10px 15px;font:inherit;font-weight:800;cursor:pointer}.contact-types button:hover,.contact-types button.active{background:var(--bg);color:var(--text)}.contact-cta .contact-form{max-width:none}.contact-cta .contact-form label{display:grid;gap:7px;font-size:.82rem;font-weight:800}.contact-cta .contact-form input,.contact-cta .contact-form textarea{background:color-mix(in srgb,var(--bg) 94%,transparent);color:var(--text);border-color:transparent}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-submit{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.contact-submit .btn{cursor:pointer}.contact-cta .form-status{color:var(--bg);opacity:.75}.contact-direct{font-size:.86rem;margin:2px 0 0!important}@media(max-width:900px){.contact-cta{grid-template-columns:1fr}.contact-start{align-items:flex-start}.contact-panel{width:100%}}@media(max-width:520px){.contact-fields{grid-template-columns:1fr}.contact-types{gap:8px}.contact-types button{padding:9px 12px}.contact-open{width:100%}}

/* Contact alternative spacing */
.contact-direct{margin-top:20px!important}

/* Mobile fixes: keep only the active product logo visible and contained */
.product-logo .product-logo-day,
.product-logo .product-logo-night{flex:0 0 100%;max-width:100%;}
.product-logo .product-logo-night{display:none!important;}
html[data-theme="night"] .product-logo .product-logo-day{display:none!important;}
html[data-theme="night"] .product-logo .product-logo-night{display:block!important;}

@media(max-width:600px){
  .product-logo{width:100%;max-width:100%;overflow:hidden;display:block;min-height:0;}
  .product-logo img{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain;object-position:left center;}
  .product-logo-predictor img{width:94px!important;max-width:94px!important;}
}

/* Mobile contact: keep the direct-email option on its own line */
@media(max-width:900px){
  .contact-start{width:100%;align-items:flex-start;gap:18px;}
  .contact-start .contact-open{display:flex;}
  .contact-start .contact-email{display:block;width:100%;line-height:1.45;margin:0;}
}
@media(max-width:520px){
  .contact-start .contact-open{width:100%;}
  .contact-start .contact-email{padding-top:2px;}
}
