/* Identity only. Page structure and responsive layout live in studio.css. */
@font-face{font-family:BlueDisplay;src:url('/assets/fonts/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:BlueBody;src:url('/assets/fonts/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:CyanSans;src:url('/assets/fonts/plex-sans.woff2') format('woff2');font-weight:100 700;font-display:swap}
html[data-design=blue]{--paper:#fbfcff;--night:#f2f5fb;--ink:#18283f;--muted:#526171;--silver:#526171;--accent:#315eff;--font-display:BlueDisplay,Arial,sans-serif;--font-body:BlueBody,Arial,sans-serif}
html[data-design=cyan]{--paper:#111315;--night:#182a32;--ink:#f0f5f7;--muted:#bdcbd1;--silver:#bdcbd1;--accent:#a8e1e5;--font-display:CyanSans,Arial,sans-serif;--font-body:CyanSans,Arial,sans-serif}
.identity-blue,.identity-cyan{background:var(--paper);color:var(--ink)}
:is(.identity-blue,.identity-cyan) :is(.page-label,.spectrum-label-lockups span,.header-label){font-family:var(--font-body)}
.identity-blue :is(h1,h2,h3){font-weight:650}
.identity-cyan :is(h1,h2,h3){font-weight:600}

/* Blue */
.identity-blue .button{background:#315eff;color:#fff;border-color:#315eff}.identity-blue .button:hover{background:#244ce0;color:#fff;border-color:#244ce0}
.identity-blue .opening-copy h1 span:first-child{color:#18283f}.identity-blue .opening-copy h1 span:last-child{color:#315eff}
.identity-blue .games-label{color:#315eff}.identity-blue .research-label{color:#6132b8}
.identity-blue .paint-canvas{background:#fbfcff}
.identity-blue .paint-canvas :is(.hero-poster,.hero-film){object-fit:cover}
.identity-blue :is(.choice,.games-choice){border-color:#315eff}.identity-blue .research-choice{border-color:#7954bd}
.identity-blue .neural-story{background:#f0eaff;color:#21163e}.identity-blue .topic-links{border-color:#d3c4e8}
.identity-blue .working-story{background:#edf3fc}
.identity-blue .platform-showcase{background:#edf2fa}
.identity-blue .platform-group{border-color:#315eff}.identity-blue .platform-group:nth-child(even){border-color:#7954bd}
.identity-blue .platform-number{color:#315eff}.identity-blue .platform-group:nth-child(even) .platform-number{color:#6132b8}
.identity-blue .platform-eyebrow{color:#3452a0}
.identity-blue .spectrum-callout{background:#315eff;color:#fff}.identity-blue .spectrum-callout p{color:#fff}.identity-blue .spectrum-callout .button{background:#fff;color:#244ce0;border-color:#fff}
.identity-blue .spectrum-footer{background:#fff;border-color:#315eff}
.identity-blue :is(.studio-landing,.studio-engagement){--studio-tint:#edf2ff;--studio-colour:#244ce0;--studio-line:#d2dcf5}
.identity-blue .studio-research{--studio-tint:#f0eaff;--studio-colour:#6132b8;--studio-line:#d8caed}
.identity-blue .stroke-one{background:#cbd8ff}.identity-blue .stroke-two{background:#e0d3ff}
.identity-blue .studio-proof{background:#edf3fc;color:#18283f}.identity-blue .studio-proof:before{background:radial-gradient(circle at 0 100%,transparent 0 160px,#dce5fa 161px 210px,transparent 211px)}
.identity-blue .studio-publication strong{color:#6132b8}.identity-blue .studio-publication{border-color:#d8caed}
.identity-blue .studio-pipeline>div{border-color:#c7d5ed}.identity-blue .studio-pipeline .pipeline-build{background:#315eff;color:#fff;border-color:#315eff}
.identity-blue .pipeline-link{color:#3452a0}.identity-blue .pipeline-link:before,.identity-blue .pipeline-link:after{background:#9bb4eb}
.identity-blue .studio-sprint-board{background:#edf2ff;box-shadow:12px 12px 0 #e9e1f6}.identity-blue .studio-cadence-number strong{color:#315eff}
.identity-blue .studio-sprint-pair article{border-color:#315eff}.identity-blue .studio-sprint-pair article+article{border-color:#7954bd}
.identity-blue .studio-stage{background:#edf2ff}.identity-blue .studio-stage:nth-child(even){background:#f0eaff}.identity-blue .studio-stage-number{color:#244ce0}
.identity-blue .studio-stages:before{border-color:#b6c8ef}.identity-blue .studio-next a{background:#edf2ff}.identity-blue .studio-next a+a{background:#f0eaff}
.identity-blue :is(.engagement-proof,.games-hero-art){background:#edf2ff;color:#18283f}
.identity-blue .proof-showcase{--proof-surface:#edf2ff;--proof-secondary:#f0eaff;--proof-ink:#18283f;--proof-muted:#526171}
.identity-blue .console-license{background:#edf3ff;color:#2442a6;border-color:#cad8f5}
.identity-blue .mega-menu{--menu-accent:#244ce0;--menu-tint:#edf2ff;--menu-ink:#172645;--menu-border:#dce3f5}
.identity-blue .mega-menu:has(.mega-research){--menu-accent:#6132b8;--menu-tint:#f0eaff;--menu-border:#d8caed}
.identity-blue .mega-orbit{background:#dce3f5;border-radius:50%}

/* Cyan */
.identity-cyan .button{background:#a8e1e5;color:#15323a;border-color:#a8e1e5}.identity-cyan .button:hover{background:#cef0f2;color:#15323a;border-color:#cef0f2}
.identity-cyan .opening-copy h1 span:first-child{color:#f0f5f7}.identity-cyan .opening-copy h1 span:last-child{color:#a8e1e5}
.identity-cyan .games-label{color:#a8e1e5}.identity-cyan .research-label{color:#d4eda8}.identity-cyan .paint-canvas{background:#111315}
.identity-cyan .paint-canvas :is(.hero-poster,.hero-film){object-fit:cover;object-position:right center}
.identity-cyan :is(.page-label,.paint-caption,.choice>p:first-child,.work-card>div>p:not(.page-label),.note-row>span,.note-row time,.note-row p,.spectrum-related span,.spectrum-related p,.scope-notes dd,.project-meta dt,.article-meta,.media-block figcaption,.spectrum-trust-note){color:#bdcbd1}
.identity-cyan :is(.choice,.games-choice){border-color:#a8e1e5}.identity-cyan .research-choice{border-color:#d4eda8}
.identity-cyan :is(.neural-story,.working-story,.platform-showcase,.spectrum-callout,.studio-proof){background:#d3eded;color:#15323a}
.identity-cyan :is(.neural-story,.working-story,.platform-showcase,.spectrum-callout,.studio-proof) :is(.page-label,p,figcaption){color:#345058}
.identity-cyan :is(.neural-story,.working-story,.platform-showcase,.spectrum-callout,.studio-proof) .button{background:#173d48;color:#fff;border-color:#173d48}
.identity-cyan .topic-links{border-color:#99c5c9}.identity-cyan .platform-group{border-color:#087581}.identity-cyan .platform-group:nth-child(even){border-color:#597b36}
.identity-cyan .platform-number{color:#087581}.identity-cyan .platform-group:nth-child(even) .platform-number{color:#466328}.identity-cyan .platform-eyebrow{color:#345058}
.identity-cyan .platform-group li{background:#f4fbfb;color:#15323a}
.identity-cyan .spectrum-trust{color:#edf7f8}.identity-cyan .spectrum-partner-logos img{background:#fff;border-radius:6px;padding:7px}.identity-cyan .spectrum-partner-logos img.partner-dark{background:#19343d}
.identity-cyan .proof-links{color:#c3dade}
.identity-cyan .spectrum-footer{background:#111315;border-color:#557e86}.identity-cyan :is(.footer-intro p,.footer-links a,.footer-legal){color:#bdcbd1}
.identity-cyan :is(.spectrum-filters select,.spectrum-filters input){background:#19343e;color:#fff;border-color:#75929d}
.identity-cyan :is(.source-note,.draft-note,.scope-notes,.spectrum-related,.spectrum-faq details,.note-row){border-color:#526e79}
.identity-cyan :is(.studio-landing,.studio-engagement){--studio-tint:#d3eded;--studio-colour:#a8e1e5;--studio-line:#557e86}
.identity-cyan .studio-research{--studio-tint:#dfebcc;--studio-colour:#d4eda8;--studio-line:#67765a}
.identity-cyan :is(.studio-capability,.studio-stage,.studio-publication,.studio-sprint-board,.studio-next a,.studio-main-frame,.studio-inset-frame){color:#15323a;--studio-colour:#086773}
.identity-cyan :is(.studio-capability,.studio-stage,.studio-publication,.studio-sprint-board,.studio-next a,.studio-main-frame,.studio-inset-frame) :is(.page-label,p,figcaption){color:#345058}
.identity-cyan .studio-capability{background:#d3eded}.identity-cyan .studio-capability:nth-child(3n){background:#dfebcc}
.identity-cyan .stroke-one{background:#72bcc5}.identity-cyan .stroke-two{background:#d4eda8}
.identity-cyan .studio-art-note{color:#a8e1e5}
.identity-cyan .studio-proof:before{background:radial-gradient(circle at 0 100%,transparent 0 160px,#b2dadd 161px 210px,transparent 211px)}
.identity-cyan .studio-pipeline>div{background:#eff9f9;color:#15323a;border-color:#9cbfc7}.identity-cyan .studio-pipeline .pipeline-build{background:#173d48;color:#fff;border-color:#173d48}
.identity-cyan .studio-publication strong{color:#087581}.identity-cyan .studio-publication{background:#eff9f9;border-color:#9cbfc7}
.identity-cyan .studio-sprint-board{background:#d3eded;box-shadow:12px 12px 0 #243b37}.identity-cyan .studio-cadence-number strong{color:#087581}.identity-cyan .studio-sprint-pair article{border-color:#087581}.identity-cyan .studio-sprint-pair article+article{border-color:#597b36}
.identity-cyan .studio-stage{background:#d3eded}.identity-cyan .studio-stage:nth-child(even){background:#dfebcc}.identity-cyan .studio-stage-number{color:#08636b}.identity-cyan .studio-stages:before{border-color:#557e86}
.identity-cyan .studio-next a{background:#d3eded}.identity-cyan .studio-next a+a{background:#dfebcc}
.identity-cyan :is(.engagement-proof,.games-hero-art){background:#d3eded;color:#15323a}.identity-cyan .engagement-proof .button{background:#173d48;color:#fff;border-color:#173d48}
.identity-cyan .proof-showcase{--proof-surface:#d3eded;--proof-secondary:#1b3037;--proof-ink:#15323a;--proof-muted:#345058}.identity-cyan .proof-quote-grid blockquote{color:#edf7f8}.identity-cyan .proof-quote-grid footer span,.identity-cyan .quote-status{color:#bdcbd1}
.identity-cyan .console-license{background:#173d48;color:#c7f1f3;border-color:#4d707a}
.identity-cyan .mega-menu{--menu-accent:#086773;--menu-tint:#edf8f7;--menu-ink:#15323a;--menu-border:#c9e5df}.identity-cyan .mega-menu:has(.mega-research){--menu-accent:#466328;--menu-tint:#f1f6e9;--menu-border:#dce8c8}
.identity-cyan .mega-menu[open]>summary,.identity-cyan .mega-chevron{color:#a8e1e5}
.identity-cyan .mobile-nav nav{background:#19343e;color:#edf7f8;border-color:#75929d}
.identity-cyan .contact-section{background:#182a32;color:#edf7f8}.identity-cyan .contact-section input,.identity-cyan .contact-section textarea{background:#111f26;color:#fff;border-color:#78929d}.identity-cyan .contact-section :is(.field-hint,.required-note,.deck-note p,.form-bottom p,.contact-intro>p:not(.section-label),.connection-notice p){color:#bdcbd1}
.identity-cyan .reading pre{background:#1b3037;color:#edf7f8}
.identity-cyan.spectrum-studio :is(.neural-story,.working-story,.platform-showcase,.spectrum-callout,.studio-proof,.studio-capability,.studio-stage,.studio-publication,.studio-sprint-board,.studio-next a,.studio-main-frame,.studio-inset-frame) :is(.page-label,.media-block figcaption){color:#345058}
.identity-cyan :is(.contact-choices p,.result-count,.newsletter-note p){color:#bdcbd1}

/* All identities use the same type roles, including small labels. */
.spectrum-label-lockups span,.header-label{font-family:var(--font-display)}

/* /press-kit. Homepage palette: peach and mint washes, Games coral, Research
   teal, the night-teal Evolve band. No outlines or shadows: blocks are told
   apart by their fill. */
.press-kit{padding-block:40px 112px}
.pk-hero{padding:64px;border-radius:8px;background:radial-gradient(ellipse at 0 0,#f6cfb5,rgba(246,207,181,0) 60%),radial-gradient(ellipse at 100% 0,#bfe3dc,rgba(191,227,220,0) 60%),#fffaf6}
.pk-hero h1{font-size:clamp(52px,6.4vw,96px);line-height:1;margin-top:14px}
.pk-lead{font:500 clamp(21px,2vw,27px)/1.45 var(--font-display);letter-spacing:-.01em;max-width:44ch;margin-top:28px}
.pk-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}
.pk-label{display:flex;flex-direction:column;padding:24px 26px 26px;border-radius:8px;text-decoration:none}
.pk-label p{font-size:13px}
.pk-label h2{font-size:30px;line-height:1.1;margin:8px 0 12px;letter-spacing:-.03em}
.pk-label span{font-size:16px;line-height:1.55}
/* Solid label colours, so the two labels read apart at a glance and stand off the hero wash. */
.pk-label.is-games{background:#cd4938;color:#fff}.pk-label.is-games p{color:#ffe1d6}
.pk-label.is-research{background:#087581;color:#fff}.pk-label.is-research p{color:#cdeeea}
.pk-label.is-evolve{background:#0c2d14;color:#f7f4e7}.pk-label.is-evolve p{color:#fd663a}.pk-label.is-evolve h2 img{display:block;height:30px;width:auto;margin-block:3px}
.pk-label{transition:background-color .2s ease}
.pk-label:hover h2{text-decoration:underline;text-underline-offset:5px}
/* Every card darkens on hover, which also covers Evolve, whose title is its logo. */
.pk-label.is-games:hover{background:#b23c2d}.pk-label.is-research:hover{background:#06606a}.pk-label.is-evolve:hover{background:#174523}
.pk-usage-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:20px}
.pk-usage{font-size:15px;line-height:1.6;color:var(--muted)}
.pk-linkedin{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:11px 20px;border-radius:10px;background:#0a66c2;color:#fff;font:600 15px/1.2 var(--font-body);text-decoration:none;white-space:nowrap}
.pk-linkedin:hover{background:#004182;color:#fff}
.pk-linkedin svg{width:20px;height:20px;flex:none}
.pk-founder-actions{margin-top:24px}
.pk-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}
.pk-jump a{padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.75);font-size:14px;text-decoration:none}
.pk-jump a:hover{background:#fff;color:var(--accent)}

.pk-section{padding-top:96px;scroll-margin-top:calc(var(--header-h) + 24px)}
.pk-head{margin-bottom:36px}
.pk-head .page-label{color:var(--accent)}
.pk-head h2{font-size:clamp(36px,3.8vw,52px);line-height:1.08;margin-top:10px}
.pk-head>p:not(.page-label){font-size:17px;line-height:1.7;color:var(--muted);max-width:62ch;margin-top:16px}

.pk-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;margin:0}
.pk-facts>div{padding:18px 0;border-top:1px solid #cfdcdb}
.pk-facts dt{font-size:13px;color:var(--muted)}
.pk-facts dd{margin:6px 0 0;font-size:18px;line-height:1.5}
.pk-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:40px}
.pk-numbers>div{padding:28px 24px;border-radius:8px;background:#edf8f7}
.pk-numbers>div:nth-child(even){background:#fff1e8}
.pk-numbers strong{display:block;font:600 52px/1 var(--font-display);letter-spacing:-.03em;color:var(--accent)}
.pk-numbers>div:nth-child(even) strong{color:#cd4938}
.pk-numbers span{display:block;margin-top:12px;font-size:15px;line-height:1.5}

.pk-copy-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:24px;align-items:start}
.pk-copy{padding:28px;border-radius:8px;background:#f4f8f7}
.pk-copy-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.pk-copy-head strong{font-size:13px;font-weight:600;color:var(--muted)}
.pk-copy p{font-size:16px;line-height:1.75}
.pk-copy-button{border:0;border-radius:999px;padding:7px 16px;background:#087581;color:#fff;font:600 13px/1 var(--font-body);cursor:pointer}
.pk-copy-button:hover{background:#06606a}
.pk-copy-button.is-done{background:#cd4938}

.pk-subhead{font-size:20px;margin:36px 0 16px}
.pk-subhead:first-of-type{margin-top:0}
.pk-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pk-logo{margin:0}
.pk-logo-stage{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;padding:36px;border-radius:8px}
.pk-logo-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto}
.is-light{background:#f4f8f7}.is-black{background:#000}
/* The full-colour logo is the one to reach for, so it gets the whole first row. */
.pk-logos.is-traverse{grid-template-columns:repeat(4,minmax(0,1fr))}
.pk-logos.is-traverse>.pk-logo:first-child{grid-column:1/-1}
.pk-logos.is-traverse>.pk-logo:first-child .pk-logo-stage{aspect-ratio:auto;height:340px;padding:64px;background:radial-gradient(ellipse at 0 0,#f6cfb5,rgba(246,207,181,0) 60%),radial-gradient(ellipse at 100% 0,#bfe3dc,rgba(191,227,220,0) 60%),#fffaf6}
.pk-logos.is-traverse>.pk-logo:first-child .pk-logo-stage img{height:100%;max-height:200px}
.is-cream{background:#f7f4e7}.is-evolve{background:#0c2d14}
.pk-logo figcaption{display:flex;flex-direction:column;gap:4px;margin-top:14px;font-size:14px}
.pk-logo figcaption span{color:var(--muted)}
.pk-swatches{list-style:none;padding:0;margin:48px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 16px}
.pk-swatches li{display:flex;flex-direction:column;gap:4px;font-size:14px}
.pk-swatches code{font-size:13px}
.pk-swatches small{font-size:12px;color:var(--muted)}
.pk-chip{display:block;height:72px;border-radius:8px;margin-bottom:8px}
.pk-teal{background:#087581}.pk-coral{background:#cd4938}.pk-ink{background:#182c30}.pk-night{background:#0c3238}.pk-orange{background:#fd663a}.pk-peach{background:#fff4e9}.pk-evolve-green{background:#0c2d14}
.pk-note{font-size:14px;line-height:1.6;color:var(--muted);margin-top:20px}
.pk-gradients-panel{margin-top:48px;border-radius:12px;background:#eef5f3}
.pk-gradients-panel summary{display:flex;align-items:center;gap:24px;padding:18px 24px;cursor:pointer;list-style:none}
.pk-gradients-panel summary::-webkit-details-marker{display:none}
.pk-gradients-title h3{font-size:20px}
.pk-gradients-title span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.pk-gradients-strip{display:flex;gap:6px;margin-left:auto}
.pk-gradients-strip i{display:block;width:36px;height:36px;border-radius:8px}
.pk-gradients-toggle{flex:none;width:36px;height:36px;border-radius:999px;background:#fff;position:relative}
.pk-gradients-toggle::before{content:"";position:absolute;left:50%;top:45%;width:9px;height:9px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:translate(-50%,-50%) rotate(45deg);transition:transform .25s ease}
.pk-gradients-panel[open] .pk-gradients-toggle::before{top:58%;transform:translate(-50%,-50%) rotate(225deg)}
.pk-gradients-panel summary:hover .pk-gradients-toggle{background:#d3eee8}
.pk-note-top{margin:0 24px 16px;max-width:70ch}
.pk-gradients{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 24px 24px}
.pk-gradient{margin:0}
.pk-gradient-swatch{position:relative;display:block;aspect-ratio:21/9;border-radius:8px;text-decoration:none}
.pk-gradient-swatch span{position:absolute;right:12px;bottom:12px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:600;opacity:0;transition:opacity .2s ease}
.pk-gradient-swatch.is-light span{background:#182c30;color:#fff}.pk-gradient-swatch.is-dark span{background:#fff;color:#182c30}
.pk-gradient-swatch:is(:hover,:focus-visible) span{opacity:1}
.pk-gradient figcaption{margin-top:12px}
.pk-gradient-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pk-gradient-head strong{display:block;font-size:15px}
.pk-gradient-head span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.pk-gradient code{display:block;margin-top:10px;padding:12px 14px;border-radius:8px;background:#fff;font-size:11.5px;line-height:1.55;white-space:normal;overflow-wrap:anywhere}
/* Motion. At rest a swatch shows its gradient exactly as the CSS beside it; on hover it
   zooms and drifts. The tiles rise in one after another when the section scrolls into
   view. press-kit.js only arms the entrance when motion is allowed, so without script
   or with reduced motion everything is simply there. */
.pk-gradient-swatch{background-size:100% 100%;background-position:50% 50%;transition:background-size .8s ease}
.pk-gradient-swatch:is(:hover,:focus-visible){background-size:190% 190%;animation:pk-drift 7s ease-in-out infinite alternate}
@keyframes pk-drift{0%{background-position:0% 0%}50%{background-position:100% 30%}100%{background-position:40% 100%}}
.pk-gradients.will-rise .pk-gradient{opacity:0;transform:translateY(24px) scale(.97)}
.pk-gradients.is-in .pk-gradient{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.pk-gradients.is-in .pk-gradient:nth-child(2){transition-delay:.06s}.pk-gradients.is-in .pk-gradient:nth-child(3){transition-delay:.12s}
.pk-gradients.is-in .pk-gradient:nth-child(4){transition-delay:.18s}.pk-gradients.is-in .pk-gradient:nth-child(5){transition-delay:.24s}
.pk-gradients.is-in .pk-gradient:nth-child(6){transition-delay:.3s}.pk-gradients.is-in .pk-gradient:nth-child(7){transition-delay:.36s}
.pk-gradients.is-in .pk-gradient:nth-child(8){transition-delay:.42s}.pk-gradients.is-in .pk-gradient:nth-child(9){transition-delay:.48s}
@media(prefers-reduced-motion:reduce){.pk-gradient-swatch,.pk-gradient-swatch:is(:hover,:focus-visible){animation:none;transition:none;background-size:100% 100%}}
/* One class a gradient, because the page's content security policy blocks inline styles. */
.pk-g-opening{background:radial-gradient(ellipse at 6% 16%, #fbe8dc 0, transparent 42%), radial-gradient(ellipse at 94% 12%, #d9eeea 0, transparent 44%), #ffffff}
.pk-g-peach{background:radial-gradient(ellipse at 0 20%, #f3d4bb, transparent 65%), linear-gradient(140deg, #fff4e9, #fffaf6 75%)}
.pk-g-games{background:linear-gradient(155deg, #fff1e8, #ffffff 80%)}
.pk-g-research{background:linear-gradient(155deg, #e3f4ef, #ffffff 80%)}
.pk-g-mint{background:radial-gradient(ellipse at 0 25%, #c5e8dd, transparent 65%), linear-gradient(155deg, #f4fbf6, #e5f2ec)}
.pk-g-warm{background:radial-gradient(ellipse at 100% 75%, #f2c7a8, transparent 65%), linear-gradient(120deg, #fff9f1, #fae6d5)}
.pk-g-deep{background:radial-gradient(ellipse at 100% 0, #367c79, transparent 62%), linear-gradient(125deg, #10333d, #103e46 60%, #1c5c5c)}
.pk-g-evolve{background:radial-gradient(ellipse at 88% 10%, #17656d, transparent 62%), linear-gradient(150deg, #0c3238, #123f47 72%)}
.pk-g-closing{background:radial-gradient(ellipse at 10% 100%, #347978, transparent 60%), linear-gradient(125deg, #102e39, #164b50)}

.pk-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pk-photo{margin:0}
.pk-photo.portrait{grid-row:span 2}
.pk-photo a{display:block;border-radius:8px;overflow:hidden}
.pk-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .3s ease}
.pk-photo.portrait img{aspect-ratio:auto;height:calc(100% - 0px)}
.pk-photo a:hover img{transform:scale(1.02)}
.pk-photo figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:10px;font-size:13px;line-height:1.5}
.pk-photo figcaption span{flex:none;color:var(--muted)}

.pk-founder{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:56px;align-items:start}
.pk-founder>img{display:block;width:100%;height:auto;border-radius:8px}
.pk-quote{margin:28px 0 0;padding:28px;border-radius:8px;background:#fff1e8}
.pk-quote p{font:600 28px/1.25 var(--font-display);letter-spacing:-.02em}
.pk-quote cite{display:block;margin-top:12px;font-size:14px;font-style:normal;color:var(--muted)}
.pk-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px;font-size:15px}

.pk-timeline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pk-timeline li{padding:24px;border-radius:8px;background:#f4f8f7}
.pk-timeline li:nth-child(4n+2),.pk-timeline li:nth-child(4n+4){background:#fffaf6}
.pk-timeline strong{display:block;font:600 34px/1 var(--font-display);color:var(--accent)}
.pk-timeline p{margin-top:12px;font-size:15px;line-height:1.6}

.pk-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:96px}
.pk-card{padding:40px;border-radius:8px;scroll-margin-top:calc(var(--header-h) + 24px)}
.pk-card h2{font-size:36px;line-height:1.1;margin-block:14px 18px}
.pk-card>p:not(.page-label){font-size:17px;line-height:1.7}
.pk-evolve{background:#0c2d14;color:#f7f4e7}
.pk-evolve .page-label{color:#fd663a}
.pk-evolve h2 img{display:block;height:56px;width:auto}
.pk-evolve a{color:#f7f4e7}
/* GPC's own colours, from graphicsprogrammingconference.nl: the dark slate purple
   it is set on, its light text, and the orange and pink accents. */
.pk-gpc{background:#3a3b50;color:#ecedf4}
.pk-gpc .page-label{color:#ed825e}
.pk-gpc h2 img{display:block;height:72px;width:auto}
.pk-gpc a{color:#fff;text-decoration-color:#fe2d9c}

.pk-coverage{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pk-proof{grid-template-columns:repeat(3,minmax(0,1fr))}
.pk-coverage.pk-proof strong{font:500 17px/1.55 var(--font-body)}
.pk-subhead-space{margin-top:32px}
.pk-coverage a{display:flex;flex-direction:column;gap:6px;height:100%;padding:24px;border-radius:8px;background:#f4f8f7;text-decoration:none}
.pk-coverage a:hover{background:#e3f4ef}
.pk-coverage span{font-size:13px;color:var(--accent);font-weight:600}
.pk-coverage strong{font:600 21px/1.3 var(--font-display)}
.pk-coverage small{font-size:13px;color:var(--muted)}

.pk-contact{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:96px;padding:56px;border-radius:8px;background:radial-gradient(ellipse at 0 20%,#f3d4bb,rgba(243,212,187,0) 65%),linear-gradient(140deg,#fff4e9,#fffaf6 75%);scroll-margin-top:calc(var(--header-h) + 24px)}
.pk-contact h2{font-size:clamp(34px,3.6vw,50px);line-height:1.08;margin-top:12px}
.pk-contact p:not(.page-label){font-size:17px;line-height:1.7;max-width:52ch;margin-top:16px}
.pk-contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;flex:none}
.pk-contact-actions .button{text-align:center}

@media(max-width:1000px){
  .pk-logos,.pk-logos.is-traverse{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pk-logos.is-traverse>.pk-logo:first-child .pk-logo-stage{height:220px;padding:36px}
  .pk-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pk-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pk-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pk-gradients{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .press-kit{padding-block:20px 72px}
  .pk-hero{padding:32px 22px}
  .pk-hero h1{font-size:48px}
  .pk-lead{font-size:20px}
  .pk-labels{grid-template-columns:1fr}
  .pk-jump{gap:8px}.pk-jump a{font-size:13px;padding:8px 13px}
  .pk-section{padding-top:64px}
  .pk-facts,.pk-copy-grid,.pk-coverage,.pk-proof,.pk-pair,.pk-founder{grid-template-columns:1fr}
  .pk-numbers{grid-template-columns:1fr 1fr;gap:12px}
  .pk-numbers strong{font-size:40px}
  .pk-photos{grid-template-columns:1fr}
  .pk-gradients{grid-template-columns:1fr;padding:0 16px 16px}
  .pk-gradients-strip{display:none}
  .pk-gradients-panel summary{padding:16px}
  .pk-photo.portrait{grid-row:auto}
  .pk-photo.portrait img{aspect-ratio:4/5;object-position:50% 20%}
  .pk-founder{gap:28px}.pk-founder>img{max-width:260px}
  .pk-timeline{grid-template-columns:1fr}
  .pk-pair{padding-top:64px}
  .pk-card{padding:28px 22px}
  .pk-contact{flex-direction:column;align-items:flex-start;padding:32px 22px;margin-top:64px}
  .pk-contact-actions{align-items:flex-start}
}

