@font-face {
  font-family:"Bricolage Grotesque";
  font-style:normal;
  font-weight:400 800;
  font-stretch:75% 100%;
  font-display:swap;
  src:url("/assets/fonts/bricolage-grotesque-latin.woff2") format("woff2");
}
@font-face {
  font-family:"IBM Plex Sans";
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
  src:url("/assets/fonts/ibm-plex-sans-latin.woff2") format("woff2");
}
@font-face {
  font-family:"IBM Plex Mono";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/ibm-plex-mono-400-latin.woff2") format("woff2");
}
@font-face {
  font-family:"IBM Plex Mono";
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url("/assets/fonts/ibm-plex-mono-500-latin.woff2") format("woff2");
}

:root {
  --ink: #12221f;
  --ink-2: #24403a;
  --paper: #f3f5f1;
  --white: #ffffff;
  --sage: #c9dfd5;
  --mist: #dfe4e1;
  --blue: #3156d8;
  --orange: #ef762f;
  --line: rgba(18, 34, 31, .18);
  --radius: 1.15rem;
  --gutter: clamp(1.25rem, 4vw, 6rem);
  --max: clamp(92.5rem, 88vw, 118rem);
  --display: "Bricolage Grotesque", sans-serif;
  --body: "IBM Plex Sans", sans-serif;
  --mono: "IBM Plex Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--body); font-size: clamp(1rem, .25vw + .92rem, 1.25rem); line-height: 1.6; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { font: inherit; }
::selection { background: var(--orange); color: var(--white); }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
.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-link { position: fixed; z-index: 1000; left: 1rem; top: 1rem; padding: .75rem 1rem; background: var(--white); transform: translateY(-200%); }
.skip-link:focus { transform: none; }
.progress { position: fixed; z-index: 200; left: 0; right: 0; top: 0; height: 3px; }
.progress span { display: block; height: 100%; background: var(--orange); transform: scaleX(0); transform-origin: left; }

h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-family: var(--display); line-height: .98; letter-spacing: -.045em; }
h1 { font-size: clamp(3.5rem, 8.3vw, 10.5rem); font-weight: 630; }
h2 { font-size: clamp(2.7rem, 5.5vw, 8rem); font-weight: 620; }
h3 { font-size: clamp(1.35rem, 2vw, 2.25rem); font-weight: 600; }
em { color: var(--orange); font-style: normal; }
.eyebrow { margin-bottom: 1.35rem; font-family: var(--mono); font-size: .72rem; letter-spacing: .13em; line-height: 1.4; text-transform: uppercase; }
.lead { font-family: var(--display); font-size: clamp(1.45rem, 2.35vw, 2.5rem); line-height: 1.2; letter-spacing: -.025em; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity: 1; transform: none; }

.site-header { position: fixed; z-index: 100; top: 0; left: 0; right: 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(1rem, 2vw, 2rem); min-height: 5.2rem; padding: 0 var(--gutter); border-bottom: 1px solid transparent; transition: background .25s, border-color .25s, min-height .25s; }
.site-header.is-scrolled { min-height: 4.35rem; background: color-mix(in srgb, var(--paper) 91%, transparent); border-color: var(--line); backdrop-filter: blur(16px); }
.brand { display: block; width: clamp(5.8rem, 7.5vw, 7.25rem); line-height: 0; transition: transform .25s ease; }
.brand:hover { transform: translateY(-2px); }
.brand img { width: 100%; height: auto; object-fit: contain; }
.desktop-nav { display: flex; justify-content: center; gap: clamp(.7rem, 1.25vw, 1.55rem); font-family: var(--mono); font-size: .64rem; text-transform: uppercase; letter-spacing: .07em; }
.desktop-nav a { position: relative; padding: .55rem 0; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: .2rem; height: 2px; background: var(--orange); transition: right .3s; }
.desktop-nav a:hover::after, .desktop-nav a[aria-current="page"]::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: .6rem; }
.header-linkedin { display: grid; place-items: center; width: 2.65rem; height: 2.65rem; border: 1px solid var(--ink); transition: color .25s, background .25s, transform .25s; }
.header-linkedin svg { width: 1.05rem; height: 1.05rem; fill: currentColor; }
.header-linkedin:hover { color: white; background: var(--blue); transform: translateY(-2px); }
.header-cta { position: relative; display: inline-flex; align-items: center; gap: .8rem; min-height: 2.65rem; padding: .65rem .8rem .65rem 1rem; border: 1px solid color-mix(in srgb, var(--blue) 70%, var(--ink)); background: color-mix(in srgb, var(--white) 56%, transparent); box-shadow: inset 0 0 0 1px rgba(255,255,255,.46), 0 7px 24px rgba(49,86,216,.11); backdrop-filter: blur(12px) saturate(150%); font-family: var(--mono); font-size: .66rem; letter-spacing: .07em; text-transform: uppercase; transition: color .25s, background .25s, transform .25s, box-shadow .25s; }
.header-cta::before { content: ""; width: .42rem; height: .42rem; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px rgba(239,118,47,.12); }
.header-cta svg { width: 1.05rem; height: 1.05rem; }
.header-cta:hover { color: white; background: var(--blue); transform: translateY(-2px); box-shadow: 0 10px 28px rgba(49,86,216,.24); }
.menu-button, .mobile-nav { display: none; }

.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 2.2rem; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.4rem; min-width: 12.5rem; padding: .92rem 1.1rem .92rem 1.25rem; border: 1px solid var(--ink); font-family: var(--mono); font-size: .73rem; letter-spacing: .04em; text-transform: uppercase; transition: transform .25s, background .25s, color .25s; }
.button svg, .text-link svg, .feature-card svg, .format-row svg, .external-reading svg, .issue svg, .post-card a svg, .page-hero__aside svg { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; transition: transform .25s; }
.button:hover { transform: translateY(-3px); }
.button:hover svg, .text-link:hover svg, .feature-card:hover svg, .format-row:hover svg, .external-reading a:hover svg, .issue:hover svg { transform: translateX(4px); }
.button--primary { color: white; background: var(--ink); }
.button--text { min-width: 0; padding-inline: .3rem; border: 0; }
.button--light { color: var(--ink); background: var(--white); border-color: var(--white); }
.text-link { display: inline-flex; align-items: center; gap: 1rem; padding-bottom: .25rem; border-bottom: 1px solid currentColor; font-family: var(--mono); font-size: .78rem; text-transform: uppercase; }

.hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); grid-template-rows: 1fr; align-items: center; column-gap: clamp(2.5rem, 5vw, 6rem); min-height: 100svh; max-width: var(--max); margin: 0 auto; padding: 8rem var(--gutter) 4rem; }
.hero__left { position: relative; z-index: 2; grid-column: 1; grid-row: 1; align-self: start; width: 100%; margin-top: max(2.25rem, calc((100svh - 12rem - clamp(39rem, 72svh, 56rem)) / 2 + 3rem)); }
.hero__headline { width: 100%; }
.hero__headline .eyebrow { margin-bottom: 1rem; text-align: center; }
.hero__copy { margin-top: clamp(1.5rem, 2.5vw, 2.7rem); }
.hero .hero-title { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: stretch; gap: clamp(.75rem, 1.2vw, 1.15rem); margin: 0; font-size: 1rem; white-space: normal; }
.hero-title__ki { display: grid; place-items: center; min-width: 1.18em; color: var(--ink); font-size: clamp(4.7rem, 5.8vw, 6.4rem); font-weight: 680; line-height: .78; letter-spacing: -.075em; }
.hero-title__topic { display: flex; align-items: center; width: fit-content; min-width: 0; max-width: 100%; padding: .32em .42em .38em; color: var(--blue); border: 1px solid var(--blue); background: color-mix(in srgb, var(--white) 92%, var(--paper)); box-shadow: .5rem .5rem 0 var(--blue); font-size: clamp(2.1rem, 2.85vw, 3.15rem); font-weight: 650; line-height: .9; letter-spacing: -.055em; white-space: nowrap; }
.hero__intro { max-width: 46rem; font-size: clamp(1.18rem, 1.65vw, 1.52rem); line-height: 1.48; }
.hero .button-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; width: 100%; max-width: 46rem; margin-top: 2rem; }
.hero .button { width: 100%; min-height: 4.65rem; padding: 1.15rem 1.25rem; font-size: clamp(.72rem, .82vw, .88rem); }
.hero .button--text { padding: 1.15rem 1.25rem; border: 1px solid var(--blue); background: var(--white); box-shadow: .35rem .35rem 0 color-mix(in srgb, var(--blue) 22%, transparent); }
.hero .button--text:hover { color: white; background: var(--blue); }
.hero__visual { --mx: 0px; --my: 0px; position: relative; grid-column: 2; grid-row: 1; align-self: center; justify-self: end; width: min(100%, clamp(40rem, 35vw, 49rem)); min-height: clamp(39rem, 72svh, 56rem); transform: translate(var(--mx), var(--my)); transition: transform .25s ease-out; }
.portrait-frame { position: absolute; inset: 0; overflow: hidden; background: linear-gradient(90deg, transparent 0 10%, var(--sage) 10% 88%, transparent 88%); }
.portrait-frame::before { content: ""; position: absolute; inset: 9% 3% 10% 20%; border: 1px solid color-mix(in srgb, var(--blue) 48%, transparent); background-image: linear-gradient(rgba(49,86,216,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(49,86,216,.1) 1px, transparent 1px); background-size: 2.25rem 2.25rem; }
.portrait-frame img { position: absolute; left: 50%; bottom: -1px; width: 100%; height: 100%; max-width: none; object-fit: contain; object-position: center bottom; transform: translateX(-50%); }
.hero__note { position: absolute; z-index: 2; left: -2.5rem; bottom: 8%; max-width: 16rem; padding: 1rem 1.2rem; color: white; background: var(--blue); }
.hero__note span { display: block; margin-bottom: .35rem; font-family: var(--mono); font-size: .65rem; text-transform: uppercase; }
.hero__note strong { font-family: var(--display); font-size: 1.05rem; line-height: 1.2; }
.co-path { position: absolute; inset: -2rem -2rem auto auto; width: 10rem; height: 10rem; font-family: var(--mono); font-size: .62rem; text-transform: uppercase; }
.co-path i, .co-path b { position: absolute; display: block; width: 8rem; height: 8rem; border: 2px solid; border-radius: 50%; }
.co-path i { top: 0; left: 0; border-color: var(--orange); animation: orbit 12s linear infinite; }
.co-path b { right: 0; bottom: 0; border-color: var(--blue); animation: orbit 12s linear infinite reverse; }
.co-path__human, .co-path__ai { position: absolute; z-index: 2; padding: .25rem; background: var(--paper); }
.co-path__human { left: -.6rem; top: 1.2rem; }.co-path__ai { right: -.5rem; bottom: 1.1rem; }
@keyframes orbit { 50% { transform: translate(1rem,1rem) scale(.92); } }
.scroll-cue { position: absolute; left: var(--gutter); bottom: 1.5rem; display: flex; align-items: center; gap: .8rem; font-family: var(--mono); font-size: .62rem; text-transform: uppercase; }
.scroll-cue i { display: block; width: 4rem; height: 1px; background: var(--ink); transform-origin: left; animation: pulse 2s ease-in-out infinite; }
@keyframes pulse { 50% { transform: scaleX(.45); opacity: .4; } }

.home-offer { padding: clamp(5rem, 8vw, 8rem) var(--gutter); background: var(--white); }
.home-manifesto { padding: clamp(4.5rem, 8vw, 8rem) var(--gutter); color: var(--white); background: var(--ink); }
.home-manifesto,.home-offer,.delivery,.testimonials { scroll-margin-top: 4.35rem; }
.home-manifesto blockquote { display: grid; gap: clamp(1.5rem, 3vw, 3rem); max-width: 74rem; margin: 0 auto; font-family: var(--display); font-size: clamp(2.15rem, 4.5vw, 5.4rem); font-weight: 620; line-height: 1.02; letter-spacing: -.045em; }
.home-manifesto strong { font-weight: inherit; }
.home-manifesto strong:last-child { color: var(--orange); }
.home-offer__inner { display: grid; grid-template-columns: minmax(16rem, .62fr) minmax(0, 1.38fr); gap: clamp(3rem, 7vw, 8rem); max-width: var(--max); margin: 0 auto; }
.home-offer__intro { position: sticky; top: 7rem; align-self: start; padding-left: 1.5rem; border-left: .4rem solid var(--blue); }
.home-offer__intro .eyebrow { margin-bottom: 1.1rem; color: var(--blue); }
.home-offer__intro h2 { margin-bottom: 1.8rem; font-size: clamp(3.8rem, 6vw, 7rem); }
.home-offer__intro > p:last-child { max-width: 28rem; margin-bottom: 0; font-size: 1.02rem; line-height: 1.55; }
.offer-index { border-top: 1px solid var(--ink); }
.offer-row { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(6.5rem, .28fr) minmax(0, 1fr) auto; align-items: center; gap: clamp(1.2rem, 3vw, 3rem); min-height: 11.5rem; padding: 2rem clamp(1.25rem, 2.5vw, 2.5rem); border-bottom: 1px solid var(--ink); background: var(--paper); overflow: hidden; transition: color .35s ease; }
.offer-row::before { content: ""; position: absolute; z-index: -2; inset: 0 auto 0 0; width: .42rem; background: var(--blue); }
.offer-row::after { content: ""; position: absolute; z-index: -1; inset: 0; background: var(--blue); transform: scaleX(0); transform-origin: left; transition: transform .42s cubic-bezier(.2,.8,.2,1); }
.offer-row__purpose { font-family: var(--mono); font-size: .68rem; letter-spacing: .11em; text-transform: uppercase; color: var(--orange); transition: color .35s ease; }
.offer-row__content { display: grid; gap: .55rem; }
.offer-row__content strong { font-family: var(--display); font-size: clamp(1.7rem, 2.6vw, 3.1rem); font-weight: 620; line-height: .98; letter-spacing: -.045em; }
.offer-row__content small { max-width: 38rem; font-size: .88rem; line-height: 1.45; }
.offer-row__action { display: flex; align-items: center; gap: 1rem; font-family: var(--mono); font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; }
.offer-row__action svg { box-sizing: content-box; width: 1.15rem; height: 1.15rem; padding: 1rem; border: 1px solid currentColor; border-radius: 50%; transition: transform .3s ease, background .3s ease; }
.offer-row:hover { color: var(--white); }
.offer-row:hover::after { transform: scaleX(1); }
.offer-row:hover .offer-row__purpose { color: var(--white); }
.offer-row:hover .offer-row__action svg { color: var(--ink); background: var(--white); transform: translateX(4px); }

.proof-strip { display: grid; grid-template-columns: repeat(3, 1fr) 1.4fr; align-items: stretch; color: var(--ink); background: var(--mist); border-top: 1px solid rgba(18,34,31,.14); }
.proof-strip > * { margin: 0; padding: clamp(1.5rem, 3.5vw, 3.4rem); border-right: 1px solid rgba(18,34,31,.15); }
.proof-strip div { display: flex; align-items: center; justify-content: center; gap: 1rem; }
.proof-strip strong { font-family: var(--display); font-size: clamp(2.5rem, 4.5vw, 5rem); line-height: 1; color: var(--orange); }
.proof-strip span, .proof-strip p { font-family: var(--mono); font-size: .68rem; line-height: 1.55; text-transform: uppercase; letter-spacing: .07em; }
.proof-strip p { display: grid; place-items: center; text-align: center; }

.section { padding: clamp(5rem, 10vw, 10rem) var(--gutter); }
.section--paper { background: var(--white); }
.section--ink { color: white; background: var(--ink); }
.section--sage { background: var(--sage); }
.section-head { display: grid; grid-template-columns: .7fr 1.7fr 1fr; gap: 2rem; max-width: var(--max); margin: 0 auto clamp(3.5rem, 7vw, 7rem); }
.section-head h2 { margin: 0; }
.section-head > p:last-child { max-width: 30rem; align-self: end; }

.editorial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; max-width: var(--max); margin: 0 auto; }
.feature-card { position: relative; display: flex; flex-direction: column; min-height: 42rem; overflow: hidden; border: 1px solid var(--ink); background: var(--paper); }
.feature-card img { width: 100%; height: 100%; object-fit: contain; transition: transform .55s ease; }
.feature-card:hover img { transform: scale(1.025); }
.link-window__bar { display: flex; align-items: center; gap: .38rem; min-height: 2.5rem; padding: 0 .85rem; border-bottom: 1px solid var(--ink); background: var(--paper); }
.link-window__bar i { width: .48rem; height: .48rem; border: 1px solid var(--ink); border-radius: 50%; }
.link-window__bar b { margin-left: auto; font-family: var(--mono); font-size: .58rem; font-weight: 400; letter-spacing: .06em; text-transform: uppercase; }
.link-window__media { height: 25rem; padding: 1rem; overflow: hidden; border-bottom: 1px solid var(--ink); background: var(--white); }
.link-window__copy { position: relative; display: flex; flex: 1; flex-direction: column; align-items: flex-start; min-height: 14rem; padding: 1.6rem; }
.feature-card h3 { margin: 1.2rem 0 .8rem; }
.feature-card p { margin-bottom: 2rem; }
.feature-card svg { margin-top: auto; }
.insight-link { grid-column: 1 / -1; display: grid; grid-template-columns: .35fr 1.5fr auto; gap: 2rem; align-items: center; min-height: 8rem; padding: 1.5rem; color: white; background: var(--blue); }
.insight-link strong { font-family: var(--display); font-size: clamp(1.35rem, 2.4vw, 2.6rem); line-height: 1.05; letter-spacing: -.03em; }
.insight-link svg { width: 2rem; height: 2rem; }
.tag { display: inline-block; font-family: var(--mono); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }

#aktuell { padding-block:clamp(4rem,6vw,6rem); }
#aktuell .section-head { margin-bottom:clamp(2.25rem,3.5vw,3.5rem); }
#aktuell .editorial-grid { max-width:min(var(--max),88rem); gap:1rem; }
#aktuell .feature-card { min-height:28.5rem; }
#aktuell .link-window__bar { min-height:2.15rem; }
#aktuell .link-window__media { height:15.5rem; padding:.75rem; }
#aktuell .link-window__copy { min-height:10.75rem; padding:1.15rem 1.25rem; }
#aktuell .link-window__copy .tag { font-size:.58rem; }
#aktuell .feature-card h3 { margin:.75rem 0 .55rem; font-size:clamp(1.35rem,1.9vw,2rem); line-height:1.04; }
#aktuell .feature-card p { margin-bottom:1rem; font-size:.85rem; line-height:1.45; }
#aktuell .feature-card svg { width:1.05rem; height:1.05rem; }
#aktuell .insight-link { min-height:6rem; padding:1.15rem 1.3rem; }
#aktuell .insight-link strong { font-size:clamp(1.2rem,1.8vw,1.8rem); }

.learning-studio { overflow: clip; }
.course-studio-story { position:relative; max-width:var(--max); margin:0 auto; }
.course-studio-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin-bottom:1rem; }
.course-studio-tab { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; min-width:0; min-height:19rem; padding:1.1rem 1.25rem 1.2rem; color:var(--ink); border:1px solid rgba(255,255,255,.72); background:color-mix(in srgb,var(--paper) 94%,var(--sage)); text-align:left; cursor:pointer; overflow:hidden; transition:color .28s ease,background .28s ease,transform .28s ease,box-shadow .28s ease; }
.course-studio-tab::after { content:""; position:absolute; left:0; right:0; bottom:0; height:.38rem; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .32s cubic-bezier(.2,.8,.2,1); }
.course-studio-tab span { margin-bottom:.42rem; color:var(--blue); font-family:var(--mono); font-size:.67rem; letter-spacing:.08em; text-transform:uppercase; transition:color .28s ease; }
.course-studio-tab strong { font-family:var(--display); font-size:clamp(1.15rem,1.65vw,1.72rem); font-weight:620; line-height:1.02; letter-spacing:-.035em; }
.course-studio-tab .course-studio-tab__media { position:relative; display:block; flex:0 0 11.2rem; width:100%; height:11.2rem; margin:.45rem 0 .35rem; color:inherit; overflow:hidden; }
.course-studio-tab__media img { position:absolute; inset:0; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; object-position:center; filter:drop-shadow(0 .65rem .8rem rgba(18,34,31,.15)); transform:scale(1.01); transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.course-studio-tab small { display:block; width:100%; margin-top:auto; font-family:var(--mono); font-size:clamp(.46rem,.55vw,.56rem); line-height:1.45; letter-spacing:.015em; text-align:center; text-transform:uppercase; opacity:.72; }
.course-studio-tab:hover { color:white; border-color:var(--blue); background:var(--blue); transform:translateY(-.3rem); box-shadow:.38rem .38rem 0 color-mix(in srgb,var(--orange) 86%,transparent); }
.course-studio-tab:hover::after { transform:scaleX(1); }
.course-studio-tab:hover span { color:white; }
.course-studio-tab:hover .course-studio-tab__media img { transform:scale(1.09); }
@media (min-width:761px) { .course-studio-tab small { white-space:nowrap; } }
.course-studio-stage { position:relative; height:clamp(34rem,58svh,40rem); overflow:hidden; color:var(--ink); border:1px solid rgba(255,255,255,.85); background:var(--paper); box-shadow:.9rem .9rem 0 var(--orange); }
.course-studio-slides { position: absolute; inset: 0; }
.course-studio-slide { position:absolute; inset:0; display:grid; grid-template-columns:minmax(22rem,.92fr) minmax(0,1.08fr); opacity:0; visibility:hidden; pointer-events:none; transform:translateX(1.5rem); transition:opacity .3s ease,transform .55s cubic-bezier(.2,.8,.2,1),visibility 0s .55s; }
.course-studio-slide.is-active { z-index: 1; opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
.course-studio-visual { position: relative; display: grid; place-items: center; min-width: 0; overflow: hidden; border-right: 1px solid var(--ink); background: var(--sage); }
.course-studio-visual::before { content:""; position:absolute; inset:0; opacity:.45; background-image:linear-gradient(rgba(49,86,216,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(49,86,216,.16) 1px,transparent 1px); background-size:2.4rem 2.4rem; }
.course-studio-visual > span { position:absolute; z-index:2; left:1.25rem; top:1.15rem; padding:.35rem .5rem; border:1px solid var(--ink); background:var(--paper); font-family:var(--mono); font-size:.62rem; letter-spacing:.07em; text-transform:uppercase; }
.course-studio-visual img { position:relative; z-index:1; width:88%; height:84%; object-fit:contain; filter:drop-shadow(0 1.4rem 1.8rem rgba(18,34,31,.2)); transform:scale(.93) rotate(-1.5deg); transition:transform .75s cubic-bezier(.2,.8,.2,1); }
.course-studio-slide.is-active .course-studio-visual img { transform:scale(1) rotate(0); }
.course-studio-slide.is-previewing .course-studio-visual img { transform:scale(1.075) rotate(1deg); }
.course-studio-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; padding:clamp(2rem,4vw,4.5rem); }
.course-studio-copy .eyebrow { color:var(--blue); }
.course-studio-copy h3 { max-width:38rem; margin-bottom:1.25rem; font-size:clamp(2.6rem,4.6vw,5.5rem); text-wrap:balance; }
.course-studio-facts { display:grid; grid-template-columns:.75fr 1.25fr; width:100%; max-width:45rem; margin-bottom:1rem; border-top:1px solid var(--line); }
.course-studio-facts > div { padding:.78rem 1.1rem .78rem 0; border-bottom:1px solid var(--line); }
.course-studio-facts > div + div { padding-left:1.25rem; border-left:1px solid var(--line); }
.course-studio-facts span { display:block; margin-bottom:.4rem; color:var(--blue); font-family:var(--mono); font-size:.62rem; letter-spacing:.07em; text-transform:uppercase; }
.course-studio-facts strong { display:block; font-size:clamp(.88rem,1.15vw,1.05rem); font-weight:500; line-height:1.4; }
.course-studio-topics { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1rem; }
.course-studio-topics span { padding:.38rem .62rem; border:1px solid var(--ink); border-radius:99px; font-family:var(--mono); font-size:.61rem; letter-spacing:.04em; text-transform:uppercase; }
.course-studio-copy .button { margin-top:.25rem; }
.section-action { max-width: var(--max); margin: 3rem auto 0; text-align: right; }

.strategy-partnership { display:grid; grid-template-columns:minmax(20rem,.82fr) minmax(0,1.18fr); gap:clamp(3rem,8vw,9rem); align-items:center; max-width:var(--max); margin:0 auto; }
.strategy-partnership__image { display:grid; place-items:center; min-height:42rem; padding:clamp(1rem,2vw,2rem); border:1px solid var(--ink); background:var(--ink); box-shadow:.8rem .8rem 0 var(--blue); }
.strategy-partnership__image img { width:100%; height:100%; max-height:48rem; object-fit:contain; }
.strategy-partnership__copy h2 { margin-bottom:2rem; }
.strategy-partnership__copy .lead { max-width:48rem; }

.vision { display: grid; grid-template-columns: .65fr 1.35fr; max-width: var(--max); margin: 0 auto; }
.vision__rail { position: sticky; top: 9rem; align-self: start; display: grid; justify-content: start; height: 33rem; padding-left: 3rem; font-family: var(--mono); font-size: .7rem; text-transform: uppercase; }
.vision__rail i { display: block; width: 2px; height: 25rem; margin-left: 1rem; background: linear-gradient(var(--orange), var(--blue)); }
.vision__content { max-width: 52rem; }.vision__content .lead { margin: 2rem 0; }
.outcomes { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 3rem; }.outcomes span { padding: .6rem .9rem; border: 1px solid var(--ink); border-radius: 99px; font-family: var(--mono); font-size: .7rem; text-transform: uppercase; }

.delivery { padding-block:clamp(3.5rem,5.5vw,5.5rem); }
.delivery-head { max-width: var(--max); margin: 0 auto clamp(2rem,3.5vw,3.5rem); }
.delivery-head h2 { max-width:72rem; margin:0; font-size:clamp(3.2rem,5vw,5.8rem); }
.delivery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 3vw, 3rem); max-width: var(--max); margin: 0 auto; }
.delivery-mode { position: relative; display: flex; flex-direction: column; min-height: 22rem; padding: clamp(1.6rem, 3vw, 2.75rem); border: 1px solid var(--ink); background: color-mix(in srgb, var(--white) 82%, var(--sage)); overflow: hidden; }
.delivery-mode::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: .55rem; background: var(--blue); }
.delivery-mode--inhouse::before { background: var(--orange); }
.delivery-mode__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: clamp(2.5rem,4vw,4rem); font-family: var(--mono); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.delivery-mode__top > span:last-child { opacity: .62; }
.mode { display: inline-block; padding: .45rem .65rem; color: white; background: var(--blue); font-family: var(--mono); font-size: .68rem; text-transform: uppercase; }
.delivery-mode--inhouse .mode { background: var(--orange); }
.delivery-mode__copy { margin-bottom:1.5rem; }
.delivery-mode h3 { max-width:31rem; font-size:clamp(1.8rem,2.65vw,3.15rem); }
.delivery-mode p { max-width: 34rem; }
.delivery-mode .button { margin-top: auto; }

.testimonials { padding-bottom: clamp(5rem, 9vw, 9rem); }
.testimonial-head { max-width: var(--max); margin: 0 auto clamp(3.5rem, 7vw, 7rem); }
.testimonial-head h2 { max-width: 70rem; margin-bottom: 2rem; }
.testimonial-head .eyebrow { margin: 0; color: var(--blue); }
.testimonial-scroll { position: relative; height: calc(var(--testimonial-count) * 52vh + 100vh); max-width: 76rem; margin: 0 auto; }
.testimonial-stage { position: sticky; top: clamp(5.5rem, 8vh, 6.5rem); display: grid; place-items: center; height: min(76svh, 46rem); min-height: 38rem; padding: clamp(2rem, 5vw, 4.5rem); padding-bottom: 11.25rem; color: white; background: var(--blue); border: 1px solid var(--ink); box-shadow: .9rem .9rem 0 color-mix(in srgb, var(--sage) 68%, transparent); overflow: hidden; }
.quote-mark { position: absolute; left: 50%; top: -4rem; color: rgba(255,255,255,.1); font-family: Georgia, serif; font-size: 21rem; line-height: 1; transform: translateX(-50%); }
.testimonial-track { position: relative; width: 100%; height: 100%; }
.testimonial { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; margin: 0; padding: 4rem clamp(2.5rem, 6vw, 6rem); text-align: center; opacity: 0; pointer-events: none; filter: blur(.55rem); transform: translateY(2.25rem) scale(.988); transition: opacity .34s ease, filter .42s ease, transform .52s cubic-bezier(.2,.8,.2,1); }
.testimonial.is-active { opacity: 1; pointer-events: auto; filter: none; transform: none; }
.testimonial blockquote { max-width: 56rem; margin: 0 auto; font-family: var(--display); font-size: clamp(1.55rem, 2.45vw, 2.65rem); line-height: 1.15; letter-spacing: -.025em; text-wrap: balance; }
.testimonial figcaption { display: flex; flex-direction: column; align-items: center; gap: .35rem; max-width: 34rem; margin: 1.7rem auto 0; font-size: .8rem; }.testimonial figcaption strong { font-family: var(--display); font-size: 1.2rem; }.testimonial figcaption span { opacity: .78; }
.testimonial-slider { position: absolute; right: 1.65rem; top: 3rem; bottom: 11.5rem; width: 2px; background: rgba(255,255,255,.3); }
.testimonial-slider > span { display: block; width: 100%; height: 100%; background: var(--orange); transform: scaleY(0); transform-origin: top; transition: transform .12s linear; }
.testimonial-slider > b { position: absolute; left: 50%; top: 0; display: grid; place-items: center; width: 2.8rem; height: 2rem; color: var(--ink); background: var(--white); border: 1px solid var(--ink); font-family: var(--mono); font-size: .7rem; transform: translate(-50%, -50%); transition: top .16s linear; }
.testimonial-count { position: absolute; left: 1.5rem; bottom: 9.8rem; display: flex; align-items: baseline; gap: .35rem; font-family: var(--mono); font-size: .72rem; }
.testimonial-count b { font-size: 1rem; }.testimonial-count small { margin-left: 1rem; opacity: .7; text-transform: uppercase; }
.testimonial-more-callout { position:absolute; z-index:5; right:4.6rem; bottom:10.15rem; display:flex; align-items:center; justify-content:center; width:min(24rem,calc(100% - 9rem)); padding:1.05rem 3.2rem 1.05rem 1.2rem; color:var(--ink); text-align:center; border:1px solid var(--ink); background:var(--paper); box-shadow:.35rem .35rem 0 var(--orange); cursor:pointer; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(1rem) scale(.98); transition:opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1),visibility .28s; }
.testimonial-more-callout span { font-family:var(--mono); font-size:.55rem; letter-spacing:.06em; text-transform:uppercase; opacity:.7; }
.testimonial-more-callout strong { font-family:var(--display); font-size:1.05rem; line-height:1.05; }
.testimonial-more-callout svg { position:absolute; right:1.1rem; width:1.2rem; height:1.2rem; transition:transform .25s ease; }
.testimonial-more-callout:hover svg { transform:translateX(.2rem); }
.testimonial-more-callout:focus-visible,.testimonial-more-panel__head button:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.testimonials.is-final .testimonial-more-callout { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.testimonials.is-more-open .testimonial-more-callout { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(.7rem); }
.testimonial-more-panel { position:fixed; z-index:40; top:5.6rem; right:max(var(--gutter),1rem); width:min(39rem,calc(100vw - 2 * var(--gutter))); max-height:calc(100svh - 7rem); color:var(--ink); border:1px solid var(--ink); background:var(--white); box-shadow:.55rem .55rem 0 var(--orange); overflow:auto; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(1rem) scale(.985); transform-origin:right top; transition:opacity .26s ease,transform .4s cubic-bezier(.2,.8,.2,1),visibility .26s; }
.testimonials.is-more-open .testimonial-more-panel { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.testimonial-more-panel__head { position:sticky; z-index:2; top:0; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1rem; border-bottom:1px solid var(--line); background:var(--paper); }
.testimonial-more-panel__head > div { display:flex; flex-direction:column; gap:.12rem; }
.testimonial-more-panel__head span { color:var(--blue); font-family:var(--mono); font-size:.55rem; letter-spacing:.06em; text-transform:uppercase; }
.testimonial-more-panel__head strong { font-family:var(--display); font-size:1.05rem; }
.testimonial-more-panel__head button { display:grid; place-items:center; flex:0 0 auto; width:2.2rem; height:2.2rem; padding:0; color:var(--ink); border:1px solid var(--ink); background:transparent; font-size:1.4rem; line-height:1; cursor:pointer; }
.testimonial-more-list figure { display:grid; grid-template-columns:minmax(0,1fr) 11rem; gap:1.2rem; margin:0; padding:1.15rem 1rem; border-bottom:1px solid var(--line); }
.testimonial-more-list figure:last-child { border-bottom:0; }
.testimonial-more-list blockquote { margin:0; font-family:var(--display); font-size:clamp(.95rem,1.35vw,1.18rem); line-height:1.25; letter-spacing:-.012em; }
.testimonial-more-list figcaption { display:flex; flex-direction:column; gap:.2rem; align-self:end; font-size:.7rem; line-height:1.35; }
.testimonial-more-list figcaption strong { font-family:var(--display); font-size:.94rem; }
.testimonial-more-list figcaption span { opacity:.68; }

.client-marquee { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 14rem minmax(0, 1fr); height: 9rem; color: var(--ink); border-top: 1px solid var(--ink); background: var(--white); }
.client-marquee__label { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: .2rem; padding: 1rem 1.15rem; border-right: 1px solid var(--ink); background: var(--paper); font-family: var(--mono); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; }
.client-marquee__label span { color: var(--blue); }.client-marquee__label strong { font-weight: 400; }
.client-marquee__viewport { min-width: 0; overflow: hidden; }
.client-marquee__track { display: flex; align-items: center; width: max-content; animation: client-marquee 46s linear infinite; }
.client-marquee:hover .client-marquee__track { animation-play-state: paused; }
.client-logo { display: grid; place-items: center; flex: 0 0 auto; width: 15rem; height: 9rem; padding: 1.55rem 1.8rem; border-right: 1px solid var(--line); background: var(--white); }
.client-logo img { width: 100%; height: 100%; object-fit: contain; }
.client-logo--compact { width: 12rem; }
.client-logo--square { width: 10rem; }.client-logo--square img { mix-blend-mode: multiply; }
.client-logo--portrait { width: 10rem; }.client-logo--wide { width: 19rem; }
.client-logo--consens { width: 16.5rem; padding-inline: 3.25rem; }
.client-logo--erkelenz { width: 10rem; padding: 2.05rem 2.6rem; }
.client-logo--wolfsburg { width: 11rem; padding: 1.8rem 2.5rem; }
.client-logo--lwl { width: 16rem; padding: 2.25rem 3.35rem; }
.client-logo--consens img { transform: scale(.78); }
.client-logo--erkelenz img { transform: scale(.68); }
.client-logo--wolfsburg img { transform: scale(.78); }
.client-logo--lwl img { transform: scale(.82); }
.client-logo--invert img { filter: invert(1); }
@keyframes client-marquee { to { transform: translateX(-50%); } }

.about-teaser { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 9rem); align-items: center; max-width: var(--max); margin: 0 auto; }
.about-teaser__image { position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 42rem; overflow: hidden; background: var(--sage); }
.about-teaser__image::before { content: ""; position: absolute; inset: 10% 8%; border: 1px solid rgba(49,86,216,.42); }
.about-teaser__image img { position: relative; z-index: 1; width: 100%; height: 100%; max-height: 42rem; object-fit: contain; object-position: center bottom; }
.about-teaser__copy { max-width: 42rem; }.about-teaser__copy ul { padding: 0; margin: 2rem 0 2.5rem; list-style: none; }.about-teaser__copy li { padding: .75rem 0; border-bottom: 1px solid var(--line); }

.process { padding-block: clamp(3.5rem, 5.5vw, 5.5rem); }
.process .section-head { grid-template-columns: .55fr 1.25fr .8fr; align-items: end; margin-bottom: clamp(2rem, 3vw, 3rem); }
.process .section-head h2 { max-width: 48rem; font-size: clamp(2.9rem, 4.6vw, 5.4rem); }
.process .section-head > p:last-child { max-width: 27rem; font-size: .94rem; line-height: 1.55; }
.process-steps { display: grid; grid-template-columns: repeat(4, 1fr); max-width: var(--max); margin: 0 auto; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.process-steps article { min-height: 14.5rem; padding: 1.25rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.process-steps article > span { display: block; margin-bottom: 3.5rem; color: var(--orange); font-family: var(--mono); font-size: .7rem; }
.process-steps article h3 { margin-bottom: .7rem; font-size: clamp(1.35rem, 1.8vw, 2rem); }
.process-steps article p { margin: 0; font-size: .9rem; line-height: 1.5; }

.pricing { position:relative; padding-block:clamp(3.5rem,5.5vw,5.5rem); overflow:clip; }
.pricing::before { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px); background-size:3rem 3rem; mask-image:linear-gradient(90deg,black,transparent 64%); }
.pricing__layout { position:relative; display:grid; grid-template-columns:minmax(18rem,.7fr) minmax(0,1.3fr); gap:clamp(2.5rem,5vw,5.5rem); align-items:start; max-width:var(--max); margin:0 auto; }
.pricing__intro { position:sticky; top:7rem; }
.pricing__intro .eyebrow { color:var(--orange); }
.pricing__intro h2 { max-width:42rem; margin-bottom:1.5rem; font-size:clamp(2.8rem,4.4vw,5.15rem); }
.pricing__intro > p:last-child { max-width:31rem; margin-bottom:0; font-size:clamp(.95rem,1.2vw,1.15rem); line-height:1.55; opacity:.82; }
.pricing__sheet { color:var(--ink); border:1px solid var(--white); background:var(--paper); box-shadow:.8rem .8rem 0 var(--blue); }
.pricing__factor { display:grid; grid-template-columns:minmax(6.5rem,.36fr) minmax(9rem,.62fr) minmax(0,1fr); gap:clamp(.8rem,2vw,2rem); align-items:center; min-height:6.9rem; padding:1rem clamp(1.1rem,2.1vw,2rem); border-bottom:1px solid var(--line); }
.pricing__factor > span,.pricing__action span { color:var(--blue); font-family:var(--mono); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; }
.pricing__factor strong { font-family:var(--display); font-size:clamp(1.15rem,1.45vw,1.65rem); line-height:1.05; }
.pricing__factor p { margin:0; font-size:.84rem; line-height:1.5; }
.pricing__action { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.5rem; align-items:center; padding:clamp(1.25rem,2.1vw,2rem); color:white; background:var(--blue); }
.pricing__action h3 { max-width:31rem; margin:.45rem 0 .55rem; font-size:clamp(1.55rem,2.15vw,2.5rem); }
.pricing__action p { max-width:36rem; margin:0; font-size:.85rem; line-height:1.5; opacity:.86; }
.pricing__action .button { min-width:15rem; }

.faq { padding-block:clamp(4rem,6vw,6rem); background:var(--white); scroll-margin-top:4.35rem; }
.faq__layout { display:grid; grid-template-columns:minmax(18rem,.62fr) minmax(0,1.38fr); gap:clamp(3rem,7vw,8rem); max-width:var(--max); margin:0 auto; }
.faq__intro { align-self:start; }
.faq__intro .eyebrow { color:var(--blue); }
.faq__intro h2 { max-width:42rem; margin-bottom:1.4rem; font-size:clamp(2.7rem,4.4vw,5.15rem); }
.faq__intro > p:last-child { max-width:27rem; margin:0; font-size:.95rem; line-height:1.55; }
.faq__list { border-top:1px solid var(--ink); }
.faq-item { border-bottom:1px solid var(--ink); }
.faq-item summary { display:grid; grid-template-columns:2.7rem minmax(0,1fr) 2rem; gap:1rem; align-items:center; min-height:5.35rem; padding:1rem 0; cursor:pointer; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary > span { color:var(--orange); font-family:var(--mono); font-size:.65rem; }
.faq-item summary strong { font-family:var(--display); font-size:clamp(1.05rem,1.45vw,1.45rem); font-weight:600; line-height:1.15; letter-spacing:-.025em; }
.faq-item summary i { position:relative; width:1.35rem; height:1.35rem; justify-self:end; }
.faq-item summary i::before,.faq-item summary i::after { content:""; position:absolute; left:50%; top:50%; width:100%; height:1px; background:var(--ink); transform:translate(-50%,-50%); transition:transform .25s ease; }
.faq-item summary i::after { transform:translate(-50%,-50%) rotate(90deg); }
.faq-item[open] summary i::after { transform:translate(-50%,-50%) rotate(0); }
.faq-item > div { display:grid; grid-template-columns:2.7rem minmax(0,1fr) 2rem; gap:1rem; }
.faq-item > div p { grid-column:2; max-width:52rem; margin:0 0 1.45rem; font-size:.9rem; line-height:1.65; }

.project-inquiry { position:relative; padding-block:clamp(4rem,6.5vw,6.5rem); background:var(--sage); scroll-margin-top:4.35rem; overflow:hidden; }
.project-inquiry::before { content:""; position:absolute; inset:0; opacity:.34; background-image:linear-gradient(rgba(49,86,216,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(49,86,216,.13) 1px,transparent 1px); background-size:3rem 3rem; mask-image:linear-gradient(90deg,transparent,black 45%,black); }
.project-inquiry__head { position:relative; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr); gap:clamp(2rem,6vw,7rem); align-items:end; max-width:var(--max); margin:0 auto clamp(2.5rem,4vw,4rem); }
.project-inquiry__head .eyebrow { color:var(--blue); }
.project-inquiry__head h2 { max-width:55rem; margin:0; font-size:clamp(3rem,5vw,6rem); }
.project-inquiry__path { display:grid; border-top:1px solid var(--ink); }
.project-inquiry__path > div { display:grid; grid-template-columns:2.35rem minmax(0,1fr); gap:.85rem; padding:.85rem 0; border-bottom:1px solid var(--ink); }
.project-inquiry__path span { color:var(--orange); font-family:var(--mono); font-size:.66rem; letter-spacing:.06em; }
.project-inquiry__path p { margin:0; font-size:.76rem; line-height:1.45; }
.project-inquiry__path strong { display:block; margin-bottom:.18rem; font-family:var(--display); font-size:1rem; font-weight:620; letter-spacing:-.02em; }
.project-inquiry__shell { position:relative; display:grid; grid-template-columns:minmax(13rem,.28fr) minmax(0,1.72fr); max-width:var(--max); margin:0 auto; color:var(--ink); border:1px solid var(--ink); background:var(--paper); box-shadow:.8rem .8rem 0 var(--blue); }
.project-inquiry__progress { display:flex; flex-direction:column; min-height:34rem; padding:1.5rem; color:white; background:var(--ink); }
.project-inquiry__progress > div { display:flex; align-items:baseline; gap:.45rem; margin-bottom:3.2rem; font-family:var(--mono); }
.project-inquiry__progress > div strong { color:var(--orange); font-size:2.2rem; line-height:1; }
.project-inquiry__progress > div span { font-size:.65rem; }
.project-inquiry__progress ol { display:grid; gap:.35rem; padding:0; margin:0; list-style:none; }
.project-inquiry__progress li { display:grid; grid-template-columns:2rem 1fr; gap:.6rem; align-items:center; padding:.8rem 0; border-bottom:1px solid rgba(255,255,255,.15); font-family:var(--mono); font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; opacity:.36; transition:opacity .25s,color .25s; }
.project-inquiry__progress li span { color:var(--orange); }
.project-inquiry__progress li.is-active { opacity:1; }
.project-inquiry__progress > p { margin:auto 0 0; font-family:var(--mono); font-size:.6rem; line-height:1.65; letter-spacing:.05em; text-transform:uppercase; opacity:.7; }
.project-form { display:flex; flex-direction:column; min-width:0; min-height:34rem; padding:clamp(1.5rem,3vw,3rem); }
.project-form__status { display:none; margin-bottom:1rem; padding:.75rem 1rem; border:1px solid var(--orange); background:color-mix(in srgb,var(--orange) 9%,var(--white)); font-size:.82rem; }
.project-form__status.is-visible { display:block; }
.project-form__status.is-success { color:white; border-color:var(--blue); background:var(--blue); }
.project-form__step { min-width:0; padding:0; margin:0; border:0; }
.project-form__step[hidden] { display:none; }
.project-form__step legend { display:flex; flex-direction:column; gap:.35rem; width:100%; margin:0 0 .65rem; padding:0; font-family:var(--display); font-size:clamp(2rem,3.4vw,3.65rem); font-weight:620; line-height:1; letter-spacing:-.04em; }
.project-form__step legend span { color:var(--blue); font-family:var(--mono); font-size:.62rem; font-weight:400; letter-spacing:.08em; text-transform:uppercase; }
.project-form__step > p { margin-bottom:1.5rem; font-size:.88rem; }
.project-form__step--service { position:relative; }
.project-form__step--service > legend,.project-form__step--service > p { width:calc(100% - 19rem); }
.project-form__email-route { position:absolute; right:.35rem; top:-3.2rem; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.75rem; align-items:center; width:17.25rem; min-height:4.65rem; padding:.7rem .82rem; color:var(--ink); border:1px solid var(--ink); border-left:.28rem solid var(--orange); background:color-mix(in srgb,var(--sage) 62%,var(--white)); box-shadow:.35rem .35rem 0 var(--blue); transition:color .25s,background .25s,transform .25s,box-shadow .25s; }
.project-form__email-route > span { display:flex; flex-direction:column; min-width:0; }
.project-form__email-route small { margin-bottom:.26rem; color:var(--blue); font-family:var(--mono); font-size:.5rem; font-style:normal; letter-spacing:.08em; text-transform:uppercase; }
.project-form__email-route strong { font-family:var(--display); font-size:1rem; line-height:1.05; }
.project-form__email-route em { margin-top:.3rem; overflow:hidden; font-family:var(--mono); font-size:.51rem; font-style:normal; letter-spacing:.01em; text-overflow:ellipsis; white-space:nowrap; }
.project-form__email-route svg { width:1.1rem; height:1.1rem; flex:0 0 auto; transition:transform .25s; }
.project-form__email-route:hover,.project-form__email-route:focus-visible { color:white; background:var(--ink); box-shadow:.35rem .35rem 0 var(--orange); transform:translateY(-2px); }
.project-form__email-route:hover small,.project-form__email-route:focus-visible small { color:var(--orange); }
.project-form__email-route:hover svg,.project-form__email-route:focus-visible svg { transform:translateX(.25rem); }
.project-choices { display:grid; gap:.7rem; }
.project-choices--services { grid-template-columns:repeat(2,minmax(0,1fr)); }
.project-choices label { position:relative; min-width:0; cursor:pointer; }
.project-choices input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.project-choices label > span { display:flex; flex-direction:column; min-height:7.2rem; padding:1rem; border:1px solid var(--line); background:var(--white); transition:color .25s,background .25s,border-color .25s,transform .25s; }
.project-choices label:hover > span { border-color:var(--blue); transform:translateY(-2px); }
.project-choices input:focus-visible + span { outline:3px solid var(--orange); outline-offset:3px; }
.project-choices input:checked + span { color:white; border-color:var(--blue); background:var(--blue); }
.project-choices small { margin-bottom:.65rem; color:var(--blue); font-family:var(--mono); font-size:.58rem; letter-spacing:.06em; text-transform:uppercase; }
.project-choices input:checked + span small { color:white; }
.project-choices strong { font-family:var(--display); font-size:clamp(1.05rem,1.4vw,1.35rem); font-weight:600; line-height:1.12; letter-spacing:-.025em; }
.project-choices em { margin-top:auto; padding-top:.65rem; color:inherit; font-family:var(--body); font-size:.72rem; line-height:1.35; opacity:.72; }
.project-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.project-form__group--wide,.project-field--wide { grid-column:1/-1; }
.project-form__label,.project-field > span { display:block; margin-bottom:.45rem; font-family:var(--mono); font-size:.62rem; letter-spacing:.06em; text-transform:uppercase; }
.project-choices--compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.project-choices--compact label > span { min-height:5.4rem; }
.project-choices--compact em { padding-top:.35rem; }
.project-field input,.project-field select,.project-field textarea { width:100%; color:var(--ink); border:1px solid var(--line); border-radius:0; background:var(--white); font:inherit; font-size:.9rem; }
.project-field input,.project-field select { min-height:3.25rem; padding:.75rem .85rem; }
.project-field textarea { min-height:6.4rem; padding:.75rem .85rem; resize:vertical; }
.project-field input:focus,.project-field select:focus,.project-field textarea:focus { border-color:var(--blue); outline:2px solid color-mix(in srgb,var(--blue) 25%,transparent); outline-offset:0; }
.project-field > span small { color:color-mix(in srgb,var(--ink) 58%,transparent); font-size:.55rem; }
.project-consent { display:grid; grid-template-columns:auto 1fr; gap:.65rem; align-items:start; font-size:.72rem; line-height:1.45; }
.project-consent input { width:1rem; height:1rem; margin-top:.12rem; accent-color:var(--blue); }
.project-consent a { color:var(--blue); text-decoration:underline; text-underline-offset:2px; }
.project-honeypot { position:absolute; left:-9999px; }
.project-form__human { padding:.9rem 1rem; border:1px solid var(--line); background:color-mix(in srgb,var(--sage) 52%,white); }
.project-form__human[hidden] { display:none; }
.project-form__human > small { display:block; margin-top:.55rem; color:color-mix(in srgb,var(--ink) 65%,transparent); font-size:.65rem; line-height:1.4; }
.project-form__human iframe { max-width:100%; }
.project-form__nav { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1rem; margin-top:auto; padding-top:1.5rem; border-top:1px solid var(--line); }
.project-form__nav > span { justify-self:center; font-family:var(--mono); font-size:.6rem; letter-spacing:.07em; text-transform:uppercase; opacity:.58; }
.project-form__nav button { display:inline-flex; align-items:center; justify-content:space-between; gap:1rem; min-height:3.3rem; padding:.75rem 1rem; border:1px solid var(--ink); background:transparent; font-family:var(--mono); font-size:.66rem; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; transition:color .25s,background .25s,transform .25s; }
.project-form__nav button svg { width:1.1rem; height:1.1rem; }
.project-form__nav button:hover { color:white; background:var(--ink); transform:translateY(-2px); }
.project-form__back svg { transform:rotate(180deg); }
.project-form__next,.project-form__submit { grid-column:3; color:white; background:var(--ink) !important; }
.project-form__next:hover,.project-form__submit:hover { background:var(--blue) !important; }
.project-form__nav button[hidden] { display:none; }
.project-form.is-complete { justify-content:center; text-align:center; }
.project-form.is-complete .project-form__step,.project-form.is-complete .project-form__nav,.project-form.is-complete .project-form__status { display:none; }
.project-form__complete { width:100%; max-width:48rem; margin:auto; text-align:left; }
.project-form__complete > span { color:var(--blue); font-family:var(--mono); font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; }
.project-form__complete h3 { margin:.7rem 0 .65rem; font-size:clamp(2.2rem,4vw,3.65rem); }
.project-form__complete > p { max-width:39rem; margin-bottom:1.35rem; }
.project-form__complete a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.project-form__complete-booking { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.25rem; align-items:center; margin-top:1.35rem; padding:1.15rem; border:1px solid var(--ink); background:var(--sage); box-shadow:.35rem .35rem 0 var(--blue); }
.project-form__complete-booking > div { display:flex; flex-direction:column; gap:.4rem; }
.project-form__complete-booking small { color:var(--blue); font-family:var(--mono); font-size:.58rem; letter-spacing:.07em; text-transform:uppercase; }
.project-form__complete-booking strong { max-width:27rem; font-family:var(--display); font-size:clamp(1.1rem,1.8vw,1.45rem); font-weight:600; line-height:1.12; letter-spacing:-.025em; }
.project-form__complete-booking .button { flex:none; min-width:14.5rem; color:white; background:var(--ink); cursor:pointer; }
.project-form__calendly-notice { margin:.85rem 0 0 !important; color:color-mix(in srgb,var(--ink) 72%,transparent); font-size:.68rem; line-height:1.45; }
.project-form__edit { display:inline-flex; align-items:center; gap:.65rem; margin-top:.9rem; padding:.5rem 0; color:var(--ink); border:0; border-bottom:1px solid currentColor; background:transparent; font-family:var(--mono); font-size:.58rem; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; transition:color .2s,gap .2s; }
.project-form__edit svg { width:1rem; height:1rem; transform:rotate(180deg); }
.project-form__edit:hover,.project-form__edit:focus-visible { gap:.85rem; color:var(--blue); }
.project-form__email-fallback { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.25rem; align-items:center; margin:1.35rem 0 0; padding:1.15rem; color:var(--ink) !important; border:1px solid var(--ink); background:var(--white); box-shadow:.35rem .35rem 0 var(--orange); text-decoration:none !important; }
.project-form__email-fallback[hidden] { display:none; }
.project-form__email-fallback > div { display:flex; flex-direction:column; gap:.4rem; }
.project-form__email-fallback small { color:var(--orange); font-family:var(--mono); font-size:.58rem; letter-spacing:.07em; text-transform:uppercase; }
.project-form__email-fallback strong { max-width:28rem; font-family:var(--display); font-size:clamp(1.1rem,1.8vw,1.45rem); font-weight:600; line-height:1.12; letter-spacing:-.025em; }
.project-form__email-fallback > span { display:inline-flex; align-items:center; gap:.65rem; min-height:3.1rem; padding:.75rem 1rem; color:white; background:var(--ink); font-family:var(--mono); font-size:.62rem; letter-spacing:.04em; text-transform:uppercase; }
.project-form__email-fallback svg { width:1rem; height:1rem; }

.calendly-dialog { width:min(76rem,calc(100vw - 2.5rem)); height:min(52rem,calc(100svh - 2.5rem)); max-width:none; max-height:none; padding:0; color:var(--ink); border:1px solid var(--ink); background:var(--paper); box-shadow:.8rem .8rem 0 var(--blue); overflow:hidden; }
.calendly-dialog[open] { display:grid; grid-template-columns:minmax(17rem,.38fr) minmax(0,1fr); grid-template-rows:auto 1fr; }
.calendly-dialog::backdrop { background:rgba(9,26,22,.72); backdrop-filter:blur(3px); }
.calendly-dialog__close { position:absolute; z-index:5; top:.85rem; right:.85rem; display:flex; align-items:center; gap:.65rem; min-height:2.6rem; padding:.55rem .7rem .55rem .85rem; color:var(--ink); border:1px solid var(--ink); background:rgba(243,245,241,.94); font-family:var(--mono); font-size:.58rem; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; }
.calendly-dialog__close b { font-family:var(--body); font-size:1.3rem; font-weight:400; line-height:.7; }
.calendly-dialog__close:hover,.calendly-dialog__close:focus-visible { color:white; background:var(--ink); }
.calendly-dialog__head { grid-row:1/-1; padding:clamp(2rem,4vw,3.5rem); color:white; background:var(--ink); }
.calendly-dialog__head .eyebrow { color:var(--orange); }
.calendly-dialog__head h2 { margin:.9rem 0 2rem; font-size:clamp(3rem,5vw,5.2rem); line-height:.86; }
.calendly-dialog__head h2 em { color:var(--orange); font-style:normal; }
.calendly-dialog__head > p { max-width:20rem; color:rgba(255,255,255,.78); font-size:.9rem; line-height:1.55; }
.calendly-dialog__status { grid-column:2; align-self:start; margin:1.15rem 4.75rem .25rem 1.25rem; padding:.65rem .8rem; color:var(--blue); border:1px solid var(--blue); background:var(--white); font-family:var(--mono); font-size:.62rem; letter-spacing:.04em; text-transform:uppercase; }
.calendly-dialog__status[hidden] { display:none; }
.calendly-dialog.is-booked .calendly-dialog__status { color:white; border-color:var(--blue); background:var(--blue); }
.calendly-dialog__embed { grid-column:2; min-width:320px; min-height:0; height:100%; overflow:auto; }
.calendly-dialog__embed .calendly-inline-widget,.calendly-dialog__embed iframe { width:100% !important; min-width:320px; height:100% !important; min-height:41rem; }
.calendly-dialog__fallback { grid-column:2; align-self:center; max-width:34rem; margin:auto; padding:2rem; text-align:center; }
.calendly-dialog__fallback[hidden] { display:none; }
.calendly-dialog__fallback a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }

.site-footer { padding: clamp(5rem, 9vw, 9rem) var(--gutter) 2rem; color: white; background: var(--ink); }
.site-footer--compact { padding-top:clamp(3.5rem,5vw,5rem); }
.footer__lead { max-width: var(--max); margin: 0 auto 8rem; }.footer__lead h2 { max-width: 66rem; }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 3rem; max-width: var(--max); margin: 0 auto 5rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.2); }.footer__grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }.footer__grid a { display: inline-flex; gap: .5rem; align-items: center; }.footer__grid svg { width: 1rem; height: 1rem; fill: currentColor; }.footer__label { color: var(--orange); font-family: var(--mono); font-size: .65rem; text-transform: uppercase; }
.footer__bottom { display: flex; justify-content: space-between; gap: 2rem; max-width: var(--max); margin: 0 auto; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.2); font-family: var(--mono); font-size: .62rem; text-transform: uppercase; }.footer__bottom span:last-child { display: flex; flex-wrap: wrap; gap: 1.3rem; }

.page-hero { display: grid; grid-template-columns: 1.55fr .45fr; gap: 4rem; align-items: end; min-height: 78svh; max-width: var(--max); margin: 0 auto; padding: 10rem var(--gutter) 5rem; }

.not-found { color:white; background:var(--ink); }
.not-found__stage { position:relative; display:grid; grid-template-columns:minmax(18rem,.72fr) minmax(24rem,1fr); gap:clamp(2rem,7vw,8rem); align-items:center; min-height:100svh; max-width:var(--max); margin:0 auto; padding:clamp(9rem,15vh,12rem) var(--gutter) clamp(5rem,9vh,8rem); overflow:hidden; }
.not-found__code { position:relative; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:var(--paper); font-family:var(--display); font-size:clamp(8rem,18vw,19rem); font-weight:700; line-height:.7; letter-spacing:-.1em; }
.not-found__code i { width:clamp(3.5rem,7vw,7rem); height:clamp(3.5rem,7vw,7rem); margin:0 .3em; border:clamp(.55rem,1vw,1rem) solid var(--blue); border-top-color:var(--orange); border-radius:50%; }
.not-found__copy { position:relative; z-index:1; }
.not-found__copy .eyebrow { color:var(--orange); }
.not-found__copy h1 { max-width:45rem; margin:.8rem 0 1.6rem; font-size:clamp(4rem,7.5vw,8rem); line-height:.82; }
.not-found__copy h1 em { color:var(--orange); font-style:normal; }
.not-found__copy > p { max-width:39rem; color:rgba(255,255,255,.78); font-size:clamp(.95rem,1.25vw,1.15rem); line-height:1.65; }
.not-found__copy .button-row { margin-top:2rem; }
.not-found__copy .button--primary { color:var(--ink); background:var(--paper); }
.not-found__copy .button--light { color:white; border-color:rgba(255,255,255,.65); background:transparent; }
.not-found__copy .button--text { color:white; }
.not-found__note { position:absolute; right:var(--gutter); bottom:2rem; display:flex; flex-direction:column; gap:.35rem; padding-left:1rem; border-left:2px solid var(--blue); }
.not-found__note span { color:var(--orange); font-family:var(--mono); font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; }
.not-found__note strong { font-size:.78rem; line-height:1.35; }
.page-hero h1 { margin-bottom: 1.8rem; }.page-hero > div:first-child > p:last-child { max-width: 48rem; font-size: clamp(1.1rem,1.7vw,1.5rem); }
.page-hero__aside { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; padding: 1.4rem; border-left: 3px solid var(--orange); font-family: var(--mono); font-size: .76rem; }.page-hero__aside strong { font-family: var(--display); font-size: 1.6rem; line-height: 1.2; }.page-hero__aside a { display:flex; align-items:center; gap:1rem; }.page-hero__aside svg { margin-left:auto; }
.audience-band, .principles { display: grid; grid-template-columns: repeat(3, 1fr); color: white; background: var(--blue); }.audience-band span, .principles span { padding: 2rem var(--gutter); border-right: 1px solid rgba(255,255,255,.3); font-family: var(--display); font-size: clamp(1.1rem,2vw,1.8rem); text-align: center; }
.course-list { max-width: var(--max); margin: 0 auto; }.course { display: grid; grid-template-columns: .28fr minmax(0,1.5fr) minmax(15rem,.52fr); gap: 3rem; align-items: start; padding: 4rem 0; border-top: 1px solid var(--line); }.course__number { color: var(--orange); font-family: var(--display); font-size: 4rem; line-height: 1; }.course h2 { font-size: clamp(2rem,4vw,4.8rem); }.course__aside { display:grid; gap:1.25rem; align-content:start; }.course__aside .button { width:100%; }.course__symbol { position:relative; display:grid; place-items:center; aspect-ratio:1; min-height:15rem; overflow:hidden; border:1px solid var(--ink); background-color:var(--sage); background-image:linear-gradient(rgba(49,86,216,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(49,86,216,.11) 1px,transparent 1px); background-size:2rem 2rem; }.course__symbol img { position:relative; width:112%; height:112%; max-width:none; object-fit:contain; filter:drop-shadow(0 1rem 1.25rem rgba(18,34,31,.18)); }.course:first-child .course__symbol img { transform:translateY(-3%) scale(.94); }.chips { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.5rem; }.chips span { padding:.35rem .6rem; border:1px solid var(--line); border-radius:99px; font-family:var(--mono); font-size:.62rem; text-transform:uppercase; }
.course-list { scroll-margin-top: 4.35rem; }
.hackathon { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(3rem,8vw,9rem); background:var(--sage); }.hackathon__visual { display:flex; align-items:center; justify-content:center; min-height:28rem; padding:2rem; background:var(--ink); color:white; font-family:var(--mono); font-size:.7rem; text-transform:uppercase; }.hackathon__visual span { display:grid; place-items:center; width:7rem; aspect-ratio:1; border:2px solid var(--orange); border-radius:50%; }.hackathon__visual span:last-child { border-color:var(--blue); }.hackathon__visual i { width:4rem; height:2px; background:white; }
.phase-section { background:var(--white); }.phase-list { max-width:var(--max); margin:0 auto; }.phase { position:relative; display:grid; grid-template-columns:.4fr 1fr 1.2fr; gap:2rem; padding:2.4rem 0; border-top:1px solid var(--line); overflow:hidden; }.phase > span { font-family:var(--mono); font-size:.67rem; text-transform:uppercase; }.phase h3,.phase p { margin:0; }.phase i { position:absolute; left:0; bottom:0; width:0; height:3px; background:var(--orange); transition:width .5s; }.phase:hover i { width:100%; }
.reference-featured { padding-top:clamp(2rem,5vw,5rem); }
.reference-featured__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; max-width:var(--max); margin:0 auto; }
.reference-featured .feature-card { min-height:35rem; }
.reference-featured .link-window__media { height:19rem; background:var(--white); }
.reference-featured .link-window__media img { object-fit:contain; }
.reference-featured .link-window__copy { min-height:14.5rem; }
.reference-featured .link-window__copy h3 { font-size:clamp(1.7rem,2.5vw,3rem); }
.reference-library-section { overflow:hidden; }
.reference-library__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,1.8vw,1.6rem); max-width:var(--max); margin:0 auto; }
.reference-card { display:block; min-width:0; padding:0; color:var(--ink); border:0; background:transparent; font:inherit; text-align:left; cursor:pointer; }
.reference-card:focus-visible { outline:3px solid var(--orange); outline-offset:5px; }
.reference-card__visual { position:relative; aspect-ratio:4/5; overflow:hidden; border:1px solid var(--ink); background:var(--paper); box-shadow:.48rem .48rem 0 var(--blue); transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s cubic-bezier(.2,.8,.2,1); }
.reference-card:nth-child(even) .reference-card__visual { box-shadow:.48rem .48rem 0 var(--orange); }
.reference-card:hover .reference-card__visual,.reference-card:focus-visible .reference-card__visual { transform:translateY(-.35rem); box-shadow:.75rem .75rem 0 var(--blue); }
.reference-card:nth-child(even):hover .reference-card__visual,.reference-card:nth-child(even):focus-visible .reference-card__visual { box-shadow:.75rem .75rem 0 var(--orange); }
.reference-card__visual > img { position:absolute; inset:.75rem; width:calc(100% - 1.5rem); height:calc(100% - 1.5rem); object-fit:contain; background:white; transition:transform .65s cubic-bezier(.2,.8,.2,1); }
.reference-card:hover .reference-card__visual > img,.reference-card:focus-visible .reference-card__visual > img { transform:scale(1.035); }
.reference-card__number { position:absolute; z-index:2; left:0; top:0; padding:.58rem .72rem; color:var(--ink); border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); background:var(--paper); font-family:var(--mono); font-size:.58rem; letter-spacing:.07em; text-transform:uppercase; }
.reference-card__preview { position:absolute; z-index:3; inset:0; display:flex; flex-direction:column; padding:clamp(1.15rem,1.8vw,1.75rem); color:white; background:rgba(12,31,27,.97); opacity:0; transform:translateY(1.4rem); transition:opacity .3s ease,transform .46s cubic-bezier(.2,.8,.2,1); }
.reference-card:hover .reference-card__preview,.reference-card:focus-visible .reference-card__preview { opacity:1; transform:none; }
.reference-card__preview > span { margin-bottom:auto; color:var(--orange); font-family:var(--mono); font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; }
.reference-card__preview h3 { display:-webkit-box; margin:1.1rem 0 .75rem; overflow:hidden; font-size:clamp(1.45rem,2vw,2.2rem); line-height:1; text-wrap:balance; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.reference-card__preview p { display:-webkit-box; margin:0; overflow:hidden; font-size:.8rem; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.reference-card__preview b { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.2rem; padding-top:.9rem; border-top:1px solid rgba(255,255,255,.34); font-family:var(--mono); font-size:.62rem; font-weight:400; letter-spacing:.055em; text-transform:uppercase; }
.reference-card__preview b svg { width:1.15rem; height:1.15rem; transition:transform .25s ease; }
.reference-card:hover .reference-card__preview b svg,.reference-card:focus-visible .reference-card__preview b svg { transform:translateX(.25rem); }
.reference-dialog { width:min(92vw,78rem); height:min(88svh,52rem); max-width:none; max-height:none; padding:0; color:var(--ink); border:1px solid var(--ink); background:var(--paper); box-shadow:1rem 1rem 0 var(--blue); overflow:hidden; }
.reference-dialog[open] { display:grid; grid-template-columns:minmax(18rem,.78fr) minmax(0,1.22fr); }
.reference-dialog::backdrop { background:rgba(18,34,31,.72); backdrop-filter:blur(7px); }
.reference-dialog__close { position:absolute; z-index:3; right:1rem; top:1rem; display:flex; align-items:center; gap:.75rem; padding:.65rem .8rem; color:white; border:1px solid white; background:var(--ink); font-family:var(--mono); font-size:.65rem; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; }
.reference-dialog__close span { font-family:var(--body); font-size:1.4rem; line-height:.7; }
.reference-dialog__visual { display:grid; place-items:center; min-width:0; padding:clamp(1.5rem,3vw,3rem); background:var(--sage); overflow:hidden; }
.reference-dialog__visual img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 1.2rem 2rem rgba(18,34,31,.16)); }
.reference-dialog__content { padding:clamp(3.8rem,6vw,6rem) clamp(2rem,5vw,5rem) 3rem; overflow:auto; overscroll-behavior:contain; }
.reference-dialog__content > .eyebrow { margin-bottom:1.8rem; color:var(--blue); }
.reference-dialog__body { max-width:45rem; font-size:1.02rem; line-height:1.7; }
.reference-dialog__body p { margin:0; }
.reference-dialog__body a { color:var(--blue); font-weight:650; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.18em; }
.newsletter-feature { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(4rem,9vw,10rem); max-width:var(--max); margin:0 auto; }
.newsletter-stack { position:relative; min-height:39rem; }
.newsletter-stack img { position:absolute; left:50%; top:50%; width:min(55%,22rem); max-height:34rem; object-fit:contain; box-shadow:0 1.5rem 4rem rgba(18,34,31,.16); transform:translate(-50%,-50%) rotate(calc((var(--i) - 1) * 8deg)) translateX(calc((var(--i) - 1) * 3rem)); transition:transform .45s; }
.newsletter-stack:hover img { transform:translate(-50%,-50%) rotate(calc((var(--i) - 1) * 12deg)) translateX(calc((var(--i) - 1) * 5rem)); }
.newsletter-jump-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; margin-top:2rem; }
.newsletter-jump-links a { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:4.5rem; padding:1rem 1.15rem; border:1px solid var(--ink); background:var(--white); font-family:var(--mono); font-size:.72rem; letter-spacing:.045em; text-transform:uppercase; box-shadow:.35rem .35rem 0 color-mix(in srgb,var(--sage) 80%,transparent); transition:transform .25s, color .25s, background .25s, box-shadow .25s; }
.newsletter-jump-links a:last-child { color:white; border-color:var(--blue); background:var(--blue); box-shadow:.35rem .35rem 0 color-mix(in srgb,var(--orange) 72%,transparent); }
.newsletter-jump-links a:hover { transform:translateY(-3px); box-shadow:.55rem .55rem 0 color-mix(in srgb,var(--sage) 80%,transparent); }
.newsletter-jump-links a:last-child:hover { box-shadow:.55rem .55rem 0 color-mix(in srgb,var(--orange) 72%,transparent); }
.newsletter-jump-links svg { width:1.25rem; height:1.25rem; flex:0 0 auto; }
.issue-library { background:var(--white); scroll-margin-top:4.35rem; }
.issue-library--pdf { background:var(--sage); }
.issue-library__head { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr); gap:clamp(2rem,6vw,7rem); align-items:end; max-width:var(--max); margin:0 auto clamp(2.5rem,4vw,4rem); }
.issue-library__head .eyebrow { margin-bottom:.75rem; color:var(--blue); }
.issue-library--pdf .issue-library__head .eyebrow { color:var(--orange); }
.issue-library__head h2 { margin:0; font-size:clamp(3.4rem,6vw,7rem); }
.issue-library__head > p { max-width:32rem; margin:0; font-size:.94rem; line-height:1.6; }
.issue-library__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1rem,1.7vw,1.5rem); max-width:var(--max); margin:0 auto; }
.issue-card { display:block; min-width:0; color:var(--ink); }
.issue-card:focus-visible { outline:3px solid var(--orange); outline-offset:5px; }
.issue-card__visual { position:relative; aspect-ratio:5/7; overflow:hidden; border:1px solid var(--ink); background:color-mix(in srgb,var(--sage) 68%,var(--white)); box-shadow:.45rem .45rem 0 var(--blue); transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s cubic-bezier(.2,.8,.2,1); }
.issue-card--pdf .issue-card__visual { background:var(--white); box-shadow:.45rem .45rem 0 var(--orange); }
.issue-card:hover .issue-card__visual,.issue-card:focus-visible .issue-card__visual { transform:translateY(-.35rem); box-shadow:.72rem .72rem 0 var(--blue); }
.issue-card--pdf:hover .issue-card__visual,.issue-card--pdf:focus-visible .issue-card__visual { box-shadow:.72rem .72rem 0 var(--orange); }
.issue-card__art { position:absolute; inset:.8rem; display:grid; place-items:center; overflow:hidden; background:var(--paper); }
.issue-card__art img { width:100%; height:100%; object-fit:contain; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.issue-card--wide-cover .issue-card__art img { width:140%; max-width:none; }
.issue-card:hover .issue-card__art img,.issue-card:focus-visible .issue-card__art img { transform:scale(1.035); }
.issue-card--pdf .issue-card__art { inset:.65rem; }
.issue-card--pdf .issue-card__art img { position:absolute; left:0; top:0; width:104.8%; height:103.2%; max-width:none; object-fit:cover; object-position:left top; }
.issue-card--pdf:hover .issue-card__art img,.issue-card--pdf:focus-visible .issue-card__art img { transform:scale(1.025); }
.issue-card__number { position:absolute; z-index:2; left:0; top:0; padding:.58rem .72rem; color:var(--ink); border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); background:var(--paper); font-family:var(--mono); font-size:.58rem; letter-spacing:.07em; text-transform:uppercase; }
.issue-card__preview { position:absolute; z-index:3; inset:0; display:flex; flex-direction:column; padding:clamp(1.15rem,1.8vw,1.65rem); color:white; background:rgba(12,31,27,.97); opacity:0; transform:translateY(1.4rem); transition:opacity .3s ease,transform .46s cubic-bezier(.2,.8,.2,1); }
.issue-card--pdf .issue-card__preview { background:rgba(49,86,216,.97); }
.issue-card:hover .issue-card__preview,.issue-card:focus-visible .issue-card__preview { opacity:1; transform:none; }
.issue-card__preview > span { margin-bottom:auto; color:var(--orange); font-family:var(--mono); font-size:.57rem; letter-spacing:.08em; text-transform:uppercase; }
.issue-card--pdf .issue-card__preview > span { color:white; opacity:.78; }
.issue-card__preview h3 { margin:1.2rem 0 .75rem; font-size:clamp(1.35rem,1.75vw,1.9rem); line-height:1; text-wrap:balance; }
.issue-card__preview p { margin:0; font-size:.78rem; line-height:1.45; }
.issue-card__preview b { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.2rem; padding-top:.9rem; border-top:1px solid rgba(255,255,255,.34); font-family:var(--mono); font-size:.62rem; font-weight:400; letter-spacing:.055em; text-transform:uppercase; }
.issue-card__preview b svg { width:1.15rem; height:1.15rem; transition:transform .25s ease; }
.issue-card:hover .issue-card__preview b svg,.issue-card:focus-visible .issue-card__preview b svg { transform:translateX(.25rem); }
.newsletter-signup { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; color:white; background:var(--blue); }
.newsletter-signup h2 { margin:0; }
.newsletter-signup > div:last-child { max-width:32rem; }
.article-river-section { padding-top:clamp(2rem,5vw,5rem); overflow:clip; }
.article-river { position:relative; height:calc(var(--article-count) * 68vh + 58vh); max-width:var(--max); margin:0 auto; }
.article-stage { position:sticky; top:5.35rem; height:calc(100svh - 6.35rem); min-height:40rem; max-height:54rem; overflow:hidden; color:white; background:var(--ink); box-shadow:.9rem .9rem 0 var(--blue); }
.article-stage__slides { position:absolute; inset:0; }
.article-slide { position:absolute; inset:0; display:grid; grid-template-columns:minmax(20rem,.95fr) minmax(0,1.05fr); width:100%; padding:0; color:inherit; border:0; background:transparent; font:inherit; text-align:left; cursor:pointer; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .28s ease,visibility 0s .75s; }
.article-slide.is-active { z-index:1; opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
.article-slide__visual { position:relative; min-width:0; margin:clamp(2rem,5vw,5rem); overflow:visible; clip-path:inset(0 100% 0 0); transform:translateX(-2rem) rotate(-1.2deg); transition:clip-path .78s cubic-bezier(.2,.8,.2,1),transform .78s cubic-bezier(.2,.8,.2,1); }
.article-slide.is-active .article-slide__visual { clip-path:inset(-2rem -3rem -2rem -2rem); transform:none; }
.article-slide__visual img { position:absolute; inset:0; z-index:calc(5 - var(--stack-index)); width:100%; height:100%; padding:clamp(.65rem,1.2vw,1rem); object-fit:contain; border:1px solid rgba(18,34,31,.25); background:white; box-shadow:0 1.25rem 2.5rem rgba(0,0,0,.28); transform:translate(calc(var(--stack-index) * .8rem),calc(var(--stack-index) * -.65rem)) rotate(calc(var(--stack-index) * 1.7deg)); transform-origin:center; }
.article-slide__visual span { position:absolute; z-index:8; left:1rem; bottom:1rem; padding:.55rem .7rem; color:var(--ink); background:var(--orange); font-family:var(--mono); font-size:.62rem; letter-spacing:.06em; text-transform:uppercase; }
.article-slide__copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-width:0; padding:clamp(3rem,6vw,6rem) clamp(3rem,6vw,6.5rem) clamp(3rem,6vw,6rem) clamp(1rem,2vw,2rem); }
.article-slide__copy > * { opacity:0; transform:translateX(2.2rem); transition:opacity .4s ease,transform .65s cubic-bezier(.2,.8,.2,1); }
.article-slide.is-active .article-slide__copy > * { opacity:1; transform:none; }
.article-slide.is-active .article-slide__copy h2 { transition-delay:.08s; }.article-slide.is-active .article-slide__copy p { transition-delay:.14s; }.article-slide.is-active .article-slide__copy b { transition-delay:.2s; }
.article-slide__copy > span { margin-bottom:1.25rem; color:var(--orange); font-family:var(--mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.article-slide__copy h2 { display:-webkit-box; max-width:44rem; margin-bottom:1.35rem; overflow:hidden; color:white; font-size:clamp(2rem,3.25vw,4rem); line-height:.98; text-wrap:balance; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.article-slide__copy p { display:-webkit-box; max-width:38rem; margin-bottom:2rem; overflow:hidden; color:rgba(255,255,255,.77); font-size:clamp(.98rem,1.3vw,1.2rem); line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.article-slide__copy b { display:inline-flex; align-items:center; justify-content:space-between; gap:1.5rem; width:fit-content; min-width:min(100%,18rem); padding:1.15rem 1.3rem; color:var(--ink); border:1px solid var(--orange); background:var(--orange); box-shadow:.45rem .45rem 0 var(--blue); font-family:var(--mono); font-size:.75rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase; }
.article-slide__copy b svg { width:1.35rem; }
.article-reading-rail { position:absolute; z-index:4; left:.85rem; top:10%; bottom:10%; width:2px; background:rgba(255,255,255,.18); }
.article-reading-rail span { display:block; width:100%; height:100%; background:linear-gradient(var(--orange),var(--blue)); transform:scaleY(0); transform-origin:top; }
.article-reading-rail b { position:absolute; left:.8rem; bottom:0; font-family:var(--mono); font-size:.56rem; font-weight:400; letter-spacing:.1em; text-transform:uppercase; writing-mode:vertical-rl; }
.article-dialog { width:min(94vw,84rem); height:min(90svh,54rem); max-width:none; max-height:none; padding:0; color:var(--ink); border:1px solid var(--ink); background:var(--paper); box-shadow:1rem 1rem 0 var(--orange); overflow:hidden; }
.article-dialog[open] { display:grid; grid-template-columns:minmax(20rem,.82fr) minmax(0,1.18fr); }
.article-dialog::backdrop { background:rgba(18,34,31,.76); backdrop-filter:blur(8px); }
.article-dialog__close { position:absolute; z-index:5; right:1rem; top:1rem; display:flex; align-items:center; gap:.75rem; padding:.65rem .8rem; color:white; border:1px solid white; background:var(--ink); font-family:var(--mono); font-size:.65rem; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; }
.article-dialog__close span { font-family:var(--body); font-size:1.4rem; line-height:.7; }
.article-dialog__gallery { display:grid; grid-auto-flow:column; grid-auto-columns:92%; align-items:center; gap:1rem; min-width:0; padding:clamp(1.5rem,3vw,3rem); background:var(--ink); overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-color:var(--orange) transparent; }
.article-dialog__gallery figure { display:grid; place-items:center; width:100%; height:100%; margin:0; scroll-snap-align:center; }
.article-dialog__gallery img { width:100%; height:100%; max-height:100%; padding:.75rem; object-fit:contain; background:white; box-shadow:0 1rem 2rem rgba(0,0,0,.24); }
.article-dialog__content { padding:clamp(3.8rem,6vw,6rem) clamp(2rem,5vw,5rem) 3rem; overflow:auto; overscroll-behavior:contain; }
.article-dialog__content > .eyebrow { margin-bottom:1.8rem; color:var(--orange); }
.article-dialog__body { max-width:46rem; font-size:1.02rem; line-height:1.7; }
.article-dialog__body h1,.article-dialog__body h2,.article-dialog__body h3 { margin:0 0 1.4rem; font-size:clamp(2rem,3vw,3.5rem); }
.article-dialog__body p { margin:0; }.article-dialog__body p + p { margin-top:1rem; }
.article-dialog__body a { color:var(--blue); font-weight:650; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.18em; }
.archive-note { text-align:center; }.archive-note h2 { max-width:65rem; margin:0 auto 3rem; }
.about-main { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(3rem,8vw,9rem); align-items:center; max-width:var(--max); margin:0 auto; }.about-main__visual { min-height:40rem; overflow:hidden; background:var(--sage); }.about-main__visual img { width:100%; height:100%; min-height:40rem; object-fit:cover; object-position:center; }.timeline-section > div:first-child { max-width:var(--max); margin:0 auto; }.career-story { position:relative; height:330vh; max-width:var(--max); margin:0 auto; }.career-stage { position:sticky; top:5.35rem; display:grid; grid-template-columns:4rem 1fr; gap:clamp(1.5rem,4vw,4rem); align-items:center; height:calc(100svh - 6.35rem); min-height:38rem; max-height:52rem; padding:clamp(2rem,5vw,5rem); border:1px solid var(--ink); background:var(--white); overflow:hidden; }.career-progress { position:relative; justify-self:center; width:2px; height:78%; background:var(--line); }.career-progress span { display:block; width:100%; height:100%; background:linear-gradient(var(--blue),var(--orange)); transform:scaleY(0); transform-origin:top; }.career-progress i { position:absolute; left:50%; top:0; width:1.2rem; height:1.2rem; border:3px solid var(--white); border-radius:50%; background:var(--blue); box-shadow:0 0 0 1px var(--ink); transform:translate(-50%,-50%); transition:top .15s linear; }.career-items { display:grid; grid-template-rows:repeat(4,minmax(0,1fr)); height:100%; min-height:0; }.career-item { display:grid; grid-template-columns:.32fr minmax(0,1fr) auto; gap:2rem; align-items:center; min-height:0; padding:.75rem 0; overflow:hidden; border-top:1px solid var(--line); opacity:.28; transform:translateX(-1rem); transition:opacity .35s, transform .45s, color .35s; }.career-item:last-child { border-bottom:1px solid var(--line); }.career-item.is-active { color:var(--blue); opacity:1; transform:none; }.career-item > span,.career-item > b { font-family:var(--mono); font-size:.64rem; line-height:1.45; letter-spacing:.05em; text-transform:uppercase; }.career-item strong { display:block; font-family:var(--display); font-size:clamp(1.45rem,2.55vw,3rem); line-height:1; letter-spacing:-.04em; }.career-item p { margin:.3rem 0 0; color:var(--ink); font-size:.8rem; line-height:1.35; }.career-points { display:flex; flex-wrap:wrap; gap:.3rem .45rem; max-height:0; margin:0; padding:0; overflow:hidden; list-style:none; opacity:0; transform:translateY(.45rem); transition:max-height .5s cubic-bezier(.2,.8,.2,1),opacity .32s,transform .42s cubic-bezier(.2,.8,.2,1),margin .42s; }.career-item.is-active .career-points { max-height:5.5rem; margin-top:.55rem; opacity:1; transform:none; }.career-points li { padding:.2rem .42rem; color:var(--ink); border-left:2px solid var(--orange); background:color-mix(in srgb,var(--sage) 44%,transparent); font-family:var(--mono); font-size:.55rem; line-height:1.35; }.working-style > div:last-child { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); max-width:var(--max); margin:auto; }.working-style article { min-width:0; min-height:17rem; padding:1.4rem; border:1px solid rgba(18,34,31,.2); overflow-wrap:anywhere; }.working-style article span { display:block; margin-bottom:6rem; font-family:var(--mono); color:var(--blue); }
.flow-page { display:grid; place-items:center; align-content:center; min-height:100svh; padding:7rem var(--gutter); text-align:center; background:var(--white); }.flow-page img { width:16rem; margin-bottom:3rem; filter:invert(1); }.flow-page h1 { font-size:clamp(3.6rem,9vw,9rem); }.legal-copy { max-width:62rem; margin:0 auto; }.legal-copy h2 { margin-top:3rem; font-size:clamp(1.5rem,3vw,2.5rem); }.legal-copy a { color:var(--blue); text-decoration:underline; }
.loading-shell { display:grid; place-items:center; min-height:100svh; font-family:var(--mono); }

/* Wide desktop: the laptop composition remains the baseline while stages and
   visual fields gain space on large monitors. Reading widths stay bounded. */
@media (min-width: 1600px) {
  .site-header { min-height: 6rem; gap: clamp(1.5rem, 2.2vw, 3rem); }
  .site-header.is-scrolled { min-height: 4.8rem; }
  .brand { width: clamp(7.25rem, 6.4vw, 8.5rem); }
  .desktop-nav { gap: clamp(1.2rem, 1.45vw, 2rem); font-size: clamp(.68rem, .56vw, .76rem); }
  .header-actions { gap: .75rem; }
  .header-linkedin { width: 3rem; height: 3rem; }
  .header-linkedin svg { width: 1.15rem; height: 1.15rem; }
  .header-cta { min-height: 3rem; padding: .75rem 1rem .75rem 1.15rem; font-size: .72rem; }

  .eyebrow { font-size: clamp(.72rem, .55vw, .82rem); }
  .lead { font-size: clamp(2.5rem, 2.25vw, 3.25rem); }
  .button { font-size: clamp(.73rem, .58vw, .84rem); }

  .hero { grid-template-columns: minmax(0, 1.12fr) minmax(32rem, .88fr); column-gap: clamp(6rem, 7vw, 9rem); padding-top: 9rem; padding-bottom: 4.5rem; }
  .hero-title__ki { font-size: clamp(6.4rem, 5.5vw, 8rem); }
  .hero-title__topic { font-size: clamp(3rem, 2.65vw, 3.5rem); }
  .hero__copy { margin-top: clamp(2.4rem, 2.5vw, 3.25rem); }
  .hero__intro { max-width: 55rem; font-size: clamp(1.52rem, 1.28vw, 1.78rem); }
  .hero .button-row { max-width: 55rem; gap: 1rem; margin-top: 2.4rem; }
  .hero .button { min-height: 5rem; padding: 1.25rem 1.45rem; font-size: clamp(.88rem, .67vw, .96rem); }
  .hero__note { left: -3rem; max-width: 18rem; padding: 1.2rem 1.4rem; }
  .hero__note strong { font-size: 1.2rem; }
  .co-path { inset: -2.5rem -2.5rem auto auto; width: 11rem; height: 11rem; }
  .co-path i, .co-path b { width: 8.75rem; height: 8.75rem; }
  .scroll-cue { font-size: .68rem; }

  .home-manifesto blockquote { max-width: 92rem; font-size: clamp(5.4rem, 4.35vw, 6.4rem); }
  .home-offer__intro > p:last-child { max-width: 34rem; font-size: 1.12rem; }
  .offer-row { min-height: 13rem; }
  .offer-row__content small { max-width: 46rem; font-size: 1rem; }
  .proof-strip span, .proof-strip p { font-size: .75rem; }

  .section-head { grid-template-columns: .62fr 1.68fr 1fr; gap: 3rem; }
  .section-head > p:last-child { max-width: 36rem; }
  .feature-card { min-height: 46rem; }
  .link-window__media { height: 29rem; }
  .link-window__copy { min-height: 15rem; padding: 2rem; }

  .course-studio-stage,
  .issue-stage,
  .article-stage { max-height: 60rem; }
  .course-studio-stage { height:clamp(38rem,58svh,44rem); }
  .course-studio-copy h3 { max-width: 45rem; }
  .course-studio-facts { max-width: 52rem; }
  .strategy-partnership__image { min-height: 48rem; }
  .strategy-partnership__image img { max-height: 56rem; }
  .vision__content { max-width: 62rem; }
  .delivery-mode { min-height: 24rem; }
  .delivery-mode h3 { max-width: 38rem; }
  .delivery-mode p { max-width: 40rem; }

  .testimonial-head h2 { max-width: 84rem; }
  .testimonial-scroll { max-width: 88rem; }
  .testimonial-stage { height: min(78svh, 52rem); min-height: 42rem; }
  .testimonial blockquote { max-width: 64rem; font-size: clamp(2.65rem, 2.25vw, 3.35rem); }

  .page-hero { grid-template-columns: 1.62fr .38fr; gap: 6rem; padding-top: 12rem; padding-bottom: 6rem; }
  .page-hero > div:first-child > p:last-child { max-width: 56rem; font-size: clamp(1.5rem, 1.25vw, 1.75rem); }
  .page-hero__aside { padding: 1.7rem; font-size: .82rem; }
  .page-hero__aside strong { font-size: 1.85rem; }

  .newsletter-stack { min-height: 45rem; }
  .newsletter-stack img { width: min(58%, 26rem); max-height: 39rem; }
  .about-main__visual, .about-main__visual img { min-height: 48rem; }
  .career-stage { max-height: 58rem; }
  .career-item p { font-size: 1rem; }
  .working-style article { min-height: 20rem; padding: 1.8rem; }
}

@media (max-width: 1180px) {
  .desktop-nav,.header-actions { display:none; }.site-header { grid-template-columns:1fr auto; }.menu-button { display:flex; flex-direction:column; justify-content:center; gap:5px; width:2.8rem; height:2.8rem; padding:.65rem; border:1px solid var(--ink); background:var(--paper); cursor:pointer; }.menu-button span:not(.sr-only) { display:block; width:100%; height:1px; background:var(--ink); }.mobile-nav { position:fixed; inset:5.2rem 0 auto; display:flex; flex-direction:column; padding:2rem var(--gutter) 3rem; background:var(--paper); border-bottom:1px solid var(--line); transform:translateY(-120%); opacity:0; pointer-events:none; transition:.35s; }.mobile-nav.is-open { transform:none; opacity:1; pointer-events:auto; }.mobile-nav a { display:flex; align-items:center; justify-content:space-between; padding:.85rem 0; border-bottom:1px solid var(--line); font-family:var(--display); font-size:1.35rem; }.mobile-nav svg { width:1.25rem; height:1.25rem; }.mobile-nav__cta { color:white; background:var(--blue); padding-inline:1rem !important; }
  .proof-strip { grid-template-columns:repeat(3,1fr); }.proof-strip p { grid-column:1/-1; text-align:center; }
  .home-offer__inner { grid-template-columns:minmax(15rem,.52fr) minmax(0,1.48fr); gap:3rem; }.offer-row { grid-template-columns:5.5rem minmax(0,1fr) auto; }.offer-row__action > span { display:none; }
  .section-head { grid-template-columns:.5fr 1.5fr; }.section-head > p:last-child { grid-column:2; }
  .editorial-grid { grid-template-columns:1fr 1fr; }
  .course-studio-slide { grid-template-columns:minmax(19rem,.85fr) minmax(0,1.15fr); }.course-studio-copy { padding:clamp(2rem,4vw,3.5rem); }.course-studio-copy h3 { font-size:clamp(3rem,6vw,5rem); }.course-studio-facts { grid-template-columns:1fr; }.course-studio-facts > div + div { padding-left:0; border-left:0; }
  .pricing__layout { grid-template-columns:1fr; gap:3.5rem; }.pricing__intro { position:static; }.pricing__intro h2 { max-width:56rem; }.pricing__intro .lead,.pricing__intro > p:last-child { max-width:46rem; }
  .faq__layout { grid-template-columns:minmax(15rem,.5fr) minmax(0,1.5fr); gap:3rem; }
  .project-inquiry__shell { grid-template-columns:11rem minmax(0,1fr); }
  .project-form { padding:2rem; }
  .strategy-partnership { gap:4rem; }.strategy-partnership__image { min-height:35rem; }
  .testimonial blockquote { max-width:55rem; }
  .issue-slide__copy { padding:clamp(2rem,4vw,4rem); }
  .issue-slide__copy h3 { font-size:clamp(2.5rem,5vw,4.4rem); }
  .reference-featured__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.reference-featured .feature-card:last-child { grid-column:1/-1; }
}

@media (max-width: 1180px) and (min-width: 761px) {
  .hero .hero-title { grid-template-columns:1fr; gap:1rem; }
  .hero-title__ki { justify-self:start; }
  .hero-title__topic { white-space:normal; }
  .co-path { right:0; }
  .hackathon { grid-template-columns:1fr; }
  .course-studio-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .course-studio-tab { min-height:17.5rem; padding:1rem; }
  .course-studio-tab .course-studio-tab__media { flex-basis:9.5rem; height:9.5rem; }
  .course-studio-tab small { font-size:.5rem; }
}

@media (max-width: 760px) {
  :root { --gutter: 1.15rem; }
  body { line-height:1.55; }
  .brand { width:5.7rem; }
  .hero { grid-template-columns:1fr; grid-template-rows:auto auto; align-content:center; min-height:auto; padding-top:8rem; }.hero__left,.hero__visual { grid-column:1; grid-row:auto; }.hero__left { margin-top:1.5rem; }.hero .hero-title { grid-template-columns:1fr; gap:.9rem; white-space:normal; }.hero-title__ki { justify-self:start; min-width:0; font-size:clamp(4.2rem,20vw,6rem); }.hero-title__topic { width:100%; padding:.35em .38em .42em; box-shadow:.42rem .42rem 0 var(--blue); font-size:clamp(2.4rem,11.5vw,4rem); line-height:.9; white-space:normal; }.hero__intro { font-size:1.12rem; }.hero .button-row { grid-template-columns:1fr; }.hero .button { min-height:4.25rem; }.hero__visual { justify-self:center; width:100%; min-height:34rem; margin-top:2rem; }.hero__note { left:0; bottom:3%; }.co-path { right:-.25rem; top:0; }.scroll-cue { display:none; }
  .home-offer { padding-block:4.5rem; }.home-offer__inner { grid-template-columns:1fr; gap:3rem; }.home-offer__intro { position:static; padding-left:1rem; }.home-offer__intro h2 { margin-bottom:1.25rem; font-size:clamp(3.4rem,17vw,5.5rem); }.offer-row { grid-template-columns:minmax(0,1fr) auto; gap:.8rem 1.2rem; min-height:10rem; padding:1.4rem 1.15rem 1.4rem 1.45rem; }.offer-row__purpose { grid-column:1/-1; }.offer-row__content strong { font-size:clamp(1.7rem,8vw,2.35rem); }.offer-row__content small { font-size:.8rem; }.offer-row__action > span { display:none; }.offer-row__action svg { width:1rem; height:1rem; padding:.8rem; }
  .proof-strip { grid-template-columns:1fr; }.proof-strip > * { border-right:0; border-bottom:1px solid rgba(18,34,31,.15); }.proof-strip p { grid-column:auto; }
  .section { padding-block:4.5rem; }.section-head { display:block; margin-bottom:3rem; }.section-head h2 { margin-bottom:1.5rem; }.section-head > p:last-child { max-width:100%; }
  .editorial-grid { grid-template-columns:1fr; }.feature-card { min-height:auto; }.link-window__media { height:19rem; }.link-window__copy { min-height:15rem; }.insight-link { grid-template-columns:1fr auto; gap:1rem; }.insight-link .tag { grid-column:1/-1; }.insight-link strong { font-size:1.55rem; }
  .course-studio-story { height:auto; }.course-studio-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin-bottom:.75rem; }.course-studio-tab { min-height:15.25rem; padding:.8rem .85rem .95rem; }.course-studio-tab span { margin-bottom:.25rem; font-size:.52rem; }.course-studio-tab strong { font-size:clamp(.95rem,5vw,1.2rem); }.course-studio-tab .course-studio-tab__media { flex-basis:7.5rem; height:7.5rem; margin:.4rem 0 .3rem; }.course-studio-tab small { font-size:.45rem; line-height:1.35; }.course-studio-stage { top:auto; height:52rem; min-height:0; max-height:none; box-shadow:.5rem .5rem 0 var(--orange); }.course-studio-slide { grid-template-columns:1fr; grid-template-rows:36% 64%; }.course-studio-visual { border-right:0; border-bottom:1px solid var(--ink); }.course-studio-visual > span { left:.8rem; top:.7rem; font-size:.54rem; }.course-studio-visual img { width:84%; height:84%; }.course-studio-copy { justify-content:flex-start; padding:1.25rem 1.35rem; }.course-studio-copy .eyebrow { margin-bottom:.45rem; }.course-studio-copy h3 { margin-bottom:.7rem; font-size:clamp(2.1rem,10vw,3rem); }.course-studio-facts { grid-template-columns:1fr; margin-bottom:.65rem; }.course-studio-facts > div { padding:.45rem 0; }.course-studio-facts > div + div { padding-left:0; border-left:0; }.course-studio-facts span { margin-bottom:.16rem; font-size:.52rem; }.course-studio-facts strong { font-size:.76rem; line-height:1.25; }.course-studio-topics { gap:.28rem; margin-bottom:.65rem; }.course-studio-topics span { padding:.22rem .38rem; font-size:.5rem; }.course-studio-copy .button { width:100%; margin-top:.1rem; padding:.72rem .9rem; min-height:3.35rem; font-size:.61rem; }
  .pricing__layout { gap:2.5rem; }.pricing__intro h2 { margin-bottom:1.5rem; font-size:clamp(3.1rem,15vw,5rem); }.pricing__intro .lead { font-size:1.35rem; }.pricing__sheet { box-shadow:.5rem .5rem 0 var(--blue); }.pricing__factor { grid-template-columns:1fr; gap:.4rem; min-height:0; padding:1.35rem; }.pricing__factor strong { font-size:1.5rem; }.pricing__factor p { font-size:.86rem; }.pricing__action { grid-template-columns:1fr; align-items:start; padding:1.4rem; }.pricing__action h3 { font-size:2rem; }.pricing__action .button { width:100%; min-width:0; }
  .vision { grid-template-columns:1fr; }.vision__rail { position:relative; top:auto; display:flex; align-items:center; gap:.7rem; height:auto; padding:0 0 3rem; }.vision__rail i { width:7rem; height:2px; margin:0; background:linear-gradient(90deg,var(--orange),var(--blue)); }
  .delivery-grid { grid-template-columns:1fr; }.delivery-mode { min-height:auto; }.delivery-mode__top { margin-bottom:2.5rem; }
  .testimonial-scroll { height:calc(var(--testimonial-count) * 50vh + 100vh); }.testimonial-stage { top:5rem; height:78svh; min-height:34rem; padding:1.35rem 3.4rem 9rem 1.35rem; box-shadow:.55rem .55rem 0 color-mix(in srgb, var(--sage) 70%, transparent); }.testimonial { padding:2.4rem .2rem; }.testimonial blockquote { font-size:clamp(1.02rem,4.35vw,1.32rem); line-height:1.2; }.testimonial figcaption { margin-top:1.1rem; font-size:.66rem; }.testimonial figcaption strong { font-size:.96rem; }.testimonial-slider { right:1.05rem; top:2.6rem; bottom:9.7rem; }.testimonial-slider > b { width:2.35rem; height:1.75rem; font-size:.62rem; }.testimonial-count { left:1rem; bottom:8.15rem; }.testimonial-count small { display:none; }.testimonial-more-callout { right:3.15rem; bottom:7.85rem; width:calc(100% - 4.15rem); padding:.82rem 2.7rem .82rem .9rem; box-shadow:.25rem .25rem 0 var(--orange); }.testimonial-more-callout strong { font-size:.9rem; }.testimonial-more-panel { left:.7rem; right:.7rem; top:5.5rem; bottom:auto; width:auto; max-height:calc(100svh - 6.3rem); box-shadow:.3rem .3rem 0 var(--orange); }.testimonial-more-panel__head { padding:.65rem .7rem; }.testimonial-more-panel__head strong { font-size:.9rem; }.testimonial-more-list figure { grid-template-columns:1fr; gap:.65rem; padding:.8rem .75rem; }.testimonial-more-list blockquote { font-size:.82rem; line-height:1.3; }.testimonial-more-list figcaption { font-size:.6rem; }.testimonial-more-list figcaption strong { font-size:.82rem; }.client-marquee { grid-template-columns:6.5rem minmax(0,1fr); height:7.25rem; }.client-marquee__label { padding:.7rem; font-size:.54rem; }.client-marquee__label strong { display:none; }.client-logo { width:11.5rem; height:7.25rem; padding:1rem 1.2rem; }.client-logo--compact { width:9.5rem; }.client-logo--square { width:7.5rem; }.client-logo--portrait { width:7.5rem; }.client-logo--wide { width:14rem; }.client-logo--consens { width:12rem; padding-inline:2.5rem; }.client-logo--erkelenz { width:7.5rem; padding:1.7rem 2rem; }.client-logo--wolfsburg { width:8.5rem; padding:1.45rem 2rem; }.client-logo--lwl { width:12rem; padding:1.8rem 2.7rem; }
  .about-teaser { grid-template-columns:1fr; }.about-teaser__image { min-height:31rem; }.about-teaser__image img { max-height:31rem; }
  .process { padding-block:3.5rem; }.process .section-head { margin-bottom:2rem; }.process .section-head h2 { margin-bottom:1rem; font-size:clamp(2.6rem,12vw,3.8rem); }.process .section-head > p:last-child { font-size:.9rem; }.process-steps { grid-template-columns:1fr; }.process-steps article { min-height:0; padding:1.1rem; }.process-steps article > span { margin-bottom:1.7rem; }
  .faq { padding-block:3.75rem; }.faq__layout { grid-template-columns:1fr; gap:2.5rem; }.faq__intro h2 { font-size:clamp(2.7rem,13vw,4.25rem); }.faq-item summary { grid-template-columns:2rem minmax(0,1fr) 1.4rem; gap:.7rem; min-height:4.7rem; }.faq-item > div { grid-template-columns:2rem minmax(0,1fr) 1.4rem; gap:.7rem; }.faq-item > div p { font-size:.84rem; }
  .project-inquiry { padding-block:3.75rem; }.project-inquiry__head { grid-template-columns:1fr; gap:1.35rem; margin-bottom:2.25rem; }.project-inquiry__head h2 { font-size:clamp(3rem,15vw,4.8rem); }.project-inquiry__path { margin-top:.35rem; }.project-inquiry__path > div { grid-template-columns:1.9rem minmax(0,1fr); gap:.6rem; padding:.72rem 0; }.project-inquiry__path p { font-size:.7rem; }.project-inquiry__path strong { font-size:.94rem; }.project-inquiry__shell { grid-template-columns:1fr; box-shadow:.45rem .45rem 0 var(--blue); }.project-inquiry__progress { min-height:0; padding:1rem; }.project-inquiry__progress > div { margin-bottom:.8rem; }.project-inquiry__progress > div strong { font-size:1.75rem; }.project-inquiry__progress ol { grid-template-columns:repeat(3,1fr); gap:.5rem; }.project-inquiry__progress li { grid-template-columns:1fr; gap:.2rem; padding:.45rem 0; font-size:.52rem; }.project-inquiry__progress li span { font-size:.48rem; }.project-inquiry__progress > p { display:none; }.project-form { min-height:39rem; padding:1.25rem; }.project-form__step legend { font-size:clamp(2rem,10vw,2.8rem); }.project-form__step > p { font-size:.82rem; }.project-choices--services,.project-form__grid { grid-template-columns:1fr; }.project-choices label > span { min-height:6.25rem; }.project-form__group--wide,.project-field--wide { grid-column:auto; }.project-choices--compact { grid-template-columns:1fr; }.project-choices--compact label > span { min-height:4.5rem; }.project-form__nav { grid-template-columns:auto 1fr; gap:.6rem; }.project-form__nav > span { display:none; }.project-form__next,.project-form__submit { grid-column:2; }.project-form__nav button { min-width:0; padding:.7rem .8rem; font-size:.58rem; }
  .footer__grid { grid-template-columns:1fr; }.footer__bottom { flex-direction:column; }.footer__lead { margin-bottom:5rem; }
  .page-hero { grid-template-columns:1fr; min-height:auto; padding-top:9rem; }.page-hero > * { min-width:0; }.page-hero h1 { font-size:clamp(3.2rem,16vw,6rem); overflow-wrap:break-word; hyphens:auto; }.page-hero__aside { max-width:22rem; }
  .audience-band,.principles { grid-template-columns:1fr; }.audience-band span,.principles span { border-right:0; border-bottom:1px solid rgba(255,255,255,.3); }
  .course { grid-template-columns:1fr; gap:1.3rem; padding:3rem 0; }.course__number { font-size:2.5rem; }.course__aside { width:100%; max-width:24rem; margin-top:1rem; }.course__symbol { min-height:0; }
  .hackathon { grid-template-columns:1fr; }.hackathon__visual { min-height:19rem; padding:.75rem; }.hackathon__visual span { width:5rem; }.hackathon__visual i { width:1.5rem; }
  .phase { grid-template-columns:.5fr 1fr; }.phase p { grid-column:1/-1; }.reference-featured__grid { grid-template-columns:1fr; }.reference-featured .feature-card:last-child { grid-column:auto; }.reference-featured .feature-card { min-height:auto; }.reference-featured .link-window__media { height:20rem; }
  .reference-dialog { width:calc(100vw - 1.5rem); height:calc(100svh - 1.5rem); box-shadow:.45rem .45rem 0 var(--blue); }.reference-dialog[open] { grid-template-columns:1fr; grid-template-rows:34% 66%; }.reference-dialog__visual { padding:1rem; }.reference-dialog__content { padding:3.8rem 1.35rem 2rem; }.reference-dialog__content > .eyebrow { margin-bottom:1.2rem; }.reference-dialog__body { font-size:.92rem; line-height:1.62; }
  .newsletter-feature { grid-template-columns:1fr; }.newsletter-stack { min-height:27rem; }.newsletter-stack img { width:min(58%,15rem); }.newsletter-jump-links { grid-template-columns:1fr; }.issue-archive__head { display:block; }.issue-archive__head h2 { margin-bottom:1.4rem; font-size:clamp(3.35rem,15vw,5rem); }.issue-story { height:calc(var(--issue-count) * 52vh + 45vh); }.issue-stage { top:5rem; height:calc(100svh - 5.75rem); min-height:40rem; box-shadow:.45rem .45rem 0 var(--sage); }.issue-archive--blue .issue-stage { box-shadow:.45rem .45rem 0 var(--orange); }.issue-slide { grid-template-columns:1fr; grid-template-rows:44% 56%; }.issue-slide__cover,.issue-archive--blue .issue-slide__cover { padding:1.25rem 2.35rem; border-right:0; border-bottom:1px solid var(--ink); }.issue-slide__cover img { width:100%; height:100%; max-height:100%; }.issue-archive--blue .issue-slide__cover img { width:auto; height:min(15rem,29svh); max-width:100%; max-height:none; }.issue-slide__copy { padding:1.5rem; justify-content:flex-start; }.issue-slide__copy > span { margin-bottom:.7rem; font-size:.58rem; }.issue-slide__copy h3 { margin-bottom:.75rem; font-size:clamp(1.85rem,8.5vw,3rem); }.issue-slide__copy p { margin-bottom:1rem; font-size:.9rem; line-height:1.45; }.issue-slide__copy b { width:100%; min-width:0; margin-top:.15rem; padding:1rem 1.1rem; font-size:.78rem; }.issue-stage__meta { right:.75rem; top:.7rem; padding:.25rem; background:rgba(255,255,255,.82); }.newsletter-signup { grid-template-columns:1fr; }
  .article-river { height:calc(var(--article-count) * 72vh + 55vh); }.article-stage { top:5rem; height:calc(100svh - 5.75rem); min-height:42rem; box-shadow:.5rem .5rem 0 var(--blue); }.article-slide { grid-template-columns:1fr; grid-template-rows:42% 58%; }.article-slide__visual { margin:1.45rem 2rem 1rem; }.article-slide__visual img { padding:.45rem; }.article-slide__copy { justify-content:flex-start; padding:1.25rem 1.35rem 1.3rem 2.05rem; }.article-slide__copy > span { margin-bottom:.55rem; font-size:.55rem; }.article-slide__copy h2 { margin-bottom:.75rem; font-size:clamp(1.8rem,8.2vw,2.75rem); line-height:1; -webkit-line-clamp:4; }.article-slide__copy p { margin-bottom:.8rem; font-size:.84rem; line-height:1.38; -webkit-line-clamp:3; }.article-slide__copy b { width:100%; min-width:0; margin-top:auto; padding:.82rem .95rem; font-size:.64rem; }.article-reading-rail { left:.65rem; top:45%; bottom:5%; }.article-reading-rail b { display:none; }.article-dialog { width:calc(100vw - 1.5rem); height:calc(100svh - 1.5rem); box-shadow:.45rem .45rem 0 var(--blue); }.article-dialog[open] { grid-template-columns:1fr; grid-template-rows:34% 66%; }.article-dialog__gallery { grid-auto-columns:88%; padding:1rem; }.article-dialog__content { padding:3.8rem 1.35rem 2rem; }.article-dialog__content > .eyebrow { margin-bottom:1.2rem; }.article-dialog__body { font-size:.92rem; line-height:1.62; }.strategy-partnership { grid-template-columns:1fr; gap:3rem; }.strategy-partnership__image { min-height:0; padding:.65rem; box-shadow:.45rem .45rem 0 var(--blue); }.strategy-partnership__image img { max-height:none; }.strategy-partnership__copy .button-row { align-items:stretch; }.about-main { grid-template-columns:1fr; }.about-main__visual,.about-main__visual img { min-height:25rem; max-height:25rem; }.career-story { height:340vh; }.career-stage { top:5rem; grid-template-columns:2.2rem 1fr; gap:1rem; height:calc(100svh - 6rem); min-height:41rem; padding:1.2rem; }.career-progress { height:80%; }.career-item { grid-template-columns:1fr auto; gap:.45rem .65rem; padding:.55rem 0; }.career-item > span { grid-column:1/-1; }.career-item strong { font-size:clamp(1.25rem,6vw,1.8rem); }.career-item p { margin-top:.2rem; font-size:.67rem; line-height:1.25; }.career-item.is-active .career-points { max-height:7.5rem; margin-top:.35rem; }.career-points { gap:.2rem; }.career-points li { padding:.16rem .3rem; font-size:.46rem; line-height:1.28; }.working-style > div:last-child { grid-template-columns:repeat(2,minmax(0,1fr)); }.working-style article { min-height:13rem; }.working-style article span { margin-bottom:4rem; }
}

@media (max-width:760px) {
  .not-found__stage { grid-template-columns:1fr; align-content:center; gap:2.5rem; min-height:100svh; padding-top:8rem; }
  .not-found__code { max-width:28rem; font-size:clamp(7rem,38vw,10rem); }
  .not-found__code i { width:3.5rem; height:3.5rem; border-width:.55rem; }
  .not-found__copy h1 { font-size:clamp(3.4rem,16vw,5rem); }
  .not-found__copy .button-row { display:grid; grid-template-columns:1fr; }
  .not-found__copy .button { width:100%; }
  .not-found__note { position:static; margin-top:1rem; }
  .article-slide__visual span { left:.55rem; bottom:.55rem; padding:.42rem .55rem; font-size:.54rem; }
  .article-dialog { box-shadow:.45rem .45rem 0 var(--orange); }
  .project-form.is-complete { min-height:32rem; }
  .project-form__email-fallback { grid-template-columns:1fr; padding:1rem; }
  .project-form__email-fallback > span { justify-content:space-between; }
  .project-form__complete-booking { grid-template-columns:1fr; padding:1rem; }
  .project-form__complete-booking .button { width:100%; min-width:0; }
  .project-form__calendly-notice { font-size:.62rem; }
}

@media (max-width:900px) {
  .project-form__step--service > legend,.project-form__step--service > p { width:100%; }
  .project-form__email-route { position:static; width:calc(100% - .35rem); margin-bottom:1.25rem; }
  .calendly-dialog { width:calc(100vw - 1.25rem); height:calc(100svh - 1.25rem); box-shadow:.4rem .4rem 0 var(--blue); }
  .calendly-dialog[open] { grid-template-columns:1fr; grid-template-rows:auto auto minmax(0,1fr); }
  .calendly-dialog__close { top:.65rem; right:.65rem; width:2.7rem; justify-content:center; padding:.55rem; }
  .calendly-dialog__close span { display:none; }
  .calendly-dialog__head { grid-row:auto; padding:1.15rem 3.85rem 1rem 1.1rem; }
  .calendly-dialog__head .eyebrow { margin-bottom:.35rem; }
  .calendly-dialog__head h2 { max-width:18rem; margin:0; font-size:clamp(2rem,9vw,2.85rem); line-height:.9; }
  .calendly-dialog__head > p { display:none; }
  .calendly-dialog__status { grid-column:1; margin:.55rem .75rem 0; }
  .calendly-dialog__embed { grid-column:1; }
  .calendly-dialog__embed .calendly-inline-widget,.calendly-dialog__embed iframe { min-height:38rem; }
  .calendly-dialog__fallback { grid-column:1; }
}

@media (max-width:1180px) {
  .issue-library__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .reference-library__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:820px) {
  .issue-library__head { grid-template-columns:1fr; gap:1rem; }
  .issue-library__head h2 { font-size:clamp(3.2rem,12vw,5rem); }
  .issue-library__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:520px) {
  .issue-library { padding-block:3.75rem; }
  .issue-library__head { margin-bottom:2rem; }
  .issue-library__head > p { font-size:.84rem; }
  .issue-library__grid { grid-template-columns:1fr; gap:1.4rem; }
  .issue-card__visual { max-width:22rem; margin:0 auto; box-shadow:.35rem .35rem 0 var(--blue); }
  .issue-card--pdf .issue-card__visual { box-shadow:.35rem .35rem 0 var(--orange); }
  .reference-library__grid { grid-template-columns:1fr; gap:1.4rem; }
  .reference-card__visual { max-width:24rem; margin:0 auto; box-shadow:.35rem .35rem 0 var(--blue); }
  .reference-card:nth-child(even) .reference-card__visual { box-shadow:.35rem .35rem 0 var(--orange); }
}

@media (hover:none) {
  .issue-card__preview { inset:auto 0 0; min-height:52%; opacity:.98; transform:none; }
  .issue-card__preview > span { margin-bottom:.65rem; }
  .issue-card__preview h3 { margin:.2rem 0 .55rem; }
  .issue-card__preview p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
  .issue-card__preview b { margin-top:auto; }
  .reference-card__preview { inset:auto 0 0; min-height:58%; opacity:.98; transform:none; }
  .reference-card__preview > span { margin-bottom:.6rem; }
  .reference-card__preview h3 { margin:.2rem 0 .55rem; -webkit-line-clamp:3; }
  .reference-card__preview p { -webkit-line-clamp:3; }
  .reference-card__preview b { margin-top:auto; }
}

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