html { background:#fff; scroll-padding-top:24px; }
body { margin:0; padding:0; background:#fff; }
.bp-skip { position:absolute; z-index:10; top:10px; left:20px; padding:10px 16px; min-height:44px; background:#111820; color:#fff; font:600 14px/24px -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; transform:translateY(-180%); }
.bp-skip:focus { transform:translateY(0); outline:2px solid #2852c7; outline-offset:3px; }
#main:focus { outline:none; }
#bp-landing {
  --bp-paper:#fff;
  --bp-ink:#111820;
  --bp-muted:#596474;
  --bp-line:#dbe1e9;
  --bp-blue:#2852c7;
  --bp-pale:#cbdaf0;
  --bp-accent:#2852c7;
  --bp-secondary:#17213a;
  --bp-gutter:clamp(20px,5.5vw,88px);
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  border:0;
  border-radius:0;
  background:var(--bp-paper);
  box-shadow:none;
  font-weight:500;
}
#bp-landing .bp-header,
#bp-landing .bp-hero,
#bp-landing .bp-project,
#bp-landing .bp-connection,
#bp-landing .bp-end,
#bp-landing .bp-footer {
  width:100%; max-width:1600px; margin-inline:auto; padding-inline:var(--bp-gutter);
}
#bp-landing .bp-brand { font-size:23px; font-weight:800; letter-spacing:-.7px; }
#bp-landing .bp-wordmark { display:block; position:relative; top:2px; line-height:1; }
#bp-landing .bp-company-letter { display:inline-flex; align-items:center; justify-content:center; width:34px; height:44px; flex:none; color:var(--bp-blue); font-family:"Arial Black",Arial,sans-serif; font-size:36px; font-weight:950; line-height:1; }
#bp-landing .bp-project h2.bp-project-title { font-weight:700; }
#bp-landing .bp-project h3 { font-weight:650; }
#bp-landing .bp-description { font-weight:500; }
#bp-landing .bp-header nav,#bp-landing .bp-visit { font-weight:600; }
#bp-landing .bp-art canvas { aspect-ratio:25 / 22; height:auto; }

/* The opening is type, space and motion. The project worlds arrive as you scroll. */
#bp-landing .bp-hero {
  display:flex; flex-direction:column; align-items:stretch; justify-content:center;
  min-height:clamp(600px,calc(100svh - 180px),820px);
  padding-block:72px 58px;
}
#bp-landing h1.bp-title-stack {
  display:grid; max-width:none; margin:0 0 32px;
  font-size:clamp(100px,13cqw,152px); font-weight:800;
  letter-spacing:-.058em; line-height:.98;
}
#bp-landing .bp-title-slide,#bp-landing .bp-subtitle {
  grid-area:1 / 1; opacity:0; visibility:hidden;
  transition:opacity 220ms ease,visibility 0s 240ms;
}
#bp-landing .bp-title-slide.is-active,#bp-landing .bp-subtitle.is-active {
  opacity:1; visibility:visible; transition-delay:0s;
}
#bp-landing .bp-title-line { display:block; color:var(--bp-ink); }
#bp-landing .bp-title-line.bp-title-accent { color:var(--bp-blue); }
#bp-landing .bp-title-slide.is-active .bp-title-line { animation:bp-line-arrive 820ms cubic-bezier(.16,1,.3,1) both; }
#bp-landing .bp-title-slide.is-active .bp-title-accent { animation-delay:130ms; }
#bp-landing .bp-subtitle.is-active { animation:bp-subtitle-arrive 700ms 260ms cubic-bezier(.16,1,.3,1) both; }
@keyframes bp-line-arrive {
  from { opacity:0; transform:translate3d(0,24px,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes bp-subtitle-arrive {
  from { opacity:0; transform:translate3d(0,12px,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
#bp-landing .bp-subtitle-stack { display:grid; max-width:480px; }
#bp-landing .bp-hero .bp-description { max-width:480px; margin:0; font-size:18px; line-height:1.6; }
#bp-landing .bp-hero-actions {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  margin-top:32px;
}
#bp-landing .bp-scroll { min-height:44px; gap:16px; font:600 14px/1.6 var(--bp-ui); letter-spacing:0; }
#bp-landing .bp-scroll>span { font-size:23px; line-height:1; }
#bp-landing .bp-thought-controls { display:flex; align-items:center; gap:4px; }
#bp-landing .bp-thought-controls button {
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; height:44px; padding:0; border:0; border-radius:0;
  background:transparent; color:var(--bp-muted); cursor:pointer;
  font:600 12px/1 "SFMono-Regular",Consolas,monospace;
  transition:color 180ms ease;
}
#bp-landing .bp-thought-controls button:hover { color:var(--bp-blue); }
#bp-landing .bp-thought-dot { width:5px; height:5px; background:var(--bp-line); border-radius:50%; transition:background 180ms ease; }
#bp-landing .bp-thought-choice.is-active .bp-thought-dot,#bp-landing .bp-thought-choice:hover .bp-thought-dot { background:var(--bp-blue); }
#bp-landing .bp-thought-controls .bp-thought-pause { margin-left:6px; }
#bp-landing .bp-play-glyph { display:none; }
#bp-landing .is-paused .bp-pause-glyph { display:none; }
#bp-landing .is-paused .bp-play-glyph { display:block; }
#bp-landing button:focus-visible { outline:2px solid var(--bp-blue); outline-offset:3px; }

/* Company and legal information close the page in a calm, darker chapter. */
#bp-landing .bp-dark-footer { margin-top:44px; background:#111820; color:#f6f8ff; }
#bp-landing .bp-end { display:grid; grid-template-columns:1.2fr 1fr .6fr; align-items:start; min-height:0; padding-block:64px 52px; gap:48px; }
#bp-landing .bp-footer-intro { max-width:340px; }
#bp-landing .bp-dark-footer .bp-company-letter { color:#9ebdff; }
#bp-landing .bp-footer-description { margin:16px 0 0; font-size:17px; line-height:1.65; font-weight:400; color:#b4c1d6; }
#bp-landing .bp-footer-email { display:inline-flex; gap:20px; align-items:center; min-height:44px; font-size:18px; font-weight:600; letter-spacing:-.02em; }
#bp-landing .bp-company-detail { margin:18px 0 0; font-size:12px; line-height:1.85; color:#b4c1d6; }
#bp-landing .bp-footer-links { display:flex; flex-direction:column; align-items:flex-start; font-size:14px; }
#bp-landing .bp-footer-links a { display:inline-flex; align-items:center; min-height:44px; color:#b4c1d6; }
#bp-landing .bp-footer-links a[aria-current="page"] { color:#fff; text-decoration:underline; text-underline-offset:5px; }
#bp-landing .bp-dark-footer a:hover { color:#9ebdff; }
#bp-landing .bp-footer { border-top:1px solid #344050; padding-block:24px; color:#b4c1d6; align-items:center; }
#bp-landing .bp-back-top { display:inline-flex; min-height:44px; align-items:center; gap:10px; font-weight:600; }
#bp-landing .bp-back-top:hover { color:#fff; }
#bp-landing .bp-dark-footer a:focus-visible { outline-color:#9ebdff; }

@container (min-width:761px) and (max-width:1024px) {
  #bp-landing .bp-hero { min-height:600px; }
}
@container (max-width:760px) {
  #bp-landing .bp-hero { min-height:520px; padding-block:54px 42px; }
  #bp-landing h1.bp-title-stack { font-size:clamp(54px,16.4cqw,100px); letter-spacing:-.052em; margin-bottom:28px; }
  #bp-landing .bp-hero .bp-description { font-size:17px; max-width:420px; }
  #bp-landing .bp-hero-actions { margin-top:28px; gap:16px; }
  #bp-landing .bp-header nav .bp-about-nav { display:none; }
  #bp-landing .bp-dark-footer { margin-top:32px; }
  #bp-landing .bp-end { grid-template-columns:1.2fr 1fr; padding-block:48px 36px; gap:28px; }
  #bp-landing .bp-footer-links { grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; column-gap:28px; align-items:center; }
  #bp-landing .bp-footer { padding-block:20px; }
}
@container (max-width:520px) {
  #bp-landing .bp-hero { min-height:490px; }
  #bp-landing .bp-hero-actions { flex-direction:column; align-items:flex-start; gap:12px; }
  #bp-landing .bp-thought-controls { margin-left:-17px; }
  #bp-landing .bp-end { grid-template-columns:1fr; }
  #bp-landing .bp-footer-links { display:grid; grid-template-columns:1fr 1fr; column-gap:18px; }
  #bp-landing .bp-footer-links { row-gap:0; }
  #bp-landing .bp-footer { flex-wrap:wrap; gap:8px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  #bp-landing .bp-title-slide,#bp-landing .bp-subtitle { transition:none; }
  #bp-landing .bp-title-slide.is-active .bp-title-line,#bp-landing .bp-subtitle.is-active { animation:none; transform:none; }
  #bp-landing .bp-thought-controls button,#bp-landing .bp-thought-dot { transition:none; }
}
