:root {
  /* KPBL brand accent: Temptatious Tangerine. See ../BRAND.md. */
  --orange: #FF7C34;
  --black: #0A0A0A;
  --paper: #F4F5F1;
  --gray: #E4E4E4;
  --white: #FFFFFF;
  --muted: var(--gray);
  --line: rgba(228,228,228,.22);
  --font: Arial, Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 95px; }
body { margin: 0; background: var(--paper); color: var(--black); font-family: var(--font); font-size: 16px; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--orange); outline-offset: 5px; }
.brand-filters { position: absolute; pointer-events: none; }
.skip { position: fixed; top: -70px; left: 20px; z-index: 100; background: var(--paper); padding: 10px; }
.skip:focus { top: 10px; }
.eyebrow, .section-label { font-size: 10px; font-weight: 700; letter-spacing: 2px; line-height: 1.5; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 900; line-height: .98; letter-spacing: -2.4px; }
.button { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 55px; padding: 16px 22px; font-size: 12px; font-weight: 800; border: 1px solid transparent; cursor: pointer; transition: background .2s, transform .2s; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 22px; font-weight: 400; line-height: 1; }
.orange { background: var(--orange); color: var(--black); }
.orange:hover { background: var(--orange); }
.text-link { display: inline-flex; gap: 28px; align-items: center; font-size: 12px; font-weight: 700; border-bottom: 1px solid #595959; padding: 8px 0; }
.section { padding: 95px 6%; }
.section-label { margin-bottom: 40px; color: #595959; }
h2 { font-size: clamp(34px, 4vw, 60px); margin-bottom: 28px; line-height: 1.08; }
h2 em { font-style: normal; color: #595959; }
h3 { font-size: 25px; letter-spacing: -.7px; line-height: 1.13; }
.vision { padding-top: 72px; padding-bottom: 72px; }
.vision .section-label { margin-bottom: 30px; }
.vision h2 { font-size: clamp(25px, 3.1vw, 50px); line-height: 1.13; letter-spacing: -1.1px; }
.vision-title-line { display: block; white-space: nowrap; }
.vision-title-line + .vision-title-line { margin-top: 5px; }
.vision-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 8%; }
.vision-grid > div { max-width: 520px; }
.vision p { color: #595959; font-size: 14px; }
.vision .lead, .lead { font-size: 21px; color: var(--black); line-height: 1.5; font-weight: 600; }
.dark { color: var(--black); }
.goals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 42px; }
.goals article { position: relative; border-top: 1px solid var(--gray); padding-top: 24px; display: grid; grid-template-columns: 28px minmax(0, 1fr); grid-template-rows: minmax(80px, auto) auto; gap: 16px 10px; align-content: start; }
.goals article:before { content: ""; position: absolute; left: 0; top: -1px; width: 32px; height: 2px; background: var(--orange); }
.goals article > span { font-size: 10px; color: #595959; }
.goals p { grid-column: 2; margin-bottom: 0; }
.goals h3 { font-size: clamp(22px, 1.8vw, 28px); line-height: 1.12; margin-bottom: 0; letter-spacing: -.7px; }
.method { background: var(--black); color: var(--white); padding-top: 76px; padding-bottom: 76px; }
.method .section-label { margin-bottom: 28px; }
.method .section-heading { margin-bottom: 32px; gap: 40px; }
.method .section-heading h2 { font-size: clamp(32px, 3.6vw, 56px); }
.method .section-label { color: var(--muted); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 50px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p { max-width: 340px; font-size: 13px; color: #595959; }
.method h2 em { color: var(--orange); }
.method-frieze { position: relative; }
.method-rail { position: absolute; left: 0; top: 0; width: 100%; height: 72px; color: var(--orange); opacity: .65; pointer-events: none; }
.method-stages { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.method-stage { position: relative; padding: calc(48px - var(--rise)) 24px 20px 0; min-width: 0; }
.method-stage:last-child { padding-right: 0; }
.stage-number { width: 24px; height: 24px; background: var(--black); border: 1px solid var(--orange); border-radius: 50%; color: var(--gray); display: flex; align-items: center; justify-content: center; font-size: 8px; font-weight: 700; letter-spacing: .3px; margin-bottom: 16px; }
.method-stage h3 { font-size: 22px; margin-bottom: 10px; line-height: 1.15; }
.stage-action { font-size: 17px; font-weight: 600; line-height: 1.35; margin-bottom: 14px; letter-spacing: -.2px; color: var(--white); }
.stage-description { font-size: 13px; line-height: 1.65; margin-bottom: 0; color: var(--gray); max-width: 290px; }
.method-note { border-top: 1px solid var(--line); padding-top: 22px; margin: 20px 0 0; max-width: 850px; font-size: 12px; line-height: 1.7; color: var(--gray); }
.offers { padding-top: 76px; padding-bottom: 76px; }
.offers .section-label { margin-bottom: 24px; }
.offers .offers-heading { position: relative; display: block; padding-right: 100px; margin-bottom: 32px; }
.offers-heading h2 { max-width: 1000px; font-size: clamp(32px, 3.8vw, 56px); letter-spacing: -1.8px; }
.offers-heading h2 > span { display: block; }
.offers .offers-heading > p { max-width: 650px; font-size: 16px; line-height: 1.6; margin: 16px 0 0; }
.offers-chevron { position: absolute; top: 8px; right: 0; width: 76px; height: 90px; color: var(--orange); opacity: .7; }
.offer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.offer { min-width: 0; border: 1px solid var(--gray); border-radius: 6px; overflow: hidden; display: flex; flex-direction: column; padding: 0; background: var(--white); scroll-margin-top: 15px; }
.evolution { color: var(--black); }
.offer-media { aspect-ratio: 3 / 2; overflow: hidden; flex: 0 0 auto; }
.offer-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.featured .offer-media img { object-position: 55% 50%; }
.offer-content { padding: clamp(24px, 2.5vw, 38px); display: flex; flex-direction: column; flex: 1; min-width: 0; }
.offer-top { display: flex; align-items: center; gap: 12px; font-size: 9px; line-height: 1.5; letter-spacing: 1.8px; font-weight: 700; margin-bottom: 14px; color: #595959; }
.offer-top::before { content: ''; flex: 0 0 28px; height: 3px; background: var(--orange); }
.offer h3 { font-size: clamp(24px, 2.5vw, 40px); letter-spacing: -1px; line-height: 1.08; margin-bottom: 12px; }
.offer-intro { font-weight: 700; font-size: clamp(20px, 1.8vw, 26px); letter-spacing: -.5px; line-height: 1.18; margin-bottom: 12px; }
.offer-description { color: #595959; font-size: 14px; line-height: 1.6; margin-bottom: 0; }
.offer-benefits { list-style: none; padding: 0; margin: 22px 0; font-size: 13px; color: #595959; }
.offer-benefits li { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 14px; padding: 8px 0; line-height: 1.45; }
.offer-benefits svg { display: block; width: 28px; height: 28px; color: var(--black); }
.offer-icon-accent { color: var(--orange); }
.offer-bottom { margin-top: auto; }
.offer-pricing { border-top: 1px solid var(--gray); padding-top: 16px; margin-bottom: 17px; min-height: 102px; }
.offer-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; margin-bottom: 3px; }
.offer-amount { font-size: 36px; line-height: 1.1; font-weight: 900; letter-spacing: -1.2px; white-space: nowrap; }
.offer-unit { font-size: 24px; letter-spacing: -.6px; }
.offer-tax { font-size: 11px; line-height: 1.5; letter-spacing: .2px; }
.offer-price-note { margin: 0; font-size: 12px; line-height: 1.65; color: #595959; }
.offer-reduced-price { color: var(--orange); font-weight: 800; }
.offer-commitment { white-space: nowrap; }
.offer .button { min-height: 50px; border-radius: 4px; padding: 13px 18px; font-size: 12px; line-height: 1.4; gap: 12px; }
.outline { border: 1px solid var(--black); }
.outline:hover { background: var(--gray); }
.featured { background: var(--black); color: var(--white); border-color: var(--black); }
.featured .offer-top { color: var(--orange); }
.featured .offer-description, .featured .offer-benefits, .featured .offer-price-note { color: var(--gray); }
.featured .offer-benefits svg { color: var(--white); }
.featured .offer-pricing { border-color: var(--line); }
.faq { display: grid; grid-template-columns: 1fr 1.2fr; gap: 8%; }
.faq-list { padding-top: 15px; }
details { border-bottom: 1px solid var(--gray); }
summary { cursor: pointer; list-style: none; padding: 24px 0; font-size: 14px; font-weight: 700; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
summary::-webkit-details-marker { display: none; }
summary span { font-size: 24px; font-weight: 400; transition: transform .2s; }
details[open] summary span { transform: rotate(45deg); }
details p { font-size: 14px; color: #595959; padding: 0 30px 10px 0; }
.contact { background: var(--black); color: var(--white); display: grid; grid-template-columns: 1.1fr 1fr; gap: 10%; }
.contact .section-label { color: var(--muted); }
.contact h2 { font-size: clamp(36px, 4vw, 58px); }
.contact h2 em { color: var(--orange); }
.contact > div > p { font-size: 14px; color: var(--gray); }
.contact form { padding-top: 15px; }
label { display: block; font-size: 11px; font-weight: 700; margin-bottom: 8px; }
input, select, textarea { width: 100%; border: 0; border-bottom: 1px solid #71816D; background: transparent; border-radius: 0; padding: 10px 0 14px; color: var(--white); font-size: 14px; margin-bottom: 25px; outline-offset: 4px; }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
select option { background: var(--black); color: var(--white); }
textarea { resize: vertical; }
.contact .black { background: var(--orange); color: var(--black); width: 100%; }
.contact .black:hover { background: var(--orange); }
.form-note { font-size: 10px; line-height: 1.6; margin-top: 15px; color: var(--muted); }
footer { background: var(--paper); padding: 38px 6%; display: flex; align-items: center; gap: 25px; flex-wrap: wrap; }
footer p { font-size: 11px; margin: 0; }
footer > div { display: flex; gap: 25px; margin-left: auto; font-size: 11px; }
footer > span { width: 100%; border-top: 1px solid var(--gray); padding-top: 20px; color: #595959; font-size: 10px; }
@media (min-width: 1600px) {
  .section { padding-left: max(6%, calc((100vw - 1420px) / 2)); padding-right: max(6%, calc((100vw - 1420px) / 2)); }
}
@media (max-width: 1000px) {
  .section { padding: 70px 5%; }
  .method-stage { padding-right: 18px; }
  .method-stage h3 { font-size: 19px; }
  .stage-action { font-size: 16px; }
  .contact { gap: 6%; }
}
@media (max-width: 740px) {
  html { scroll-padding-top: 73px; }
  nav.open { display: flex; flex-direction: column; gap: 0; }
  .section { padding: 60px 6%; }
  .section-label { margin-bottom: 28px; font-size: 9px; }
  .vision-grid, .offer-grid, .faq, .contact { grid-template-columns: 1fr; gap: 30px; }
  h2 { font-size: 36px; letter-spacing: -1.6px; }
  .vision-grid { gap: 5px; }
  .vision h2 { font-size: clamp(22px, 6vw, 36px); letter-spacing: -.7px; }
  .method { padding-top: 60px; padding-bottom: 60px; }
  .method .section-heading { margin-bottom: 30px; }
  .method .section-heading h2 { font-size: clamp(29px, 6.2vw, 36px); }
  .method-rail { display: none; }
  .method-stages { grid-template-columns: minmax(0, 1fr); }
  .method-stage, .method-stage:last-child { padding: 0 0 30px 44px; }
  .method-stage:last-child { padding-bottom: 0; }
  .method-stage:not(:last-child):before { content: ""; position: absolute; width: 1px; left: 11px; top: 27px; bottom: -4px; background: var(--orange); opacity: .65; }
  .stage-number { position: absolute; left: 0; top: 3px; margin-bottom: 0; }
  .method-stage h3 { font-size: 22px; margin-bottom: 8px; }
  .stage-action { font-size: 17px; margin-bottom: 10px; }
  .stage-description { font-size: 14px; max-width: none; }
  .method-note { font-size: 12px; margin-top: 28px; }

  .goals { grid-template-columns: 1fr; gap: 25px; margin-top: 40px; }
  .goals h3 { font-size: 23px; }
  .goals article { grid-template-columns: 35px 1fr; }
  .section-heading { display: block; margin-bottom: 30px; }
  .section-heading > p { margin-top: 23px; margin-bottom: 0; }
  .offers .offers-heading { padding-right: 0; margin-bottom: 26px; }
  .offers-heading h2 { font-size: clamp(28px, 7.4vw, 38px); letter-spacing: -1.1px; }
  .offers .offers-heading > p { font-size: 15px; }
  .offers-chevron { display: none; }
  .offer-media { aspect-ratio: 4 / 3; }
  .offer-content { padding: 24px; }
  .offer h3 { font-size: clamp(24px, 6.5vw, 34px); }
  .offer-intro { font-size: 22px; }
  .offer-benefits { font-size: 14px; margin: 20px 0 24px; }
  .offer-pricing { min-height: 0; }
  .offer-price-note { font-size: 12px; }
  .faq-list { padding-top: 0; }
  .faq h2 { margin-bottom: 0; }
  .contact { gap: 10px; }
  .contact h2 { font-size: 39px; }
  .contact form { padding-top: 10px; }
  footer { padding: 30px 6%; gap: 20px; }
  footer p { font-size: 10px; }
  footer > div { margin-left: 0; width: 100%; }
  .desktop { display: none; }
}
@media (max-width: 360px) {
  .offer-content { padding: 20px; }
  .offer h3 { font-size: 23px; letter-spacing: -.8px; }
  .offer-intro { font-size: 21px; }
  .offer-benefits li { grid-template-columns: 25px minmax(0, 1fr); gap: 11px; }
  .offer-benefits svg { width: 25px; height: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* Team cards share one layout so new members can join the same collection. */
.team-section { position: relative; isolation: isolate; overflow: hidden; padding: 76px 0 48px; color: var(--white); background: radial-gradient(ellipse at 100% 2%, color-mix(in srgb, var(--orange) 15%, transparent), transparent 44%), radial-gradient(ellipse at 0% 86%, color-mix(in srgb, var(--orange) 10%, transparent), transparent 38%), #0B0B0B; }
.team-section:before { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .035; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23noise)' d='M0 0h160v160H0z'/%3E%3C/svg%3E"); }
.team-section, .team-legacy-anchor { scroll-margin-top: -12px; }
.team-legacy-anchor { position: absolute; top: 0; }
.team-shell { width: min(90%, 1500px); margin: 0 auto; }
.team-section .section-label { color: var(--orange); margin-bottom: 18px; }
.team-section h2 { margin: 0 0 18px; font-size: clamp(32px, 3.65vw, 60px); font-weight: 800; letter-spacing: -.04em; line-height: 1.06; }
.team-section h2 > span { display: block; }
.team-intro { max-width: 1120px; margin: 0; font-size: clamp(16px, 1.4vw, 20px); line-height: 1.6; color: var(--gray); }
.team-track { display: flex; align-items: stretch; gap: 20px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; margin-top: 32px; padding: 3px 2px 8px; -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent); }
.team-track::-webkit-scrollbar { display: none; }
.team-track.is-at-end { -webkit-mask-image: none; mask-image: none; }
.team-track:focus-visible { outline: 2px solid var(--orange); outline-offset: 6px; }
.team-card { position: relative; flex: 0 0 calc((100% - 128px) / 2); min-width: 0; overflow: hidden; display: flex; flex-direction: column; padding: 24px; border: 1px solid rgba(255,255,255,.28); border-radius: 14px; background: linear-gradient(135deg, rgba(255,255,255,.045), transparent 65%), #111212; box-shadow: 0 16px 32px rgba(0,0,0,.18); scroll-snap-align: start; scroll-margin-inline: 2px; }
.team-profile { display: grid; grid-template-columns: minmax(0, .35fr) minmax(0, .65fr); grid-template-areas: 'portrait name' 'portrait qualification' 'portrait credentials' 'portrait expertise'; column-gap: 20px; row-gap: 12px; align-items: center; }
.team-profile > h3 { grid-area: name; }
.team-portrait { grid-area: portrait; position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 7px; }
.team-portrait:after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, #111212, rgba(17,18,18,.82) 7%, rgba(17,18,18,.3) 21%, transparent 42%); }
.team-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }
.team-card-jc .team-portrait img { object-position: 50% 35%; }
.team-card-tara .team-portrait img { object-position: 43% 50%; transform: scale(1.48); transform-origin: 43% 35%; }
.team-card-content { position: relative; margin-top: 0; padding: 0; }
.team-card h3 { margin: 0; font-size: clamp(24px, 2vw, 32px); letter-spacing: -.045em; line-height: 1.15; font-weight: 800; }
.team-name-dot { color: var(--orange); }
.team-qualification { grid-area: qualification; margin: 0; color: var(--gray); font-size: 14px; line-height: 1.5; }
.team-credentials { grid-area: credentials; display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 31px; }
.team-credentials img { display: block; height: 28px; object-fit: contain; max-width: 100%; min-width: 0; flex: 0 1 auto; opacity: .88; }
.team-credentials .credential-nasm { width: 84px; }
.team-credentials .credential-ereps { width: 84px; }
.team-credentials .credential-icf { width: 88px; }
.team-credentials .credential-ici { width: 114px; }
.credential-divider { flex: 0 0 1px; height: 27px; background: rgba(255,255,255,.25); }
.team-expertise { grid-area: expertise; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; list-style: none; padding: 0; margin: 0; }
.team-expertise li { border: 1px solid rgba(255,255,255,.8); border-radius: 999px; padding: 4px 12px; color: var(--white); font-size: 12px; line-height: 1.5; white-space: nowrap; background: rgba(10,10,10,.24); }
.team-description { margin: 20px 0 0; padding-top: 19px; border-top: 1px solid rgba(255,255,255,.24); color: var(--gray); font-size: 15.5px; line-height: 1.65; }
.team-description strong { color: var(--white); font-weight: 650; }
.team-join-card { flex-basis: clamp(250px, 23vw, 330px); justify-content: center; padding: 0; background: radial-gradient(ellipse at 100% 0, color-mix(in srgb, var(--orange) 12%, transparent), transparent 70%), linear-gradient(155deg, rgba(255,255,255,.045), transparent 65%), #131414; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.team-join-content { padding: 35px 28px; }
.team-join-plus { display: block; margin-bottom: 18px; color: var(--orange); font-size: 54px; line-height: 1; font-weight: 300; }
.team-join-card h3 { font-size: clamp(25px, 2vw, 32px); letter-spacing: -.035em; line-height: 1.1; }
.team-join-content > p { color: var(--gray); font-size: 17px; line-height: 1.5; margin: 16px 0 26px; }
.team-join-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 44px; padding: 9px 16px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; color: var(--white); font-size: 14px; font-weight: 700; }
.team-join-link span { color: var(--orange); font-size: 23px; line-height: 1; }
.team-join-link:hover { color: var(--orange); border-color: var(--orange); }
.team-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); }
.team-bottom > p { color: #C4C4C4; font-size: 9px; letter-spacing: 2px; line-height: 1.6; margin: 0; }
.team-controls { display: flex; flex: 0 0 auto; gap: 12px; }
.team-controls button { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; color: var(--white); background: rgba(255,255,255,.02); cursor: pointer; transition: border-color .2s, background .2s; }
.team-controls button:hover:not(:disabled) { border-color: var(--orange); background: color-mix(in srgb, var(--orange) 10%, transparent); }
.team-controls button:disabled { opacity: .3; cursor: default; }
nav a[aria-current="location"] { text-decoration: underline; text-decoration-color: var(--orange); text-decoration-thickness: 2px; text-underline-offset: 10px; }
#contact-form { scroll-margin-top: 15px; }
@media (max-width: 1000px) { .team-card { flex-basis: min(440px, 88%); padding: 22px; } .team-card h3 { font-size: 27px; } .team-profile { column-gap: 18px; } .team-description { font-size: 15px; } .team-join-card { flex-basis: 270px; padding: 0; } }
@media (max-width: 740px) { .team-section { padding: 58px 0 35px; } .team-shell { width: 88%; } .team-section h2 { font-size: clamp(26px, 7.4vw, 38px); line-height: 1.08; overflow-wrap: break-word; } .team-section .section-label { margin-bottom: 17px; } .team-intro { font-size: 16px; } .team-track { gap: 15px; margin-top: 28px; -webkit-mask-image: none; mask-image: none; } .team-card { flex-basis: 89%; border-radius: 12px; padding: 20px; } .team-profile { grid-template-columns: 100px minmax(0, 1fr); grid-template-areas: 'name name' 'portrait qualification' 'portrait credentials' 'expertise expertise'; column-gap: 16px; row-gap: 12px; align-items: start; } .team-card h3 { font-size: 26px; } .team-profile > h3 { margin-bottom: 4px; } .team-portrait { align-self: start; } .team-qualification { font-size: 12px; } .team-credentials { flex-direction: column; align-items: flex-start; gap: 10px; } .team-credentials img { flex: 0 0 auto; height: auto; max-height: 27px; width: auto; max-width: 100%; } .team-credentials .credential-ici { width: 114px; max-width: 100%; } .credential-divider { display: none; } .team-expertise { margin-top: 4px; gap: 7px; } .team-description { font-size: 15px; margin-top: 19px; padding-top: 18px; } .team-join-card { flex-basis: 79%; padding: 0; } .team-join-card h3 { font-size: 30px; } .team-join-content { padding: 30px; } .team-bottom { margin-top: 18px; gap: 16px; align-items: flex-start; } .team-bottom > p { max-width: 190px; font-size: 8px; letter-spacing: 1.3px; } .team-controls { gap: 9px; } .team-controls button { width: 43px; height: 43px; } #contact-form { scroll-margin-top: 7px; } }
@media (prefers-reduced-motion: reduce) { .team-track { scroll-behavior: auto; } }

/* Immersive hero, with the background deliberately subordinate to the content. */
header { position: fixed; inset: 0 0 auto; z-index: 20; display: flex; align-items: center; gap: 32px; height: 84px; padding: 0 max(5%, calc((100vw - 1500px) / 2)); color: var(--white); background: rgba(10,10,10,.96); border-bottom: 1px solid rgba(255,255,255,.14); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.logo { position: relative; display: block; width: 180px; height: 34px; overflow: hidden; flex-shrink: 0; }
.logo img { position: absolute; width: 210px; height: auto; max-width: none; left: -17px; top: -55px; filter: url('#kpbl-palette'); }
header .logo img { filter: url('#kpbl-palette-light'); }
nav { display: flex; gap: clamp(20px, 2vw, 32px); margin-left: auto; }
nav a { font-size: 13px; font-weight: 600; padding: 12px 0; }
nav a:hover { text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 6px; }
.nav-cta { display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 10px 18px; border: 1px solid rgba(255,255,255,.6); border-radius: 999px; font-size: 13px; font-weight: 500; white-space: nowrap; }
.nav-cta:hover { border-color: var(--white); background: rgba(255,255,255,.06); }
.nav-cta span { font-size: 18px; line-height: 1; }
.menu { display: none; }
.hero { position: relative; isolation: isolate; overflow: hidden; color: var(--white); background: var(--black); }
.hero-visual { position: absolute; z-index: -2; inset: 0; background: url('assets/kpbl-family-background.webp') center 42% / cover no-repeat; opacity: .76; filter: saturate(.72); }
.hero:after { content: ''; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(10,10,10,.92) 0%, rgba(10,10,10,.64) 29%, rgba(10,10,10,.16) 54%, rgba(10,10,10,.5) 100%), linear-gradient(0deg, #0A0A0A 0%, rgba(10,10,10,.12) 46%, rgba(10,10,10,.22) 100%); }
.hero-inner { position: relative; width: min(90%, 1500px); margin: 0 auto; padding: 144px 0 48px; }
.hero-main { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(56px, 7vw, 116px); align-items: center; }
.eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 27px; color: var(--white); font-size: 10px; line-height: 1.5; letter-spacing: 2px; font-weight: 700; }
.dot { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; background: var(--orange); }
.hero h1 { margin: 0; font-size: clamp(52px, 5.9vw, 100px); line-height: .98; letter-spacing: -.045em; font-weight: 800; }
.hero-title-line { display: block; white-space: nowrap; }
.hero-title-pour { font-size: .43em; font-weight: 500; line-height: 1.1; letter-spacing: -.025em; margin: 7px 0 8px; }
.hero-title-accent { color: var(--orange); }
.hero-details { width: 100%; max-width: 455px; justify-self: end; }
.hero-services { display: flex; gap: 9px; flex-wrap: wrap; margin-bottom: 26px; }
.service-pill { display: inline-flex; align-items: center; min-height: 34px; padding: 7px 13px; border: 1px solid rgba(255,255,255,.66); border-radius: 999px; color: var(--white); font-size: 9px; font-weight: 600; line-height: 1.4; letter-spacing: .8px; text-transform: uppercase; background: rgba(10,10,10,.2); }
.service-pill:hover { border-color: var(--orange); background: rgba(10,10,10,.52); }
.hero-copy { max-width: 440px; margin: 0; color: var(--gray); font-size: clamp(17px, 1.4vw, 21px); line-height: 1.65; }
.hero-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 26px; }
.hero-actions .button { min-height: 58px; width: 100%; max-width: 355px; padding: 16px 24px; border-radius: 3px; font-size: 14px; font-weight: 700; }
.hero-actions .button span { font-size: 25px; }
.hero-actions .text-link { color: var(--white); padding: 8px 0; border-color: rgba(255,255,255,.65); font-size: 13px; font-weight: 600; }
.movement-strip { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 64px 0 0; padding: 0; }
.capacity { position: relative; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 162px; padding: 30px 10px 17px; border: 1px solid rgba(255,255,255,.24); border-radius: 14px; background: rgba(10,10,10,.59); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 1px 0 rgba(255,255,255,.025); }
.capacity-number { position: absolute; left: 16px; top: 12px; color: rgba(255,255,255,.7); font-size: 11px; line-height: 1.4; font-weight: 400; }
.capacity svg { color: var(--white); width: 62px; height: 62px; margin-bottom: 14px; flex: 0 0 auto; }
.capacity .icon-accent { stroke: var(--orange); }
.capacity-label { color: var(--white); font-size: 10px; font-weight: 700; line-height: 1.4; letter-spacing: .6px; white-space: nowrap; }
@media (min-width: 1800px) { .hero-inner { padding-top: 160px; padding-bottom: 56px; } .movement-strip { margin-top: 74px; } .capacity { min-height: 176px; } }
@media (max-width: 1100px) { header { gap: 23px; } header .logo { width: 145px; height: 29px; } header .logo img { width: 169px; left: -13px; top: -44px; } nav { gap: 18px; } nav a { font-size: 12px; } .hero-main { gap: 46px; } .hero h1 { font-size: clamp(48px, 5.9vw, 65px); } .hero-services { gap: 8px; } .service-pill { font-size: 8px; padding: 7px 10px; letter-spacing: .55px; } .movement-strip { gap: 10px; } .capacity-label { font-size: 9px; letter-spacing: .3px; } }
@media (max-width: 900px) { header { height: 76px; gap: 18px; } nav { display: none; position: absolute; top: 76px; left: 0; right: 0; margin: 0; padding: 18px 5%; border-bottom: 1px solid rgba(255,255,255,.18); background: rgba(10,10,10,.98); } nav.open { display: flex; flex-direction: column; gap: 0; } nav a { font-size: 14px; padding: 13px 0; } .nav-cta { margin-left: auto; font-size: 12px; } .menu { display: block; border: 0; color: var(--white); background: transparent; padding: 7px; font-size: 25px; line-height: 1; cursor: pointer; } .hero-inner { padding-top: 126px; } .hero-main { gap: 32px; } .hero-copy { font-size: 16px; } .movement-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 44px; } .capacity { min-height: 144px; } .capacity-label { font-size: 10px; } }
@media (max-width: 650px) { html { scroll-padding-top: 86px; } header { height: 73px; gap: 12px; } header .logo { width: 130px; height: 26px; } header .logo img { width: 152px; top: -40px; left: -12px; } .nav-cta { gap: 11px; padding: 9px 12px; font-size: 11px; } nav { top: 73px; } .hero-inner { width: 88%; padding-top: 108px; padding-bottom: 30px; } .hero-main { grid-template-columns: minmax(0, 1fr); gap: 30px; } .hero h1 { font-size: clamp(35px, 10.3vw, 62px); } .eyebrow { font-size: 8px; letter-spacing: 1.4px; gap: 9px; margin-bottom: 22px; } .dot { width: 7px; height: 7px; } .hero-title-pour { font-size: .48em; margin-top: 8px; margin-bottom: 9px; } .hero-details { max-width: none; justify-self: stretch; } .hero-services { margin-bottom: 20px; } .service-pill { min-height: 33px; font-size: 8px; padding: 8px 11px; letter-spacing: .6px; } .hero-copy { max-width: 460px; font-size: 16px; line-height: 1.65; } .hero-actions { margin-top: 24px; gap: 15px; } .hero-actions .button { max-width: none; min-height: 55px; font-size: 13px; padding: 15px 20px; } .hero-actions .text-link { font-size: 12px; } .movement-strip { gap: 9px; margin-top: 32px; } .capacity { min-height: 129px; border-radius: 11px; padding: 27px 6px 14px; } .capacity-number { top: 10px; left: 11px; font-size: 9px; } .capacity svg { width: 47px; height: 47px; margin-bottom: 12px; } .capacity-label { font-size: 8px; letter-spacing: .2px; } .hero-visual { background-size: auto 540px; background-position: 58% 112px; opacity: .7; } .hero:after { background: linear-gradient(90deg, rgba(10,10,10,.72), rgba(10,10,10,.22) 75%, rgba(10,10,10,.3)), linear-gradient(0deg, #0A0A0A 18%, rgba(10,10,10,.18) 58%, rgba(10,10,10,.34)); } }
