
/* Local variable font: the finished page has no network dependencies. */
@font-face {
  font-family:Onest;
  src:url('assets/onest-variable.ttf') format('truetype');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
:root {
  color-scheme:dark;
  --bg:#141716;
  --panel:#1c201e;
  --lime:#d2f85a;
  --text:#f4f6f1;
  --muted:#b5bcb7;
  --line:#303731;
  --radius:12px;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:30px;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Onest,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:clamp(18px,1.6vw,25px);
  font-weight:380;
  line-height:1.48;
  -webkit-font-smoothing:antialiased;
}
body::before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:1000px;
  pointer-events:none;
  background:radial-gradient(ellipse at 70% 16%,#9cbb3110,transparent 47%);
  z-index:-1;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  font:inherit;
}
button,a {
  -webkit-tap-highlight-color:transparent;
}
a,button {
  touch-action:manipulation;
}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible {
  outline:3px solid var(--lime);
  outline-offset:6px;
}
button {
  cursor:pointer;
}
img,svg {
  display:block;
  max-width:100%;
}
img {
  height:auto;
}
h1,h2,h3,h4,p,figure {
  margin:0;
}
h1,h2,h3,h4 {
  font-weight:800;
  letter-spacing:-.045em;
  line-height:1.08;
}
h1 {
  font-size:clamp(56px,6.1vw,94px);
  letter-spacing:-.06em;
}
h2 {
  font-size:clamp(36px,4vw,64px);
}
h3 {
  font-size:clamp(27px,2.5vw,40px);
}
h4 {
  font-size:1.07em;
  letter-spacing:-.02em;
  line-height:1.3;
}
h1 span,h2 span {
  color:var(--lime);
}
strong {
  font-weight:750;
}
ul,ol {
  padding:0;
  margin:0;
  list-style:none;
}
.wrap {
  width:calc(100% - 112px);
  max-width:1392px;
  margin-inline:auto;
}
.section {
  padding-block:96px;
}
.section+.section {
  border-top:1px solid #ffffff05;
}
.section>h2 {
  margin-bottom:30px;
}
.lead {
  font-size:clamp(19px,1.65vw,26px);
  color:var(--muted);
  font-weight:350;
  line-height:1.5;
  letter-spacing:-.025em;
}
.intro-lead {
  max-width:1090px;
  margin-top:-10px;
  margin-bottom:42px;
}
.large-title {
  font-size:clamp(44px,5vw,78px);
  line-height:1.04;
}
.icon {
  width:32px;
  height:32px;
  flex-shrink:0;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.icon-definitions {
  width:0;
  height:0;
  position:absolute;
  overflow:hidden;
}
.icon-heading {
  display:flex;
  align-items:center;
  gap:25px;
}
.icon-heading>.icon {
  width:57px;
  height:57px;
  color:var(--lime);
}
.diagram {
  width:100%;
  height:auto;
  aspect-ratio:5/3;
  object-fit:contain;
}
.actions {
  display:flex;
  gap:17px;
  flex-wrap:wrap;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:62px;
  padding:17px 25px;
  border:1px solid var(--lime);
  border-radius:7px;
  background:var(--lime);
  color:#151a0b;
  font-size:clamp(15px,1.15vw,18px);
  font-weight:750;
  line-height:1.3;
  text-align:center;
  transition:background .2s,box-shadow .2s,transform .2s;
  letter-spacing:-.025em;
}
.button .icon {
  width:21px;
  height:21px;
  stroke-width:1.8;
}
.button:hover {
  background:#e1ff83;
  box-shadow:0 0 25px #c4f24217;
  transform:translateY(-2px);
}
.button-secondary {
  color:var(--text);
  background:transparent;
  border-color:#677067;
  font-weight:400;
}
.button-secondary:hover {
  background:#252c24;
  box-shadow:none;
}
.round-arrow {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--lime);
  color:#182009;
  flex:none;
}
.round-arrow .icon {
  width:27px;
  height:27px;
}
.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:65px;
}
.divided {
  gap:0;
}
.divided>div:first-child {
  padding-right:48px;
}
.divided>div+div {
  padding-left:48px;
  border-left:1px solid var(--line);
}
.bullets {
  display:grid;
  gap:17px;
  margin-top:28px;
}
.bullets li {
  position:relative;
  padding-left:31px;
  color:var(--muted);
  line-height:1.5;
  letter-spacing:-.02em;
}
.bullets li::before {
  content:'';
  position:absolute;
  top:.53em;
  left:0;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--lime);
}
.bullets strong {
  color:var(--text);
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--lime);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
}
.text-link .icon {
  width:22px;
  height:22px;
}
.text-link:hover {
  color:#e1ff83;
}
.center-action {
  display:flex;
  justify-content:center;
  margin-top:25px;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  z-index:10;
  background:var(--lime);
  color:#141716;
  padding:12px 20px;
  clip-path:inset(50%);
  width:1px;
  height:1px;
  overflow:hidden;
  white-space:nowrap;
}
.skip-link:focus {
  clip-path:none;
  width:auto;
  height:auto;
}
[hidden] {
  display:none!important;
}

/* 01. Header and opening composition. The header intentionally does not stick. */
.site-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  min-height:112px;
  font-size:15px;
  position:relative;
  z-index:5;
}
.brand {
  font-size:19px;
  white-space:nowrap;
}
.site-header nav {
  display:flex;
  align-items:center;
  gap:28px;
  margin-left:auto;
  margin-right:42px;
}
.site-header nav a {
  padding-block:12px;
  color:#d2d8d0;
}
.site-header nav a:hover {
  color:var(--lime);
}
.header-contact {
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--lime);
  border:1px solid #acc74f;
  padding:12px 16px;
  border-radius:6px;
  white-space:nowrap;
}
.header-contact .icon {
  width:18px;
  height:18px;
}
.header-contact:hover {
  background:#d2f85a0c;
}
.menu-toggle {
  display:none;
}
.hero-main {
  position:relative;
  display:grid;
  grid-template-columns:1.04fr 1fr;
  min-height:660px;
  isolation:isolate;
}
.hero-copy {
  padding-block:64px 62px;
  z-index:2;
}
.hero-copy .lead {
  max-width:580px;
  margin-top:30px;
  font-size:clamp(19px,1.5vw,24px);
}
.hero-copy .actions {
  margin-top:32px;
  position:relative;
  z-index:3;
}
.hero-visual {
  position:relative;
  align-self:stretch;
  overflow:hidden;
  margin-left:0;
}
.portrait {
  position:absolute;
  width:100%;
  max-width:680px;
  height:auto;
  left:0;
  top:-23%;
  bottom:auto;
  /* The PNG contains its own alpha channel; no manual silhouette crop. */
  clip-path:none;
  filter:saturate(.83);
  transform:translateY(1px);
}
.hero-grid {
  position:absolute;
  inset:20px 0 0;
  background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse,#0009,transparent 70%);
}
.hero-curve {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  stroke:#a5c24d;
  stroke-width:1.2;
  fill:none;
}
.hero-curve circle {
  fill:var(--lime);
  stroke:none;
}
.credentials {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding-block:28px 30px;
}
.credentials>div {
  padding-inline:40px;
  border-left:1px solid var(--line);
}
.credentials>div:first-child {
  padding-left:0;
  border:0;
}
.credentials>div:last-child {
  padding-right:0;
}
.credentials strong {
  display:block;
  font-size:28px;
  letter-spacing:-.04em;
  margin-bottom:5px;
  line-height:1.2;
}
.credentials span {
  display:block;
  color:var(--muted);
  font-size:18px;
  line-height:1.4;
}
.clients {
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:35px;
  padding-block:30px;
}
.clients p {
  font-size:16px;
  color:var(--muted);
  flex:none;
}
.clients ul {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  flex:1;
  align-items:center;
}
.clients li {
  height:42px;
  padding-inline:25px;
  border-left:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
}
.clients img {
  max-width:150px;
  width:100%;
  height:34px;
  object-fit:contain;
  filter:grayscale(1) invert(1);
  mix-blend-mode:screen;
}

/* 02. Four vertically ordered routes reproduce the tall reference screen. */
.formats {
  max-width:1160px;
  padding-block:100px 105px;
}
.formats>h2 {
  text-align:center;
  margin-bottom:52px;
}
.format-list {
  display:grid;
  gap:19px;
}
.format-card {
  position:relative;
  display:grid;
  grid-template-columns:52px 1.12fr 1fr;
  gap:24px;
  align-items:start;
  min-height:248px;
  border:1px solid #2b332b;
  border-radius:var(--radius);
  padding:30px 40px 28px 30px;
  background:linear-gradient(110deg,#1c201e33,transparent);
  overflow:hidden;
  transition:border-color .2s,background .2s;
}
.format-card:hover {
  border-color:#849e3c;
  background:#1c231c;
}
.format-icon {
  color:var(--lime);
  width:47px;
  height:47px;
}
.format-copy {
  padding-top:3px;
  position:relative;
  z-index:1;
}
.format-copy h3 {
  font-size:32px;
  letter-spacing:-.03em;
  margin-bottom:18px;
}
.format-copy p {
  font-size:22px;
  max-width:430px;
  line-height:1.4;
  color:var(--muted);
}
.format-meta {
  display:block;
  color:var(--muted);
  font-size:15px;
  margin-top:28px;
}
.format-art {
  width:100%;
  height:230px;
  object-fit:contain;
  align-self:center;
  margin-top:-18px;
}
.format-card .round-arrow {
  position:absolute;
  right:25px;
  bottom:25px;
  transition:transform .2s;
}
.format-card:hover .round-arrow {
  transform:translateY(3px);
}

/* 03–04. Tracking. */
.tracking-intro {
  align-items:center;
  margin-bottom:58px;
}
.tracking-intro .lead {
  margin-top:27px;
  max-width:680px;
}
.tracking-art {
  width:100%;
  transform:scale(1.08);
}
.work-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-block:50px 36px;
}
.work-item {
  display:flex;
  gap:29px;
  align-items:center;
  min-height:190px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(110deg,#1c201e66,transparent);
}
.work-item p {
  font-size:clamp(19px,1.65vw,26px);
  color:var(--muted);
}
.work-item strong {
  color:var(--text);
}
.icon-disc {
  width:100px;
  height:100px;
  flex:none;
  display:grid;
  place-items:center;
  border:1px solid #374032;
  border-radius:50%;
  background:#1c211d;
}
.icon-disc .icon {
  width:51px;
  height:51px;
  color:var(--lime);
}
.price-bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:20px 20px 20px 28px;
}
.price {
  font-size:clamp(32px,3.4vw,53px);
  letter-spacing:-.055em;
  white-space:nowrap;
}
.price-bar>p {
  display:flex;
  gap:19px;
  align-items:center;
  border-left:1px solid var(--line);
  padding-left:25px;
  color:var(--muted);
  font-size:18px;
}
.price-bar>p .icon {
  color:var(--lime);
  width:37px;
  height:37px;
}
.price-bar .button {
  min-height:72px;
  flex-shrink:0;
}
.note {
  display:flex;
  gap:16px;
  align-items:flex-start;
  font-size:17px;
  color:var(--muted);
  margin-top:23px;
}
.note .icon {
  width:24px;
  height:24px;
}

/* 05–06. Consulting. */
.formula {
  display:flex;
  align-items:center;
  gap:30px;
  padding:25px 30px;
  border:1px solid var(--line);
  border-radius:8px;
  margin-bottom:44px;
}
.formula>.icon {
  color:var(--lime);
  width:48px;
  height:48px;
}
.formula p {
  font-size:clamp(20px,1.85vw,29px);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.65em;
}
.formula i {
  font-style:normal;
  color:var(--muted);
}
.formula strong {
  color:var(--lime);
  font-weight:750;
}
.formula p>span {
  white-space:nowrap;
}
.value-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.value-column {
  padding-inline:30px;
  border-left:1px solid var(--line);
}
.value-column:first-child {
  padding-left:0;
  border:0;
}
.value-column:last-child {
  padding-right:0;
}
.value-column h3 {
  font-size:clamp(22px,1.95vw,30px);
  letter-spacing:-.04em;
  gap:17px;
  min-height:60px;
}
.value-column h3 .icon {
  width:45px;
  height:45px;
}
.value-column .diagram {
  margin-top:0;
  margin-bottom:-15px;
}
.value-column .bullets {
  margin-top:0;
  gap:23px;
}
.value-column .bullets li {
  font-size:clamp(19px,1.65vw,26px);
}
.consulting-fit .diagram {
  max-height:275px;
  object-fit:contain;
  margin-top:20px;
}
.muted-icon>.icon {
  color:#b6bcb7;
}
.course {
  display:flex;
  gap:30px;
  border-block:1px solid var(--line);
  padding-block:38px;
  margin-top:38px;
}
.course>.icon {
  color:var(--lime);
  width:68px;
  height:68px;
}
.course h3 {
  font-size:clamp(25px,2.3vw,36px);
  letter-spacing:-.035em;
  margin-bottom:12px;
}
.course p {
  color:var(--muted);
  margin-bottom:12px;
}
.consultation-bar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px;
  padding-top:30px;
}
.consultation-details {
  display:flex;
  align-items:center;
  color:var(--muted);
  font-size:26px;
}
/* Keep the confirmed price and duration readable without breaking either value. */
.consultation-details>span {
  white-space:nowrap;
}
.consultation-price {
  color:var(--lime);
  font-weight:750;
  font-size:1.35em;
  letter-spacing:-.035em;
}
.consultation-details>span+span {
  border-left:1px solid #66715e;
  margin-left:36px;
  padding-left:36px;
}
.consultation-bar .button {
  min-width:360px;
}

/* 07–08. Talks and a responsive, progressively enhanced photo gallery. */
.speaking-topics {
  position:relative;
}
.speaking-topics::after {
  content:'';
  position:absolute;
  right:40px;
  top:36px;
  width:160px;
  height:250px;
  border-top:1px solid #d2f85a44;
  border-left:1px solid #d2f85a44;
  border-radius:100px 0 0 0;
  transform:skewX(-30deg);
  z-index:-1;
  pointer-events:none;
}
.topics-title {
  font-size:40px;
  margin-block:52px 20px;
}
.topics-list {
  counter-reset:topic;
}
.topics-list li {
  counter-increment:topic;
  display:grid;
  grid-template-columns:58px 32px 1fr;
  align-items:center;
  column-gap:30px;
  padding:25px 0;
  border-bottom:1px solid var(--line);
}
.topics-list li:last-child {
  border:0;
}
.topics-list .icon {
  color:var(--lime);
  width:52px;
  height:52px;
  grid-column:1;
  grid-row:1;
}
.topics-list li::before {
  content:counter(topic);
  color:var(--muted);
  font-size:22px;
  grid-column:2;
  grid-row:1;
}
.topics-list li>div {
  grid-column:3;
  grid-row:1;
}
.topics-list p {
  font-size:21px;
  color:var(--muted);
  margin-top:7px;
}
.speaking-proof h2 {
  margin-bottom:28px;
}
.speaking-proof .bullets {
  gap:20px;
  margin-top:0;
}
.venues {
  display:grid;
  gap:10px;
}
.venues li {
  display:flex;
  align-items:center;
  gap:32px;
  border:1px solid #354031;
  border-radius:9px;
  min-height:76px;
  padding:13px 26px;
  font-size:22px;
  color:var(--muted);
}
.venues .icon {
  color:var(--lime);
  width:39px;
  height:39px;
}
.gallery {
  margin-top:45px;
  --gap:18px;
  --slides:3;
}
.gallery-track {
  display:flex;
  gap:var(--gap);
  overflow:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  scrollbar-color:#556239 transparent;
  padding-bottom:15px;
}
.gallery-track:focus-visible {
  outline-offset:4px;
}
.gallery-slide {
  flex:0 0 calc((100% - (var(--slides) - 1)*var(--gap))/var(--slides));
  scroll-snap-align:start;
  min-width:0;
}
.gallery-slide img {
  width:100%;
  height:260px;
  object-fit:cover;
  border:1px solid #46503c;
  border-radius:8px;
}
.gallery-slide:first-child img {
  object-position:50% 50%;
}
.gallery-slide:nth-child(2) img,.gallery-slide:nth-child(4) img {
  object-position:50% 24%;
}
.gallery-slide figcaption {
  font-size:15px;
  color:var(--muted);
  margin-top:10px;
}
.gallery-controls {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  margin-top:12px;
}
.gallery-controls>button {
  color:var(--muted);
  border:1px solid #56614b;
  background:transparent;
  width:43px;
  height:43px;
  border-radius:50%;
  display:grid;
  place-items:center;
  transition:color .2s,border-color .2s;
}
.gallery-controls>button:hover:not(:disabled) {
  color:var(--lime);
  border-color:var(--lime);
}
.gallery-controls>button:disabled {
  opacity:.3;
  cursor:default;
}
.gallery-controls .icon {
  width:24px;
  height:24px;
  transform:rotate(45deg);
}
.gallery-controls .gallery-prev .icon {
  transform:rotate(225deg);
}
.gallery-dots {
  display:flex;
  gap:2px;
}
.gallery-dots button {
  width:30px;
  height:36px;
  display:grid;
  place-items:center;
  border:0;
  background:transparent;
  padding:0;
}
.gallery-dots button::before {
  content:'';
  width:7px;
  height:7px;
  background:#64705a;
  border-radius:50%;
}
.gallery-dots button[aria-current=true]::before {
  background:var(--lime);
}
.speaking-proof .center-action .button {
  min-width:400px;
}

/* 09. Timeline. */
.experience {
  max-width:1240px;
}
.timeline {
  position:relative;
  margin-top:55px;
  padding-left:38px;
  border-left:1px solid #546244;
}
.company {
  position:relative;
  display:grid;
  grid-template-columns:.82fr 1.5fr;
  gap:44px;
  padding-block:42px;
  border-top:1px solid var(--line);
}
.company:first-child {
  padding-top:0;
  border:0;
}
.company::before {
  content:'';
  position:absolute;
  top:50px;
  left:-45px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--lime);
  box-shadow:0 0 0 5px #141716,0 0 0 6px #647236;
}
.company:first-child::before {
  top:8px;
}
.company.company-closed::before {
  background:#ddb452;
  box-shadow:0 0 0 5px #141716,0 0 0 6px #77642d;
}
.company-intro {
  padding-right:38px;
  border-right:1px solid var(--line);
}
.company-date {
  font-size:17px;
  color:var(--muted);
  margin-bottom:12px;
}
.company h3 {
  font-size:38px;
  letter-spacing:-.035em;
  margin-bottom:14px;
}
.company-intro>p:not(.company-date) {
  font-size:20px;
  color:var(--muted);
  line-height:1.45;
}
.company-intro .diagram {
  margin:15px 0 3px;
}
.company-logo {
  max-width:126px;
  max-height:35px;
  object-fit:contain;
  object-position:left;
  opacity:.65;
  filter:grayscale(1);
  transition:filter .2s ease,opacity .2s ease;
}
.company-logo-link--ecplegko .company-logo {
  filter:grayscale(1) brightness(0) invert(.9);
}
.company-logo-link--wingen .company-logo {
  border-radius:4px;
  max-height:42px;
}
/* Native links preserve navigation without JavaScript; focus also reveals colour. */
.company-logo-link {
  display:inline-flex;
  align-items:center;
  position:relative;
  min-height:44px;
  max-width:100%;
  border-radius:4px;
}
.company-logo-link:is(:hover,:focus-visible) .company-logo {
  filter:none;
  opacity:1;
}
.company-logo-link:focus-visible {
  outline:2px solid var(--lime);
  outline-offset:6px;
}
/* Reuse the white logo as a mask, with the gradient from Botamin's official logo. */
.company-logo-link--botamin::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#c634ff,#28a7fe);
  -webkit-mask:url('assets/company-botamin.png') left center/contain no-repeat;
  mask:url('assets/company-botamin.png') left center/contain no-repeat;
  opacity:0;
  transition:opacity .2s ease;
  pointer-events:none;
}
.company-logo-link--botamin:is(:hover,:focus-visible)::after { opacity:1; }
@media(prefers-reduced-motion:reduce) {
  .company-logo,.company-logo-link--botamin::after { transition:none; }
}
.company-details .bullets {
  margin-top:0;
  gap:19px;
}
.company-details .bullets strong {
  color:var(--lime);
}
.company-details .bullets li {
  font-size:21px;
}
.company-details a {
  text-decoration:underline;
  text-decoration-color:#68705e;
  text-underline-offset:5px;
  text-decoration-thickness:1px;
}
.company-details a:hover {
  color:var(--lime);
  text-decoration-color:var(--lime);
}
.company-status {
  display:flex;
  align-items:flex-start;
  gap:18px;
  border-top:1px solid var(--line);
  margin-top:26px;
  padding-top:23px;
  color:var(--lime);
  font-size:19px;
  font-weight:550;
}
.company-status .icon {
  width:32px;
  height:32px;
}
.company-closed .company-status {
  color:#ddb452;
}

/* 10–11. Background and the final contact block. */
.section-symbol {
  width:53px;
  height:53px;
  color:var(--lime);
  margin-bottom:17px;
}
.background-section h2 {
  position:relative;
  padding-bottom:22px;
  letter-spacing:-.05em;
}
.background-section h2::after {
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  width:65px;
  height:2px;
  background:var(--lime);
}
.background-section .diagram {
  margin-block:24px 28px;
}
.background-list li {
  display:flex;
  align-items:center;
  gap:25px;
  padding-block:24px;
  border-top:1px solid var(--line);
  min-height:92px;
}
.background-list li>.icon {
  width:40px;
  height:40px;
  color:var(--lime);
}
.background-list p {
  font-size:19px;
  color:var(--muted);
  line-height:1.5;
}
.background-list strong {
  color:var(--text);
  font-weight:700;
}
.contact {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:45px;
  align-items:center;
  min-height:760px;
  padding-block:150px;
}
.contact .lead {
  max-width:590px;
  margin-top:28px;
  margin-bottom:34px;
}
.contact-art {
  width:100%;
  transform:scale(1.1);
}
.contact .button {
  font-size:18px;
}
.site-footer {
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-block:30px 45px;
  color:var(--muted);
  font-size:14px;
}
.site-footer a {
  display:flex;
  gap:8px;
  align-items:center;
}
.site-footer a:hover {
  color:var(--lime);
}
.site-footer .icon {
  width:18px;
  height:18px;
}

/* Tablet: preserve content order and type size instead of shrinking the canvas. */
@media(min-width:1600px) {
  body {
    font-size:26px;
  }
  .bullets {
    gap:20px;
  }
  .section {
    padding-block:110px;
  }
  .hero-main {
    min-height:710px;
  }
  .hero-copy {
    padding-top:70px;
  }
  .hero-copy .lead {
    font-size:25px;
  }
  .hero-visual {
    margin-left:0;
  }
  .portrait {
    width:100%;
    max-width:715px;
  }
  .value-column .bullets li {
    font-size:27px;
  }
}
@media(max-width:1199px) {
  .wrap {
    width:calc(100% - 72px);
  }
  .site-header {
    min-height:96px;
    gap:20px;
  }
  .brand {
    font-size:16px;
  }
  .site-header nav {
    gap:16px;
    margin-right:0;
    font-size:13px;
  }
  .header-contact {
    font-size:12px;
    padding:10px;
  }
  .hero-main {
    min-height:560px;
  }
  .hero-copy {
    padding-top:45px;
  }
  .hero-copy .lead {
    font-size:19px;
  }
  .hero-copy .actions {
    gap:10px;
  }
  .hero-copy .button {
    padding:14px 17px;
    font-size:13px;
    min-height:52px;
  }
  .hero-visual {
    margin-left:0;
  }
  .credentials strong {
    font-size:24px;
  }
  .credentials span {
    font-size:15px;
  }
  .credentials>div {
    padding-inline:24px;
  }
  .clients {
    gap:18px;
  }
  .clients p {
    font-size:13px;
  }
  .clients li {
    padding-inline:15px;
  }
  .section {
    padding-block:78px;
  }
  .split {
    gap:40px;
  }
  .divided {
    gap:0;
  }
  .divided>div:first-child {
    padding-right:30px;
  }
  .divided>div+div {
    padding-left:30px;
  }
  .icon-heading {
    gap:19px;
  }
  .icon-heading>.icon {
    width:45px;
    height:45px;
  }
  .work-item {
    gap:20px;
    padding:24px;
    min-height:180px;
  }
  .icon-disc {
    width:75px;
    height:75px;
  }
  .icon-disc .icon {
    width:41px;
    height:41px;
  }
  .price-bar {
    gap:20px;
    flex-wrap:wrap;
  }
  .price-bar>.button {
    margin-left:auto;
  }
  .price-bar>p {
    flex:1;
  }
  .value-column {
    padding-inline:20px;
  }
  .value-column h3 {
    font-size:21px;
    gap:12px;
  }
  .value-column h3 .icon {
    width:37px;
    height:37px;
  }
  .formula {
    gap:18px;
    padding:20px;
  }
  .formula p {
    gap:.5em;
  }
  .value-column .bullets li {
    font-size:20px;
  }
  .bullets li {
    padding-left:26px;
  }
  .bullets li::before {
    width:10px;
    height:10px;
  }
  .gallery-slide img {
    height:210px;
  }
  .venues li {
    font-size:18px;
    gap:20px;
    padding:12px 19px;
  }
  .company {
    gap:30px;
  }
  .company-intro {
    padding-right:30px;
  }
  .company-details .bullets li {
    font-size:19px;
  }
  .background-list li {
    gap:18px;
  }
  .background-list p {
    font-size:17px;
  }
  .contact {
    min-height:650px;
  }
  .contact .button {
    font-size:16px;
  }
}

/* Small screens: true single-column layout and touch targets of at least 44px. */
@media(max-width:850px) {
  .site-header nav {
    gap:13px;
  }
  .header-contact {
    display:none;
  }
  .hero-main {
    grid-template-columns:1fr 1fr;
    min-height:520px;
  }
  .hero-copy {
    padding-top:40px;
  }
  h1 {
    font-size:46px;
  }
  .hero-copy .lead {
    font-size:17px;
  }
  .hero-copy .actions {
    flex-direction:column;
    align-items:flex-start;
  }
  .hero-visual {
    margin-left:0;
    align-self:end;
    height:500px;
  }
  .portrait {
    width:100%;
    max-width:none;
    left:0;
    top:-23%;
    bottom:auto;
  }
  .hero-curve {
    inset:30px 0 0;
  }
  .hero-copy .button {
    font-size:14px;
  }
  .credentials strong {
    font-size:21px;
  }
  .credentials span {
    font-size:13px;
  }
  .clients {
    align-items:flex-start;
    flex-direction:column;
    gap:18px;
  }
  .clients ul {
    width:100%;
  }
  .clients li:first-child {
    padding-left:0;
    border:0;
  }
  .clients li:last-child {
    padding-right:0;
  }
  .format-card {
    grid-template-columns:40px 1.2fr .8fr;
    padding:25px;
    gap:17px;
    min-height:235px;
  }
  .format-copy h3 {
    font-size:28px;
  }
  .format-copy p {
    font-size:19px;
  }
  .format-art {
    height:195px;
    width:120%;
    max-width:none;
    margin-left:-10%;
  }
  .format-icon {
    width:37px;
    height:37px;
  }
  .format-meta {
    font-size:13px;
  }
  .split {
    gap:28px;
  }
  .divided {
    gap:0;
  }
  .divided>div:first-child {
    padding-right:24px;
  }
  .divided>div+div {
    padding-left:24px;
  }
  .icon-heading {
    gap:15px;
  }
  .icon-heading>.icon {
    width:38px;
    height:38px;
  }
  .bullets li {
    font-size:18px;
  }
  .large-title {
    font-size:44px;
  }
  .tracking-intro .lead {
    font-size:19px;
  }
  .work-item {
    padding:22px;
    gap:17px;
  }
  .work-item p {
    font-size:18px;
  }
  .icon-disc {
    width:58px;
    height:58px;
  }
  .icon-disc .icon {
    width:32px;
    height:32px;
  }
  .price-bar .button {
    min-height:55px;
  }
  .value-column {
    padding-inline:15px;
  }
  .value-column h3 {
    font-size:19px;
    display:block;
    min-height:100px;
  }
  .value-column h3 .icon {
    margin-bottom:13px;
  }
  .value-column .bullets li {
    font-size:18px;
  }
  .course>.icon {
    width:48px;
    height:48px;
  }
  .consultation-bar {
    gap:25px;
  }
  .consultation-bar .button {
    min-width:0;
    max-width:300px;
  }
  .consultation-details {
    font-size:19px;
  }
  .consultation-details>span+span {
    margin-left:18px;
    padding-left:18px;
  }
  .topics-title {
    font-size:32px;
  }
  .topics-list p {
    font-size:18px;
  }
  .gallery {
    --slides:2;
  }
  .gallery-slide img {
    height:225px;
  }
  .company-intro>p:not(.company-date) {
    font-size:18px;
  }
  .company h3 {
    font-size:32px;
  }
  .company-details .bullets li {
    font-size:18px;
  }
  .background-list li {
    gap:14px;
  }
  .background-list p {
    font-size:16px;
  }
  .background-list li>.icon {
    width:30px;
    height:30px;
  }
  .contact {
    min-height:560px;
    gap:10px;
  }
  .contact .lead {
    font-size:19px;
  }
  .contact-art {
    transform:none;
  }
  .contact .button {
    font-size:14px;
  }
}
@media(max-width:640px) {
  html {
    scroll-padding-top:20px;
  }
  .wrap {
    width:calc(100% - 40px);
  }
  .section {
    padding-block:58px;
  }
  .section>h2 {
    margin-bottom:24px;
  }
  h2 {
    font-size:36px;
    line-height:1.12;
  }
  h3 {
    font-size:27px;
  }
  .lead {
    font-size:19px;
  }
  .intro-lead {
    margin-top:0;
    margin-bottom:30px;
  }
  .site-header {
    min-height:80px;
    gap:12px;
    flex-wrap:wrap;
  }
  .brand {
    font-size:16px;
    font-weight:500;
  }
  .menu-toggle {
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:6px;
    border:1px solid #46523b;
    border-radius:7px;
    background:transparent;
    color:var(--lime);
    margin-left:auto;
  }
  .menu-toggle span {
    width:21px;
    height:1.5px;
    background:currentColor;
    transition:transform .2s;
  }
  .menu-toggle[aria-expanded=true] span:first-child {
    transform:translateY(3.75px) rotate(45deg);
  }
  .menu-toggle[aria-expanded=true] span:last-child {
    transform:translateY(-3.75px) rotate(-45deg);
  }
  .site-header nav {
    display:none;
    flex-basis:100%;
    width:100%;
    padding:12px 0 20px;
    margin:0;
    font-size:18px;
    grid-template-columns:1fr 1fr;
    gap:6px 20px;
  }
  .site-header nav.is-open {
    display:grid;
  }
  .site-header nav a {
    border-bottom:1px solid var(--line);
  }
  .hero-main {
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .hero-copy {
    padding-block:32px 0;
  }
  .hero-copy h1 {
    font-size:clamp(43px,11.6vw,70px);
    line-height:1.01;
  }
  .hero-copy .lead {
    font-size:18px;
    margin-top:25px;
    max-width:500px;
  }
  .hero-copy .actions {
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-top:26px;
    max-width:400px;
  }
  .hero-copy .button {
    font-size:16px;
    min-height:56px;
    padding:16px 12px;
  }
  .hero-visual {
    margin:35px 0 0;
    align-self:center;
    width:100%;
    height:auto;
    aspect-ratio:1;
    max-width:430px;
  }
  .portrait {
    width:100%;
    left:0;
    top:-23%;
    bottom:auto;
    max-width:none;
  }
  .hero-curve {
    inset:0;
    width:100%;
    height:100%;
  }
  .hero-grid {
    inset:0;
  }
  .credentials {
    grid-template-columns:1fr;
    padding:0 0 8px;
  }
  .credentials>div,.credentials>div:first-child {
    padding:22px 0;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .credentials strong {
    font-size:25px;
    margin-bottom:4px;
  }
  .credentials span {
    font-size:16px;
  }
  .clients {
    padding-block:24px 4px;
    gap:20px;
  }
  .clients p {
    font-size:14px;
  }
  .clients ul {
    grid-template-columns:repeat(3,1fr);
    gap:25px 15px;
  }
  .clients li {
    padding:0 12px;
    border:0;
    height:30px;
  }
  .clients li:first-child,.clients li:last-child {
    padding-inline:12px;
  }
  .clients img {
    height:28px;
  }
  .formats {
    padding-top:65px;
  }
  .formats>h2 {
    text-align:left;
    margin-bottom:30px;
  }
  .format-list {
    gap:16px;
  }
  .format-card {
    grid-template-columns:32px 1fr;
    min-height:340px;
    padding:24px 22px;
    column-gap:16px;
    align-content:start;
  }
  .format-icon {
    width:31px;
    height:31px;
  }
  .format-copy h3 {
    font-size:26px;
    margin-bottom:16px;
  }
  .format-copy p {
    font-size:18px;
    line-height:1.45;
    max-width:330px;
  }
  .format-copy {
    padding-top:1px;
  }
  .format-meta {
    font-size:13px;
    max-width:220px;
    margin-top:16px;
  }
  .format-art {
    position:absolute;
    bottom:-30px;
    right:20px;
    width:250px;
    height:170px;
    margin:0;
    opacity:.9;
    pointer-events:none;
  }
  .format-card .round-arrow {
    right:22px;
    bottom:22px;
    width:42px;
    height:42px;
    z-index:1;
  }
  .format-card .round-arrow .icon {
    width:24px;
    height:24px;
  }
  .split {
    grid-template-columns:1fr;
    gap:35px;
  }
  .divided>div:first-child {
    padding:0;
  }
  .divided>div+div {
    padding:32px 0 0;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .large-title {
    font-size:46px;
  }
  .tracking-intro {
    gap:10px;
    margin-bottom:35px;
  }
  .tracking-intro .lead {
    margin-top:25px;
  }
  .tracking-art {
    max-width:520px;
    transform:none;
    margin:auto;
  }
  .icon-heading {
    gap:17px;
  }
  .icon-heading>.icon {
    width:39px;
    height:39px;
  }
  .bullets {
    gap:15px;
    margin-top:22px;
  }
  .bullets li {
    font-size:19px;
    line-height:1.5;
    padding-left:26px;
  }
  .bullets li::before {
    top:.55em;
    width:10px;
    height:10px;
  }
  .work-grid {
    grid-template-columns:1fr;
    gap:13px;
    margin-block:30px;
  }
  .work-item {
    min-height:145px;
    padding:23px 19px;
    gap:19px;
  }
  .work-item p {
    font-size:19px;
  }
  .icon-disc {
    width:59px;
    height:59px;
  }
  .icon-disc .icon {
    width:33px;
    height:33px;
  }
  .price-bar {
    padding:25px 22px;
    display:grid;
    gap:20px;
  }
  .price {
    font-size:43px;
    line-height:1.1;
  }
  .price-bar>p {
    padding:0;
    border:0;
    font-size:16px;
    gap:15px;
  }
  .price-bar>p .icon {
    width:29px;
    height:29px;
  }
  .price-bar .button {
    width:100%;
    margin:0;
    font-size:16px;
  }
  .note {
    font-size:15px;
    gap:12px;
  }
  .formula {
    gap:15px;
    padding:22px 18px;
    margin-bottom:35px;
    align-items:flex-start;
  }
  .formula>.icon {
    width:30px;
    height:30px;
  }
  .formula p {
    font-size:19px;
    gap:.45em .5em;
  }
  .formula p>span {
    white-space:normal;
  }
  .value-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  .value-column,.value-column:first-child,.value-column:last-child {
    padding:0 0 30px;
    border:0;
    border-bottom:1px solid var(--line);
  }
  .value-column:last-child {
    border:0;
    padding-bottom:0;
  }
  .value-column h3 {
    font-size:27px;
    display:flex;
    min-height:0;
    gap:17px;
  }
  .value-column h3 .icon {
    width:40px;
    height:40px;
    margin:0;
  }
  .value-column .diagram {
    height:auto;
    max-height:210px;
    margin-block:5px 4px;
  }
  .value-column .bullets {
    gap:16px;
  }
  .value-column .bullets li {
    font-size:19px;
  }
  .consulting-fit .diagram {
    max-height:230px;
    margin-block:10px -10px;
  }
  .consulting-fit .split {
    gap:10px;
  }
  .course {
    gap:17px;
    padding-block:28px;
    margin-top:25px;
  }
  .course>.icon {
    width:36px;
    height:36px;
  }
  .course h3 {
    font-size:25px;
    line-height:1.2;
  }
  .course p {
    font-size:18px;
    margin-block:14px;
  }
  .text-link {
    font-size:17px;
  }
  .consultation-bar {
    flex-direction:column;
    align-items:stretch;
    padding-top:26px;
    gap:25px;
  }
  .consultation-details {
    font-size:22px;
    justify-content:space-between;
  }
  .consultation-details>span+span {
    padding-left:25px;
    margin-left:25px;
  }
  .consultation-bar .button {
    width:100%;
    max-width:none;
    min-height:62px;
    font-size:15px;
  }
  .topics-title {
    font-size:29px;
    margin-block:35px 15px;
  }
  .topics-list li {
    grid-template-columns:34px 20px 1fr;
    column-gap:14px;
    padding-block:22px;
    align-items:start;
  }
  .topics-list .icon {
    width:32px;
    height:32px;
    margin-top:2px;
  }
  .topics-list li::before {
    font-size:17px;
    margin-top:3px;
  }
  .topics-list h4 {
    font-size:19px;
    line-height:1.35;
    letter-spacing:-.025em;
  }
  .topics-list p {
    font-size:17px;
    margin-top:8px;
    line-height:1.45;
  }
  .speaking-topics::after {
    display:none;
  }
  .speaking-proof h2 {
    margin-bottom:25px;
  }
  .speaking-proof .bullets {
    gap:18px;
  }
  .venues li {
    font-size:19px;
    padding:16px 20px;
    min-height:72px;
    gap:22px;
  }
  .venues .icon {
    width:33px;
    height:33px;
  }
  .gallery {
    --slides:1;
    --gap:16px;
    margin-top:35px;
  }
  .gallery-slide img {
    height:260px;
  }
  .gallery-slide figcaption {
    font-size:14px;
    margin-top:9px;
  }
  .gallery-controls {
    margin-top:10px;
    gap:23px;
  }
  .gallery-controls>button {
    width:44px;
    height:44px;
  }
  .gallery-dots button {
    width:28px;
    height:44px;
  }
  .speaking-proof .center-action .button {
    min-width:0;
    width:100%;
    font-size:16px;
  }
  .timeline {
    margin-top:35px;
    margin-left:5px;
    padding-left:24px;
  }
  .company {
    grid-template-columns:1fr;
    gap:22px;
    padding-block:33px;
  }
  .company::before {
    left:-30px;
    top:42px;
    width:10px;
    height:10px;
  }
  .company-intro {
    border:0;
    padding:0;
    position:relative;
  }
  .company-intro .diagram {
    height:170px;
    width:100%;
    object-fit:contain;
    object-position:left;
    margin-block:10px -10px;
    max-width:350px;
  }
  .company-logo {
    position:absolute;
    right:0;
    top:2px;
    max-width:75px;
    max-height:22px;
    opacity:.6;
  }
  .company-logo[src$='company-wingen.jpg'] {
    max-height:25px;
  }
  .company h3 {
    font-size:33px;
    margin-bottom:12px;
  }
  .company-date {
    font-size:15px;
    margin-bottom:12px;
  }
  .company-intro>p:not(.company-date) {
    font-size:19px;
  }
  .company-details .bullets {
    gap:16px;
  }
  .company-details .bullets li {
    font-size:18px;
    padding-left:23px;
  }
  .company-status {
    font-size:17px;
    gap:14px;
    margin-top:23px;
    padding-top:22px;
    line-height:1.5;
  }
  .company-status .icon {
    width:28px;
    height:28px;
  }
  .section-symbol {
    width:44px;
    height:44px;
    margin-bottom:15px;
  }
  .background-section h2 {
    font-size:36px;
    padding-bottom:20px;
  }
  .background-section .diagram {
    margin-block:15px 20px;
    max-height:260px;
  }
  .background-section .split {
    gap:30px;
  }
  .background-list li {
    padding-block:21px;
    min-height:80px;
    gap:22px;
  }
  .background-list p {
    font-size:18px;
  }
  .background-list li>.icon {
    width:34px;
    height:34px;
  }
  .contact {
    grid-template-columns:1fr;
    min-height:0;
    gap:15px;
    padding-block:75px 20px;
  }
  .contact .large-title {
    font-size:52px;
  }
  .contact .lead {
    font-size:19px;
    max-width:480px;
    margin-top:25px;
    margin-bottom:28px;
  }
  .contact .button {
    font-size:15px;
    width:100%;
    max-width:390px;
    gap:10px;
    padding-inline:13px;
  }
  .contact .button>.icon:last-child {
    display:none;
  }
  .contact-art {
    width:100%;
    max-width:490px;
    max-height:320px;
    margin-inline:auto;
  }
  .site-footer {
    padding-block:25px 32px;
    font-size:12px;
    gap:18px;
  }
  .site-footer .icon {
    width:16px;
    height:16px;
  }
  .site-footer a {
    white-space:nowrap;
  }
}
@media(max-width:374px) {
  .wrap {
    width:calc(100% - 32px);
  }
  .brand {
    font-size:14px;
  }
  .hero-visual {
    height:auto;
  }
  .hero-copy h1 {
    font-size:40px;
  }
  .large-title {
    font-size:41px;
  }
  h2 {
    font-size:32px;
  }
  .contact .large-title {
    font-size:46px;
  }
  .format-card {
    padding-inline:18px;
    column-gap:12px;
  }
  .format-art {
    right:0;
  }
  .gallery-slide img {
    height:230px;
  }
  .gallery-controls {
    gap:10px;
  }
  .price {
    font-size:38px;
  }
  .consultation-details {
    font-size:19px;
  }
  .work-item {
    padding:20px 16px;
    gap:14px;
  }
  .icon-disc {
    width:48px;
    height:48px;
  }
  .work-item p {
    font-size:18px;
  }
  .topics-list li {
    grid-template-columns:28px 16px 1fr;
    gap:10px;
  }
  .topics-list .icon {
    width:27px;
    height:27px;
  }
}

/* Respect motion preferences, and keep a useful printable document. */
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important;
  }
}
@media print {
  body {
    color:#111;
    background:#fff;
    font-size:12pt;
  }
  .wrap {
    width:100%;
  }
  .site-header,.hero-visual,.diagram,.tracking-art,.contact-art,.format-art,.gallery-controls,.skip-link,.menu-toggle {
    display:none!important;
  }
  .section {
    padding-block:20pt;
    break-inside:avoid;
  }
  h1,h2,h3 {
    color:#111;
    font-size:24pt;
  }
  .hero-main {
    display:block;
    min-height:0;
  }
  .hero-copy {
    padding:0;
  }
  .lead,.bullets li,.company-intro>p,.background-list p {
    color:#333;
  }
  .button {
    background:transparent;
    color:#111;
    border:1px solid #555;
  }
  .format-card {
    min-height:0;
    grid-template-columns:40px 1fr;
  }
  .format-card .round-arrow {
    display:none;
  }
  .icon {
    color:#333!important;
  }
  .credentials,.company,.value-grid {
    break-inside:avoid;
  }
  .contact {
    min-height:0;
  }
  .gallery-track {
    flex-wrap:wrap;
  }
  .gallery-slide {
    flex-basis:30%;
  }
  .gallery-slide img {
    height:100pt;
  }
}

/* Revision 2: personal branding, compact routes and grouped service chapters. */
/* The new transparent portrait needs space above the hair. */
.portrait { top:-18%; }
.brand {
  display:inline-flex;
  align-items:center;
  gap:17px;
}
/* Crop transparent canvas padding in layout, preserving the supplied PNG files. */
.brand-mark {
  display:block;
  position:relative;
  flex:none;
  width:62px;
  height:36px;
  overflow:hidden;
}
.brand-mark img {
  position:absolute;
  max-width:none;
  width:69px;
  height:69px;
  left:-3px;
  top:-17px;
}
.site-header nav { margin-right:16px; }
.footer-brand { display:flex; align-items:center; gap:20px; }
.brand-mark-footer {
  width:45px;
  height:35px;
  background:var(--lime);
  border-radius:5px;
}
.brand-mark-footer img { width:46px; height:46px; left:0; top:-6px; }

/* Four routes occupy two rows on desktop, with unchanged source wording. */
.formats-compact { max-width:1392px; padding-block:64px; }
.formats-compact>h2 { margin-bottom:32px; }
.formats-compact .format-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.formats-compact .format-card {
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 170px;
  gap:17px;
  min-height:244px;
  padding:27px 24px;
  background:linear-gradient(125deg,#20271f77,#171b1844);
}
.formats-compact .format-icon { width:36px; height:36px; }
.formats-compact .format-copy { padding-top:3px; }
.formats-compact .format-copy h3 { font-size:27px; margin-bottom:15px; }
.formats-compact .format-copy p { font-size:19px; line-height:1.4; }
.formats-compact .format-meta { font-size:13px; margin-top:23px; }
.formats-compact .format-art {
  position:static;
  width:190px;
  max-width:none;
  height:174px;
  object-fit:contain;
  margin:0 0 0 -10px;
  align-self:center;
}
.formats-compact .round-arrow { width:38px; height:38px; right:20px; bottom:20px; }
.formats-compact .round-arrow .icon { width:23px; height:23px; }
.formats-compact .format-card:hover { background:#20291e; }

/* A stable background spans BOTH screens of a service. Alternating by service
   avoids suggesting a new offer halfway through the current description. */
.service-group {
  --service-bg:#1b221e;
  --service-context-bg:#1b221ef5;
  position:relative;
  background:var(--service-bg);
  border-top:1px solid #455040;
  border-bottom:1px solid #303a30;
  scroll-margin-top:0;
}
.service-consulting { --service-bg:#252d27; --service-context-bg:#252d27f5; }
.service-speaking { --service-bg:#171c19; --service-context-bg:#171c19f5; }
.service-context {
  position:sticky;
  top:0;
  z-index:8;
  background:var(--service-context-bg);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid #88977b30;
}
.service-context-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:66px;
}
.service-current {
  display:flex;
  align-items:center;
  gap:15px;
  font-size:15px;
  font-weight:600;
  letter-spacing:.025em;
}
.service-number {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  color:var(--lime);
  border:1px solid #c9ee5655;
  border-radius:50%;
  font-size:11px;
  font-weight:500;
  letter-spacing:0;
}
.service-back { display:flex; align-items:center; gap:10px; font-size:13px; color:#b8c3b5; padding-block:16px; }
.service-back .icon { width:17px; height:17px; transform:rotate(-90deg); }
.service-current:hover,.service-back:hover { color:var(--lime); }
.service-group>.section { padding-block:65px; }
.service-group>.section+.section { border-top:1px solid #a7bc8a26; }
.service-group .work-item,.service-group .price-bar,.service-group .formula,.service-group .venues li { border-color:#879c6f40; }
.service-group .work-item,.service-group .formula { background:#0d160e1f; }
.service-group .divided>div+div,.service-group .value-column,.service-group .course,.service-group .topics-list li { border-color:#a7bc8a26; }
.service-group .tracking-intro { margin-bottom:42px; }
.service-group .consulting-fit .course { margin-top:26px; }
.service-group .speaking-topics::after { display:none; }
.service-group .speaking-proof { padding-bottom:80px; }

@media(max-width:1199px) {
  .brand { gap:12px; }
  .brand-mark { width:49px; height:29px; }
  .brand-mark img { width:55px; height:55px; left:-2px; top:-14px; }
  .site-header nav { gap:18px; margin-right:0; }
  .header-contact { font-size:11px; }
  .formats-compact .format-card { grid-template-columns:32px minmax(0,1fr); gap:15px; min-height:258px; padding:23px; }
  .formats-compact .format-copy { padding-right:10px; }
  .formats-compact .format-copy h3 { font-size:25px; }
  .formats-compact .format-copy p { font-size:18px; max-width:320px; }
  .formats-compact .format-meta { max-width:220px; margin-top:24px; padding-right:24px; }
  .formats-compact .format-art { position:absolute; width:135px; height:95px; right:20px; bottom:4px; opacity:.4; margin:0; }
  .formats-compact .round-arrow { right:17px; bottom:17px; }
}
@media(min-width:641px) and (max-width:850px) {
  .brand { font-size:14px; gap:10px; }
  .site-header nav { gap:13px; font-size:12px; }
  .formats-compact { padding-block:54px; }
  .formats-compact .format-card { min-height:275px; padding:21px 18px; gap:12px; }
  .formats-compact .format-copy h3 { font-size:23px; }
  .formats-compact .format-copy p { font-size:17px; }
  .formats-compact .format-meta { font-size:12px; max-width:190px; padding-right:12px; }
  .formats-compact .format-art { width:110px; right:18px; opacity:.28; }
  .formats-compact .round-arrow { width:33px; height:33px; }
}
@media(max-width:640px) {
  .brand { gap:12px; font-size:15px; }
  .brand-mark { width:45px; height:26px; }
  .brand-mark img { width:51px; height:51px; left:-2px; top:-13px; }
  .formats-compact { padding-block:50px; }
  .formats-compact>h2 { margin-bottom:27px; }
  .formats-compact .format-list { grid-template-columns:1fr; gap:14px; }
  .formats-compact .format-card { min-height:250px; padding:24px 22px; gap:16px; }
  .formats-compact .format-copy h3 { font-size:25px; }
  .formats-compact .format-copy p { font-size:18px; }
  .formats-compact .format-meta { max-width:200px; font-size:13px; padding-right:16px; }
  .formats-compact .format-art { width:140px; height:95px; right:13px; bottom:0; opacity:.32; }
  .service-context-inner { min-height:58px; gap:10px; }
  .service-current { font-size:13px; gap:10px; letter-spacing:0; }
  .service-number { width:25px; height:25px; font-size:10px; }
  .service-back { font-size:11px; gap:6px; }
  .service-back .icon { width:14px; height:14px; }
  .service-group>.section { padding-block:46px; }
  .service-group .tracking-intro { margin-bottom:30px; }
  .service-group .speaking-proof { padding-bottom:58px; }
  .footer-brand { gap:11px; }
  .brand-mark-footer { width:34px; height:28px; }
  .brand-mark-footer img { width:36px; height:36px; left:-1px; top:-4px; }
  .site-footer { font-size:11px; }
}
@media(max-width:374px) {
  .brand { font-size:13px; gap:9px; }
  .brand-mark { width:39px; height:24px; }
  .brand-mark img { width:45px; height:45px; left:-2px; top:-11px; }
  .service-context-inner { gap:7px; }
  .service-current { font-size:12px; gap:7px; }
  .service-back { font-size:10px; }
  .formats-compact .format-card { padding:22px 18px; gap:12px; }
  .formats-compact .format-copy h3 { font-size:23px; }
  .formats-compact .format-copy p { font-size:17px; }
}
@media print {
  .service-context { position:static; background:transparent; }
  .service-group { background:transparent; }
  .formats-compact .format-card { min-height:0; }
}

/* Revision 3: supplied transparent artwork and the client logos from edu.botamin.su. */
.asset-icon { display:inline-block; flex-shrink:0; background-repeat:no-repeat; vertical-align:middle; }
.asset-icon[data-icon="arrow-up-right"] { filter:brightness(0) invert(.85); }
.button .asset-icon[data-icon="arrow-up-right"] { filter:brightness(0); }
.round-arrow { background:transparent; }
.formats-compact .round-arrow .asset-icon { width:100%; height:100%; }
.gallery-controls>button { border:0; }
.gallery-controls .asset-icon { width:100%; height:100%; transform:none; }
.gallery-controls .gallery-prev .asset-icon { transform:none; }
.hero-curve { object-fit:cover; object-position:70% center; }
.speaking-topics { isolation:isolate; }
.speaking-curves { position:absolute; right:0; top:0; width:60%; height:100%; object-fit:contain; opacity:.24; z-index:-1; pointer-events:none; }
.format-art,.tracking-art,.diagram,.contact-art { object-fit:contain; }
.clients li { padding-inline:16px; }
.clients img { max-width:170px; height:49px; filter:grayscale(1) invert(1); mix-blend-mode:screen; }
.company::before { border-radius:0; background:transparent url('assets/icons/timeline-dot-lime.webp') center/170% no-repeat; box-shadow:none; }
.company.company-closed::before { background:transparent url('assets/icons/timeline-dot-amber.webp') center/170% no-repeat; box-shadow:none; }
#education-title { scroll-margin-top:35px; }
@media(max-width:640px) {
 .clients li { padding-inline:7px; }
 .clients img { height:42px; }
 .speaking-curves { width:100%; opacity:.14; }
}
.asset-icon[data-icon="arrow-down-circle"] { background-image:url('assets/icons/arrow-down-circle.webp'); background-size:127.004% 127.004%; background-position:50.000% 50.000%; }
.asset-icon[data-icon="arrow-left-circle"] { background-image:url('assets/icons/arrow-left-circle.webp'); background-size:151.952% 151.952%; background-position:49.883% 51.166%; }
.asset-icon[data-icon="arrow-right-circle"] { background-image:url('assets/icons/arrow-right-circle.webp'); background-size:137.564% 137.564%; background-position:50.000% 51.168%; }
.asset-icon[data-icon="arrow-up-right"] { background-image:url('assets/icons/arrow-up-right.webp'); background-size:173.659% 173.659%; background-position:50.188% 53.760%; }
.asset-icon[data-icon="arrow-up-right-circle"] { background-image:url('assets/icons/arrow-up-right-circle.webp'); background-size:124.094% 124.094%; background-position:50.000% 52.464%; }
.asset-icon[data-icon="bars-solid"] { background-image:url('assets/icons/bars-solid.webp'); background-size:155.522% 155.522%; background-position:50.000% 54.244%; }
.asset-icon[data-icon="book"] { background-image:url('assets/icons/book.webp'); background-size:110.922% 110.922%; background-position:50.000% 66.603%; }
.asset-icon[data-icon="brain"] { background-image:url('assets/icons/brain.webp'); background-size:129.771% 129.771%; background-position:50.000% 47.567%; }
.asset-icon[data-icon="building"] { background-image:url('assets/icons/building.webp'); background-size:123.836% 123.836%; background-position:50.000% 60.150%; }
.asset-icon[data-icon="calendar"] { background-image:url('assets/icons/calendar.webp'); background-size:131.200% 131.200%; background-position:50.000% 55.701%; }
.asset-icon[data-icon="chat-bubbles"] { background-image:url('assets/icons/chat-bubbles.webp'); background-size:119.369% 119.369%; background-position:50.000% 68.676%; }
.asset-icon[data-icon="check-circle-filled"] { background-image:url('assets/icons/check-circle-filled.webp'); background-size:123.579% 123.579%; background-position:50.000% 51.254%; }
.asset-icon[data-icon="check-circle-outline"] { background-image:url('assets/icons/check-circle-outline.webp'); background-size:115.660% 115.660%; background-position:50.000% 48.528%; }
.asset-icon[data-icon="chip"] { background-image:url('assets/icons/chip.webp'); background-size:132.958% 132.958%; background-position:50.000% 50.000%; }
.asset-icon[data-icon="document"] { background-image:url('assets/icons/document.webp'); background-size:140.649% 140.649%; background-position:50.276% 55.932%; }
.asset-icon[data-icon="focus-plus"] { background-image:url('assets/icons/focus-plus.webp'); background-size:153.518% 153.518%; background-position:50.000% 51.373%; }
.asset-icon[data-icon="formula-network"] { background-image:url('assets/icons/formula-network.webp'); background-size:124.483% 124.483%; background-position:49.392% 59.934%; }
.asset-icon[data-icon="funnel"] { background-image:url('assets/icons/funnel.webp'); background-size:136.460% 136.460%; background-position:50.149% 63.132%; }
.asset-icon[data-icon="gear"] { background-image:url('assets/icons/gear.webp'); background-size:117.950% 117.950%; background-position:50.000% 66.244%; }
.asset-icon[data-icon="globe"] { background-image:url('assets/icons/globe.webp'); background-size:123.707% 123.707%; background-position:49.792% 49.792%; }
.asset-icon[data-icon="growth-arrow"] { background-image:url('assets/icons/growth-arrow.webp'); background-size:117.485% 117.485%; background-position:50.000% 80.541%; }
.asset-icon[data-icon="growth-nodes"] { background-image:url('assets/icons/growth-nodes.webp'); background-size:113.565% 113.565%; background-position:48.999% 76.704%; }
.asset-icon[data-icon="info-circle"] { background-image:url('assets/icons/info-circle.webp'); background-size:120.577% 120.577%; background-position:49.533% 57.944%; }
.asset-icon[data-icon="microphone"] { background-image:url('assets/icons/microphone.webp'); background-size:123.451% 123.451%; background-position:50.000% 53.568%; }
.asset-icon[data-icon="minus-circle-amber"] { background-image:url('assets/icons/minus-circle-amber.webp'); background-size:130.482% 130.482%; background-position:49.659% 52.902%; }
.asset-icon[data-icon="minus-circle-gray"] { background-image:url('assets/icons/minus-circle-gray.webp'); background-size:140.816% 140.816%; background-position:50.000% 49.862%; }
.asset-icon[data-icon="people"] { background-image:url('assets/icons/people.webp'); background-size:122.310% 122.310%; background-position:50.000% 65.957%; }
.asset-icon[data-icon="pie-chart"] { background-image:url('assets/icons/pie-chart.webp'); background-size:130.482% 130.482%; background-position:52.390% 59.046%; }
.asset-icon[data-icon="search-pulse"] { background-image:url('assets/icons/search-pulse.webp'); background-size:134.307% 134.307%; background-position:46.098% 58.897%; }
.asset-icon[data-icon="shield"] { background-image:url('assets/icons/shield.webp'); background-size:119.369% 119.369%; background-position:50.000% 50.491%; }
.asset-icon[data-icon="shield-check"] { background-image:url('assets/icons/shield-check.webp'); background-size:121.685% 121.685%; background-position:50.000% 58.726%; }
.asset-icon[data-icon="sliders"] { background-image:url('assets/icons/sliders.webp'); background-size:122.185% 122.185%; background-position:50.220% 68.666%; }
.asset-icon[data-icon="stacked-cubes"] { background-image:url('assets/icons/stacked-cubes.webp'); background-size:127.412% 127.412%; background-position:50.185% 67.050%; }
.asset-icon[data-icon="target-crosshair"] { background-image:url('assets/icons/target-crosshair.webp'); background-size:120.091% 120.091%; background-position:50.238% 50.000%; }
.asset-icon[data-icon="target-rings"] { background-image:url('assets/icons/target-rings.webp'); background-size:125.400% 125.400%; background-position:49.606% 55.512%; }
.asset-icon[data-icon="telegram"] { background-image:url('assets/icons/telegram.webp'); background-size:119.729% 119.729%; background-position:50.242% 65.487%; }
.asset-icon[data-icon="network-people"] { background-image:url('assets/icons/network-people.webp'); background-size:115.101% 115.101%; background-position:49.696% 59.725%; }
.asset-icon[data-icon="bars-outline"] { background-image:url('assets/icons/bars-outline.webp'); background-size:127.140% 127.140%; background-position:49.440% 58.405%; }
.asset-icon[data-icon="share-network"] { background-image:url('assets/icons/share-network.webp'); background-size:127.959% 127.959%; background-position:53.285% 63.321%; }

/* Four first-screen credentials: the selected single-row preview, with mobile reflow. */
.credentials-four {
  container-type:inline-size;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.2fr) minmax(0,1.17fr) minmax(0,1.4fr);
  padding-block:28px 30px;
}
.credentials-four>div { min-width:0; padding-inline:24px; }
.credentials-four strong { font-size:clamp(18px,2.15cqw,28px); margin-bottom:10px; white-space:nowrap; }
.credentials-four span { font-size:clamp(13px,1.35cqw,18px); line-height:1.5; }
@media(min-width:701px) and (max-width:1000px) {
  .credentials-four>div { padding-inline:12px; }
}
@media(max-width:700px) {
  .credentials-four { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:28px; padding-block:26px; }
  .credentials-four>div,.credentials-four>div:first-child { padding:0 16px; border-top:0; border-left:1px solid var(--line); }
  .credentials-four>div:nth-child(odd) { border-left:0; padding-left:0; }
  .credentials-four>div:nth-child(even) { padding-right:0; }
  .credentials-four strong { font-size:clamp(18px,5.2cqw,23px); white-space:normal; min-height:2.4em; margin-bottom:8px; }
  .credentials-four span { font-size:clamp(13px,3.6cqw,15px); }
}
