/* Homepage only. This stylesheet is intentionally independent of the inner-page shell. */
@font-face {
  font-family:Host Grotesk;
  src:url('/assets/host-grotesk.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:"CE Hero FangYuan";
  src:url('/assets/home-headings-fangyuan-square.woff2?v=20261016-slogan') format('woff2');
  font-weight:200 700;
  font-style:normal;
  font-display:swap
}
:root {
  --hp-ink:var(--ce-ink,#242529);
  --hp-copy:var(--ce-copy,#62666f);
  --hp-muted:var(--ce-muted,#626f82);
  --hp-line:var(--ce-line,#e7e8ec);
  --hp-blue:var(--ce-blue,#0042F6);
  --hp-blue-soft:var(--ce-blue-soft,rgba(0,66,246,.06));
  --hp-blue-line:var(--ce-blue-line,rgba(0,66,246,.18));
  --hp-soft:var(--ce-soft,#f6f6f7);
  --hp-serif:"Songti SC","STSong","Noto Serif CJK SC","Noto Serif SC","SimSun",serif;
  --hp-sans:"Host Grotesk",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  --hp-display:"PingFang SC",-apple-system,BlinkMacSystemFont,"Microsoft YaHei",sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:112px
}
body.home-sandeep {
  margin:0;
  background:#fff;
  color:var(--hp-ink);
  font:400 16px/1.75 var(--hp-sans);
  -webkit-font-smoothing:antialiased
}
:where(body.home-sandeep) :where(h1,h2,h3,p) {
  margin:0
}
a {
  color:inherit;
  text-decoration:none
}
button {
  color:inherit;
  font:inherit;
  cursor:pointer
}
button,a {
  -webkit-tap-highlight-color:transparent
}
button {
  border:0
}
img {
  max-width:100%;
  display:block
}
svg {
  display:block
}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible {
  outline:2px solid var(--hp-blue);
  outline-offset:5px
}
::selection {
  background:rgba(0,66,246,.14);
  color:#18223c
}
[hidden] {
  display:none!important
}
.hp-wrap {
  width:min(1040px,calc(100% - 80px));
  margin-inline:auto
}
.hp-skip {
  position:fixed;
  top:-80px;
  left:20px;
  z-index:2001;
  padding:8px 16px;
  background:#fff;
  border:1px solid var(--hp-line);
  border-radius:8px
}
.hp-skip:focus {
  top:16px
}
.hp-header {
  --hp-nav-gutter:80px;
  --hp-nav-motion:350ms cubic-bezier(.25,.1,.25,1);
  position:sticky;
  top:0;
  /* Keep this slot fixed while the floating shell gains padding. */
  height:70px;
  z-index:100;
  padding-top:12px;
  pointer-events:none
}
.hp-nav-shell {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  width:min(1040px,calc(100% - var(--hp-nav-gutter)));
  min-height:46px;
  margin:0 auto;
  padding:0;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  transform:translateY(0);
  pointer-events:auto;
  transition:width var(--hp-nav-motion),padding var(--hp-nav-motion),transform var(--hp-nav-motion),background-color var(--hp-nav-motion),box-shadow var(--hp-nav-motion),border-color var(--hp-nav-motion)
}
.hp-header.is-scrolled .hp-nav-shell {
  width:min(620px,calc(100% - var(--hp-nav-gutter)));
  padding:8px 12px 8px 20px;
  transform:translateY(1px);
  border-color:rgba(255,255,255,.72);
  background:rgba(255,255,255,.78);
  box-shadow:0 14px 36px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.9);
  -webkit-backdrop-filter:saturate(180%) blur(24px);
  backdrop-filter:saturate(180%) blur(24px)
}
.hp-brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
  font-size:16px;
  font-weight:600;
  line-height:1.3;
  letter-spacing:0
}
.hp-brand img {
  filter:grayscale(1)
}
.hp-header .hp-wordmark {
  gap:0;
  min-height:44px;
  font-family:Avenir,"Avenir Next",var(--hp-sans);
  font-size:16px;
  font-weight:600;
  line-height:1;
  letter-spacing:-.16px
}
.hp-wordmark-dot {
  color:var(--hp-blue)
}
.hp-brand-en {
  display:block;
  font-size:10px;
  font-weight:400;
  letter-spacing:1.1px;
  color:var(--hp-muted);
  margin-top:4px
}
.hp-desktop-nav {
  display:flex;
  flex-shrink:0;
  align-items:center;
  gap:6px;
  margin-left:auto;
  font-family:var(--hp-display);
  font-size:14px;
  font-weight:450;
  line-height:1;
  white-space:nowrap
}
.hp-desktop-nav a {
  color:#666b73;
  transition:color .2s;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-inline:14px
}
.hp-desktop-nav a:hover {
  color:var(--hp-blue)
}
.hp-nav-actions {
  display:flex;
  flex-shrink:0;
  align-items:center;
  gap:12px
}
.hp-nav-contact {
  display:inline-flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  min-height:36px;
  background:#f5f5f6;
  border:1px solid #ebecf0;
  border-radius:30px;
  font-family:var(--hp-display);
  font-size:14px;
  font-weight:550;
  line-height:1;
  white-space:nowrap;
  transition:background .2s,border-color .2s
}
.hp-nav-contact:hover {
  background:#eaecef
}
.hp-header.is-scrolled .hp-nav-contact {
  background:transparent;
  border-color:transparent
}
.hp-header.is-scrolled .hp-nav-contact:hover {
  background:rgba(0,0,0,.06)
}
.hp-menu {
  display:none;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  border-radius:50%;
  background:#f4f5f7
}
.hp-menu span {
  display:block;
  width:16px;
  height:1.5px;
  background:var(--hp-ink);
  transition:transform .2s
}
.hp-menu[aria-expanded=true] span:first-child {
  transform:translateY(3.25px) rotate(45deg)
}
.hp-menu[aria-expanded=true] span:last-child {
  transform:translateY(-3.25px) rotate(-45deg)
}
.hp-mobile-nav {
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  right:0;
  background:#fff;
  border:1px solid var(--hp-line);
  border-radius:20px;
  padding:12px 20px;
  box-shadow:0 12px 32px #151c2e12
}
.hp-mobile-nav a {
  display:flex;
  justify-content:space-between;
  padding:13px 5px;
  font-family:var(--hp-display);
  font-size:13px;
  font-weight:450
}
.hp-mobile-nav a+a {
  border-top:1px solid #f1f1f4
}
/* Introduction. */
.hp-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,34%);
  align-items:start;
  column-gap:40px;
  padding-block:88px 88px
}
.hp-hero-copy {
  min-width:0;
  max-width:720px
}
.hp-shadow-lamp {
  width:100%;
  margin-top:-52px;
  position:relative;
  user-select:none
}
.hp-lamp-stage {
  position:relative;
  width:100%;
  aspect-ratio:3 / 4
}
.hp-lamp-canvas,
.hp-lamp-fallback {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%
}
.hp-lamp-canvas {
  visibility:hidden;
  border-radius:18px;
  cursor:grab;
  touch-action:none;
  -webkit-user-select:none
}
.hp-shadow-lamp.is-ready .hp-lamp-canvas {
  visibility:visible
}
.hp-shadow-lamp.is-ready .hp-lamp-fallback {
  display:none
}
.hp-shadow-lamp.is-dragging .hp-lamp-canvas {
  cursor:grabbing
}
.hp-lamp-fallback {
  pointer-events:none
}
.hp-lamp-hint {
  display:flex;
  visibility:hidden;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:0;
  color:#858a93;
  font-size:11px;
  line-height:20px;
  transition:color .2s
}
.hp-shadow-lamp.is-ready .hp-lamp-hint {
  visibility:visible
}
.hp-shadow-lamp:hover .hp-lamp-hint,
.hp-shadow-lamp:focus-within .hp-lamp-hint {
  color:var(--hp-ink)
}
.hp-lamp-instructions {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap
}
.hp-intro-tag {
  display:inline-flex;
  padding:5px 12px;
  min-height:36px;
  border:1px solid #e9eaed;
  border-radius:100px;
  background:transparent;
  align-items:center;
  gap:10px;
  font-size:13px;
  line-height:1.6;
  color:#646b76;
  letter-spacing:.1px
}
.hp-intro-identity {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--hp-ink);
  font-weight:500;
  white-space:nowrap
}
.hp-intro-identity img {
  flex:none;
  width:24px;
  height:24px;
  filter:grayscale(1)
}
.hp-hero h1 {
  font:700 52px/1.43 "CE Hero FangYuan",var(--hp-display);
  letter-spacing:-2.2px;
  margin:24px 0 24px;
  color:#202226
}
.hp-underline {
  position:relative;
  z-index:0
}
.hp-underline img {
  position:absolute;
  left:0;
  bottom:-9px;
  width:100%;
  height:13px;
  max-width:none;
  z-index:-1
}
.hp-hero-description {
  font-family:"PingFang SC",-apple-system,BlinkMacSystemFont,"Microsoft YaHei",sans-serif;
  max-width:560px;
  font-size:16px;
  line-height:1.9;
  color:var(--hp-copy)
}
.hp-actions {
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px
}
.hp-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:48px;
  padding:12px 21px;
  border:1px solid transparent;
  border-radius:100px;
  white-space:nowrap;
  font-size:14px;
  font-weight:500;
  line-height:1.5;
  transition:background .2s,border-color .2s,transform .2s
}
.hp-button span {
  font-size:17px;
  line-height:1
}
.hp-button:hover {
  transform:translateY(-2px)
}
.hp-button-dark {
  background:#292b30;
  color:#fff;
  box-shadow:0 2px 3px #1b203308
}
.hp-button-dark:hover {
  background:#111318
}
.hp-button-outline {
  border-color:#dbdde2;
  background:#fff
}
.hp-button-outline:hover {
  background:#f7f8fb;
  border-color:#b9bdc7
}
.hp-button-white {
  background:#fff;
  color:#24262b
}
.hp-button-white:hover {
  background:var(--hp-blue-soft)
}
.hp-button-small {
  min-height:44px;
  padding:11px 18px;
  font-size:13px
}
.hp-hero-credential {
  --hp-credential-row:28px;
  display:flex;
  align-items:center;
  font-size:12px;
  line-height:1.8;
  color:#626f82;
  margin-top:25px!important
}
.hp-credential-window {
  min-width:0
}
.hp-credential-track {
  margin:0;
  padding:0;
  list-style:none
}
.hp-credential-track li {
  min-height:var(--hp-credential-row);
  display:block;
  line-height:var(--hp-credential-row)
}
.hp-credential-track strong {
  color:var(--hp-ink);
  font-weight:700
}
.hp-credential-track .hp-credential-clone {
  display:none
}
.hp-hero-credential.is-rotating .hp-credential-window {
  height:var(--hp-credential-row);
  overflow:hidden
}
.hp-hero-credential.is-rotating .hp-credential-track {
  animation:hp-credential-roll 16s cubic-bezier(.65,0,.35,1) infinite
}
.hp-hero-credential.is-rotating .hp-credential-track li {
  height:var(--hp-credential-row);
  white-space:nowrap
}
.hp-hero-credential.is-rotating .hp-credential-clone {
  display:block
}
.hp-hero-credential.is-inactive .hp-credential-track {
  animation-play-state:paused
}
@keyframes hp-credential-roll {
  0%,22% { transform:translateY(0) }
  25%,47% { transform:translateY(-20%) }
  50%,72% { transform:translateY(-40%) }
  75%,97% { transform:translateY(-60%) }
  100% { transform:translateY(-80%) }
}
/* A clear hierarchy of featured article, practical guides, then a reading index. */
.hp-section {
  padding-block:0 88px
}
.hp-section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:28px
}
.hp-eyebrow {
  font-size:11px;
  letter-spacing:1px;
  line-height:1.6;
  color:#626f82;
  margin-bottom:13px!important
}
.hp-section h2,.hp-library-band h2,.hp-about h2 {
  font-size:30px
}
.hp-section-description {
  margin-top:12px!important;
  color:var(--hp-copy);
  font-size:15px;
  line-height:1.85
}
.hp-text-link {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  white-space:nowrap;
  font-size:13px;
  font-weight:500;
  min-height:44px;
  transition:color .2s
}
.hp-text-link span {
  font-size:17px;
  transition:transform .2s
}
.hp-text-link:hover {
  color:var(--hp-blue)
}
.hp-text-link:hover span {
  transform:translate(2px,-2px)
}
.hp-feature-art {
  position:relative;
  display:grid;
  grid-template-columns:38% 62%;
  height:360px;
  background:#eff2f6;
  border:1px solid #e6ebf1;
  border-radius:18px;
  overflow:hidden;
  align-items:center
}
.hp-feature-art-copy {
  padding:36px 0 30px 48px
}
.hp-mini-label {
  font-size:9px;
  letter-spacing:1.1px;
  color:#738196
}
.hp-feature-number {
  font:500 105px/1.2 Georgia,serif;
  letter-spacing:-5px;
  color:#3a4b66;
  margin:8px 0
}
.hp-feature-number span {
  font:italic 28px Georgia,serif;
  letter-spacing:-1px;
  margin-left:5px
}
.hp-feature-art-copy p {
  font:600 22px/1.5 var(--hp-serif);
  color:#3a4b66
}
.hp-art-caption {
  display:block;
  font-size:11px;
  letter-spacing:.3px;
  color:#7d899b;
  margin-top:22px
}
.hp-browser-model {
  position:relative;
  width:580px;
  background:#fff;
  border:1px solid #d9dfe8;
  border-radius:11px;
  box-shadow:0 16px 32px #344c7812;
  transform:translate(10px,6px) rotate(-2deg);
  transition:transform .35s ease
}
.hp-feature-art:hover .hp-browser-model {
  transform:translate(6px,2px) rotate(-1deg)
}
.hp-browser-top {
  height:34px;
  display:flex;
  align-items:center;
  gap:5px;
  padding:0 13px;
  border-bottom:1px solid #e6eaf0
}
.hp-browser-top i {
  height:5px;
  width:5px;
  border-radius:50%;
  background:#dbe0e8
}
.hp-browser-top span {
  font-size:8px;
  color:#8b95a5;
  margin-left:15px
}
.hp-browser-layout {
  display:flex;
  height:246px
}
.hp-browser-sidebar {
  width:139px;
  flex-shrink:0;
  border-right:1px solid #e9ecf1;
  padding:20px 13px;
  font-size:9px;
  color:#768296
}
.hp-browser-sidebar b {
  font-size:11px;
  font-weight:550;
  display:block;
  margin-bottom:15px;
  color:#3d4a5e
}
.hp-tiny-logo {
  color:#6685c0;
  font-size:15px;
  margin-right:6px
}
.hp-browser-sidebar>span {
  display:block;
  margin:3px 0;
  padding:5px 9px;
  border-radius:5px
}
.hp-browser-sidebar .is-active {
  color:#4165a0;
  background:#ebf1fc
}
.hp-browser-sidebar em {
  float:right;
  font-style:normal
}
.hp-browser-sidebar .hp-subitem {
  font-size:8px;
  padding-left:22px
}
.hp-browser-main {
  flex:1;
  padding:22px
}
.hp-browser-breadcrumb {
  font-size:8px;
  color:#a0a7b4
}
.hp-browser-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:10px;
  font-size:14px;
  font-weight:550;
  color:#4b586c
}
.hp-browser-title span {
  font-size:7px;
  font-weight:400;
  background:#4167aa;
  color:white;
  padding:5px 7px;
  border-radius:3px
}
.hp-browser-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-top:16px
}
.hp-browser-stats>div {
  padding:10px;
  border:1px solid #e8ebf2;
  border-radius:5px
}
.hp-browser-stats i {
  display:block;
  width:29px;
  height:3px;
  background:#dce1ea;
  margin-bottom:8px
}
.hp-browser-stats b {
  display:block;
  width:19px;
  height:6px;
  background:#abb9d0;
  border-radius:1px
}
.hp-model-table {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:14px 20px;
  margin-top:16px;
  padding:8px;
  font-size:6px;
  color:#96a0b1
}
.hp-model-table i {
  background:#e7ebf1;
  width:70%;
  height:4px;
  border-radius:2px
}
.hp-model-table em {
  background:#dce8e7;
  height:5px;
  border-radius:4px;
  width:55%
}
.hp-browser-callout {
  position:absolute;
  bottom:-13px;
  left:35px;
  padding:7px 15px;
  background:#fff;
  border:1px solid #dae3f1;
  box-shadow:0 3px 10px #142e5705;
  border-radius:7px;
  font-size:10px;
  color:#5676ab;
  transform:rotate(3deg)
}
.hp-art-arrow {
  position:absolute;
  right:20px;
  top:20px;
  width:36px;
  height:36px;
  background:#ffffffb3;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#637088;
  transition:background .2s
}
.hp-card-caption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:24px 0 36px
}
.hp-meta {
  font-size:12px;
  color:#626f82;
  letter-spacing:.1px
}
.hp-meta span {
  margin:0 5px
}
.hp-card-caption h3 {
  font-size:23px;
  line-height:1.55;
  font-weight:550;
  letter-spacing:-.4px;
  margin-top:8px
}
.hp-card-caption>div>p:last-child {
  color:var(--hp-copy);
  font-size:14px;
  margin-top:9px;
  line-height:1.8
}
.hp-card-caption h3 a:hover,.hp-practice h3 a:hover {
  color:var(--hp-blue)
}
.hp-practice-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px
}
.hp-practice-art {
  height:258px;
  border-radius:16px;
  position:relative;
  overflow:hidden;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:30px 38px
}
.hp-ai-art {
  background:#f2f1f7;
  border:1px solid #e9e7f1
}
.hp-vibe-art {
  background:#f1f4f2;
  border:1px solid #e5ebe7
}
.hp-ai-window,.hp-vibe-window {
  width:100%;
  background:#fff;
  border:1px solid #e5e3eb;
  border-radius:10px;
  box-shadow:0 8px 20px #23213b08;
  transform:translateY(8px);
  transition:transform .3s
}
.hp-practice-art:hover :is(.hp-ai-window,.hp-vibe-window) {
  transform:translateY(3px)
}
.hp-demo-heading {
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-bottom:1px solid #f0eef4;
  color:#898698;
  font-size:7px;
  letter-spacing:1px
}
.hp-demo-heading>span {
  font-size:14px;
  line-height:1;
  color:#8576a4
}
.hp-demo-heading>i {
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#e3deed;
  margin-left:auto
}
.hp-ai-question {
  margin:16px 15px 10px 40px;
  background:#f4f3fa;
  border:1px solid #ebe8f4;
  border-radius:7px;
  padding:9px 12px;
  font-size:9px;
  color:#787185;
  display:flex;
  justify-content:space-between;
  gap:6px
}
.hp-ai-answer {
  display:flex;
  gap:9px;
  margin:15px 16px
}
.hp-ai-spark {
  font-size:19px;
  color:#9a88be;
  line-height:1
}
.hp-ai-answer>div {
  flex:1
}
.hp-ai-answer b {
  font-size:9px;
  font-weight:400;
  color:#686578
}
.hp-skeleton {
  height:4px;
  background:#edebf3;
  border-radius:3px;
  margin-top:8px;
  width:95%
}
.hp-skeleton.short {
  width:65%
}
.hp-journey {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:18px 18px 16px;
  font-size:8px;
  color:#9a96a8
}
.hp-journey span {
  border:1px solid #e6e2ef;
  border-radius:5px;
  padding:3px 7px
}
.hp-journey i {
  font-style:normal;
  color:#c8c3d4
}
.hp-journey .is-active {
  background:#f0ecfa;
  color:#7e6aa5;
  border-color:#d8cdea
}
.hp-vibe-window {
  border-color:#dce5e0
}
.hp-vibe-window .hp-demo-heading {
  border-color:#e9efeb;
  color:#7b8f81
}
.hp-vibe-window .hp-demo-heading>span {
  color:#7b9685
}
.hp-vibe-content {
  display:grid;
  grid-template-columns:1fr 1fr;
  padding:17px;
  gap:15px;
  min-height:163px
}
.hp-vibe-content>div>span {
  font-size:7px;
  color:#95a198;
  display:block;
  margin-bottom:11px
}
.hp-vibe-prompt p {
  font:500 16px/1.7 var(--hp-serif);
  color:#4e6558
}
.hp-vibe-prompt>b {
  font-size:7px;
  font-weight:400;
  color:#93a298;
  display:block;
  margin-top:14px
}
.hp-vibe-ui {
  display:flex;
  height:95px;
  border:1px solid #e0e8e3;
  border-radius:5px;
  overflow:hidden
}
.hp-vibe-ui>div {
  width:24px;
  background:#ecf1ee;
  border-right:1px solid #e3ebe6
}
.hp-vibe-ui section {
  padding:10px 7px;
  flex:1;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:4px
}
.hp-vibe-ui i {
  height:16px;
  background:#eff3f0;
  border:1px solid #e8eee9;
  border-radius:2px
}
.hp-vibe-ui b {
  grid-column:span 3;
  background:#f7f9f8;
  border-radius:2px;
  font-size:6px;
  font-weight:400;
  padding:3px;
  color:#8b9a90
}
.hp-vibe-ui em {
  float:right;
  font-style:normal;
  color:#7fa58e
}
.hp-practice-caption {
  padding:20px 0 0
}
.hp-practice h3 {
  font-size:22px;
  line-height:1.5;
  font-weight:550;
  letter-spacing:-.4px;
  margin-top:8px
}
.hp-practice h3 a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px
}
.hp-practice h3 span {
  font-size:18px;
  font-weight:400;
  color:#767e8b
}
.hp-practice-caption>p:last-child {
  font-size:14px;
  color:var(--hp-copy);
  line-height:1.9;
  margin-top:10px;
  max-width:440px
}
.hp-reading-list {
  display:grid;
  grid-template-columns:150px 1fr;
  align-items:center;
  gap:0 26px;
  margin-top:34px;
  padding-top:20px;
  border-top:1px solid var(--hp-line);
  font-size:14px
}
.hp-reading-label {
  grid-row:span 3;
  align-self:start;
  padding-top:14px;
  color:#626f82;
  font-size:12px
}
.hp-reading-list a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
  min-height:48px;
  border-bottom:1px solid #f0f1f4
}
.hp-reading-list a:hover {
  color:var(--hp-blue)
}
.hp-reading-more {
  grid-column:2;
  margin-left:0;
  color:#626f82;
  font-size:12px
}
/* The resource shelf. */
.hp-library-band {
  width:min(1040px,calc(100% - 80px));
  margin:0 auto 88px;
  padding:40px 36px 28px;
  background:#f6f6f7;
  border:1px solid #ededf0;
  border-radius:20px
}
.hp-library-band h2 {
  font-size:30px
}
.hp-resource-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px
}
.hp-resource {
  background:#fff;
  border:1px solid #e8e9ed;
  border-radius:12px;
  padding:22px 18px;
  transition:transform .2s,border-color .2s
}
.hp-resource:hover {
  transform:translateY(-4px);
  border-color:var(--hp-blue-line)
}
.hp-resource-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:23px
}
.hp-resource-top>svg {
  width:28px;
  height:28px;
  fill:none;
  stroke:#5f6a7c;
  stroke-width:1.2;
  stroke-linecap:round;
  stroke-linejoin:round
}
.hp-resource-top>span {
  color:#b0b5bd;
  font-size:18px
}
.hp-resource h3 {
  font-size:17px;
  font-weight:550;
  margin-bottom:10px
}
.hp-resource p {
  font-size:13px;
  line-height:1.85;
  color:#6d7582
}
.hp-library-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:22px;
  font-size:12px;
  color:#626f82
}
.hp-library-bottom>div {
  display:flex;
  gap:24px
}
.hp-library-bottom a:hover {
  color:var(--hp-blue)
}
/* A personal voice, followed by grounded student stories. */
.hp-video-section {
  display:grid;
  grid-template-columns:300px 1fr;
  gap:64px
}
.hp-video-intro {
  padding-top:22px
}
.hp-video-intro h2 {
  font-size:36px;
  line-height:1.45
}
.hp-video-intro .hp-text-link {
  margin-top:24px
}
.hp-video-sign {
  display:block;
  color:var(--hp-blue);
  font:italic 17px Georgia,serif;
  margin-top:36px;
  transform:rotate(-5deg);
  width:210px
}
.hp-video-sign svg {
  fill:none;
  stroke:var(--hp-blue);
  stroke-opacity:.45;
  stroke-width:1.4;
  stroke-linecap:round;
  stroke-linejoin:round;
  width:70px;
  height:40px;
  margin:0 0 0 125px
}
.hp-video-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}
.hp-video-image {
  overflow:hidden;
  border-radius:16px;
  background:#e9edf4;
  border:1px solid #e3e6ef
}
.hp-video-image img {
  width:100%;
  height:auto;
  transition:transform .35s
}
.hp-video:hover img {
  transform:scale(1.025)
}
.hp-video .hp-meta {
  margin-top:18px
}
.hp-video h3 {
  font-size:16px;
  font-weight:550;
  line-height:1.65;
  margin-top:8px
}
.hp-video-watch {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:12px;
  color:#626f82;
  margin-top:16px;
  min-height:32px
}
.hp-video-watch span {
  font-size:17px
}
.hp-stories {
  padding-top:0
}
.hp-story-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}
.hp-story {
  border:1px solid var(--hp-line);
  border-radius:16px;
  padding:26px 28px 0;
  background:#fdfdfd;
  display:flex;
  flex-direction:column
}
.hp-story-tag {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:11px;
  color:#626f82;
  margin-bottom:20px!important
}
.hp-story h3 {
  font:500 24px/1.55 var(--hp-display);
  letter-spacing:-.7px
}
.hp-story-outcome {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:20px 0 24px;
  margin-top:auto;
  color:#626f82;
  font-size:12px
}
.hp-story-outcome strong {
  font-size:24px;
  font-weight:450;
  letter-spacing:-.8px;
  color:#4a5c78;
  white-space:nowrap
}
.hp-story-outcome strong span {
  font-size:14px;
  font-weight:400;
  padding:0 3px;
  color:#626f82
}
.hp-story-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-block:14px;
  border-top:1px solid #e9eaee;
  font-size:12px
}
.hp-story-bottom a:hover {
  color:var(--hp-blue)
}
.hp-record-link {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  color:#626f82
}
.hp-record-link img {
  object-fit:cover;
  object-position:top;
  width:22px;
  height:27px;
  border:1px solid #e4e6eb;
  border-radius:3px
}
.hp-story-disclaimer {
  font-size:11px;
  color:#626f82;
  margin-top:16px!important;
  line-height:1.8
}
/* A single contained dark block gives the coaching invitation its weight. */
.hp-coaching-section {
  padding-bottom:88px
}
.hp-coaching {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:64px;
  background:#292b30;
  color:#fff;
  border:1px solid #292b30;
  border-radius:20px;
  padding:48px
}
.hp-coaching .hp-eyebrow {
  color:#b1b7c4;
  font-size:12px;
  letter-spacing:.3px
}
.hp-coaching h2 {
  font:500 38px/1.45 var(--hp-display);
  letter-spacing:-1px;
  color:#f4f5f7
}
.hp-coaching>div>p:not(.hp-eyebrow) {
  font-size:14px;
  color:#b9bec9;
  line-height:1.9;
  max-width:405px;
  margin-top:22px
}
.hp-coaching .hp-actions {
  gap:18px;
  margin-top:28px
}
.hp-coaching .hp-button {
  font-size:13px;
  padding-inline:19px;
  gap:14px
}
.hp-coaching-talk {
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:13px;
  background:none;
  color:#e1e4ec;
  min-height:44px;
  padding:0
}
.hp-coaching-talk:hover {
  color:#fff;
  text-decoration:underline;
  text-underline-offset:6px
}
.hp-support-list {
  align-self:center
}
.hp-support-list>div {
  display:flex;
  align-items:center;
  gap:18px;
  padding:21px 0;
  border-bottom:1px solid #ffffff18
}
.hp-support-list>div:last-child {
  border:0
}
.hp-support-list>div>span {
  font-size:11px;
  color:#a0a7b7
}
.hp-support-list p {
  font-size:16px;
  line-height:1.5;
  color:#e6e9ef
}
.hp-support-list small {
  display:block;
  font-size:12px;
  color:#adb5c5;
  margin-top:6px
}
.hp-support-list i {
  font-style:normal;
  font-size:20px;
  color:#9da4b8;
  margin-left:auto
}
.hp-about {
  display:grid;
  grid-template-columns:300px 1fr;
  gap:64px;
  align-items:center;
  padding-bottom:76px
}
.hp-about-mark {
  display:flex;
  align-items:flex-start;
  justify-content:center;
  flex-direction:column;
  border-left:2px solid #e9edf5;
  padding:4px 0 4px 30px;
  margin-left:20px
}
.hp-about-mark img {
  filter:grayscale(1);
  width:56px;
  height:56px;
  margin-bottom:18px
}
.hp-about-mark>span {
  font-size:13px;
  color:#626f82;
  margin-top:7px
}
.hp-about h2 {
  font-size:32px
}
.hp-about-copy>p:not(.hp-eyebrow) {
  font-size:15px;
  color:var(--hp-copy);
  line-height:1.95;
  margin-top:18px
}
.hp-about .hp-text-link {
  margin-top:16px
}
.hp-footer {
  border-top:1px solid var(--hp-line);
  padding:28px 0 26px
}
.hp-footer-main {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px
}
.hp-footer-links {
  display:flex;
  gap:28px;
  align-items:center;
  color:#6a7484;
  font-size:12px
}
.hp-footer-links button {
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:none;
  font-size:12px;
  padding:10px 0;
  min-height:44px
}
.hp-footer-links a:hover,.hp-footer-links button:hover {
  color:var(--hp-blue)
}
.hp-footer-bottom {
  display:flex;
  gap:28px;
  align-items:center;
  color:#626f82;
  font-size:11px;
  margin-top:26px
}
.hp-footer-bottom>a:last-child {
  margin-left:auto;
  color:#626f82
}
.hp-footer-bottom a:hover {
  color:var(--hp-blue)
}
/* Reuse the existing consultation behavior with the homepage's light palette. */
body.home-sandeep #ce-coaching-dialog {
  background:#fff;
  color:var(--hp-ink);
  border:1px solid #e1e5ed;
  border-radius:20px;
  box-shadow:0 24px 90px #19233a24
}
body.home-sandeep #ce-coaching-dialog::backdrop {
  background:#1f293c55;
  backdrop-filter:blur(6px)
}
body.home-sandeep #ce-coaching-dialog h2 {
  color:var(--hp-ink);
  font-family:var(--hp-serif);
  font-size:26px;
  font-weight:600
}
body.home-sandeep #ce-coaching-dialog :is(.ce-coaching-kicker,#ce-coaching-description,.ce-coaching-status) {
  color:var(--ce-muted,#626f82)
}
body.home-sandeep #ce-coaching-dialog .ce-coaching-close {
  color:#8a9099
}
body.home-sandeep #ce-coaching-dialog .ce-coaching-copy {
  background:#f6f7fa;
  border-color:#e1e5ed;
  color:#45536d;
  border-radius:30px
}
body.home-sandeep #ce-coaching-dialog .ce-coaching-copy span {
  color:var(--ce-muted,#626f82)
}
/* Small shared details: readable metadata, one arrow, and deliberate text grouping. */
.hp-header .hp-brand-en {
  display:none
}
.hp-tag-separator {
  flex:none;
  width:1px;
  height:12px;
  background:#d6d9df;
  font-size:0;
  margin-inline:2px
}
.hp-title-line {
  display:block;
  white-space:nowrap
}
.hp-phrase {
  white-space:nowrap;
}
.hp-icon-arrow {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:-2px;
  flex-shrink:0;
  width:17px;
  height:17px;
  line-height:1
}
.hp-icon-arrow svg,.hp-art-arrow svg {
  width:17px;
  height:17px;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round
}
.hp-button .hp-icon-arrow,.hp-text-link .hp-icon-arrow {
  transition:transform .2s
}
.hp-button:hover .hp-icon-arrow,.hp-text-link:hover .hp-icon-arrow {
  transform:translate(2px,-2px)
}
.hp-library-band>.hp-wrap {
  width:100%
}
.hp-library-bottom a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px
}
.hp-reading-list .hp-reading-more {
  justify-content:flex-start;
  gap:8px;
  border:0;
  padding-top:14px
}
.hp-story-details {
  margin:22px 0 0;
  font-size:13px;
  line-height:1.85;
  color:#626c7c
}
.hp-story-details>div {
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  padding:13px 0;
  border-top:1px solid #eceef2
}
.hp-story-details dt {
  color:#626f82;
  font-size:11px;
  padding-top:2px
}
.hp-story-details dd {
  margin:0
}
.hp-story-bottom>a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px
}
.hp-about-mark strong {
  font-size:22px;
  font-weight:550;
  letter-spacing:.5px;
  line-height:1.4
}
.hp-about-mark small {
  font-size:9px;
  letter-spacing:1px;
  color:#626f82;
  margin-top:22px
}
.hp-footer-links a {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px
}
.hp-footer-bottom a {
  min-height:30px;
  display:inline-flex;
  align-items:center
}
.hp-practice-art:hover .hp-art-arrow,.hp-feature-art:hover .hp-art-arrow {
  background:#fff
}
/* Laptop spacing and typography. */
@media (max-width:1100px) {
  .hp-hero {
    padding-top:72px
  }
  .hp-hero h1 {
    font-size:46px;
    letter-spacing:-2px
  }
  .hp-hero-description {
    font-size:15px
  }
  .hp-hero-break {
    display:none
  }
  .hp-nav-shell {
    gap:24px
  }
  .hp-feature-art-copy {
    padding-left:36px
  }
  .hp-mini-label {
    font-size:8px
  }
  .hp-feature-number {
    font-size:96px
  }
  .hp-practice-art {
    padding-inline:26px
  }
  .hp-practice h3 {
    font-size:21px
  }
  .hp-library-band {
    padding-inline:28px
  }
  .hp-resource {
    padding:20px 16px
  }
  .hp-resource p {
    font-size:12px
  }
  .hp-video-section,.hp-about {
    grid-template-columns:260px 1fr;
    gap:40px
  }
  .hp-video-intro h2 {
    font-size:33px
  }
  .hp-video h3 {
    font-size:15px
  }
  .hp-story {
    padding-inline:24px
  }
  .hp-story h3 {
    font-size:23px
  }
  .hp-story-tag {
    font-size:10px
  }
  .hp-coaching {
    gap:40px;
    padding:40px
  }
  .hp-coaching h2 {
    font-size:35px
  }
  .hp-coaching .hp-actions {
    gap:12px
  }
  .hp-coaching-talk {
    font-size:12px
  }
  .hp-coaching .hp-button {
    font-size:12px;
    padding-inline:17px
  }
}
@media (max-width:900px) {
  .hp-wrap {
    width:calc(100% - 56px)
  }
  .hp-header {
    --hp-nav-gutter:56px
  }
  .hp-nav-shell {
    gap:16px
  }
  .hp-nav-contact {
    padding-inline:13px
  }
  .hp-brand {
    font-size:15px
  }
  .hp-hero {
    padding-block:56px 72px
  }
  .hp-hero h1 {
    font-size:37px;
    letter-spacing:-1.5px
  }
  .hp-hero-description {
    font-size:14px
  }
  .hp-hero-credential {
    font-size:10px
  }
  .hp-intro-tag {
    font-size:12px
  }
  .hp-button {
    font-size:12px;
    gap:12px;
    padding-inline:16px
  }
  .hp-section {
    padding-bottom:72px
  }
  .hp-section h2,.hp-library-band h2 {
    font-size:28px
  }
  .hp-section-description {
    font-size:14px
  }
  .hp-section-heading {
    gap:20px
  }
  .hp-text-link {
    font-size:12px
  }
  .hp-feature-art {
    height:320px
  }
  .hp-feature-art-copy {
    padding-left:28px
  }
  .hp-feature-number {
    font-size:84px
  }
  .hp-feature-number span {
    font-size:25px
  }
  .hp-feature-art-copy p {
    font-size:20px
  }
  .hp-art-caption {
    font-size:10px
  }
  .hp-mini-label {
    font-size:7px;
    letter-spacing:.7px
  }
  .hp-browser-model {
    width:510px
  }
  .hp-card-caption h3 {
    font-size:20px
  }
  .hp-card-caption>div>p:last-child {
    font-size:13px
  }
  .hp-meta {
    font-size:11px
  }
  .hp-practice-art {
    height:232px;
    padding-inline:22px
  }
  .hp-practice h3 {
    font-size:19px
  }
  .hp-practice-caption>p:last-child {
    font-size:13px
  }
  .hp-vibe-content {
    padding:12px;
    gap:10px
  }
  .hp-vibe-prompt p {
    font-size:14px
  }
  .hp-ai-question {
    font-size:8px;
    margin-left:22px
  }
  .hp-ai-answer b {
    font-size:8px
  }
  .hp-journey {
    margin-inline:12px;
    font-size:7px
  }
  .hp-journey span {
    padding:3px 5px
  }
  .hp-reading-list {
    grid-template-columns:120px 1fr;
    font-size:13px
  }
  .hp-library-band {
    width:calc(100% - 56px);
    padding:32px 24px 24px;
    margin-bottom:72px
  }
  .hp-resource-grid {
    grid-template-columns:1fr 1fr;
    gap:14px
  }
  .hp-resource {
    padding:22px
  }
  .hp-resource-top {
    margin-bottom:20px
  }
  .hp-resource p {
    font-size:13px
  }
  .hp-video-section {
    grid-template-columns:210px 1fr;
    gap:28px
  }
  .hp-video-intro h2 {
    font-size:29px
  }
  .hp-video-intro {
    padding-top:8px
  }
  .hp-video-intro .hp-section-description {
    font-size:13px
  }
  .hp-video-grid {
    gap:18px
  }
  .hp-video h3 {
    font-size:13px
  }
  .hp-video-sign {
    font-size:15px;
    margin-top:24px;
    width:180px
  }
  .hp-video-sign svg {
    margin-left:100px
  }
  .hp-video-watch {
    font-size:11px
  }
  .hp-story {
    padding:24px 22px 0
  }
  .hp-story h3 {
    font-size:21px
  }
  .hp-story-details {
    font-size:12px
  }
  .hp-story-details>div {
    grid-template-columns:28px 1fr;
    gap:8px
  }
  .hp-story-tag {
    flex-wrap:wrap;
    font-size:10px;
    gap:5px
  }
  .hp-story-outcome {
    font-size:11px;
    flex-wrap:wrap
  }
  .hp-story-bottom {
    font-size:11px;
    gap:8px
  }
  .hp-record-link {
    font-size:10px
  }
  .hp-story-outcome strong {
    font-size:22px
  }
  .hp-coaching-section {
    padding-bottom:72px
  }
  .hp-coaching {
    padding:34px;
    gap:30px
  }
  .hp-coaching h2 {
    font-size:32px
  }
  .hp-coaching>div>p:not(.hp-eyebrow) {
    font-size:13px
  }
  .hp-coaching .hp-eyebrow {
    font-size:11px
  }
  .hp-support-list p {
    font-size:14px
  }
  .hp-support-list small {
    font-size:11px
  }
  .hp-support-list>div {
    gap:14px
  }
  .hp-about {
    grid-template-columns:210px 1fr;
    gap:28px
  }
  .hp-about h2 {
    font-size:28px
  }
  .hp-about-mark {
    padding-left:24px;
    margin-left:0
  }
  .hp-about-mark>span {
    font-size:11px
  }
  .hp-about-copy>p:not(.hp-eyebrow) {
    font-size:14px
  }
  .hp-footer-links {
    gap:18px;
    font-size:11px
  }
  .hp-footer-links button {
    font-size:11px
  }
  .hp-footer-bottom {
    font-size:10px;
    gap:22px
  }
}
/* Phone: larger readable text, fewer decorative layers, and comfortable targets. */
@media (max-width:760px) {
  html {
    scroll-padding-top:100px
  }
  .hp-wrap {
    width:calc(100% - 40px)
  }
  .hp-header {
    --hp-nav-gutter:40px;
    height:70px;
    padding-top:12px
  }
  .hp-nav-shell {
    min-height:46px;
    gap:10px
  }
  .hp-header.is-scrolled .hp-nav-shell {
    width:calc(100% - var(--hp-nav-gutter));
    padding:7px 10px;
    transform:translateY(0)
  }
  .hp-brand {
    font-size:15px;
    gap:8px
  }
  .hp-brand img {
    width:28px;
    height:28px
  }
  .hp-desktop-nav {
    display:none
  }
  .hp-nav-actions {
    gap:8px
  }
  .hp-nav-contact {
    font-size:13px;
    padding:9px 13px;
    min-height:42px;
    gap:8px
  }
  .hp-menu {
    display:flex
  }
  .hp-mobile-nav a {
    font-size:13px;
    min-height:52px
  }
  .hp-hero {
    display:block;
    padding:43px 0 56px
  }
  .hp-shadow-lamp {
    display:none
  }
  .hp-intro-tag {
    font-size:12px;
    gap:9px
  }
  .hp-hero h1 {
    font-size:clamp(29px,7.9vw,44px);
    font-weight:700;
    letter-spacing:-1.3px;
    line-height:1.5;
    margin:24px 0 22px
  }
  .hp-underline img {
    bottom:-7px;
    height:10px
  }
  .hp-hero-description {
    font-size:15px;
    line-height:1.9;
    max-width:560px
  }
  .hp-hero .hp-actions {
    gap:10px;
    margin-top:25px
  }
  .hp-hero .hp-button {
    font-size:12px;
    min-height:46px;
    padding:12px 16px;
    gap:14px
  }
  .hp-hero-credential {
    font-size:11px;
    line-height:1.9;
    margin-top:22px!important
  }
  .hp-section {
    padding-bottom:60px
  }
  .hp-section-heading {
    gap:13px;
    margin-bottom:23px;
    align-items:flex-start;
    flex-wrap:wrap
  }
  .hp-section h2,.hp-library-band h2 {
    font-size:27px;
    line-height:1.45;
    letter-spacing:-.8px
  }
  .hp-eyebrow {
    font-size:10px;
    letter-spacing:.6px;
    margin-bottom:11px!important
  }
  .hp-section-description {
    font-size:14px;
    line-height:1.8;
    margin-top:11px!important
  }
  .hp-text-link {
    font-size:12px;
    gap:13px;
    min-height:44px
  }
  .hp-section-heading>.hp-text-link {
    margin-top:-4px
  }
  .hp-icon-arrow {
    width:16px;
    height:16px
  }
  .hp-icon-arrow svg {
    width:16px;
    height:16px
  }
  .hp-feature-art {
    height:270px;
    grid-template-columns:43% 57%;
    border-radius:14px
  }
  .hp-feature-art-copy {
    padding:22px 0 22px 23px
  }
  .hp-mini-label {
    font-size:7px;
    letter-spacing:.5px;
    display:block;
    max-width:110px
  }
  .hp-feature-number {
    font-size:79px;
    margin:8px 0;
    letter-spacing:-3px
  }
  .hp-feature-number span {
    font-size:18px;
    letter-spacing:-.5px;
    margin-left:3px
  }
  .hp-feature-art-copy p {
    font-size:16px;
    white-space:nowrap;
    line-height:1.6
  }
  .hp-art-caption {
    font-size:8px;
    letter-spacing:0;
    margin-top:20px
  }
  .hp-browser-model {
    width:435px;
    transform:translate(12px,0) rotate(-2deg)
  }
  .hp-feature-art:hover .hp-browser-model {
    transform:translate(12px,0) rotate(-2deg)
  }
  .hp-browser-layout {
    height:200px
  }
  .hp-browser-sidebar {
    width:110px;
    padding:13px 8px;
    font-size:8px
  }
  .hp-browser-sidebar b {
    font-size:9px
  }
  .hp-browser-sidebar .hp-subitem {
    font-size:7px;
    padding-left:14px
  }
  .hp-browser-main {
    padding:15px
  }
  .hp-browser-title {
    font-size:11px
  }
  .hp-browser-title span {
    font-size:6px
  }
  .hp-browser-top {
    height:27px
  }
  .hp-browser-stats {
    gap:6px
  }
  .hp-browser-stats>div {
    padding:8px
  }
  .hp-browser-callout {
    font-size:7px;
    padding:5px 9px;
    left:15px
  }
  .hp-art-arrow {
    width:30px;
    height:30px;
    right:12px;
    top:12px
  }
  .hp-card-caption {
    padding:20px 0 30px;
    flex-direction:column;
    align-items:flex-start;
    gap:16px
  }
  .hp-meta {
    font-size:11px;
    line-height:1.7
  }
  .hp-card-caption h3 {
    font-size:20px;
    line-height:1.6;
    letter-spacing:-.4px;
    margin-top:8px
  }
  .hp-card-caption>div>p:last-child {
    font-size:14px;
    line-height:1.8;
    margin-top:8px
  }
  .hp-button-small {
    font-size:12px;
    min-height:44px;
    padding:10px 17px
  }
  .hp-practice-grid {
    grid-template-columns:1fr;
    gap:28px
  }
  .hp-practice-art {
    height:242px;
    padding:26px 32px
  }
  .hp-ai-window,.hp-vibe-window {
    max-width:370px
  }
  .hp-demo-heading {
    font-size:7px
  }
  .hp-ai-question {
    font-size:9px;
    margin-left:32px
  }
  .hp-ai-answer b {
    font-size:9px
  }
  .hp-journey {
    margin-inline:18px;
    font-size:8px
  }
  .hp-vibe-content {
    padding:17px;
    gap:15px
  }
  .hp-vibe-prompt p {
    font-size:16px
  }
  .hp-practice-caption {
    padding-top:18px
  }
  .hp-practice h3 {
    font-size:21px;
    margin-top:8px
  }
  .hp-practice-caption>p:last-child {
    font-size:14px;
    line-height:1.85;
    margin-top:8px;
    max-width:none
  }
  .hp-reading-list {
    display:grid;
    grid-template-columns:1fr;
    margin-top:28px;
    padding-top:17px;
    gap:0;
    font-size:13px
  }
  .hp-reading-label {
    grid-row:auto;
    padding-top:0;
    margin-bottom:6px;
    font-size:11px
  }
  .hp-reading-list a {
    font-size:13px;
    min-height:52px;
    padding:13px 0
  }
  .hp-reading-list .hp-reading-more {
    grid-column:1;
    font-size:12px;
    min-height:44px;
    padding-top:12px
  }
  .hp-library-band {
    width:calc(100% - 40px);
    padding:27px 18px 20px;
    margin-bottom:60px;
    border-radius:16px
  }
  .hp-library-band h2 {
    font-size:26px
  }
  .hp-library-band .hp-section-description {
    font-size:13px
  }
  .hp-library-band .hp-section-heading {
    gap:9px;
    margin-bottom:18px
  }
  .hp-resource-grid {
    grid-template-columns:1fr 1fr;
    gap:10px
  }
  .hp-resource {
    padding:18px 14px;
    border-radius:10px
  }
  .hp-resource-top {
    margin-bottom:19px
  }
  .hp-resource-top svg {
    width:24px;
    height:24px
  }
  .hp-resource h3 {
    font-size:15px;
    margin-bottom:9px
  }
  .hp-resource p {
    font-size:12px;
    line-height:1.85
  }
  .hp-library-bottom {
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    font-size:11px;
    padding-top:16px
  }
  .hp-library-bottom>div {
    gap:20px
  }
  .hp-library-bottom a {
    min-height:40px
  }
  .hp-video-section {
    display:block
  }
  .hp-video-intro {
    padding-top:0
  }
  .hp-video-intro h2 {
    font-size:28px
  }
  .hp-video-intro h2 br {
    display:none
  }
  .hp-video-intro .hp-section-description {
    font-size:14px;
    margin-top:11px!important
  }
  .hp-video-intro .hp-section-description br {
    display:none
  }
  .hp-video-intro .hp-text-link {
    margin-top:9px
  }
  .hp-video-sign {
    display:none
  }
  .hp-video-grid {
    margin-top:20px;
    gap:14px
  }
  .hp-video-image {
    border-radius:12px
  }
  .hp-video h3 {
    font-size:14px;
    line-height:1.65;
    margin-top:7px;
    letter-spacing:-.3px
  }
  .hp-video h3 br {
    display:none
  }
  .hp-video .hp-meta {
    font-size:10px;
    margin-top:13px
  }
  .hp-video-watch {
    font-size:11px;
    margin-top:10px;
    min-height:36px
  }
  .hp-story-grid {
    grid-template-columns:1fr;
    gap:16px
  }
  .hp-story {
    padding:24px 21px 0;
    border-radius:14px
  }
  .hp-story h3 {
    font-size:23px;
    line-height:1.5
  }
  .hp-story-tag {
    font-size:10px;
    margin-bottom:18px!important
  }
  .hp-story-details {
    font-size:13px;
    line-height:1.9;
    margin-top:20px
  }
  .hp-story-details>div {
    grid-template-columns:29px 1fr;
    gap:9px;
    padding:12px 0
  }
  .hp-story-details dt {
    font-size:11px
  }
  .hp-story-outcome {
    padding:18px 0 20px;
    font-size:11px
  }
  .hp-story-outcome strong {
    font-size:23px
  }
  .hp-story-bottom {
    font-size:12px;
    padding:12px 0;
    gap:8px
  }
  .hp-record-link {
    font-size:10px;
    gap:5px
  }
  .hp-story-disclaimer {
    font-size:11px;
    margin-top:14px!important;
    line-height:1.85
  }
  .hp-coaching-section {
    padding-bottom:60px
  }
  .hp-coaching {
    grid-template-columns:1fr;
    padding:30px 24px;
    gap:24px;
    border-radius:16px
  }
  .hp-coaching .hp-eyebrow {
    font-size:11px
  }
  .hp-coaching h2 {
    font-size:31px;
    line-height:1.45;
    letter-spacing:-1px
  }
  .hp-coaching>div>p:not(.hp-eyebrow) {
    font-size:14px;
    line-height:1.85;
    margin-top:19px
  }
  .hp-coaching .hp-actions {
    gap:10px 18px;
    margin-top:24px
  }
  .hp-coaching .hp-button {
    font-size:12px;
    min-height:44px;
    padding:12px 16px
  }
  .hp-coaching-talk {
    font-size:12px;
    min-height:44px
  }
  .hp-support-list {
    border-top:1px solid #ffffff18
  }
  .hp-support-list>div {
    padding:17px 0;
    gap:16px
  }
  .hp-support-list>div:last-child {
    padding-bottom:0
  }
  .hp-support-list p {
    font-size:15px
  }
  .hp-support-list small {
    font-size:11px;
    margin-top:5px
  }
  .hp-support-list i {
    font-size:18px
  }
  .hp-about {
    display:block;
    padding-bottom:48px
  }
  .hp-about-mark {
    display:grid;
    grid-template-columns:52px 1fr;
    gap:4px 12px;
    border:0;
    padding:0;
    margin:0 0 30px;
    align-items:center;
    justify-content:initial
  }
  .hp-about-mark img {
    grid-row:span 2;
    width:48px;
    height:48px;
    margin:0
  }
  .hp-about-mark strong {
    font-size:18px;
    align-self:end;
    line-height:1.5
  }
  .hp-about-mark>span {
    font-size:12px;
    margin-top:0;
    align-self:start
  }
  .hp-about-mark small {
    display:none
  }
  .hp-about h2 {
    font-size:27px
  }
  .hp-about-copy>p:not(.hp-eyebrow) {
    font-size:14px;
    line-height:1.95;
    margin-top:16px
  }
  .hp-about .hp-text-link {
    margin-top:13px
  }
  .hp-footer {
    padding:24px 0
  }
  .hp-footer-main {
    align-items:flex-start;
    flex-direction:column;
    gap:20px
  }
  .hp-footer-links {
    font-size:12px;
    gap:4px 18px;
    flex-wrap:wrap
  }
  .hp-footer-links button {
    font-size:12px;
    padding:0
  }
  .hp-footer-bottom {
    font-size:10px;
    gap:4px 16px;
    margin-top:17px;
    flex-wrap:wrap
  }
  .hp-footer-bottom>a:last-child {
    margin-left:0
  }
}
@media(max-width:359px) {
  .hp-wrap {
    width:calc(100% - 32px)
  }
  .hp-header {
    --hp-nav-gutter:32px
  }
  .hp-hero h1 {
    font-size:27px;
    letter-spacing:-1px
  }
  .hp-intro-tag {
    font-size:11px
  }
  .hp-hero-description {
    font-size:14px
  }
  .hp-hero .hp-button {
    font-size:11px;
    padding-inline:13px;
    gap:11px
  }
  .hp-hero-credential {
    font-size:10px
  }
  .hp-nav-contact {
    padding-inline:11px
  }
  .hp-section h2 {
    font-size:25px
  }
  .hp-feature-art {
    height:246px
  }
  .hp-feature-art-copy {
    padding-left:18px
  }
  .hp-feature-number {
    font-size:66px
  }
  .hp-feature-art-copy p {
    font-size:14px
  }
  .hp-art-caption {
    font-size:7px
  }
  .hp-practice-art {
    padding-inline:22px
  }
  .hp-library-band {
    width:calc(100% - 32px);
    padding-inline:14px
  }
  .hp-resource {
    padding:16px 12px
  }
  .hp-resource h3 {
    font-size:14px
  }
  .hp-resource p {
    font-size:11px
  }
  .hp-video h3 {
    font-size:13px
  }
  .hp-video-watch {
    font-size:10px
  }
  .hp-story-tag {
    font-size:9px
  }
  .hp-story {
    padding-inline:18px
  }
  .hp-story h3 {
    font-size:21px
  }
  .hp-coaching {
    padding-inline:22px
  }
  .hp-coaching h2 {
    font-size:28px
  }
  .hp-footer-links {
    column-gap:14px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
}

/* Figma feedback: a compact index into the three content destinations. */
.hp-entry-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}
.hp-entry {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:26px;
  border:1px solid var(--hp-line);
  border-radius:16px;
  background:#fff;
  transition:background .2s,border-color .2s
}
.hp-entry:hover {
  border-color:#cbd3e2;
  background:#fafbfc
}
.hp-entry-label {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin-bottom:24px;
  color:var(--hp-muted);
  font-size:10px;
  letter-spacing:.7px;
  line-height:1.6
}
.hp-entry-label .hp-icon-arrow {
  color:#838b99;
  transition:transform .2s,color .2s
}
.hp-entry:hover .hp-icon-arrow {
  color:var(--hp-blue);
  transform:translate(2px,-2px)
}
.hp-entry h3 {
  font-size:20px;
  font-weight:600;
  line-height:1.5;
  letter-spacing:-.4px
}
.hp-entry p {
  margin:10px 0 22px;
  color:var(--hp-copy);
  font-size:14px;
  line-height:1.85
}
.hp-entry-action {
  margin-top:auto;
  color:#454b56;
  font-size:12px;
  line-height:1.8
}
@media(max-width:1100px) {
  .hp-entry {padding:22px}
  .hp-entry h3 {font-size:18px}
  .hp-entry p {font-size:13px}
}
@media(max-width:760px) {
  .hp-entry-grid {grid-template-columns:1fr;gap:12px}
  .hp-entry {padding:22px 24px}
  .hp-entry-label {margin-bottom:14px}
  .hp-entry h3 {font-size:20px}
  .hp-entry p {margin:9px 0 16px;font-size:14px}
  .hp-entry p br {display:none}
}
