@font-face { font-family: "LabSans"; src: local("Inter"); font-display: swap; }
:root {
  --paper: #f3f1eb;
  --paper-2: #e9e6de;
  --ink: #111718;
  --muted: #697071;
  --line: rgba(17,23,24,.16);
  --line-soft: rgba(17,23,24,.09);
  --blue: #4167f4;
  --blue-dark: #294bd1;
  --dark: #101718;
  --dark-2: #152022;
  --white: #f8f7f3;
  --max: 1240px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background: var(--paper);
  color: var(--ink);
  font-family: LabSans, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
img, svg { display: block; width: 100%; max-width: 100%; }
::selection { background: #b9c8ff; color: #0b1020; }
.container { width: min(var(--max), calc(100% - 48px)); margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(243,241,235,.91); border-bottom: 1px solid var(--line-soft); backdrop-filter: blur(16px) saturate(140%); }
.nav { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 820; letter-spacing: -.045em; }
.brand-mark { display: inline-flex; align-items: end; gap: 3px; height: 25px; }
.brand-mark i { display: block; width: 5px; border-radius: 4px; background: var(--blue); }
.brand-mark i:nth-child(1) { height: 10px; opacity: .62; }.brand-mark i:nth-child(2) { height: 17px; opacity: .8; }.brand-mark i:nth-child(3) { height: 25px; }
.nav-links { display: flex; align-items: center; gap: 28px; }
.nav-links a { position: relative; padding: 27px 0 25px; font-size: 14px; font-weight: 680; color: #394041; }
.nav-links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -1px; height: 2px; background: var(--ink); transition: right .2s ease; }
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after { right: 0; }

.overline { margin: 0 0 20px; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--blue-dark); }
.home-hero { padding: clamp(78px, 10vw, 148px) 0 clamp(64px, 8vw, 104px); }
.home-hero-copy { max-width: var(--max); }
.home-hero h1, .page-intro h1, .about-hero h1, .not-found h1 {
  margin: 0; max-width: 1050px; font-size: clamp(58px, 9.2vw, 132px); line-height: .88; letter-spacing: -.072em; font-weight: 790;
}
.hero-lead { max-width: 680px; margin: 36px 0 26px; color: #4f5859; font-size: clamp(19px, 2vw, 24px); line-height: 1.55; letter-spacing: -.015em; }
.text-link { display: inline-flex; align-items: center; gap: 9px; border-bottom: 1px solid currentColor; padding-bottom: 4px; font-size: 15px; font-weight: 720; }
.text-link span { transition: transform .18s ease; }.text-link:hover span { transform: translateX(3px); }.text-link.strong { font-size: 16px; }

.feature-game { padding-bottom: clamp(90px, 12vw, 160px); }
.feature-image-link { position: relative; display: block; overflow: hidden; background: #172020; }
.feature-image { aspect-ratio: 16/8.5; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.feature-image-link:hover .feature-image { transform: scale(1.012); }
.image-caption { position: absolute; left: 24px; bottom: 22px; padding: 8px 11px; background: rgba(13,20,21,.72); color: white; font-size: 11px; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(10px); }
.feature-intro { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(40px, 8vw, 100px); padding-top: 34px; border-top: 1px solid var(--line); }
.feature-intro .overline { margin-bottom: 14px; }
.feature-intro h2, .experience-heading h2, .editorial-copy h2, .play-more h2, .case-title h2, .principles-grid h2, .game-end h2, .about-values h2 {
  margin: 0; font-size: clamp(42px, 6vw, 78px); line-height: .96; letter-spacing: -.055em; font-weight: 760;
}
.feature-copy { padding-top: 28px; }.feature-copy p { margin: 0 0 25px; color: #50595a; font-size: 18px; line-height: 1.65; }

.experience-section { padding: clamp(90px, 11vw, 150px) 0; background: #dedbd2; }
.experience-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px, 9vw, 130px); align-items: start; }
.experience-heading { position: sticky; top: 110px; }
.experience-list article { display: grid; grid-template-columns: .48fr 1fr; gap: 28px; padding: 32px 0; border-top: 1px solid rgba(17,23,24,.22); }
.experience-list article:last-child { border-bottom: 1px solid rgba(17,23,24,.22); }
.experience-list h3 { margin: 0; font-size: 22px; letter-spacing: -.035em; }.experience-list p { margin: 0; color: #555e5f; line-height: 1.65; }

.home-visual-pair { padding: clamp(96px, 13vw, 170px) 0; display: grid; grid-template-columns: 1.14fr .86fr; gap: clamp(44px, 8vw, 105px); align-items: center; }
.editorial-figure { margin: 0; overflow: hidden; background: var(--dark); }.editorial-figure img { aspect-ratio: 4/3; object-fit: cover; }
.editorial-copy { max-width: 520px; }.editorial-copy p:not(.overline) { color: #525b5c; font-size: 18px; line-height: 1.7; margin: 26px 0 25px; }

.closing-cta { background: var(--ink); color: var(--white); }
.closing-inner { min-height: 315px; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-block: 66px; }
.closing-inner h2 { margin: 0; max-width: 770px; font-size: clamp(44px, 7vw, 86px); line-height: .94; letter-spacing: -.06em; }
.button-dark, .button-light { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 20px; border: 1px solid currentColor; font-size: 14px; font-weight: 760; white-space: nowrap; transition: background .2s, color .2s, transform .2s; }
.button-dark { color: var(--white); }.button-dark:hover { background: var(--white); color: var(--ink); transform: translateY(-2px); }
.button-light { color: var(--dark); background: var(--white); border-color: var(--white); }.button-light:hover { transform: translateY(-2px); background: #fff; }

.site-footer { padding: 54px 0; border-top: 1px solid var(--line-soft); }
.footer-inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; }.footer-brand { font-size: 20px; }.footer-inner p { margin: 12px 0 0; color: var(--muted); font-size: 13px; }.footer-links { display: flex; gap: 24px; align-items: center; color: #5a6263; font-size: 13px; }.footer-links a:hover { color: var(--ink); }

.page-intro { padding: clamp(80px, 10vw, 130px) 0 clamp(66px, 8vw, 100px); }.page-intro h1 { font-size: clamp(56px, 8.5vw, 118px); }.page-intro > p:last-child { max-width: 670px; margin: 30px 0 0; color: #515a5b; font-size: 20px; line-height: 1.6; }
.play-feature { padding-bottom: clamp(100px, 12vw, 160px); }.play-feature-image { display: block; overflow: hidden; background: var(--dark); }.play-feature-image img { aspect-ratio: 16/8; object-fit: cover; transition: transform .65s ease; }.play-feature-image:hover img { transform: scale(1.012); }
.play-feature-copy { display: grid; grid-template-columns: .7fr 1.3fr; column-gap: 54px; padding: 28px 0 0; border-top: 1px solid var(--line); }.game-meta { grid-column: 1; display: flex; flex-wrap: wrap; gap: 8px 18px; align-content: start; padding-top: 8px; color: #6a7273; font-size: 12px; text-transform: uppercase; letter-spacing: .09em; font-weight: 740; }.play-feature-copy h2 { grid-column: 2; margin: 0; font-family: LabSans, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: clamp(54px, 7vw, 88px); font-weight: 760; letter-spacing: -.055em; line-height: .94; }.play-feature-copy > p { grid-column: 2; max-width: 680px; margin: 20px 0 24px; color: #50595a; font-size: 19px; line-height: 1.65; }.link-row { grid-column: 2; display: flex; justify-content: space-between; align-items: center; gap: 18px; }.quiet-status { color: #747b7c; font-size: 12px; text-transform: uppercase; letter-spacing: .09em; font-weight: 740; }
.play-more { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(42px, 9vw, 120px); padding: 0 0 120px; border-top: 1px solid var(--line); padding-top: 46px; }.play-more p:last-child { margin: 38px 0 0; color: #555e5f; font-size: 17px; line-height: 1.7; }

.game-detail-page .site-header { background: rgba(243,241,235,.94); }
.game-hero { position: relative; min-height: min(820px, calc(100vh - 74px)); background: var(--dark); color: white; overflow: hidden; display: flex; align-items: end; }
.game-hero > img { position: absolute; inset: 0; height: 100%; object-fit: cover; }.game-hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,13,14,.08) 10%, rgba(8,13,14,.18) 48%, rgba(8,13,14,.88) 100%), linear-gradient(90deg, rgba(8,13,14,.42), transparent 52%); }
.game-hero-copy { position: relative; z-index: 2; padding-bottom: clamp(48px, 8vw, 90px); }.game-label { margin: 0 0 14px; font-size: 12px; text-transform: uppercase; letter-spacing: .18em; font-weight: 800; color: #b8c7c9; }.game-hero h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(68px, 10vw, 144px); line-height: .86; letter-spacing: -.062em; font-weight: 500; }.game-hero-copy > p:not(.game-label) { max-width: 680px; margin: 26px 0 0; font-size: clamp(19px, 2vw, 24px); line-height: 1.55; color: #e2e8e7; }
.game-hero-actions { margin-top: 34px; display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }.ghost-link { font-size: 14px; font-weight: 720; color: #e2e7e6; border-bottom: 1px solid rgba(255,255,255,.45); padding-bottom: 4px; }
.game-facts { display: grid; grid-template-columns: repeat(4, 1fr); padding-block: 38px; border-bottom: 1px solid var(--line); }.game-facts div { border-right: 1px solid var(--line); padding: 0 28px; }.game-facts div:first-child { padding-left: 0; }.game-facts div:last-child { border-right: 0; }.game-facts span { display: block; color: #7a8283; font-size: 11px; font-weight: 780; text-transform: uppercase; letter-spacing: .12em; }.game-facts strong { display: block; margin-top: 7px; font-size: 17px; letter-spacing: -.02em; }
.case-section { padding: clamp(100px, 13vw, 170px) 0; display: grid; grid-template-columns: 1fr .8fr; gap: clamp(55px, 10vw, 135px); }.case-copy { padding-top: 28px; }.case-copy p { margin: 0 0 22px; color: #4f5859; font-size: 19px; line-height: 1.75; }
.game-gallery { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; padding-bottom: clamp(105px, 13vw, 170px); }.game-gallery figure { margin: 0; overflow: hidden; background: var(--dark); }.game-gallery img { height: 100%; min-height: 400px; object-fit: cover; }.gallery-wide { grid-row: span 2; }.gallery-quote { min-height: 300px; background: #dcd8ce; padding: clamp(28px, 5vw, 58px); display: flex; flex-direction: column; justify-content: end; }.gallery-quote blockquote { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 4vw, 48px); line-height: 1.05; letter-spacing: -.04em; }
.game-principles { background: var(--dark); color: var(--white); padding: clamp(95px, 12vw, 155px) 0; }.principles-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(55px, 10vw, 140px); }.game-principles .overline { color: #99b0ff; }.principles-copy p { margin: 0; padding: 26px 0; border-top: 1px solid rgba(255,255,255,.17); color: #c9d0cf; font-size: 17px; line-height: 1.68; }.principles-copy p:last-child { border-bottom: 1px solid rgba(255,255,255,.17); }.principles-copy strong { color: white; }
.game-end { padding: clamp(100px, 13vw, 170px) 0; }.game-end h2 { max-width: 850px; }.game-end > p:not(.overline) { max-width: 650px; margin: 25px 0 30px; color: #555e5f; font-size: 18px; line-height: 1.65; }.game-end .button-dark { background: var(--ink); }

.about-hero { padding: clamp(85px, 10vw, 140px) 0 clamp(70px, 9vw, 115px); }.about-hero h1 { max-width: 1150px; font-size: clamp(58px, 8vw, 114px); }
.about-story { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(55px, 10vw, 135px); padding-bottom: clamp(95px, 12vw, 150px); }.about-lede { font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 4vw, 50px); line-height: 1.18; letter-spacing: -.035em; }.about-body p { margin: 0 0 22px; color: #50595a; font-size: 18px; line-height: 1.75; }
.about-image { padding-bottom: clamp(95px, 12vw, 155px); }
.about-image-frame {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 12px;
  background: transparent;
  box-shadow:
    0 1px 0 rgba(255,255,255,.34) inset,
    0 24px 62px rgba(18,27,29,.13),
    0 6px 20px rgba(18,27,29,.07);
}
.about-image-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), transparent 24%),
    linear-gradient(180deg, transparent 68%, rgba(4,10,12,.08));
}
.about-image-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  border-radius: inherit;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.27),
    inset 0 1px 0 rgba(255,255,255,.20);
}
.about-image img { aspect-ratio: 16/8.4; object-fit: cover; object-position: center; filter: saturate(1.025) contrast(1.015); }
.about-values { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(55px, 10vw, 140px); padding-bottom: clamp(100px, 13vw, 165px); }.value-lines article { padding: 27px 0; border-top: 1px solid var(--line); }.value-lines article:last-child { border-bottom: 1px solid var(--line); }.value-lines h3 { margin: 0 0 10px; font-size: 21px; letter-spacing: -.035em; }.value-lines p { margin: 0; color: #555e5f; line-height: 1.65; }

.not-found { min-height: calc(100vh - 75px); padding-top: clamp(90px, 14vw, 190px); }.not-found h1 { font-size: clamp(62px, 9vw, 124px); }.not-found > p:not(.overline) { margin: 28px 0 24px; color: #596162; font-size: 18px; }

@media (max-width: 900px) {
  .feature-intro, .experience-grid, .home-visual-pair, .play-feature-copy, .play-more, .case-section, .principles-grid, .about-story, .about-values { grid-template-columns: 1fr; }
  .feature-intro { gap: 10px; }.feature-copy { padding-top: 0; max-width: 700px; }
  .experience-heading { position: static; }.experience-list { margin-top: 12px; }
  .home-visual-pair { gap: 38px; }.editorial-copy { max-width: 680px; }
  .closing-inner { align-items: flex-start; flex-direction: column; }
  .play-feature-copy { gap: 18px; }.game-meta, .play-feature-copy h2, .play-feature-copy > p, .link-row { grid-column: 1; }
  .game-facts { grid-template-columns: repeat(2, 1fr); row-gap: 26px; }.game-facts div:nth-child(2) { border-right: 0; }.game-facts div:nth-child(3) { padding-left: 0; }
  .game-gallery { grid-template-columns: 1fr; }.gallery-wide { grid-row: auto; }.game-gallery img { min-height: 0; aspect-ratio: 16/10; }
  .about-story, .about-values, .case-section, .principles-grid { gap: 38px; }
}

@media (max-width: 620px) {
  .container { width: min(100% - 32px, var(--max)); }
  .nav { min-height: 66px; }.brand { font-size: 20px; }.brand-mark { height: 22px; }.brand-mark i:nth-child(3) { height: 22px; }.brand-mark i:nth-child(2) { height: 15px; }.brand-mark i:nth-child(1) { height: 9px; }
  .nav-links { gap: 18px; }.nav-links a { padding-block: 23px 21px; font-size: 13px; }
  .home-hero { padding-top: 72px; }.home-hero h1, .page-intro h1, .about-hero h1 { font-size: clamp(52px, 15vw, 72px); line-height: .9; }.hero-lead { margin-top: 28px; font-size: 18px; }
  .feature-image { aspect-ratio: 4/3; }.image-caption { left: 14px; bottom: 14px; font-size: 9px; }.feature-intro { padding-top: 24px; }.feature-intro h2, .experience-heading h2, .editorial-copy h2, .play-more h2, .case-title h2, .principles-grid h2, .game-end h2, .about-values h2 { font-size: clamp(38px, 11vw, 52px); }
  .experience-list article { grid-template-columns: 1fr; gap: 8px; }.experience-list h3 { font-size: 20px; }
  .home-visual-pair { padding-block: 88px; }.editorial-figure img { aspect-ratio: 1/1; }
  .closing-inner { min-height: 290px; padding-block: 55px; }.closing-inner h2 { font-size: 45px; }
  .footer-inner { align-items: flex-start; flex-direction: column; }.footer-links { width: 100%; justify-content: space-between; }
  .page-intro { padding-top: 72px; }.page-intro > p:last-child { font-size: 18px; }.play-feature-image img { aspect-ratio: 4/3; }.play-feature-copy h2 { font-size: 55px; }.link-row { align-items: flex-start; flex-direction: column; }.play-more { padding-bottom: 92px; }
  .game-hero { min-height: 690px; }.game-hero h1 { font-size: clamp(68px, 20vw, 92px); }.game-hero-shade { background: linear-gradient(180deg, rgba(8,13,14,.07) 8%, rgba(8,13,14,.28) 45%, rgba(8,13,14,.94) 100%); }.game-hero-copy { padding-bottom: 44px; }.game-hero-copy > p:not(.game-label) { font-size: 18px; }.game-hero-actions { align-items: flex-start; flex-direction: column; }
  .game-facts { grid-template-columns: 1fr 1fr; padding-block: 28px; }.game-facts div { padding: 0 14px; }.game-facts div:nth-child(odd) { padding-left: 0; }.game-facts strong { font-size: 15px; }
  .case-section, .game-end, .about-values { padding-block: 88px; }.case-copy p { font-size: 17px; }.game-gallery { padding-bottom: 88px; gap: 12px; }.gallery-quote { min-height: 250px; }.game-principles { padding-block: 88px; }
  .about-story { padding-bottom: 88px; }.about-image { width: 100%; padding-bottom: 88px; }.about-image img { aspect-ratio: 4/3; }.about-values { padding-top: 0; }
  .not-found h1 { font-size: 60px; }
}

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

/* v8 visual refinement: imagery carries the experience; avoid card-like framing. */
.feature-image-link,
.editorial-figure,
.play-feature-image,
.game-gallery figure {
  background: transparent;
}
.feature-image-link { overflow: hidden; }
.feature-image {
  aspect-ratio: 16/8.8;
  object-fit: cover;
  object-position: center 45%;
}
.home-visual-pair .editorial-figure img {
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center;
}
.play-feature-image img {
  aspect-ratio: 16/8.8;
  object-fit: cover;
  object-position: center 45%;
}
.game-hero > img { object-position: center 48%; }
.game-gallery img { object-position: center; }
.image-caption { display: none; }

@media (max-width: 620px) {
  .feature-image,
  .play-feature-image img { aspect-ratio: 4/3; }
  .feature-image { object-position: 42% center; }
  .play-feature-image img { object-position: 42% center; }
  .game-hero > img { object-position: 42% center; }
}


/* v9 polish — restrained gloss, stronger depth and interaction without turning the site into a card UI. */
:root {
  --glass-line: rgba(255,255,255,.58);
  --soft-shadow: 0 28px 70px rgba(18,27,29,.10);
  --soft-shadow-hover: 0 34px 90px rgba(18,27,29,.14);
  --blue-glow: rgba(65,103,244,.18);
}

body {
  background:
    radial-gradient(900px 520px at 12% -8%, rgba(74,105,244,.065), transparent 64%),
    radial-gradient(760px 460px at 96% 12%, rgba(255,255,255,.62), transparent 68%),
    var(--paper);
}

main { overflow: clip; }

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

.site-header {
  background: linear-gradient(180deg, rgba(248,247,242,.94), rgba(243,241,235,.84));
  border-bottom-color: rgba(17,23,24,.075);
  backdrop-filter: blur(22px) saturate(155%);
  -webkit-backdrop-filter: blur(22px) saturate(155%);
  box-shadow: 0 10px 30px rgba(17,23,24,.025);
}

.brand-mark i {
  background: linear-gradient(180deg, #6d8aff 0%, var(--blue) 58%, #2747c8 100%);
  box-shadow: 0 0 16px rgba(65,103,244,.16);
}

.nav-links a {
  transition: color .2s ease, opacity .2s ease;
}

.nav-links a:hover { color: #111718; }

.overline {
  text-shadow: 0 1px 0 rgba(255,255,255,.75);
}

.text-link {
  border-bottom-color: rgba(17,23,24,.42);
  transition: border-color .2s ease, color .2s ease;
}
.text-link:hover { border-bottom-color: currentColor; }

.feature-image-link,
.play-feature-image,
.editorial-figure,
.game-gallery figure {
  position: relative;
  isolation: isolate;
  box-shadow: var(--soft-shadow);
  transition: box-shadow .35s ease, transform .35s ease;
}

.feature-image-link::before,
.play-feature-image::before,
.editorial-figure::before,
.game-gallery figure::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), transparent 24%),
    linear-gradient(180deg, transparent 68%, rgba(4,10,12,.08));
}

.feature-image-link::after,
.play-feature-image::after,
.editorial-figure::after,
.game-gallery figure::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}

.feature-image-link:hover,
.play-feature-image:hover {
  box-shadow: var(--soft-shadow-hover);
}

.feature-image,
.play-feature-image img,
.editorial-figure img img,
.game-gallery img {
  filter: saturate(1.025) contrast(1.015);
}

.feature-image-link:hover .feature-image,
.play-feature-image:hover img {
  transform: scale(1.016);
}

.feature-intro,
.play-feature-copy {
  border-top-color: rgba(17,23,24,.13);
}

.experience-section {
  background:
    radial-gradient(760px 420px at 18% 8%, rgba(255,255,255,.40), transparent 68%),
    linear-gradient(180deg, #e2dfd7 0%, #d9d6ce 100%);
}

.experience-list article {
  border-top-color: rgba(17,23,24,.17);
}

.experience-list article:last-child {
  border-bottom-color: rgba(17,23,24,.17);
}

.closing-cta,
.game-principles {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(720px 380px at 88% 12%, rgba(65,103,244,.12), transparent 70%),
    linear-gradient(180deg, #12191a 0%, #0d1314 100%);
}

.closing-cta::after,
.game-principles::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255,255,255,.028), transparent 30%);
}

.button-dark,
.button-light {
  position: relative;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 10px 28px rgba(7,12,13,.12);
  transition: transform .2s ease, box-shadow .25s ease, background .2s ease, color .2s ease;
}

.button-dark::before,
.button-light::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255,255,255,.16), transparent 32%);
  opacity: .55;
}

.button-dark:hover,
.button-light:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(7,12,13,.18);
}

.button-dark:active,
.button-light:active {
  transform: translateY(0);
  box-shadow: 0 7px 18px rgba(7,12,13,.13);
}

.game-hero-shade {
  background:
    radial-gradient(620px 360px at 18% 78%, rgba(64,101,244,.11), transparent 72%),
    linear-gradient(180deg, rgba(8,13,14,.04) 8%, rgba(8,13,14,.18) 48%, rgba(8,13,14,.90) 100%),
    linear-gradient(90deg, rgba(8,13,14,.48), transparent 55%);
}

.game-facts {
  border-bottom-color: rgba(17,23,24,.13);
  background: linear-gradient(90deg, rgba(255,255,255,.12), transparent 52%);
}

.gallery-quote {
  background:
    radial-gradient(440px 220px at 20% 0%, rgba(255,255,255,.42), transparent 72%),
    linear-gradient(180deg, #dfdcd3, #d6d2c8);
}

.site-footer {
  border-top-color: rgba(17,23,24,.075);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(17,23,24,.018));
}

:focus-visible {
  outline: 3px solid rgba(65,103,244,.55);
  outline-offset: 5px;
}

@media (prefers-reduced-motion: no-preference) {
  .home-hero .overline,
  .home-hero h1,
  .home-hero .hero-lead,
  .home-hero .text-link,
  .page-intro .overline,
  .page-intro h1,
  .about-hero .overline,
  .about-hero h1,
  .game-hero-copy > * {
    animation: polishRise .62s cubic-bezier(.2,.72,.2,1) both;
  }

  .home-hero h1,
  .page-intro h1,
  .about-hero h1,
  .game-hero-copy h1 { animation-delay: .04s; }

  .home-hero .hero-lead,
  .page-intro > p:last-child,
  .game-hero-copy > p:not(.game-label) { animation-delay: .10s; }

  .home-hero .text-link,
  .game-hero-actions { animation-delay: .16s; }

  .feature-image-link,
  .play-feature-image {
    animation: imageSettle .76s cubic-bezier(.2,.72,.2,1) .08s both;
  }

  @keyframes polishRise {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes imageSettle {
    from { opacity: 0; transform: translateY(8px) scale(.997); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }
}

@media (max-width: 620px) {
  body {
    background:
      radial-gradient(540px 320px at 12% -4%, rgba(74,105,244,.055), transparent 66%),
      var(--paper);
  }

  .site-header {
    backdrop-filter: blur(18px) saturate(145%);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
  }

  .feature-image-link,
  .play-feature-image,
  .editorial-figure,
  .game-gallery figure {
    box-shadow: 0 18px 46px rgba(18,27,29,.09);
  }

  .game-hero-shade {
    background:
      linear-gradient(180deg, rgba(8,13,14,.03) 8%, rgba(8,13,14,.30) 46%, rgba(8,13,14,.95) 100%),
      linear-gradient(90deg, rgba(8,13,14,.18), transparent 72%);
  }
}

/* build badge */
body::after {
  content: "LabNivo · v24";
  position: fixed;
  right: 12px;
  bottom: 10px;
  z-index: 9999;
  pointer-events: none;
  padding: 3px 6px;
  border-radius: 4px;
  background: rgba(17,23,24,.52);
  color: rgba(255,255,255,.78);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

@media (max-width: 620px) {
  body::after {
    right: 8px;
    bottom: 8px;
    font-size: 8px;
    opacity: .9;
  }
}


/* v10 visible polish — more dimensional, more cinematic, still restrained. */
:root {
  --v10-blue: #3f63f1;
  --v10-blue-soft: rgba(63,99,241,.12);
  --v10-line: rgba(255,255,255,.42);
}

.home-hero,
.page-intro,
.about-hero {
  position: relative;
  isolation: isolate;
}

.home-hero::before,
.page-intro::before,
.about-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(72vw, 980px);
  height: min(54vw, 660px);
  left: -12vw;
  top: -22%;
  pointer-events: none;
  background:
    radial-gradient(circle at 38% 42%, rgba(74,105,244,.13), rgba(74,105,244,.045) 36%, transparent 69%);
  filter: blur(8px);
}

.home-hero h1,
.page-intro h1,
.about-hero h1 {
  color: #0e1516;
  background: linear-gradient(112deg, #0d1415 0%, #11191a 58%, #294aaf 118%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.overline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.overline::before {
  content: "";
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(180deg, #7891ff, var(--v10-blue));
  box-shadow: 0 0 0 4px rgba(63,99,241,.07), 0 0 16px rgba(63,99,241,.25);
}

.site-header {
  box-shadow:
    0 1px 0 rgba(255,255,255,.72) inset,
    0 10px 34px rgba(17,23,24,.045);
}

.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(63,99,241,.22) 38%, rgba(255,255,255,.55) 58%, transparent 100%);
}

.nav-links a::after {
  height: 2px;
  background: linear-gradient(90deg, var(--v10-blue), #7b8fff);
  box-shadow: 0 0 12px rgba(63,99,241,.22);
}

.feature-game {
  position: relative;
  isolation: isolate;
}

.feature-game::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 54%;
  height: 68%;
  right: -10%;
  top: 2%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(63,99,241,.11), transparent 69%);
  filter: blur(20px);
}

.feature-image-link,
.play-feature-image,
.editorial-figure,
.game-gallery figure {
  border-radius: 12px;
  overflow: hidden;
  box-shadow:
    0 1px 0 rgba(255,255,255,.34) inset,
    0 24px 62px rgba(18,27,29,.13),
    0 6px 20px rgba(18,27,29,.07);
}

.feature-image-link::after,
.play-feature-image::after,
.editorial-figure::after,
.game-gallery figure::after {
  border-radius: inherit;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.27),
    inset 0 1px 0 rgba(255,255,255,.20);
}

.feature-image-link::before,
.play-feature-image::before {
  z-index: 3;
  background:
    linear-gradient(112deg,
      rgba(255,255,255,.06) 0%,
      transparent 24%,
      transparent 38%,
      rgba(255,255,255,.18) 50%,
      transparent 63%,
      transparent 100%);
  transform: translateX(-72%);
  transition: transform .9s cubic-bezier(.2,.7,.2,1);
}

.feature-image-link:hover::before,
.play-feature-image:hover::before {
  transform: translateX(72%);
}

.feature-image-link:hover,
.play-feature-image:hover {
  transform: translateY(-3px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.34) inset,
    0 38px 90px rgba(18,27,29,.17),
    0 10px 28px rgba(18,27,29,.08);
}

.feature-image,
.play-feature-image img {
  transition: transform .85s cubic-bezier(.18,.72,.18,1), filter .45s ease;
}

.feature-image-link:hover .feature-image,
.play-feature-image:hover img {
  transform: scale(1.024);
  filter: saturate(1.05) contrast(1.025) brightness(1.015);
}

.experience-section {
  position: relative;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(17,23,24,.06);
}

.experience-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, rgba(255,255,255,.15), transparent 28%),
    radial-gradient(760px 340px at 84% 20%, rgba(63,99,241,.055), transparent 72%);
}

.experience-grid { position: relative; z-index: 1; }

.experience-list h3 {
  transition: color .2s ease, transform .2s ease;
}

.experience-list article:hover h3 {
  color: #2748c9;
  transform: translateX(3px);
}

.editorial-figure {
  transform: rotate(-.35deg);
}

.editorial-copy {
  position: relative;
}

.editorial-copy::before {
  content: "";
  position: absolute;
  width: 92px;
  height: 3px;
  left: 0;
  top: -28px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--v10-blue), rgba(63,99,241,0));
  box-shadow: 0 0 18px rgba(63,99,241,.20);
}

.button-dark,
.button-light {
  border-radius: 999px;
  min-height: 54px;
  padding-inline: 24px;
}

.button-light {
  background:
    linear-gradient(180deg, rgba(255,255,255,1), rgba(244,245,243,.97));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 12px 32px rgba(0,0,0,.18);
}

.button-dark {
  background:
    linear-gradient(180deg, #182021 0%, #0e1415 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 12px 30px rgba(8,12,13,.18);
}

.closing-cta {
  border-top: 1px solid rgba(255,255,255,.06);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    inset 0 30px 80px rgba(63,99,241,.035);
}

.closing-inner h2 {
  text-shadow: 0 1px 0 rgba(255,255,255,.05);
}

.game-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 -80px 120px rgba(4,9,10,.26);
}

.game-hero-copy {
  z-index: 3;
}

.game-hero h1 {
  text-shadow:
    0 2px 1px rgba(0,0,0,.28),
    0 18px 45px rgba(0,0,0,.28);
}

.game-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.game-label::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #7891ff;
  box-shadow: 0 0 14px rgba(120,145,255,.65);
}

.game-facts {
  margin-top: 0;
  padding-inline: clamp(0px, 1vw, 12px);
}

.gallery-quote {
  border-radius: 12px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 24px 58px rgba(18,27,29,.07);
}

.gallery-quote blockquote {
  text-shadow: 0 1px 0 rgba(255,255,255,.50);
}

.game-principles {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    inset 0 -1px 0 rgba(255,255,255,.025);
}

.principles-copy strong {
  background: linear-gradient(90deg, #fff, #cdd6ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.site-footer {
  position: relative;
}

.site-footer::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 8%;
  right: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(63,99,241,.15), transparent);
}

@media (max-width: 620px) {
  .home-hero::before,
  .page-intro::before,
  .about-hero::before {
    width: 120vw;
    height: 72vw;
    left: -42vw;
    top: -4%;
  }

  .feature-image-link,
  .play-feature-image,
  .editorial-figure,
  .game-gallery figure,
  .gallery-quote {
    border-radius: 9px;
  }

  .feature-image-link:hover,
  .play-feature-image:hover {
    transform: none;
  }

  .editorial-figure {
    transform: none;
  }

  .editorial-copy::before {
    top: -22px;
    width: 68px;
  }

  .button-dark,
  .button-light {
    min-height: 52px;
    padding-inline: 21px;
  }
}

/* v11 TypeFlow catalogue entry */
.typeflow-catalog {
  padding-bottom: clamp(100px, 13vw, 170px);
}

.typeflow-catalog-visual {
  position: relative;
  display: block;
  aspect-ratio: 16 / 8.8;
  min-height: 0;
  overflow: hidden;
  border-radius: 12px;
  color: #f7f8ff;
  background:
    radial-gradient(760px 420px at 78% 10%, rgba(93,111,255,.26), transparent 64%),
    radial-gradient(620px 360px at 5% 100%, rgba(103,232,249,.12), transparent 66%),
    linear-gradient(135deg, #111a31 0%, #080d18 74%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 30px 80px rgba(18,27,29,.15);
  transition: transform .35s ease, box-shadow .35s ease;
}

.typeflow-catalog-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.72), transparent 88%);
}

.typeflow-catalog-visual:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 40px 96px rgba(18,27,29,.19);
}

.typeflow-stream {
  position: absolute;
  top: 15%;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: clamp(18px, 4vw, 54px);
  color: rgba(222,227,245,.34);
  font-size: clamp(14px, 2.1vw, 25px);
  font-weight: 680;
  letter-spacing: -.03em;
}

.typeflow-stream strong {
  color: #89efca;
  font-size: 1.08em;
  text-shadow: 0 0 24px rgba(137,239,202,.18);
}

.typeflow-mark {
  position: absolute;
  left: clamp(24px, 6vw, 74px);
  bottom: clamp(54px, 10vw, 112px);
  font-size: clamp(64px, 12vw, 160px);
  font-weight: 820;
  line-height: .82;
  letter-spacing: -.085em;
}

.typeflow-mark span { color: #7182ff; }

.typeflow-demo-stats {
  position: absolute;
  left: clamp(28px, 6vw, 78px);
  right: clamp(28px, 6vw, 78px);
  bottom: 24px;
  display: flex;
  gap: 26px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: #929db5;
  font-size: 11px;
  font-weight: 780;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.typeflow-catalog-copy {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  column-gap: 54px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}

.typeflow-catalog-copy .game-meta { grid-column: 1; }

.typeflow-catalog-copy h2 {
  grid-column: 2;
  margin: 0;
  font-family: LabSans, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(54px, 7vw, 88px);
  font-weight: 760;
  line-height: .94;
  letter-spacing: -.055em;
}

.typeflow-catalog-copy > p {
  grid-column: 2;
  max-width: 690px;
  margin: 20px 0 24px;
  color: #50595a;
  font-size: 19px;
  line-height: 1.65;
}

.typeflow-catalog-copy .link-row { grid-column: 2; }

@media (max-width: 900px) {
  .typeflow-catalog-copy {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .typeflow-catalog-copy .game-meta,
  .typeflow-catalog-copy h2,
  .typeflow-catalog-copy > p,
  .typeflow-catalog-copy .link-row {
    grid-column: 1;
  }
}

@media (max-width: 620px) {
  .typeflow-catalog-visual {
    aspect-ratio: 4 / 3;
    min-height: 0;
    border-radius: 9px;
  }

  .typeflow-stream {
    top: 13%;
    justify-content: flex-start;
    gap: 18px;
    padding-left: 22px;
    overflow: hidden;
    white-space: nowrap;
  }

  .typeflow-stream span:nth-child(n+4) { display: none; }

  .typeflow-mark {
    left: 20px;
    bottom: 76px;
    font-size: clamp(64px, 22vw, 92px);
  }

  .typeflow-demo-stats {
    left: 20px;
    right: 20px;
    bottom: 20px;
    gap: 14px;
    font-size: 9px;
  }

  .typeflow-catalog-copy h2 { font-size: 55px; }
}

/* TypeFlow catalogue cover */
.typeflow-cover-hud {
  position: absolute;
  top: clamp(20px, 3.4vw, 42px);
  left: clamp(22px, 4.2vw, 52px);
  right: clamp(22px, 4.2vw, 52px);
  display: flex;
  justify-content: space-between;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: #8290aa;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.typeflow-catalog-visual .typeflow-stream {
  top: 28%;
  left: clamp(22px, 4.2vw, 52px);
  right: clamp(22px, 4.2vw, 52px);
  justify-content: flex-start;
  gap: clamp(18px, 3.2vw, 42px);
  color: rgba(188,198,220,.34);
}

.typeflow-catalog-visual .typeflow-stream span:first-child {
  color: rgba(224,229,242,.62);
}

.typeflow-catalog-visual .typeflow-mark {
  left: clamp(22px, 4.2vw, 52px);
  right: clamp(22px, 4.2vw, 52px);
  bottom: 35%;
  font-size: clamp(56px, 8.2vw, 110px);
  font-weight: 780;
  letter-spacing: -.065em;
  white-space: nowrap;
}

.typeflow-catalog-visual .typeflow-mark > span { color: #8cf0c2; }
.typeflow-catalog-visual .typeflow-mark > strong {
  color: #f5f7ff;
  font-weight: 780;
  text-decoration: underline;
  text-decoration-color: rgba(113,130,255,.78);
  text-decoration-thickness: 3px;
  text-underline-offset: .14em;
}
.typeflow-catalog-visual .typeflow-mark > em {
  color: rgba(245,247,255,.46);
  font-style: normal;
}

.typeflow-cover-meter {
  position: absolute;
  left: clamp(22px, 4.2vw, 52px);
  right: clamp(22px, 4.2vw, 52px);
  bottom: 26%;
  height: 3px;
  overflow: hidden;
  background: rgba(255,255,255,.07);
}

.typeflow-cover-meter i {
  display: block;
  width: 62%;
  height: 100%;
  background: linear-gradient(90deg, #6679ff, #67e8f9, #8cf0c2);
  box-shadow: 0 0 18px rgba(103,232,249,.42);
}

.typeflow-cover-brand {
  position: absolute;
  left: clamp(22px, 4.2vw, 52px);
  bottom: clamp(22px, 3.2vw, 38px);
  color: #f6f7fb;
  font-size: clamp(24px, 3.2vw, 42px);
  font-weight: 820;
  letter-spacing: -.065em;
}
.typeflow-cover-brand span { color: #7182ff; }

.typeflow-catalog-visual .typeflow-demo-stats {
  left: auto;
  right: clamp(22px, 4.2vw, 52px);
  bottom: clamp(26px, 3.4vw, 42px);
  width: auto;
  padding-top: 0;
  border-top: 0;
  justify-content: flex-end;
}

@media (max-width: 620px) {
  .about-image-frame { border-radius: 9px; box-shadow: 0 18px 46px rgba(18,27,29,.09); }

  .typeflow-cover-hud {
    top: 18px;
    left: 20px;
    right: 20px;
    padding-bottom: 12px;
    font-size: 8px;
  }

  .typeflow-catalog-visual .typeflow-stream {
    top: 27%;
    left: 20px;
    right: 20px;
    padding-left: 0;
  }

  .typeflow-catalog-visual .typeflow-mark {
    left: 20px;
    right: 20px;
    bottom: 38%;
    font-size: clamp(48px, 15vw, 68px);
  }

  .typeflow-cover-meter {
    left: 20px;
    right: 20px;
    bottom: 29%;
  }

  .typeflow-cover-brand {
    left: 20px;
    bottom: 22px;
    font-size: 27px;
  }

  .typeflow-catalog-visual .typeflow-demo-stats {
    right: 20px;
    bottom: 25px;
    gap: 10px;
    font-size: 8px;
  }

  .typeflow-catalog-visual .typeflow-demo-stats span:nth-child(n+3) { display: none; }
}

/* Colourloom joins the existing studio catalogue. */
.colourloom-catalog{padding-bottom:clamp(100px,13vw,170px)}.colourloom-catalog-visual{display:block;aspect-ratio:1200/630;overflow:hidden;border-radius:12px;background:#f5f0e5;box-shadow:0 24px 62px #121b1d16,0 6px 20px #121b1d0b;transition:transform .35s,box-shadow .35s}.colourloom-catalog-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s}.colourloom-catalog-visual picture{display:block;width:100%;height:100%}.colourloom-catalog-visual:hover{transform:translateY(-3px);box-shadow:0 30px 70px #121b1d22}.colourloom-catalog-visual:hover img{transform:scale(1.015)}.colourloom-catalog-copy{display:grid;grid-template-columns:.7fr 1.3fr;column-gap:54px;padding-top:28px;margin-top:26px;border-top:1px solid var(--line)}.colourloom-catalog-copy .game-meta{grid-column:1}.colourloom-catalog-copy h2{grid-column:2;margin:0;font-family:LabSans,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(54px,7vw,88px);font-weight:760;line-height:.94;letter-spacing:-.055em}.colourloom-catalog-copy>p{grid-column:2;max-width:690px;margin:20px 0 24px;color:#50595a;font-size:19px;line-height:1.65}.colourloom-catalog-copy .link-row{grid-column:2}.colourloom-home{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding-bottom:110px}.colourloom-home-art{display:block;overflow:hidden;border-radius:10px;box-shadow:0 18px 55px #121b1d14}.colourloom-home-art img{display:block;width:100%;height:auto;transition:transform .8s}.colourloom-home-art:hover img{transform:scale(1.015)}.colourloom-home-copy h2{font-size:clamp(37px,4.5vw,60px);line-height:1.05;letter-spacing:-.045em;margin:15px 0 20px}.colourloom-home-copy>p:not(.overline){font-size:17px;line-height:1.7;color:#50595a;margin-bottom:24px}
@media(max-width:900px){.colourloom-catalog-copy{grid-template-columns:1fr;gap:18px}.colourloom-catalog-copy .game-meta,.colourloom-catalog-copy h2,.colourloom-catalog-copy>p,.colourloom-catalog-copy .link-row{grid-column:1}.colourloom-home{grid-template-columns:1fr;gap:30px;padding-bottom:75px}.colourloom-home-copy{max-width:600px}}
@media(max-width:620px){.colourloom-catalog-visual{aspect-ratio:4/3;border-radius:9px}.colourloom-catalog-copy h2{font-size:55px}.colourloom-home-art img{aspect-ratio:4/3;object-fit:cover}.colourloom-home-copy h2{font-size:40px}}




/* v23 — show the experiences; explain less. */
.home-v23-hero{padding:clamp(82px,10vw,142px) 0 clamp(76px,9vw,118px)}
.home-v23-hero h1{max-width:1080px;margin:0;font-size:clamp(66px,9.2vw,132px);line-height:.88;letter-spacing:-.072em;font-weight:790}
.home-v23-hero h1 span{color:#294bd1}
.home-v23-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}
.home-v23-intro>p{max-width:620px;margin:0;color:#50595a;font-size:clamp(19px,2vw,24px);line-height:1.55}
.home-v23-actions{display:flex;gap:28px;flex-wrap:wrap}

.home-v23-experiences{padding-bottom:clamp(110px,14vw,180px)}
.home-v23-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:34px}
.home-v23-heading .overline{margin:0}
.home-v23-heading h2{margin:0;font-size:clamp(40px,5vw,66px);line-height:.98;letter-spacing:-.05em}
.home-v23-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px 30px}
.home-v23-card{min-width:0}
.home-v23-image,.home-v23-iq,.home-v23-typeflow{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:12px;box-shadow:0 22px 60px rgba(18,27,29,.11),0 6px 20px rgba(18,27,29,.05)}
.home-v23-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.home-v23-image:hover img{transform:scale(1.018)}
.home-v23-copy{padding:23px 2px 0}
.home-v23-label{margin:0 0 11px;color:#697071;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.home-v23-copy h3{margin:0;max-width:570px;font-size:clamp(33px,3.7vw,51px);line-height:1.02;letter-spacing:-.047em}
.home-v23-copy>p:not(.home-v23-label){max-width:550px;margin:15px 0 19px;color:#596263;font-size:16px;line-height:1.65}
.home-v23-small .home-v23-copy h3{font-size:clamp(30px,3.3vw,43px)}

.home-v23-iq{position:relative;padding:clamp(28px,4vw,50px);color:#f7f8ff;background:radial-gradient(520px 320px at 88% 8%,rgba(105,128,255,.34),transparent 66%),linear-gradient(145deg,#18234a,#0d1425 75%)}
.home-v23-iq::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(180deg,#000,transparent 86%)}
.home-v23-iq-label{position:relative;z-index:1;font-size:14px;letter-spacing:.14em}
.home-v23-iq>strong{position:relative;z-index:1;display:block;margin-top:4px;color:#91a5ff;font-size:clamp(31px,4.4vw,58px);line-height:.9;letter-spacing:-.055em}
.home-v23-iq-ring{position:absolute;z-index:1;right:clamp(28px,4vw,50px);top:50%;transform:translateY(-46%);display:grid;place-items:center;width:clamp(120px,18vw,210px);aspect-ratio:1;border:1px solid rgba(255,255,255,.18);border-radius:50%}
.home-v23-iq-ring span{font-size:clamp(58px,8vw,100px);font-weight:760;letter-spacing:-.07em;line-height:.8}
.home-v23-iq-ring small{color:rgba(242,245,255,.52);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.home-v23-iq-foot{position:absolute;z-index:1;left:clamp(28px,4vw,50px);right:clamp(28px,4vw,50px);bottom:clamp(25px,3.5vw,40px);display:flex;gap:18px;padding-top:13px;border-top:1px solid rgba(255,255,255,.14);color:rgba(239,243,255,.75);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.home-v23-typeflow{aspect-ratio:4/3}

.home-v23-split{background:#dedbd2;border-block:1px solid rgba(17,23,24,.08)}
.home-v23-split-grid{display:grid;grid-template-columns:1fr 1fr}
.home-v23-split-grid>a{position:relative;display:block;min-height:340px;padding:56px 52px 54px 0;border-right:1px solid rgba(17,23,24,.16)}
.home-v23-split-grid>a+a{padding-left:52px;padding-right:0;border-right:0}
.home-v23-split .overline{margin:0 0 22px}
.home-v23-split h2{max-width:520px;margin:0;font-size:clamp(38px,4.3vw,58px);line-height:1;letter-spacing:-.05em}
.home-v23-arrow{position:absolute;right:48px;bottom:42px;font-size:28px;transition:transform .2s ease}
.home-v23-split-grid>a:last-child .home-v23-arrow{right:0}
.home-v23-split-grid>a:hover .home-v23-arrow{transform:translateX(5px)}

.about-v23-hero{padding:clamp(82px,10vw,134px) 0 clamp(70px,8vw,105px)}
.about-v23-hero h1{max-width:980px;margin:0;font-size:clamp(64px,8.6vw,118px);line-height:.9;letter-spacing:-.068em;font-weight:790}
.about-v23-hero>p:last-child{max-width:800px;margin:34px 0 0;color:#50595a;font-size:clamp(19px,2vw,24px);line-height:1.58}
.about-v23-two{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:clamp(90px,11vw,140px)}
.about-v23-two>a{position:relative;display:block;padding:36px 50px 42px 0;border-right:1px solid var(--line)}
.about-v23-two>a+a{padding-left:50px;padding-right:0;border-right:0}
.about-v23-two>a>span{display:block;margin-bottom:52px;color:#9aa2a3;font-size:12px;font-weight:800;letter-spacing:.12em}
.about-v23-two .overline{margin-bottom:13px}
.about-v23-two h2{margin:0;font-size:clamp(38px,4.8vw,62px);line-height:.98;letter-spacing:-.052em}
.about-v23-two>a>p:not(.overline){max-width:520px;margin:20px 0 28px;color:#596263;font-size:17px;line-height:1.68}
.about-v23-two strong{font-size:15px;border-bottom:1px solid currentColor;padding-bottom:4px}
.about-v23-principles{padding:clamp(80px,10vw,125px) 0;background:#e7e4db}
.about-v23-principles .overline{margin-bottom:34px}
.about-v23-principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(17,23,24,.2)}
.about-v23-principle-grid article{padding:30px 34px 0 0;border-right:1px solid rgba(17,23,24,.16)}
.about-v23-principle-grid article+article{padding-left:34px}
.about-v23-principle-grid article:last-child{border-right:0}
.about-v23-principle-grid h3{margin:0;font-size:clamp(28px,3.2vw,40px);letter-spacing:-.045em}
.about-v23-principle-grid p{margin:15px 0 0;color:#596263;line-height:1.68}
.about-v23-closing{padding:clamp(86px,11vw,140px) 0}
.about-v23-closing h2{margin:0;font-size:clamp(58px,7.5vw,102px);line-height:.9;letter-spacing:-.065em}
.about-v23-closing p{max-width:650px;margin:28px 0 0;color:#596263;font-size:20px;line-height:1.6}

@media(max-width:900px){
  .home-v23-grid{grid-template-columns:1fr}
  .home-v23-split-grid{grid-template-columns:1fr}
  .home-v23-split-grid>a,.home-v23-split-grid>a+a{min-height:0;padding:44px 0 78px;border-right:0;border-bottom:1px solid rgba(17,23,24,.16)}
  .home-v23-split-grid>a:last-child{border-bottom:0}
  .home-v23-arrow,.home-v23-split-grid>a:last-child .home-v23-arrow{right:0;bottom:32px}
  .about-v23-principle-grid{grid-template-columns:1fr}
  .about-v23-principle-grid article,.about-v23-principle-grid article+article{padding:27px 0;border-right:0;border-bottom:1px solid rgba(17,23,24,.16)}
}
@media(max-width:620px){
  .home-v23-hero{padding-top:70px}
  .home-v23-hero h1{font-size:clamp(52px,15vw,72px)}
  .home-v23-intro{align-items:flex-start;flex-direction:column;margin-top:32px;padding-top:22px}
  .home-v23-intro>p{font-size:18px}
  .home-v23-heading{align-items:flex-start;flex-direction:column;gap:10px}
  .home-v23-heading h2{font-size:43px}
  .home-v23-image,.home-v23-iq,.home-v23-typeflow{border-radius:9px}
  .home-v23-copy h3,.home-v23-small .home-v23-copy h3{font-size:37px}
  .home-v23-iq-ring{width:118px;right:24px}
  .home-v23-iq-foot{left:24px;right:24px;gap:12px;font-size:8px}
  .home-v23-iq>strong{font-size:34px}
  .home-v23-split h2{font-size:40px}
  .about-v23-hero{padding-top:70px}
  .about-v23-hero h1{font-size:clamp(52px,15vw,72px)}
  .about-v23-two{grid-template-columns:1fr}
  .about-v23-two>a,.about-v23-two>a+a{padding:28px 0 34px;border-right:0;border-bottom:1px solid var(--line)}
  .about-v23-two>a:last-child{border-bottom:0}
  .about-v23-two>a>span{margin-bottom:26px}
  .about-v23-two h2{font-size:43px}
  .about-v23-closing h2{font-size:58px}
}


/* v24 — mobile-first LabNivo homepage. */
.home24-hero{padding:clamp(74px,9vw,122px) 0 clamp(64px,8vw,102px)}
.home24-hero .overline{margin-bottom:17px}
.home24-hero h1{max-width:900px;margin:0;font-size:clamp(66px,9vw,124px);line-height:.88;letter-spacing:-.07em;font-weight:790}
.home24-hero h1 span{color:#294bd1}
.home24-lead{max-width:610px;margin:32px 0 0;color:#50595a;font-size:clamp(19px,2vw,23px);line-height:1.55}
.home24-hero-links{display:flex;gap:12px;margin-top:28px}
.home24-hero-links a{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 17px;border:1px solid rgba(17,23,24,.18);border-radius:999px;background:rgba(255,255,255,.28);font-size:14px;font-weight:760}
.home24-hero-links a:first-child{background:#111718;color:#f7f6f1;border-color:#111718}

.home24-featured{padding-bottom:clamp(88px,11vw,140px)}
.home24-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.home24-section-head .overline{margin:0}
.home24-section-head h2{margin:0;font-size:clamp(38px,4.6vw,60px);line-height:1;letter-spacing:-.05em}
.home24-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.home24-feature{position:relative;display:block;min-height:560px;overflow:hidden;border-radius:14px;box-shadow:0 22px 58px rgba(18,27,29,.11),0 5px 16px rgba(18,27,29,.05)}
.home24-puzzle img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.home24-puzzle:hover img{transform:scale(1.018)}
.home24-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,16,20,.03) 28%,rgba(7,13,17,.82) 100%)}
.home24-feature-copy{position:absolute;z-index:2;left:clamp(24px,3vw,40px);right:clamp(24px,3vw,40px);bottom:clamp(24px,3vw,38px);color:#f8f8f4}
.home24-feature-copy>span{display:block;margin-bottom:10px;color:rgba(242,244,239,.68);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.home24-feature-copy h3{max-width:530px;margin:0;font-size:clamp(38px,4.6vw,62px);line-height:.96;letter-spacing:-.055em}
.home24-feature-copy p{margin:15px 0 20px;max-width:440px;color:rgba(242,244,239,.76);font-size:15px;line-height:1.55}
.home24-feature-copy strong{font-size:14px}
.home24-intelligence{color:#f7f8ff;background:radial-gradient(560px 360px at 88% 10%,rgba(107,131,255,.38),transparent 66%),radial-gradient(420px 300px at 5% 100%,rgba(94,225,232,.10),transparent 70%),linear-gradient(145deg,#19254e,#0e1528 76%)}
.home24-intelligence::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(180deg,#000,transparent 86%)}
.home24-iq-top{position:absolute;z-index:2;top:clamp(28px,3vw,40px);left:clamp(28px,3vw,40px)}
.home24-iq-top span{display:block;font-size:12px;letter-spacing:.14em}
.home24-iq-top strong{display:block;margin-top:3px;color:#96a9ff;font-size:clamp(30px,3.5vw,48px);line-height:.9;letter-spacing:-.055em}
.home24-iq-score{position:absolute;z-index:1;right:clamp(28px,3vw,44px);top:31%;display:grid;place-items:center;width:clamp(150px,18vw,215px);aspect-ratio:1;border:1px solid rgba(255,255,255,.16);border-radius:50%}
.home24-iq-score span{font-size:clamp(70px,8vw,106px);font-weight:760;line-height:.8;letter-spacing:-.075em}
.home24-iq-score small{color:rgba(241,244,255,.50);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}

.home24-more{padding-bottom:clamp(88px,11vw,138px)}
.home24-section-head.compact{margin-bottom:22px}
.home24-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.home24-more-card{display:grid;grid-template-columns:190px 1fr;gap:22px;align-items:center;padding:14px;border:1px solid rgba(17,23,24,.12);border-radius:12px;background:rgba(255,255,255,.24);transition:transform .2s ease,background .2s ease}
.home24-more-card:hover{transform:translateY(-2px);background:rgba(255,255,255,.42)}
.home24-more-thumb{aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:#d8d5cc}
.home24-more-thumb img{width:100%;height:100%;object-fit:cover}
.home24-more-card>div:last-child{position:relative;padding-right:26px}
.home24-more-card>div:last-child>span{display:block;margin-bottom:7px;color:#697071;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.home24-more-card>div:last-child>strong{display:block;font-size:21px;line-height:1.15;letter-spacing:-.035em}
.home24-more-card em{position:absolute;right:0;top:50%;transform:translateY(-50%);font-style:normal;font-size:20px}
.home24-typeflow-thumb{display:flex;flex-direction:column;justify-content:space-between;padding:18px;color:#f7f8ff;background:radial-gradient(260px 150px at 90% 0%,rgba(102,121,255,.36),transparent 70%),#121827}
.home24-typeflow-thumb>span{font-size:29px;font-weight:800;letter-spacing:-.06em}
.home24-typeflow-thumb>span strong{color:#8cf0c2}
.home24-typeflow-thumb small{color:#8390aa;font-size:9px;letter-spacing:.08em;text-transform:uppercase}

.home24-end{background:#dedbd2;border-top:1px solid rgba(17,23,24,.09)}
.home24-end-grid{display:grid;grid-template-columns:1fr 1fr}
.home24-end-grid a{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:230px;padding-right:42px;border-right:1px solid rgba(17,23,24,.15)}
.home24-end-grid a+a{padding-left:42px;padding-right:0;border-right:0}
.home24-end-grid span{color:#697071;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.home24-end-grid strong{margin-top:8px;font-size:clamp(38px,4.6vw,58px);line-height:1;letter-spacing:-.05em}
.home24-end-grid em{position:absolute;right:38px;bottom:38px;font-style:normal;font-size:24px}
.home24-end-grid a+a em{right:0}

@media(max-width:900px){
  .home24-feature-grid{grid-template-columns:1fr}
  .home24-feature{min-height:520px}
  .home24-more-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .home24-hero{padding:60px 0 58px}
  .home24-hero .overline{margin-bottom:12px}
  .home24-hero h1{font-size:clamp(50px,14.3vw,64px);line-height:.91;letter-spacing:-.062em}
  .home24-lead{margin-top:22px;font-size:17px;line-height:1.5}
  .home24-hero-links{margin-top:22px}
  .home24-hero-links a{min-height:42px;padding-inline:15px;font-size:13px}
  .home24-featured{padding-bottom:76px}
  .home24-section-head{display:block;padding-bottom:18px;margin-bottom:18px}
  .home24-section-head .overline{margin-bottom:9px}
  .home24-section-head h2{font-size:36px}
  .home24-feature-grid{gap:16px}
  .home24-feature{min-height:0;aspect-ratio:1/1;border-radius:10px}
  .home24-feature-copy{left:22px;right:22px;bottom:21px}
  .home24-feature-copy h3{font-size:34px;max-width:310px}
  .home24-feature-copy p{margin:10px 0 15px;font-size:14px}
  .home24-iq-top{left:22px;top:22px}
  .home24-iq-top strong{font-size:30px}
  .home24-iq-score{width:110px;right:22px;top:29%}
  .home24-iq-score span{font-size:58px}
  .home24-more{padding-bottom:72px}
  .home24-section-head.compact{margin-bottom:14px}
  .home24-more-grid{gap:10px}
  .home24-more-card{grid-template-columns:104px 1fr;gap:15px;padding:10px;border-radius:10px}
  .home24-more-thumb{border-radius:7px}
  .home24-more-card>div:last-child>strong{font-size:17px}
  .home24-typeflow-thumb{padding:11px}
  .home24-typeflow-thumb>span{font-size:20px}
  .home24-typeflow-thumb small{font-size:7px}
  .home24-end-grid{grid-template-columns:1fr}
  .home24-end-grid a,.home24-end-grid a+a{min-height:145px;padding:28px 0;border-right:0;border-bottom:1px solid rgba(17,23,24,.15)}
  .home24-end-grid a:last-child{border-bottom:0}
  .home24-end-grid strong{font-size:39px}
  .home24-end-grid em,.home24-end-grid a+a em{right:0;bottom:28px}
  .site-footer{padding:38px 0}
  .footer-inner{align-items:flex-start;flex-direction:column}
  .footer-links{gap:18px;flex-wrap:wrap}
}
