/* Hallmark · v2.0.0 · built: by hand (scripts not run) · redesign: full, round 3 on v2 · genre: atmospheric · theme: brand (YouTube thumbnails and avatar; brand/BRIEF.md 2026-10-31) · deal: none, brand lock · posture: committed, dark and light bands alternate · type: Instrument Sans Condensed 700 (font-stretch 75%) over Manrope, the faces production already ships · hero: Stage (copy on 6 columns, a tilted mosaic of the latest thumbnails on 6) · nav: edge-aligned bar · footer: production's light footer, carried over · job: watch the materials, then hire · signature: the channel's own thumbnails, lit blue, under a terminal tag · copy: kept as approved */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4 · weakest: P, a personal hub argues little; carried by leading with the channel itself */
/* Hallmark · waive 29 · one blue light token (--glow) in three places: hero mosaic, skills band, contact · the channel's thumbnails light every face from behind in this blue */
/* Hallmark · waive 38iii · "z AI." in electric blue, once, in the hero · the thumbnails set one phrase of each title in the accent */
/* Hallmark · waive 23 · thumbnail accents (red, yellow, lime) on the three featured video tags, NVIDIA green and Hostinger violet on their own series · each video and each sponsor series carries its own colour on the channel */
/* Hallmark · dropped kickers above section heads, arrows glued to links, the coffee and hash symbols · 54, 10, 11 */

@font-face{font-family:'Instrument Sans';src:url("../20261103/instrument-sans-latin.woff2") format('woff2');font-weight:400 700;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url("../20261103/instrument-sans-latin-ext.woff2") format('woff2');font-weight:400 700;font-stretch:75% 100%;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF}
@font-face{font-family:Manrope;src:url("../20261028/manrope-latin.woff2") format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Manrope;src:url("../20261028/manrope-latin-ext.woff2") format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF}

:root{
  /* navy family (dark bands) */
  --navy-950:oklch(14.5% .035 258);--navy-900:oklch(18.5% .045 258);--navy-800:oklch(24% .05 258);--navy-700:oklch(34% .055 258);
  --sky-50:oklch(97.4% .008 255);--sky-100:oklch(95% .014 255);--paper-white:oklch(99.6% .002 255);
  /* ink */
  --ink-on-dark:oklch(97% .008 250);--ink-2-on-dark:oklch(86% .02 250);--muted-on-dark:oklch(75% .03 250);--rule-on-dark:oklch(31% .045 258);
  --ink-on-light:oklch(22% .045 258);--ink-2-on-light:oklch(36% .035 258);--muted-on-light:oklch(47% .03 258);--rule-on-light:oklch(89% .014 255);
  /* signal */
  --blue-bright:oklch(71% .165 243);--blue-deep:oklch(52% .2 262);--blue-ink:oklch(14.5% .035 258);
  --glow-color:oklch(55% .22 262 / .5);--glow-0:oklch(55% .22 262 / 0);
  --glow:radial-gradient(closest-side,var(--glow-color),var(--glow-0));
  /* thumbnail accents (chips carry navy text) */
  --hot:oklch(66% .22 25);--sun:oklch(89% .17 95);--volt:oklch(87% .21 132);
  /* sponsor series */
  --nvidia:oklch(71.5% .19 128);--nvidia-text:oklch(48% .13 128);--nvidia-tint:oklch(97.5% .025 128);
  --hostinger:oklch(50% .23 285);--hostinger-text:oklch(48% .23 285);--hostinger-tint:oklch(97.5% .018 285);
  /* profiles */
  --c-yt:oklch(60% .24 27);--c-ig:oklch(58% .24 0);--c-in:oklch(50% .14 250);--c-fb:oklch(55% .21 262);--c-tt:oklch(20% .02 258);--c-dc:oklch(56% .19 277);
  --c-yt-dark:oklch(64% .24 27);--c-ig-dark:oklch(68% .22 0);--c-in-dark:oklch(68% .13 245);--c-fb-dark:oklch(66% .18 262);--c-tt-dark:oklch(97% .008 250);--c-dc-dark:oklch(70% .15 277);
  --scrim:oklch(14.5% .035 258 / .94);--scrim-0:oklch(14.5% .035 258 / 0);--scrim-side:oklch(14.5% .035 258 / .82);

  --font-display:"Instrument Sans",ui-sans-serif,system-ui,sans-serif;--font-body:Manrope,ui-sans-serif,system-ui,sans-serif;
  --display-stretch:75%;--display-weight:700;--tracking-display:-.012em;

  /* one spacing scale */
  --space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;
  --section-y:clamp(72px,8.5vw,120px);   /* every band's padding, top and bottom */
  --head-gap:clamp(32px,4vw,56px);       /* section head to its content */
  --block-gap:clamp(48px,6vw,80px);      /* between blocks inside one section */
  --stack:var(--space-lg);               /* between stacked items */

  --container:1312px;--gutter:clamp(16px,4.5vw,64px);--gap-columns:clamp(16px,2.2vw,32px);
  --radius-s:8px;--radius:12px;--radius-l:20px;

  --text-hero:clamp(3rem,1.6rem + 4.4vw,6rem);--text-section:clamp(2.25rem,1.5rem + 2.6vw,3.75rem);--text-display-s:clamp(1.9rem,1.4rem + 1.6vw,2.75rem);
  --text-title:clamp(1.3rem,1.15rem + .5vw,1.6rem);--text-lead:clamp(1.0625rem,1rem + .3vw,1.1875rem);--text-md:1rem;--text-sm:.875rem;

  --ease-out:cubic-bezier(.22,1,.36,1);--dur-micro:120ms;--dur-short:220ms;--dur-long:420ms;
  --z-raised:10;--z-sticky-nav:300;--z-modal:400;--z-toast:500;
}

/* Tone: every band sets its own local roles */
.tone-dark{--bg:var(--navy-950);--surface:var(--navy-900);--fg:var(--ink-on-dark);--fg-2:var(--ink-2-on-dark);--muted:var(--muted-on-dark);--rule:var(--rule-on-dark);--rule-strong:var(--navy-700);--link-line:var(--navy-700);--accent:var(--blue-bright);--accent-text:var(--blue-bright);--focus:oklch(82% .14 220);--btn-bg:var(--blue-bright);--btn-fg:var(--blue-ink);--btn-hover:var(--ink-on-dark);--btn-hover-fg:var(--navy-950);
  --c-yt-x:var(--c-yt-dark);--c-ig-x:var(--c-ig-dark);--c-in-x:var(--c-in-dark);--c-fb-x:var(--c-fb-dark);--c-tt-x:var(--c-tt-dark);--c-dc-x:var(--c-dc-dark)}
.tone-light,.tone-white,.tone-tint{--fg:var(--ink-on-light);--fg-2:var(--ink-2-on-light);--muted:var(--muted-on-light);--rule:var(--rule-on-light);--rule-strong:oklch(78% .02 255);--link-line:oklch(72% .06 258);--accent:var(--blue-deep);--accent-text:var(--blue-deep);--focus:var(--blue-deep);--btn-bg:var(--blue-deep);--btn-fg:var(--paper-white);--btn-hover:var(--navy-950);--btn-hover-fg:var(--paper-white);
  --c-yt-x:var(--c-yt);--c-ig-x:var(--c-ig);--c-in-x:var(--c-in);--c-fb-x:var(--c-fb);--c-tt-x:var(--c-tt);--c-dc-x:var(--c-dc)}
.tone-light{--bg:var(--sky-50);--surface:var(--paper-white)}
.tone-white{--bg:var(--paper-white);--surface:var(--sky-50)}
.tone-tint{--bg:var(--sky-100);--surface:var(--paper-white)}
[class*="tone-"]{background-color:var(--bg);color:var(--fg)}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--space-3xl)}
body{overflow-x:clip;margin:0;background:var(--navy-950);color:var(--ink-on-dark);font:400 var(--text-md)/1.65 var(--font-body);font-synthesis:none;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
picture{display:block}
a{color:inherit}
p{margin:0;text-wrap:pretty}
h1,h2,h3{margin:0;font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);letter-spacing:var(--tracking-display);line-height:1.04;overflow-wrap:break-word;min-width:0;text-wrap:balance;color:var(--fg)}
h2{font-size:var(--text-section);max-width:22ch}
h3{font-size:var(--text-title);line-height:1.12}
ul,ol{margin:0;padding:0;list-style:none}
blockquote,figure,dl,dd{margin:0}
svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.defs{position:absolute;width:0;height:0;overflow:hidden}
::selection{background:oklch(71% .165 243 / .35)}
:focus-visible{outline:2px solid var(--focus,var(--blue-bright));outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section-y)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--space-md);top:var(--space-md);z-index:var(--z-toast);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-s);background:var(--blue-bright);color:var(--blue-ink);transform:translateY(-200%)}
.skip:focus-visible{transform:none}

/* Links and controls */
.text-link,.inline-link,.booking,.video-link{color:var(--fg);font-weight:600;text-decoration:underline;text-decoration-color:var(--link-line);text-decoration-thickness:1.5px;text-underline-offset:.3em;transition:text-decoration-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}
.text-link:hover,.inline-link:hover,.booking:hover{color:var(--accent-text);text-decoration-color:currentColor}
.button,.copy{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:48px;padding:0 var(--space-lg);border:1.5px solid var(--fg);border-radius:var(--radius-s);background:transparent;color:var(--fg);font:600 var(--text-md)/1.1 var(--font-body);text-decoration:none;text-align:center;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}
.button:hover,.copy:hover{background:var(--fg);color:var(--bg)}
.button.primary{background:var(--btn-bg);border-color:var(--btn-bg);color:var(--btn-fg)}
.button.primary:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:var(--btn-hover-fg)}
.button:active,.copy:active{transform:translateY(1px)}
.button svg{font-size:1.05em}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md) var(--space-lg)}

/* Chrome */
.header-background{position:relative;z-index:var(--z-sticky-nav);border-bottom:1px solid var(--rule)}
.header-bar{display:flex;align-items:center;gap:var(--space-lg);min-height:72px}
.header{display:flex;align-items:center;gap:var(--space-lg);flex:1;min-width:0}
.brand{display:inline-flex;align-items:center;gap:var(--space-sm);margin-right:auto;text-decoration:none;color:var(--fg);font-size:var(--text-sm);line-height:1.25}
.brand-mark{font:700 2.25rem/1 var(--font-display);font-stretch:75%;letter-spacing:-.06em}
.brand-mark span{color:var(--accent-text)}
.brand b{font-weight:800}
.header .brand-name{font-size:var(--text-md)}
#navigation{display:flex;align-items:center;gap:var(--space-lg)}
#navigation a{font-size:var(--text-sm);font-weight:500;text-decoration:none;color:var(--fg-2);transition:color var(--dur-short) var(--ease-out)}
#navigation a:hover{color:var(--fg)}
#navigation a.nav-contact{display:inline-flex;align-items:center;min-height:40px;padding:0 var(--space-md);border:1.5px solid var(--fg);border-radius:var(--radius-s);color:var(--fg);font-weight:600}
#navigation a.nav-contact:hover{background:var(--fg);color:var(--bg)}
.menu{display:none;width:44px;height:44px;border:1px solid var(--rule-strong);border-radius:var(--radius-s);background:transparent;color:var(--fg);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.menu span{display:block;width:20px;height:1.5px;background:currentColor;transition:transform var(--dur-short) var(--ease-out)}
.menu[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.social-bar{display:flex;align-items:center;align-self:stretch;padding-left:var(--space-lg);border-left:1px solid var(--rule)}
.social-bar-links,.community-socials{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xs)}
.social-bar-links a,.community-socials a{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-s);transition:background-color var(--dur-short) var(--ease-out)}
.social-bar-links a:hover,.community-socials a:hover{background:var(--surface)}
.social-bar-links svg{font-size:1.1rem}
a[data-cta$="youtube"]{color:var(--c-yt-x)}
a[data-cta$="instagram"]{color:var(--c-ig-x)}
a[data-cta$="linkedin"]{color:var(--c-in-x)}
a[data-cta$="facebook"]{color:var(--c-fb-x)}
a[data-cta$="tiktok"]{color:var(--c-tt-x)}
a[data-cta$="_discord"]{color:var(--c-dc-x)}

/* Hero */
.opening{position:relative;isolation:isolate;overflow:clip}
.hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--space-3xl);align-items:center;min-height:calc(100dvh - 73px - 92px);padding-block:var(--space-3xl)}
.hero-copy{display:grid;gap:var(--space-lg);justify-items:start}
.hero h1{font-size:var(--text-hero);line-height:1;max-width:11ch}
.hero h1 .ai{color:var(--blue-bright)}
.hero-description{font-size:var(--text-lead);color:var(--fg-2);max-width:36ch}
.hero .actions{margin-top:var(--space-xs)}
.channel-proof{display:inline-flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);color:var(--fg-2);text-decoration:none;font-size:var(--text-sm)}
.channel-proof .yt{font-size:1.9rem;color:var(--c-yt-dark)}
.channel-proof strong{font:700 1.6rem/1 var(--font-display);font-stretch:75%;color:var(--fg)}
.channel-proof:hover strong{color:var(--blue-bright)}
.hero-visual{position:relative;padding-block:var(--space-xl)}
.hero-visual::before{content:"";position:absolute;inset:-12% -18%;z-index:-1;background:var(--glow) center / 100% 100% no-repeat;pointer-events:none}
.mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);transform:perspective(1600px) rotateY(-16deg) rotateX(8deg) rotateZ(2deg);transform-style:preserve-3d}
.mosaic li:nth-child(3n+2){transform:translateY(-18%)}
.mosaic a{display:block;border-radius:var(--radius);overflow:hidden;outline-offset:4px;box-shadow:0 18px 36px -18px oklch(5% .03 258 / .9),0 0 0 1px oklch(71% .165 243 / .25);transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}
.mosaic a:hover{transform:translateY(-4px);box-shadow:0 22px 40px -18px oklch(5% .03 258 / .9),0 0 0 2px var(--blue-bright)}
.mosaic img{width:100%;aspect-ratio:16/9;object-fit:cover}
.build-note{position:absolute;left:-4%;bottom:2%;display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--navy-900);border:1px solid var(--blue-deep);border-radius:var(--radius);font:700 1.3rem/1.05 var(--font-display);font-stretch:75%;color:var(--ink-on-dark);box-shadow:0 16px 32px -14px oklch(5% .03 258 / .95)}
.build-note svg{font-size:1.6rem;color:var(--blue-bright)}
.build-note b{color:var(--blue-bright);font-weight:700}
.proof-bar{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--space-md) var(--gap-columns);padding-block:var(--space-lg);border-top:1px solid var(--rule)}
.proof-bar>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-xs) var(--space-lg)}
.proof-label{width:100%;font-size:var(--text-sm);color:var(--muted)}
.proof-bar a{font:700 1.2rem/1.2 var(--font-display);font-stretch:75%;text-decoration:none;color:var(--fg);transition:color var(--dur-short) var(--ease-out)}
.proof-bar a:hover{color:var(--blue-bright)}
.proof-bar a.brand-nvidia:hover{color:var(--nvidia)}
.proof-bar a.brand-hostinger:hover{color:oklch(72% .15 285)}

/* Section heads: head left, intro right, bottoms aligned */
.section-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-lg) var(--gap-columns);align-items:end;margin-bottom:var(--head-gap)}
.section-intro{display:grid;gap:var(--space-md);justify-items:start;color:var(--fg-2);max-width:46ch}

/* Thumbnails */
.thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius);background:var(--surface)}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-long) var(--ease-out)}
a:hover .thumb img{transform:scale(1.035)}
.watch{position:absolute;left:var(--space-sm);bottom:var(--space-sm);display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-s);background:var(--navy-950);color:var(--ink-on-dark);transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}
.watch svg{font-size:1rem;fill:currentColor}
a:hover .watch{background:var(--blue-bright);color:var(--blue-ink)}

/* Materials */
.video-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gap-columns);align-items:start}
.video-side{display:grid;gap:var(--stack);align-content:start}
.video{display:grid;gap:var(--space-md);align-content:start;text-decoration:none;color:var(--fg)}
.video-body{display:grid;gap:var(--space-xs);justify-items:start;align-content:start}
.video h3{transition:color var(--dur-short) var(--ease-out)}
.video-lead h3{font-size:var(--text-display-s)}
.video:hover h3,.pvideo:hover .pvideo-title{color:var(--accent-text)}
.video-side .video{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--rule)}
.video-side .video h3{font-size:1.3rem}
.video-side .video-desc{font-size:var(--text-sm)}
.video-desc{color:var(--fg-2);max-width:52ch}
.video-link{font-size:var(--text-sm);margin-top:var(--space-2xs)}
.video-category{display:inline-block;padding:var(--space-2xs) var(--space-xs);border-radius:6px;font-size:.8125rem;font-weight:700;line-height:1.3;color:var(--blue-ink)}
.tag-hot{background:var(--hot)}
.tag-sun{background:var(--sun)}
.tag-volt{background:var(--volt)}

.latest{margin-top:var(--block-gap)}
.latest-head{margin-bottom:var(--space-lg)}
.latest-head h3{font-size:var(--text-display-s)}
.latest-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-columns)}
.pvideo{display:grid;gap:var(--space-sm);align-content:start;text-decoration:none;color:var(--fg)}
.pvideo-title{font:700 1.2rem/1.15 var(--font-display);font-stretch:75%;letter-spacing:var(--tracking-display);transition:color var(--dur-short) var(--ease-out)}
.pvideo time{font-size:var(--text-sm);color:var(--muted);font-variant-numeric:tabular-nums}

/* Skills band */
.skills-band{padding-block:var(--section-y)}
.skills-banner{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-xl) var(--gap-columns);align-items:end;padding:var(--space-3xl);border-radius:var(--radius-l);background:var(--navy-900);border:1px solid var(--rule-strong)}
.skills-banner::before{content:"";position:absolute;right:-12%;top:-40%;width:70%;aspect-ratio:1;z-index:-1;background:var(--glow) center / 100% 100% no-repeat}
.skills-banner>div:first-child{display:grid;gap:var(--space-md)}
.skills-title{font-size:var(--text-section)}
.skills-banner p{color:var(--fg-2);max-width:58ch}
.skills-cta{display:grid;gap:var(--space-md);justify-items:start}
.skills-cta small{font-size:var(--text-sm);color:var(--muted);max-width:40ch}

/* Cooperation */
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-columns)}
.services article{display:grid;grid-template-rows:auto auto 1fr auto;gap:var(--space-md);align-content:start;padding:var(--space-xl);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--rule)}
.service-icon{font-size:1.75rem;color:var(--accent-text)}
.services p{color:var(--fg-2)}
.service-links{display:grid;gap:var(--space-sm);justify-items:start;padding-top:var(--space-md);border-top:1px solid var(--rule)}
.coop-quote{display:grid;gap:var(--space-md);justify-items:start;margin-top:var(--block-gap);padding-left:var(--space-xl);border-left:3px solid var(--accent)}
.quote-label{font-size:var(--text-sm);font-weight:700;color:var(--accent-text)}
.coop-quote blockquote p{font:700 var(--text-display-s)/1.1 var(--font-display);font-stretch:75%;letter-spacing:var(--tracking-display);max-width:30ch;text-wrap:balance}
.coop-quote figcaption{display:grid;gap:var(--space-xs);justify-items:start;font-size:var(--text-sm);color:var(--muted)}
.coop-quote cite{font-style:normal}
.dokodu-line{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-lg);margin-top:var(--block-gap);padding:var(--space-xl);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--rule)}
.dokodu-line>div{display:grid;gap:var(--space-2xs);max-width:64ch}
.dokodu-line strong{font:700 var(--text-title)/1.1 var(--font-display);font-stretch:75%}
.dokodu-line span{color:var(--fg-2)}

/* Stage */
.stage{position:relative;isolation:isolate;display:grid;align-items:end;min-height:min(90svh,880px)}
.stage-bg{position:absolute;inset:0;z-index:-2}
.stage-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 14%}
.stage::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,var(--scrim) 0%,var(--scrim) 26%,var(--scrim-0) 72%),linear-gradient(to right,var(--scrim-side),var(--scrim-0) 62%)}
.stage-inner{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-2xl) var(--gap-columns);align-items:end;padding-block:var(--section-y)}
.stage-copy{display:grid;gap:var(--space-lg);justify-items:start}
.stage-lead{font-size:var(--text-lead);color:var(--fg);max-width:50ch}
.stage-sheet{border-top:1px solid var(--rule-strong)}
.stage-sheet div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-md);align-items:baseline;padding-block:var(--space-sm);border-bottom:1px solid var(--rule-strong)}
.stage-sheet dt{font-size:var(--text-sm);color:var(--muted)}
.stage-sheet dd{font:700 1.3rem/1.15 var(--font-display);font-stretch:75%}

/* Partners: each series in its sponsor's colour */
.partner{--brand:var(--accent);--brand-text:var(--accent-text);--brand-tint:var(--surface);display:grid;gap:var(--space-xl);padding:var(--space-xl);border-radius:var(--radius-l);background:var(--brand-tint);border:1px solid var(--rule);border-top:4px solid var(--brand)}
.partner+.partner{margin-top:var(--stack)}
.partner-nvidia{--brand:var(--nvidia);--brand-text:var(--nvidia-text);--brand-tint:var(--nvidia-tint)}
.partner-hostinger{--brand:var(--hostinger);--brand-text:var(--hostinger-text);--brand-tint:var(--hostinger-tint)}
.partner-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-xs) var(--gap-columns);align-items:end}
.partner-kicker{grid-column:1;display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);font-weight:700;color:var(--brand-text)}
.partner-kicker::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--brand)}
.partner-head h3{grid-column:1;font-size:var(--text-section)}
.partner-head p:last-child{grid-column:2;grid-row:1 / span 2;color:var(--fg-2);max-width:54ch}
.partner-videos{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:var(--gap-columns)}
.partner-hostinger .partner-videos{--n:4}
.partner .pvideo:hover .pvideo-title{color:var(--brand-text)}
.partner .pvideo:hover .watch{background:var(--brand);color:var(--paper-white)}
.partner-nvidia .pvideo:hover .watch{color:var(--navy-950)}
.brand-invite{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-lg);margin-top:var(--block-gap);padding-top:var(--space-xl);border-top:1px solid var(--rule)}
.brand-invite p{font-size:var(--text-lead);color:var(--fg-2);max-width:52ch}

/* Media index */
.media-list{border-top:1px solid var(--rule-strong)}
.media-list a{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,3fr);gap:var(--space-xs) var(--gap-columns);padding-block:var(--space-xl);border-bottom:1px solid var(--rule-strong);text-decoration:none;color:var(--fg)}
.media-outlet{grid-row:1 / span 2;font-weight:700;color:var(--accent-text)}
.media-list h3{transition:color var(--dur-short) var(--ease-out)}
.media-list p{grid-column:2;color:var(--fg-2);max-width:62ch}
.media-meta{grid-column:3;grid-row:1 / span 2;display:grid;justify-items:end;align-content:start;gap:var(--space-2xs);font-size:var(--text-sm);color:var(--muted);font-variant-numeric:tabular-nums}
.media-list a:hover h3{color:var(--accent-text)}

/* About */
.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-3xl);align-items:center}
.about-photo{display:grid;gap:var(--space-sm)}
.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:var(--radius-l)}
.about-photo figcaption{font-size:var(--text-sm);color:var(--muted)}
.about-body{display:grid;gap:var(--space-xl);align-content:start}
.about-copy{display:grid;gap:var(--space-md);justify-items:start;color:var(--fg-2);max-width:62ch}
.about-copy .lead{font-size:var(--text-lead);color:var(--fg)}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule)}
.stats li{display:grid;gap:var(--space-xs);align-content:start;padding:var(--space-lg) var(--space-lg) 0 0;font-size:var(--text-sm);color:var(--muted)}
.stats li+li{padding-left:var(--space-lg);border-left:1px solid var(--rule)}
.stats strong{font:700 clamp(2.4rem,1.6rem + 2.6vw,3.75rem)/1 var(--font-display);font-stretch:75%;letter-spacing:var(--tracking-display);color:var(--blue-bright);font-variant-numeric:tabular-nums}

/* Community */
.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-columns)}
.link-grid a{display:grid;gap:var(--space-xs);align-content:start;padding:var(--space-xl);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--rule);border-top:4px solid var(--card-color,var(--accent));text-decoration:none;color:var(--fg);transition:transform var(--dur-short) var(--ease-out)}
.link-grid a:hover{transform:translateY(-2px)}
.link-grid a>span{display:grid;gap:var(--space-xs)}
.link-grid a[data-cta="discord"]{--card-color:var(--c-dc)}
.link-grid a[data-cta="podstawypythona"]{--card-color:var(--blue-deep)}
.link-grid a[data-cta="buycoffee"]{--card-color:oklch(70% .15 65)}
.link-grid strong{font:700 var(--text-display-s)/1.05 var(--font-display);font-stretch:75%;letter-spacing:var(--tracking-display)}
.link-grid small{font-size:var(--text-md);color:var(--fg-2)}
.community-socials{margin-top:var(--space-xl)}
.community-socials a{width:52px;height:52px;background:var(--surface);border:1px solid var(--rule)}
.community-socials svg{font-size:1.4rem}

/* Contact */
.contact{position:relative;isolation:isolate;overflow:clip}
.contact::before{content:"";position:absolute;right:-10%;top:50%;width:min(70vw,760px);aspect-ratio:1;transform:translateY(-50%);z-index:-1;background:var(--glow) center / 100% 100% no-repeat}
.contact-inner{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--space-2xl) var(--gap-columns);align-items:end}
.contact-copy{display:grid;gap:var(--space-md);color:var(--fg-2);max-width:48ch}
.contact h2{font-size:clamp(2.5rem,1.55rem + 4vw,5.75rem);line-height:1;max-width:none;white-space:nowrap;margin-bottom:var(--space-sm)}
.contact-action{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md) var(--space-lg)}
.contact-action br{display:none}
.email{flex-basis:100%;font:700 clamp(1.9rem,1.1rem + 3vw,3.6rem)/1.05 var(--font-display);font-stretch:75%;letter-spacing:var(--tracking-display);color:var(--fg);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--blue-deep);text-underline-offset:.14em;overflow-wrap:anywhere;transition:color var(--dur-short) var(--ease-out)}
.email:hover{color:var(--blue-bright)}
.booking-note{flex-basis:100%;font-size:var(--text-sm);color:var(--muted)}
#copy-status{flex-basis:100%;min-height:1.5em;font-size:var(--text-sm);color:var(--accent-text)}

/* Footer: production's, on light */
.footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-lg);padding-block:var(--space-xl)}
.footer .brand{margin-right:0;font-size:.8125rem}
.footer .brand-mark{font-size:2.1rem}
.footer>p{font-size:.8125rem;color:var(--muted)}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-lg)}
.footer-links a,.footer-links button,.footer-links small{font:inherit;font-size:.8125rem;color:var(--muted)}
.footer-links a,.footer-links button{background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.footer-links a:hover,.footer-links button:hover{color:var(--fg)}

/* Consent banner (built by site.js) */
.consent{--bg:var(--navy-900);--fg:var(--ink-on-dark);--btn-bg:var(--blue-bright);--btn-fg:var(--blue-ink);--btn-hover:var(--ink-on-dark);--btn-hover-fg:var(--navy-950);--focus:oklch(82% .14 220);position:fixed;left:var(--space-md);right:var(--space-md);bottom:var(--space-md);z-index:var(--z-modal);max-width:560px;margin-left:auto;display:grid;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-l);background:var(--navy-900);border:1px solid var(--navy-700);font-size:var(--text-sm);color:var(--ink-2-on-dark)}
.consent[hidden]{display:none}
.consent strong,.consent a{color:var(--ink-on-dark)}
.consent-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}

.reveal{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .mosaic{animation:settle .8s var(--ease-out) both}
  @keyframes settle{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* Tablet */
@media (max-width:1180px){
  .social-bar{display:none}
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2xl);min-height:0}
  .latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .partner-hostinger .partner-videos{--n:2}
}
@media (max-width:960px){
  .hero{grid-template-columns:minmax(0,1fr);padding-block:var(--space-2xl) var(--space-3xl)}
  .hero-visual{max-width:640px}
  .proof-bar,.section-head,.video-grid,.skills-banner,.stage-inner,.partner-head,.about-grid,.contact-inner{grid-template-columns:minmax(0,1fr)}
  .partner-head p:last-child{grid-column:1;grid-row:auto}
  .services,.link-grid{grid-template-columns:minmax(0,1fr)}
  .media-list a{grid-template-columns:minmax(0,1fr)}
  .media-outlet,.media-list p,.media-meta{grid-column:1;grid-row:auto;justify-items:start}
  .about-photo{max-width:420px}
  .skills-banner{padding:var(--space-2xl) var(--space-xl)}
}
/* Phone: site.js closes the menu at 761 */
@media (max-width:760px){
  .menu{display:inline-flex}
  #navigation{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:var(--space-xs) var(--gutter) var(--space-lg);background:var(--navy-950);border-bottom:1px solid var(--rule)}
  #navigation.open{display:flex}
  #navigation a{padding-block:var(--space-sm);font-size:var(--text-md);color:var(--fg);border-bottom:1px solid var(--rule)}
  #navigation a.nav-contact{margin-top:var(--space-md);justify-content:center;min-height:48px;border-bottom:1.5px solid var(--fg)}
  .header .brand-name{display:none}
  .hero h1{font-size:clamp(2.9rem,13vw,4rem)}
  .hero-visual{padding-block:0 var(--space-xl)}
  .hero-visual::before{inset:-10% -20%}
  .mosaic{transform:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}
  .mosaic li:nth-child(3n+2){transform:none}
  .mosaic li:nth-child(n+5){display:none}
  .build-note{left:auto;right:0;bottom:0;font-size:1.1rem}
  .video-side .video{grid-template-columns:minmax(0,1fr)}
  .latest-grid,.partner-videos,.partner-hostinger .partner-videos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .latest-grid{grid-template-columns:minmax(0,1fr)}
  .partner{padding:var(--space-lg)}
  .services article,.link-grid a,.dokodu-line{padding:var(--space-lg)}
  .skills-banner{padding:var(--space-xl) var(--space-lg)}
  .coop-quote{padding-left:var(--space-lg)}
  .stage{min-height:0;display:block}
  .stage-bg{position:relative;aspect-ratio:3/2}
  .stage::before{display:none}
  .stage-inner{padding-block:var(--space-2xl) var(--section-y)}
  .stats li{padding-right:var(--space-md)}
  .stats li+li{padding-left:var(--space-md)}
  .footer{justify-content:flex-start}
  .footer>p{display:none}
}
.service-links{min-height:calc(5.5rem + 1px);align-content:start}
/* Phone: sponsor series as a touch rail, smaller play marks on small thumbs */
@media (max-width:760px){
  .partner-videos,.partner-hostinger .partner-videos{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;gap:var(--space-md);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin-inline:calc(-1 * var(--space-lg));padding-inline:var(--space-lg);padding-bottom:var(--space-xs);scroll-padding-inline:var(--space-lg)}
  .partner-videos .pvideo{scroll-snap-align:start}
  .partner-videos .watch,.latest-grid .watch{width:32px;height:32px;left:var(--space-xs);bottom:var(--space-xs)}
}
/* Round 4: About on white, media on navy, a calmer stage */
.stats strong{color:var(--accent-text)}
.stage::before{background:linear-gradient(to right,var(--scrim) 0%,var(--scrim) 28%,var(--scrim-0) 58%),linear-gradient(to top,var(--scrim) 0%,oklch(14.5% .035 258 / .7) 22%,var(--scrim-0) 55%)}
.stage-bg img{object-position:50% 18%}
@media (min-width:961px){.stage-inner{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}}
.stage-sheet{background:oklch(14.5% .035 258 / .72);padding:var(--space-xs) var(--space-lg) var(--space-sm);border:1px solid var(--rule-strong);border-radius:var(--radius)}
.stage-sheet div:last-child{border-bottom:0}
@media (max-width:760px){.stage-sheet{padding-inline:var(--space-md)}}

/* ===== Podstrony: wystąpienia, prywatność, 404 (ten sam system tokenów) ===== */
.page-hero{padding-block:clamp(48px,6vw,96px) clamp(64px,7vw,112px)}
.page-hero h1{font-size:var(--text-hero);line-height:1;max-width:14ch;margin:var(--space-sm) 0 var(--space-lg)}
.page-hero p{color:var(--fg-2);font-size:var(--text-lead);max-width:52ch}
.page-hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md) var(--space-lg);margin-top:var(--space-xl)}
.page-label{font-size:var(--text-sm);font-weight:700;color:var(--accent-text);margin:0}
.page-hero-inner.with-photo{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--space-2xl) var(--gap-columns);align-items:center}
.hero-photo{margin:0}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-l)}
.hero-photo figcaption{margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--muted)}

.talk-cards,.talk-list{list-style:none;margin:0;padding:0}
.talk-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-columns)}
.talk-card{display:grid;grid-template-rows:auto 1fr;border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--rule);overflow:clip}
.talk-photo{margin:0}
.talk-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.talk-body{display:grid;gap:var(--space-sm);align-content:start;padding:var(--space-xl)}
.talk-when{margin:0;font-size:var(--text-sm);font-weight:700;color:var(--accent-text)}
.talk .kicker{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--muted)}
.talk h3{font-size:var(--text-title)}
.talk p{margin:0;color:var(--fg-2)}
.talk-credit{font-size:var(--text-sm);color:var(--muted)!important}
.talk-links{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--rule);margin-top:var(--space-xs)}
.talk-sub{font-size:var(--text-display-s);margin:var(--block-gap) 0 var(--space-lg)}
.talk-list{border-top:1px solid var(--rule)}
.talk-list>.talk{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:var(--space-lg) var(--gap-columns);align-items:start;padding-block:var(--space-xl);border-bottom:1px solid var(--rule)}
.talk-list>.talk>div:nth-child(2){display:grid;gap:var(--space-xs)}
.talk-list .talk-links{border-top:0;padding-top:0;margin-top:0;flex-direction:column;align-items:flex-start;gap:var(--space-sm)}
.event-date strong{display:block;font:700 2.75rem/1 var(--font-display);font-stretch:75%;letter-spacing:var(--tracking-display);color:var(--fg)}
.event-date span{display:block;font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-2xs)}
.talk-meta{display:none}

.topics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-columns)}
.topics-grid article{display:grid;gap:var(--space-md);align-content:start;padding:var(--space-xl);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--rule);border-top:4px solid var(--accent)}
.topics-grid p{margin:0;color:var(--fg-2)}
.formats{display:flex;flex-wrap:wrap;gap:var(--space-sm);list-style:none;margin:var(--space-2xl) 0 0;padding:0}
.formats li{padding:var(--space-xs) var(--space-md);border:1px solid var(--rule-strong);border-radius:999px;font-size:var(--text-sm);font-weight:600;color:var(--fg-2)}

.proof .stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 var(--block-gap)}
.quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-columns)}
.quotes figure{display:grid;gap:var(--space-sm);align-content:start;margin:0;padding:var(--space-xl);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--accent)}
.quotes blockquote{margin:0}
.quotes blockquote p{margin:0;font:700 var(--text-title)/1.25 var(--font-display);font-stretch:75%;letter-spacing:var(--tracking-display);color:var(--fg)}
.quotes figcaption{font-size:var(--text-sm);color:var(--muted)}
.partners-inline{margin-top:var(--block-gap)}

.bio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-columns)}
.bio-grid article{display:grid;gap:var(--space-md);align-content:start;padding:var(--space-xl);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--rule)}
.bio-grid p{margin:0;color:var(--fg-2)}
.press-links{display:flex;flex-wrap:wrap;gap:var(--space-md) var(--space-2xl);margin-top:var(--space-2xl)}

.prose{max-width:calc(72ch + 2 * var(--gutter))}
.prose h2{font-size:var(--text-display-s);margin:var(--space-2xl) 0 var(--space-md)}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--fg-2);margin:0 0 var(--space-md)}
.prose a{color:var(--accent-text);text-underline-offset:.25em}
.prose code{font-size:.92em;padding:1px 5px;border-radius:4px;background:var(--surface);border:1px solid var(--rule)}
.notfound{min-height:52vh;display:grid;align-items:center}

.text-link svg,.booking svg{width:1em;height:1em;vertical-align:-.12em;margin-left:.35em}

@media (max-width:960px){
  .page-hero-inner.with-photo{grid-template-columns:minmax(0,1fr)}
  .talk-cards,.quotes,.bio-grid{grid-template-columns:minmax(0,1fr)}
  .topics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proof .stats{grid-template-columns:minmax(0,1fr)}
  .proof .stats li+li{padding-left:0;border-left:0;border-top:1px solid var(--rule);padding-top:var(--space-md)}
}
@media (max-width:760px){
  .topics-grid{grid-template-columns:minmax(0,1fr)}
  .talk-list>.talk{grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}
  .talk-body,.topics-grid article,.quotes figure,.bio-grid article{padding:var(--space-lg)}
  .event-date strong{font-size:2rem}
}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.32s}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
.talk-links:empty{display:none}.proof .section-intro{display:block}.proof .section-intro .inline-link{display:inline}
.notfound{min-height:calc(100svh - 150px)}
