/* The northern identity: lilac snow, soft daylight, and violet accents. */
:root {
  --bg: #f7f5fb;
  --paper: #fffefe;
  --text: #30283f;
  --muted: #7d728b;
  --line: #e8e2f0;
  --accent: #7950c7;
  --brand-dark: #49316b;
}
.button { background: var(--accent); }
.button:hover { background: #6840b8; }
.logo-dot, .greeting-sun { color: #9973d7; }
.skip-link:not(:focus) { opacity: 0; pointer-events: none; }
.round-icon.orange, .round-icon.green, .feature-icon { background: #f0e9fa; color: #865fb7; }
.badge.green { background: #e8f2ee; color: #386957; }
.badge.amber, .stat-icon.orange { background: #faf0dc; color: #8c682b; }
.badge.red { background: #fbeae7; color: #a24e42; }
.plan-notes { background: #fcf5e8; border-color: #eee2c9; }
.plan-notes h3, .plan-notes p { color: #806c43; }
.error-panel { background: #fbece9; border-color: #efd4ce; color: #9e574d; }
.auth-story { background: #eee5f6; color: #342341; }
.auth-story-copy > .eyebrow { color: #8d72a4; letter-spacing: 1.2px; font-size:var(--text-caption); }
.auth-story h1 { font-weight: 450; }
.auth-story h1 em { color: #9875b6; }
.auth-story-copy > p:last-child { color: #756582; }
.auth-story > img { height: 79%; object-position: center bottom; mask-image: linear-gradient(transparent, #000 35%); }
.auth-caption { color: #806991; }
.auth-main { background: #fcfaff; }
.welcome-banner { background: #eee5f6; border-color: #ded0e9; }
.welcome-banner h2 { color: #342341; }
.welcome-banner p, .welcome-banner .eyebrow { color: #756582; }
.welcome-banner .button.dark { background: #865bcf; color: white; }
.welcome-banner .button.dark:hover { background: #9670d7; }
.banner-art > img { opacity: .8; object-position: center 70%; }
.banner-stamp { background: #f2eafbda; color: #6f518c; border-color: #cdb8eaaa; box-shadow: 0 0 0 6px #d6c5ef20; }
.banner-stamp strong { font-size: 23px; }

/* Violet Trail: DM Sans with Skrape’s medium headline weight and tight tracking. */
.north-nav, .north-hero-copy { -webkit-font-smoothing: antialiased; }
.aurora-landing { position: relative; background: #f8f5fb; color: #342341; overflow: clip; }
.north-nav { font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-weight: 500; position: fixed; inset: 0 0 auto; z-index: 5; height: 86px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; padding-inline: 6%; background: transparent; border: 0; pointer-events: none; }
.north-nav nav { display: flex; align-items: center; gap: 32px; font-size:var(--text-body); color: #dfd0e9; }
.north-nav nav, .north-login { pointer-events: auto; }
.north-nav.past-brand nav, .north-nav.past-brand .north-login { visibility: hidden; pointer-events: none; }
.north-nav a:hover { color: #fff7ff; }
.north-nav.past-hero nav, .north-nav.past-hero .north-login { color: #6f5184; }
.north-nav.past-hero a:hover { color: #342341; }
.north-login { justify-self: end; display: flex; align-items: center; gap: 16px; font-size:var(--text-body); color: #dfd0e9; }
.north-login .icon { width: 16px; height: 16px; }
.north-brand-icon { display: grid; place-items: center; width: 60px; height: 44px; visibility: hidden; opacity: 0; transform: translateY(-6px); pointer-events: none; transition: opacity .25s ease, transform .25s ease, visibility .25s; }
.north-brand-icon.is-visible { visibility: visible; opacity: 1; transform: none; pointer-events: auto; }
.north-brand-icon img { display: block; width: 100%; height: auto; }
.aurora-landing .logo img, .auth-page .logo img, .app-layout .logo img { width: 54px; height: 27px; }
.north-hero { position: relative; isolation: isolate; overflow: clip; min-height: 100vh; min-height: 100svh; display: grid; align-items: center; justify-items: start; padding: 150px 6% 100px 8.5%; color: #f6effb; background: radial-gradient(ellipse at 80% 78%, #67378538, transparent 55%), linear-gradient(115deg, #1b1525 10%, #2a1d3a 60%, #402854); }
.north-hero-copy { font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --wordmark-size: clamp(58px, 6.95vw, 117px); position: relative; text-align: left; max-width: 100%; }
.north-hero-brand { display: block; }
.north-hero-brand > img { display: block; width: clamp(95px, 8.05vw, 131px); height: auto; aspect-ratio: 2; margin: 0 0 8px; filter: brightness(1.3); }
.north-hero h1 { font-size: var(--wordmark-size); font-weight: 500; letter-spacing: -.065em; line-height: 1.02; margin: 0; white-space: nowrap; }
.north-hero .wordmark-rova { font-weight: inherit; color: #f6effb; background: linear-gradient(135deg, #fffcff 15%, #e7d9f1 55%, #fcf6ff 85%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.north-hero .wordmark-nima { font-weight: inherit; letter-spacing: inherit; }
.north-hero h1 .logo-dot { color: #c38dec; font-weight: inherit; margin-left: .03em; }
.north-hero-copy > p { color: #dfd3e9; font-size: clamp(14.5px, 1.3vw, 20.5px); font-weight: 400; letter-spacing: normal; line-height: 1.8; margin: 17px 0 0; max-width: 715px; }
.north-hero-actions { display: flex; justify-content: start; align-items: center; gap: 28px; margin-top: 30px; }
.north-hero-actions .button { background: linear-gradient(120deg, #d5a5fb, #c08beb 65%, #cda1f5); color: #291737; padding: 13px 24px; border: 0; border-radius: 999px; min-height: 49px; font-size: clamp(13.5px, 1.075vw, 17px); font-weight: 400; gap: 27px; box-shadow: inset 0 1px 0 #eed6ff66; }
.north-hero-actions .button:hover { background: linear-gradient(120deg, #dfb7ff, #cc9cf4 65%, #dbb6fb); }
.north-hero-actions .button .icon { width: 20px; height: 20px; }
.north-tour-link { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; font-size: clamp(13.5px, 1vw, 15.5px); font-weight: 400; color: #eadff3; }
.north-tour-link .icon { width: 20px; height: 20px; color: #c997eb; }
.frost-art { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.frost-contours { position: absolute; width: 75%; height: 130%; right: -5%; top: -15%; opacity: .8; animation: frost-drift 22s ease-in-out infinite alternate; }
.frost-contours > g:first-of-type { stroke-width: .8px; }
.frost-signals { animation: frost-trace 14s linear infinite; }
.frost-reflection { position: absolute; inset: -30%; background: linear-gradient(115deg, transparent 30%, #c28de61a 42%, #9b60bf1a 48%, transparent 62%); animation: frost-reflection 12s ease-in-out infinite alternate; animation-delay: -5s; }
@keyframes frost-trace { to { stroke-dashoffset: -687; } }
@keyframes frost-drift { from { transform: translateY(-2%) rotate(-4deg); } to { transform: translateY(2%) rotate(4deg); } }
@keyframes frost-reflection { from { transform: translateX(-10%); opacity: .3; } to { transform: translateX(12%); opacity: .8; } }
.aurora-landing main > section:not(.north-hero) { scroll-margin-top: 110px; }
/* Workspace padding already provides room for the floating logo. */
.aurora-landing main > #workspace { scroll-margin-top: 0; }

.north-section { padding: 100px 6%; }
.north-section-heading { text-align: center; max-width: 750px; margin: 0 auto 50px; }
.north-section-heading .eyebrow { font-size:var(--text-caption); letter-spacing: 2px; color: #8e79a2; margin-bottom: 19px; }
.north-section-heading h2 { font-size: 49px; line-height: 1.15; letter-spacing: -2px; font-weight: 450; }
.north-section-heading h2 em { font-family: Georgia, serif; font-weight: 400; color: #956bbb; }
.north-section-heading > p:last-child:not(.eyebrow) { font-size:var(--text-ui); line-height: 1.9; color: #8d8098; margin-top: 20px; }
.north-workspace { padding-bottom: 65px; background: radial-gradient(ellipse at 50% 90%, #eae0f8, transparent 60%); }
.north-product-window { max-width: 1060px; border: 1px solid #dacfe8; border-radius: 16px; margin: auto; background: #fdfbff; box-shadow: 0 20px 70px #5031730f, 0 2px 7px #50317308; overflow: hidden; }
.north-window-bar { padding: 16px 23px; display: flex; align-items: center; justify-content: space-between; gap: 15px; background: #f0eaf7; border-bottom: 1px solid #e4d9ef; color: #8a759f; font-size:var(--text-caption); letter-spacing: 1.5px; }
.window-dots { display: flex; gap: 5px; }
.window-dots i { display: block; width: 7px; height: 7px; border-radius: 50%; background: #d4c6e2; }
.window-dots i:nth-child(2) { background: #c4b0d9; }
.window-dots i:nth-child(3) { background: #b499cf; }
.window-preview { color: #81718f; font-size:var(--text-caption); letter-spacing: 0; }
.north-window-content { display: grid; grid-template-columns: 190px 1fr; }
.north-window-side { border-right: 1px solid #e8e0f0; padding: 28px 16px; background: #f5f0f9; display: flex; flex-direction: column; gap: 11px; color: #91829f; font-size:var(--text-caption); }
.north-window-side > span { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 7px; }
.north-window-side .mini-brand { font-size: 21px; font-weight: 650; letter-spacing: -1px; color: #51425f; padding: 0 8px; margin-bottom: 26px; gap: 7px; }
.mini-brand img { width: 42px; height: 21px; }
.north-window-side > span .icon { width: 16px; }
.north-window-side .mini-nav-selected { background: #e9def4; color: #805ba2; }
.mini-side-note { margin: auto 10px 0; color: #a18ab5; font-size:var(--text-caption); line-height: 2; padding-top: 40px; }
.north-window-main { padding: 30px; min-width: 0; }
.north-demo-title { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 24px; }
.north-demo-title .eyebrow { font-size:var(--text-caption); color: #a58db8; letter-spacing: 1.4px; }
.north-demo-title h3 { font-size: 23px; font-weight: 450; margin-top: 7px; }
.north-demo-date { display: flex; gap: 7px; align-items: center; color: #96859f; font-size:var(--text-caption); }
.north-demo-date .icon { width: 14px; }
.north-demo-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.north-demo-stats > div { background: white; border: 1px solid #e8e1ee; border-radius: 9px; padding: 17px; }
.north-demo-stats span { color: #95879f; font-size:var(--text-caption); }
.north-demo-stats strong { display: block; margin-top: 9px; color: #715080; font-size: 30px; font-weight: 450; letter-spacing: -1px; }
.north-demo-stats small { font-size:var(--text-caption); font-weight: 400; letter-spacing: 0; color: #a190ac; }
.north-demo-bookings { margin-top: 22px; border: 1px solid #e8e1ee; border-radius: 9px; overflow: hidden; }
.north-demo-table-heading { display: flex; justify-content: space-between; gap: 12px; padding: 17px; background: #fcf9ff; border-bottom: 1px solid #ece4f2; }
.north-demo-table-heading strong { font-size:var(--text-ui); font-weight: 500; color: #786383; }
.north-demo-table-heading > span { font-size:var(--text-caption); letter-spacing: 1px; color: #a08aae; }
.north-demo-row { display: flex; align-items: center; gap: 12px; padding: 15px 18px; border-bottom: 1px solid #f0eaf5; background: white; }
.north-demo-row:last-child { border-bottom: 0; }
.demo-avatar { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #efe5f9; color: #997eb2; font-size:var(--text-caption); }
.north-demo-row > div { flex: 1; }
.north-demo-row strong { display: block; font-size:var(--text-ui); color: #685572; font-weight: 500; }
.north-demo-row div > span { display: block; font-size:var(--text-caption); color: #a196a9; margin-top: 4px; }
.demo-ready, .demo-review { padding: 5px 8px; font-size:var(--text-caption); border-radius: 5px; color: #547d71; background: #eaf3ef; }
.demo-review { color: #9b7b4e; background: #f7efdf; }
.north-demo-open { display: flex; align-items: center; gap: 13px; justify-content: flex-end; color: #9370b0; font-size:var(--text-caption); margin-top: 20px; }
.north-demo-open .icon { width: 14px; }
.north-demo-open:hover { color: #5c337f; }
.north-workspace-foot { display: flex; justify-content: center; gap: 38px; margin-top: 30px; color: #8e7d9c; font-size:var(--text-caption); }
.north-workspace-foot > span { display: flex; align-items: center; gap: 8px; }
.north-workspace-foot .icon { width: 14px; color: #9d85b4; }
.north-team { background: #eee6f5; padding-top: 90px; }
.north-agent-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 23px; max-width: 1240px; margin: auto; }
.north-agent { border-radius: 15px; overflow: hidden; border: 1px solid #e8e0f1; background: #fbf9fe; }
.north-agent-art { position: relative; height: 190px; display: grid; place-items: center; overflow: hidden; background: #eae1f7; }
.art-plan { background: #e6e6f8; }
.art-journey { background: #e3efef; }
.agent-art-icon { display: grid; place-items: center; position: relative; width: 76px; height: 76px; border-radius: 22px; background: #fcf9ffc9; border: 1px solid #fff; box-shadow: 0 12px 30px #9570bd16; transform: rotate(-9deg); color: #9a76bd; }
.agent-art-icon .icon { width: 33px; height: 33px; stroke-width: 1.25; }
.art-plan .agent-art-icon { color: #8383ba; transform: rotate(6deg); }
.art-journey .agent-art-icon { color: #6eaaa0; transform: rotate(-5deg); }
.agent-orbit { position: absolute; border: 1px solid #ab8ece3b; width: 230px; height: 115px; border-radius: 50%; transform: rotate(-29deg); }
.agent-orbit.orbit-two { width: 330px; height: 175px; transform: rotate(-29deg); }
.art-plan .agent-orbit { transform: rotate(25deg); border-color: #898fc53b; }
.art-journey .agent-orbit { transform: rotate(-17deg); border-color: #6eaaa03b; }
.art-star { position: absolute; color: #b295ce; font-size: 20px; }
.star-one { left: 24%; top: 29%; }
.star-two { right: 20%; bottom: 22%; font-size:var(--text-body); }
.art-plan .art-star { color: #a0a0cd; }
.art-journey .art-star { color: #8ab8ae; }
.agent-number { position: absolute; top: 19px; right: 22px; color: #a58cb8; font-size:var(--text-caption); letter-spacing: 1px; }
.north-agent-copy { padding: 28px; }
.north-agent-copy .eyebrow { font-size:var(--text-caption); letter-spacing: 1.5px; color: #a089b2; }
.north-agent-copy h3 { font-size: 25px; font-weight: 450; margin: 11px 0 15px; }
.north-agent-copy > p:not(.eyebrow) { font-size:var(--text-ui); line-height: 1.9; color: #90819b; min-height: 70px; }
.north-agent-copy > a { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #e8e0ef; padding-top: 19px; margin-top: 25px; color: #85659c; font-size:var(--text-ui); font-weight: 550; }
.north-agent-copy > a:hover { color: #542b78; }
.north-agent-copy > a .icon { width: 17px; }
.north-team-note { color: #a092ab; font-size:var(--text-caption); text-align: center; margin-top: 28px; }
.north-roots { display: grid; grid-template-columns: 1fr 1fr; min-height: 590px; background: #f6f1fa; color: #342341; }
.north-roots-art { position: relative; min-height: 590px; overflow: hidden; }
.north-roots-art > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 22% center; opacity: .7; }
.north-roots-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 40%, #f6f1fa); pointer-events: none; }
.arctic-orbit { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 330px; height: 330px; border-radius: 50%; border: 1px solid #c4a3ef59; display: grid; place-items: center; z-index: 1; }
.arctic-orbit::before { content: ''; position: absolute; inset: 23px; border: 1px dashed #c4a3ef36; border-radius: 50%; }
.arctic-orbit::after { content: ''; position: absolute; inset: -24px; border: 1px solid #c4a3ef22; border-radius: 50%; }
.orbit-center { text-align: center; }
.orbit-center > span { color: #8f73a5; font-size:var(--text-caption); letter-spacing: 5px; }
.orbit-center strong { font-family: Georgia, serif; font-style: italic; font-weight: 400; font-size: 68px; letter-spacing: -3px; display: block; color: #745389; margin: 7px 0 14px; }
.orbit-center small { color: #947aa9; font-size:var(--text-caption); letter-spacing: 2px; }
.orbit-north, .orbit-south { position: absolute; left: 50%; font-size:var(--text-caption); color: #8a6c9e; transform: translateX(-50%); background: #f0e8f7; padding: 0 7px; }
.orbit-north { top: -6px; }
.orbit-south { bottom: -6px; }
.orbit-star { position: absolute; color: #d5b5ff; font-size: 22px; right: 20px; top: 42px; }
.north-roots-copy { padding: 83px 12% 75px 3%; align-self: center; max-width: 660px; }
.north-roots-copy .eyebrow { color: #a388c4; font-size:var(--text-caption); letter-spacing: 2px; margin-bottom: 22px; }
.north-roots-copy h2 { font-size: 44px; font-weight: 450; line-height: 1.17; letter-spacing: -1.5px; margin-bottom: 25px; }
.north-roots-copy h2 em { font-family: Georgia, serif; color: #9875b6; font-weight: 400; }
.north-roots-copy > p:not(.eyebrow) { color: #857190; font-size:var(--text-ui); line-height: 1.9; margin-top: 16px; }
.north-signature { border-top: 1px solid #b298d026; padding-top: 27px; margin-top: 30px; display: flex; align-items: center; gap: 13px; color: #a88dca; font-size:var(--text-caption); letter-spacing: 1.5px; }
.north-signature > span { font-size: 20px; }
.north-how { padding-top: 95px; padding-bottom: 95px; }
.north-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 60px; max-width: 1160px; margin: auto; }
.north-steps article { border-top: 1px solid #dcd1e8; padding-top: 25px; }
.north-steps article > span { color: #b39bc7; font-size:var(--text-ui); letter-spacing: 1px; }
.north-steps h3 { font-size: 20px; font-weight: 450; margin: 23px 0 14px; }
.north-steps p { font-size:var(--text-ui); color: #91829d; line-height: 1.9; }
.north-closing { position: relative; text-align: center; padding: 75px 25px 88px; background: radial-gradient(ellipse at 50% 0, #e9dbf8, transparent 65%), #f0eaf7; border-top: 1px solid #e4d9ed; }
.closing-star { font-size: 37px; display: block; color: #b494d5; margin-bottom: 22px; }
.north-closing > .eyebrow { color: #9f82b7; font-size:var(--text-caption); letter-spacing: 2px; }
.north-closing h2 { font-size: 46px; line-height: 1.25; font-weight: 450; margin: 22px 0 29px; letter-spacing: -1.7px; }
.north-closing h2 em { font-family: Georgia, serif; font-weight: 400; color: #9872b9; }
.north-closing > p:last-child { color: #9d8ba9; font-size:var(--text-caption); margin-top: 20px; }
.north-footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; background: #f8f5fb; color: #745786; padding: 45px 6%; }
.north-footer .logo { font-size: 27px; }
.north-footer > div:first-child p { margin-top: 13px; color: #867298; font-size:var(--text-caption); }
.north-footer > div:nth-child(2) { display: flex; gap: 30px; color: #a18cb5; font-size:var(--text-ui); }
.north-footer a:hover { color: #68418b; }
.north-footer > span { text-align: right; font-size:var(--text-caption); line-height: 2.1; letter-spacing: 1px; color: #9079a4; }
html { scroll-behavior: smooth; }


@media (max-width: 1320px) {
  .north-agent-copy { padding: 25px; }
  .north-agent-copy h3 { font-size: 23px; }
}
@media (max-width: 1000px) {
  .north-section { padding: 75px 5%; }
  .north-section-heading h2 { font-size: 43px; }
  .north-window-content { grid-template-columns: 155px 1fr; }
  .north-window-side { padding: 25px 10px; font-size:var(--text-caption); }
  .north-window-side .mini-brand { font-size: 18px; }
  .mini-brand img { width: 38px; height: 19px; }
  .north-window-main { padding: 25px; }
  .north-demo-title h3 { font-size: 21px; }
  .north-demo-date { font-size:var(--text-caption); }
  .north-demo-date .icon { display: none; }
  .north-demo-stats { gap: 10px; }
  .north-demo-stats > div { padding: 13px; }
  .north-demo-stats span { font-size:var(--text-caption); }
  .north-workspace-foot { gap: 20px; font-size:var(--text-caption); }
  .north-agent-grid { gap: 15px; }
  .north-agent-copy { padding: 23px 19px; }
  .north-agent-copy h3 { font-size: 20px; }
  .north-agent-copy > p:not(.eyebrow) { font-size:var(--text-ui); min-height: 90px; }
  .north-agent-copy > a { font-size:var(--text-caption); }
  .north-agent-art { height: 170px; }
  .north-roots-copy { padding: 65px 10% 65px 0; }
  .north-roots-copy h2 { font-size: 36px; }
  .north-roots-copy > p:not(.eyebrow) { font-size:var(--text-ui); }
  .arctic-orbit { width: 260px; height: 260px; }
  .orbit-center strong { font-size: 57px; }
  .north-roots, .north-roots-art { min-height: 550px; }
  .north-signature { font-size:var(--text-caption); letter-spacing: 1px; }
  .north-steps { gap: 30px; }
  .north-steps h3 { font-size: 18px; }
  .north-closing h2 { font-size: 41px; }
}
@media (max-width: 760px) {
  .north-section { padding: 63px 6%; }
  .north-section-heading { margin-bottom: 33px; }
  .north-section-heading .eyebrow { font-size:var(--text-caption); letter-spacing: 1.4px; margin-bottom: 16px; }
  .north-section-heading h2 { font-size: 37px; letter-spacing: -1.2px; }
  .north-section-heading > p:last-child:not(.eyebrow) { font-size:var(--text-ui); margin-top: 18px; }
  .north-product-window { border-radius: 11px; }
  .north-window-bar { padding: 14px; }
  .north-window-bar > span:not(.window-preview) { display: none; }
  .window-preview { font-size:var(--text-caption); }
  .north-window-content { display: block; }
  .north-window-side { display: none; }
  .north-window-main { padding: 21px 15px; }
  .north-demo-title { align-items: flex-start; flex-direction: column; gap: 11px; margin-bottom: 18px; }
  .north-demo-title .eyebrow { font-size:var(--text-caption); }
  .north-demo-title h3 { font-size: 21px; }
  .north-demo-date { font-size:var(--text-caption); }
  .north-demo-stats { gap: 8px; }
  .north-demo-stats > div { padding: 12px 10px; }
  .north-demo-stats span { font-size:var(--text-caption); line-height: 1.6; display: block; }
  .north-demo-stats strong { font-size: 25px; margin-top: 8px; }
  .north-demo-stats small { display: none; }
  .north-demo-bookings { margin-top: 15px; }
  .north-demo-table-heading { padding: 14px 12px; }
  .north-demo-table-heading strong { font-size:var(--text-caption); }
  .north-demo-table-heading > span { font-size:var(--text-caption); align-self: center; }
  .north-demo-row { gap: 8px; padding: 13px 10px; }
  .demo-avatar { width: 26px; height: 26px; font-size:var(--text-caption); }
  .north-demo-row strong { font-size:var(--text-caption); }
  .north-demo-row div > span { font-size:var(--text-caption); }
  .demo-ready, .demo-review { font-size:var(--text-caption); padding: 5px; }
  .north-demo-open { justify-content: center; font-size:var(--text-caption); margin-top: 18px; }
  .north-workspace-foot { flex-direction: column; align-items: center; gap: 14px; margin-top: 26px; font-size:var(--text-caption); }
  .north-agent-grid { grid-template-columns: 1fr; gap: 22px; max-width: 450px; }
  .north-agent-art { height: 175px; }
  .north-agent-copy { padding: 26px; }
  .north-agent-copy h3 { font-size: 27px; }
  .north-agent-copy > p:not(.eyebrow) { font-size:var(--text-ui); min-height: 0; }
  .north-agent-copy > a { font-size:var(--text-ui); padding-top: 18px; margin-top: 22px; }
  .north-team-note { font-size:var(--text-caption); line-height: 1.9; padding-inline: 15px; }
  .north-roots { grid-template-columns: 1fr; }
  .north-roots-art { min-height: 380px; }
  .north-roots-art::after { background: linear-gradient(transparent 55%, #f6f1fa); }
  .arctic-orbit { width: 260px; height: 260px; top: 51%; }
  .north-roots-copy { max-width: 550px; padding: 13px 8% 55px; margin: auto; }
  .north-roots-copy h2 { font-size: 39px; }
  .north-roots-copy .eyebrow { font-size:var(--text-caption); }
  .north-roots-copy > p:not(.eyebrow) { font-size:var(--text-ui); }
  .north-signature { font-size:var(--text-caption); gap: 10px; }
  .north-steps { grid-template-columns: 1fr; gap: 30px; padding-inline: 4%; }
  .north-steps article { padding-top: 19px; }
  .north-steps article > span { font-size:var(--text-ui); }
  .north-steps h3 { font-size: 22px; margin: 14px 0 10px; }
  .north-steps p { font-size:var(--text-ui); }
  .north-closing { padding: 60px 7% 65px; }
  .north-closing > .eyebrow { font-size:var(--text-caption); letter-spacing: 1.5px; }
  .north-closing h2 { font-size: 34px; letter-spacing: -1px; }
  .north-closing .button { font-size:var(--text-ui); }
  .north-closing > p:last-child { font-size:var(--text-caption); max-width: 280px; margin-inline: auto; }
  .north-footer { padding: 35px 7%; flex-wrap: wrap; gap: 28px; }
  .north-footer > div:nth-child(2) { order: 3; width: 100%; border-top: 1px solid #aa7eda1f; padding-top: 23px; gap: 25px; font-size:var(--text-caption); }
  .north-footer .logo { font-size: 24px; }
  .north-footer .logo img { width: 28px; height: 28px; }
  .north-footer > span { font-size:var(--text-caption); }
  .north-footer > div:first-child p { font-size:var(--text-caption); }
  .welcome-banner p { color: #756582; }
  .banner-art { opacity: .65; }
}
@media (max-width: 390px) {
  .north-section-heading h2 { font-size: 34px; }
  .north-demo-table-heading > span { display: none; }
  .north-demo-row { flex-wrap: wrap; }
  .north-demo-row > div { min-width: 100px; }
  .north-demo-row > span:last-child { font-size:var(--text-caption); }
}


@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}



/* Keep the wordmark balanced on smaller viewports. */
@media (max-width: 1000px) {
  .north-hero { padding-left: 7%; }
}
@media (max-width: 760px) {
  .north-nav { height: 78px; gap: 20px; }
  .north-nav nav { gap: 20px; font-size:var(--text-ui); }
  .north-brand-icon { width: 46px; height: 34px; }
  .north-login { font-size:var(--text-ui); gap: 9px; }
  .aurora-landing main > section:not(.north-hero) { scroll-margin-top: 88px; }
}
@media (max-width: 650px) {
  .north-hero { padding: 100px 7% 95px; justify-items: center; }
  .north-hero-copy { --wordmark-size: clamp(44px, 11vw, 67px); text-align: center; }
  .north-hero-brand > img { width: 82px; height: 41px; margin-inline: auto; }
  .north-hero-copy > p { font-size:var(--text-body); letter-spacing: normal; max-width: 280px; margin: 18px auto 0; }
  .north-hero-actions { flex-direction: column; gap: 9px; margin-top: 22px; }
  .north-hero-actions .button { font-size:var(--text-ui); min-height: 46px; padding: 12px 22px; gap: 24px; }
  .north-tour-link { font-size:var(--text-ui); min-height: 44px; }
  .frost-contours { width: 145%; right: -50%; opacity: .35; }
}
@media (max-width: 390px) {
  .north-nav { gap: 14px; }
  .north-nav nav { gap: 14px; font-size:var(--text-ui); }
  .north-login .icon { display: none; }
}
@media (max-height: 700px) {
  .north-nav { height: 68px; }
  .north-hero { padding-top: 85px; padding-bottom: 55px; }
  .north-hero-brand > img { width: 67px; height: 33.5px; margin-bottom: 13px; }
  .north-hero-copy > p { margin-top: 18px; }
  .north-hero-actions { margin-top: 22px; }
}
@media (max-height: 480px) and (min-width: 600px) {
  .north-nav { height: 55px; }
  .north-hero { padding: 68px 7% 25px; }
  .north-hero-copy { --wordmark-size: 49px; }
  .north-hero-brand > img { width: 49px; height: 24.5px; margin-bottom: 10px; }
  .north-hero-copy > p { font-size:var(--text-ui); letter-spacing: normal; margin-top: 12px; }
  .north-hero-actions { flex-direction: row; margin-top: 16px; gap: 25px; }
  .north-hero-actions .button { min-height: 42px; font-size:var(--text-ui); padding: 11px 20px; gap: 25px; }
  .north-tour-link { min-height: 40px; }
}

/* Shareable centered study of the current homepage: /?layout=centered. */
.landing-centered .north-hero { justify-items: center; padding-inline: 7%; }
.landing-centered .north-hero-copy { text-align: center; }
.landing-centered .north-hero-brand > img { margin-inline: auto; }
.landing-centered .north-hero-copy > p { margin-inline: auto; }
.landing-centered .north-hero-actions { justify-content: center; }

/* Lilac Frost · Trail: the current index composition in the light Frost palette.
   Preview at /?theme=lilac-frost-trail; typography and motion stay shared. */
.landing-light-trail .north-hero {
  color: #3b294d;
  background: linear-gradient(115deg, #fefcff 15%, #f7f3fc 60%, #e9def5);
}
.landing-light-trail .north-hero-brand > img { filter: none; }
.landing-light-trail .north-hero .wordmark-rova {
  color: #3b294d;
  background-image: linear-gradient(135deg, #342341 15%, #604078 55%, #3b294d 85%);
}
.landing-light-trail .north-hero h1 .logo-dot { color: #a276c2; }
.landing-light-trail .north-hero-copy > p { color: #705b82; }
.landing-light-trail .north-nav nav,
.landing-light-trail .north-login,
.landing-light-trail .north-tour-link { color: #6e5184; }
.landing-light-trail .north-nav a:hover,
.landing-light-trail .north-tour-link:hover { color: #3b294d; }
.landing-light-trail .north-tour-link .icon { color: #9870b6; }
.landing-light-trail .north-hero-actions .button {
  color: #fffaff;
  background: linear-gradient(115deg, #79549e, #885bb1);
  box-shadow: 0 8px 24px #79549e14;
}
.landing-light-trail .north-hero-actions .button:hover {
  background: linear-gradient(115deg, #69458d, #78509f);
}
.landing-light-trail .frost-contours stop:nth-child(1) { stop-color: #d1b6e7; }
.landing-light-trail .frost-contours stop:nth-child(2) { stop-color: #a17ac5; }
.landing-light-trail .frost-contours stop:nth-child(3) { stop-color: #dacbed; }
.landing-light-trail .frost-signals { stroke: #8f65b5; }
.landing-light-trail .frost-reflection {
  background: linear-gradient(115deg, transparent 30%, #ffffffbb 42%, #ddc9f14d 48%, transparent 62%);
}

/* Keep supporting landing content as readable as the workspace. */
.north-section-heading > p:last-child:not(.eyebrow),
.north-agent-copy > p:not(.eyebrow), .north-roots-copy > p:not(.eyebrow),
.north-steps p { font-size:var(--text-body); line-height:1.75; }
.north-agent-copy > a, .north-footer > div:nth-child(2), .north-demo-open,
.north-workspace-foot, .north-team-note { font-size:var(--text-ui); }
.north-hero-copy > p { font-size:clamp(16px, 1.3vw, 20.5px); }
.north-hero-actions .button, .north-tour-link { font-size:clamp(14px, 1.075vw, 17px); }
.north-demo-row, .north-demo-table-heading { gap:12px; }
@media (max-width:650px) {
 .north-nav { column-gap:12px; grid-template-columns:0 minmax(0,1fr) auto; }
 .north-nav nav { gap:18px; font-size:var(--text-ui); }
 .north-login { font-size:var(--text-ui); gap:8px; }
 .north-demo-table-heading { flex-wrap:wrap; }
}

/* Still Snowfields · Trail shares the index typography and light palette.
   Its fixed porcelain rings and three snow layers never animate. */
.landing-snowfields-trail .north-hero {
  background: radial-gradient(ellipse at 45% 35%, #fff 0%, #fcfaff99 50%, transparent 75%), #f0eaf7;
}
.snowfields-art { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.snowfields-orbits { position:absolute; inset:4% 18%; }
.snowfields-orbits i {
  --stretch:1.35;
  position:absolute; inset:0; border:1px solid #9472be26; border-radius:50%;
  transform:rotate(-25deg) scaleX(var(--stretch));
}
.snowfields-orbits i:nth-child(2) { --stretch:1.5; inset:7%; }
.snowfields-orbits i:nth-child(3) { --stretch:1.7; inset:14%; }
.snowfields-drifts { position:absolute; inset:auto 0 0; width:100%; height:22%; }
.landing-snowfields-trail .north-hero *,
.landing-snowfields-trail .north-hero *::before,
.landing-snowfields-trail .north-hero *::after { animation:none; transition:none; }
.landing-snowfields-trail .north-hero .button:hover { transform:none; }
@media (max-width:650px) {
  .snowfields-orbits { inset:12% 9%; opacity:.65; }
  .snowfields-drifts { height:18%; }
}

/* Team-led homepage. The brand stays in the transparent header. */
.landing-team .north-brand-icon {
  display:flex; gap:10px; width:max-content; height:44px; color:#f6effb;
}
.landing-team .north-brand-icon img { width:46px; height:23px; }
.north-brand-name { font-size:26px; font-weight:600; letter-spacing:-1.5px; }
.north-brand-name > span { color:#c38dec; }
.landing-team .north-nav.past-hero .north-brand-icon { color:#342341; }
.landing-team .north-nav.past-brand .north-brand-name { display:none; }
.landing-team .north-hero { justify-items:start; padding:130px 7% 90px; }
.landing-team .north-hero-copy { text-align:left; width:100%; max-width:820px; }
.landing-team .north-hero-kicker {
  font-size:14px; font-weight:500; letter-spacing:.1em; color:#d1afe9; margin:0 0 24px;
}
.landing-team .north-hero h1 { font-size:clamp(48px,6.1vw,88px); letter-spacing:-.055em; line-height:1.08; white-space:normal; }
.landing-team .north-hero h1 em { font-family:Georgia,serif; font-weight:400; letter-spacing:-.045em; color:#d2a7ef; }
.landing-team .north-hero-copy > p { max-width:590px; margin:27px 0 0; font-size:clamp(16px,1.35vw,19px); line-height:1.75; text-wrap:pretty; }
.landing-team .north-hero-actions { justify-content:flex-start; align-items:flex-start; margin-top:32px; }
.landing-team .frost-contours { right:-5%; opacity:.7; }
@media (max-width:760px) {
  .landing-team .north-nav { grid-template-columns:1fr auto; height:108px; gap:0 16px; padding-block:12px; }
  .landing-team .north-nav nav { grid-row:2; grid-column:1 / -1; justify-content:center; gap:25px; }
  .landing-team .north-login { grid-row:1; grid-column:2; }
  .landing-team .north-hero { padding:140px 7% 55px; }
  .landing-team .north-brand-name { font-size:23px; }
  .landing-team .frost-contours { right:-20%; opacity:.35; }
  .landing-team .north-hero h1 { font-size:clamp(40px,8.8vw,64px); }
  .landing-team .north-hero-kicker { font-size:12px; letter-spacing:.06em; margin-bottom:20px; }
  .landing-team .north-hero-copy > p { margin-top:22px; }
  .landing-team .north-hero-actions { margin-top:24px; }
}
@media (max-height:700px) {
  .landing-team .north-hero h1 { font-size:clamp(40px,5vw,62px); }
  .landing-team .north-hero-kicker { margin-bottom:14px; }
  .landing-team .north-hero-copy > p { margin-top:16px; }
  .landing-team .north-hero-actions { margin-top:20px; }
}
@media (max-height:480px) and (min-width:600px) {
  .landing-team .north-nav { height:55px; }
  .landing-team .north-hero { padding:70px 7% 25px; }
  .landing-team .north-hero h1 { font-size:40px; }
  .landing-team .north-hero-kicker { font-size:12px; margin-bottom:10px; }
  .landing-team .north-hero-copy > p { font-size:14px; max-width:530px; margin-top:12px; }
  .landing-team .north-hero-actions { margin-top:14px; }
}

/* Current-index studies, linked from the Atmospheres gallery. */
.landing-study-lilac-editorial .north-hero,
.landing-study-porcelain-quiet .north-hero { color:#39264a; background:radial-gradient(ellipse at 85% 65%, #dfc8f1, transparent 65%), #faf7fd; }
.landing-study-lilac-editorial .north-brand-icon,
.landing-study-porcelain-quiet .north-brand-icon { color:#39264a; }
.landing-study-lilac-editorial .north-nav nav,
.landing-study-lilac-editorial .north-login,
.landing-study-lilac-editorial .north-tour-link,
.landing-study-porcelain-quiet .north-nav nav,
.landing-study-porcelain-quiet .north-login,
.landing-study-porcelain-quiet .north-tour-link { color:#67477e; }
.landing-study-lilac-editorial .north-nav a:hover,
.landing-study-porcelain-quiet .north-nav a:hover { color:#39264a; }
.landing-study-lilac-editorial .north-hero-kicker,
.landing-study-porcelain-quiet .north-hero-kicker { color:#79568e; }
.landing-study-lilac-editorial .north-hero h1 em,
.landing-study-porcelain-quiet .north-hero h1 em { color:#8c58ad; }
.landing-study-lilac-editorial .north-hero-copy > p,
.landing-study-porcelain-quiet .north-hero-copy > p { color:#74617f; }
.landing-study-lilac-editorial .north-hero-actions .button,
.landing-study-porcelain-quiet .north-hero-actions .button { background:#79519c; color:#fff; box-shadow:none; }
.landing-study-lilac-editorial .north-hero-actions .button:hover,
.landing-study-porcelain-quiet .north-hero-actions .button:hover { background:#674184; }
.landing-study-lilac-editorial .frost-contours { opacity:.55; animation:none; }
.landing-study-lilac-editorial .frost-signals { stroke:#8950b5; animation-duration:22s; }
.landing-study-lilac-editorial .frost-reflection { display:none; }

.landing-study-midnight-orbit .north-hero,
.landing-study-porcelain-quiet .north-hero { justify-items:center; }
.landing-study-midnight-orbit .north-hero-copy,
.landing-study-porcelain-quiet .north-hero-copy { text-align:center; }
.landing-study-midnight-orbit .north-hero-copy > p,
.landing-study-porcelain-quiet .north-hero-copy > p { margin-inline:auto; }
.landing-study-midnight-orbit .north-hero-actions,
.landing-study-porcelain-quiet .north-hero-actions { justify-content:center; align-items:center; }
.landing-study-midnight-orbit .north-hero { background:radial-gradient(ellipse at 50% 85%, #4b2867, transparent 65%), #171220; }
.landing-study-midnight-orbit .frost-contours,
.landing-study-porcelain-quiet .frost-contours { display:none; }
.landing-study-midnight-orbit .frost-art::before,
.landing-study-midnight-orbit .frost-art::after {
  content:''; position:absolute; inset:12% 8%; border:1px solid #bc8fe237; border-radius:50%;
  transform:rotate(-24deg); animation:team-orbit 28s ease-in-out infinite alternate;
}
.landing-study-midnight-orbit .frost-art::after { inset:5% 14%; animation-delay:-14s; border-color:#a475cc24; }
@keyframes team-orbit { to { transform:rotate(-10deg) scale(1.08); } }
.landing-study-porcelain-quiet .north-hero { background:radial-gradient(ellipse at 50% 30%, #fff 15%, #f8f5fc 70%); }
.landing-study-porcelain-quiet .frost-reflection { display:none; }
.landing-study-porcelain-quiet .frost-art::after {
  content:''; position:absolute; inset:auto -10% -24%; height:38%; border-radius:50% 50% 0 0;
  background:#e9dff2; box-shadow:0 -24px 0 #f0e8f7;
}
.landing-study-porcelain-quiet .north-hero *,
.landing-study-porcelain-quiet .north-hero *::before,
.landing-study-porcelain-quiet .north-hero *::after { animation:none; transition:none; }
.landing-study-porcelain-quiet .north-hero .button:hover { transform:none; }
.landing-study-porcelain-quiet .north-hero h1 { font-weight:400; }

.landing-study-violet-split .north-hero { background:radial-gradient(ellipse at 90% 100%, #754c8855, transparent 60%), #2b1d38; }
.landing-study-violet-split .north-hero h1 em { font-family:inherit; font-style:normal; font-weight:400; color:#cc9ee9; }
.landing-study-violet-split .frost-contours { top:32%; right:-5%; width:110%; height:120%; opacity:.25; }
.landing-study-violet-split .frost-reflection { animation-duration:24s; }
@media (min-width:1100px) {
  .landing-study-violet-split .north-hero-copy { max-width:1200px; display:grid; grid-template-columns:1.35fr 1fr; column-gap:8%; align-items:end; }
  .landing-study-violet-split .north-hero-brand { grid-row:1 / 3; }
  .landing-study-violet-split .north-hero h1 { font-size:clamp(58px,5.4vw,80px); }
  .landing-study-violet-split .north-hero-copy > p { margin:0; padding-top:48px; }
  .landing-study-violet-split .north-hero-actions { margin-top:28px; align-self:start; gap:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .landing-study-midnight-orbit .frost-art::before,
  .landing-study-midnight-orbit .frost-art::after { animation:none; }
}

/* Further studies: different artwork, with the same message and actions. */
.team-study-art { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.team-study-art + .frost-art { display:none; }
.landing-study-daylight .north-hero { color:#39264a; background:#faf7fd; }
.landing-study-daylight .north-brand-icon { color:#39264a; }
.landing-study-daylight .north-nav nav,
.landing-study-daylight .north-login,
.landing-study-daylight .north-tour-link { color:#67477e; }
.landing-study-daylight .north-nav a:hover { color:#39264a; }
.landing-study-daylight .north-hero-kicker { color:#79568e; }
.landing-study-daylight .north-hero h1 em { color:#8c58ad; }
.landing-study-daylight .north-hero-copy > p { color:#74617f; }
.landing-study-daylight .north-hero-actions .button { background:#79519c; color:white; box-shadow:none; }
.landing-study-daylight .north-hero-actions .button:hover { background:#674184; }

.landing-study-aurora-veil .north-hero { background:radial-gradient(ellipse at 85% 80%,#303451,transparent 65%),#181322; }
.veil-art { mask-image:linear-gradient(90deg,transparent 28%,#000 60%); }
.veil-art i { position:absolute; width:30%; height:130%; top:-30%; left:50%; border-radius:50%; transform:rotate(28deg); background:linear-gradient(90deg,transparent,#8e55d670,#cc90ed70,#7bbec233,transparent); filter:blur(35px); animation:veil-sway 15s ease-in-out infinite alternate; }
.veil-art i:nth-child(2) { left:70%; top:-10%; width:18%; animation-delay:-7s; background:linear-gradient(90deg,transparent,#ae72e688,#78b5c044,transparent); }
.veil-art i:nth-child(3) { left:35%; top:15%; width:20%; opacity:.4; animation-delay:-11s; }
@keyframes veil-sway { to { transform:translate(-12%,8%) rotate(10deg) scaleX(1.25); opacity:.65; } }

.landing-study-lilac-silk .north-hero { background:radial-gradient(ellipse at 95% 30%,#e7d7f3,transparent 70%),#fcf9ff; }
.silk-art { mask-image:linear-gradient(90deg,transparent 30%,#000 64%); }
.silk-art svg { position:absolute; height:120%; width:55%; right:0; top:-10%; animation:silk-drift 18s ease-in-out infinite alternate; }
@keyframes silk-drift { to { transform:translateY(4%) rotate(-8deg); } }

.landing-study-violet-constellation .north-hero,
.landing-study-lavender-tide .north-hero { justify-items:center; }
.landing-study-violet-constellation .north-hero-copy,
.landing-study-lavender-tide .north-hero-copy { text-align:center; }
.landing-study-violet-constellation .north-hero-copy > p,
.landing-study-lavender-tide .north-hero-copy > p { margin-inline:auto; }
.landing-study-violet-constellation .north-hero-actions,
.landing-study-lavender-tide .north-hero-actions { justify-content:center; align-items:center; }
.landing-study-violet-constellation .north-hero { background:radial-gradient(ellipse at 50% 45%,#43285b,transparent 65%),#21152e; }
.constellation-art svg { width:100%; height:100%; object-fit:cover; }
.constellation-art circle { transform-box:fill-box; transform-origin:center; animation:star-breathe 5s ease-in-out infinite alternate; }
.constellation-art circle:nth-child(3n) { animation-delay:-3s; }
.constellation-art circle:nth-child(3n + 1) { animation-delay:-1.5s; }
@keyframes star-breathe { from { opacity:.3; transform:scale(.7); } to { opacity:1; transform:scale(1.4); } }
.landing-study-violet-constellation .north-hero h1 em { font-family:inherit; font-weight:300; font-style:normal; }

.landing-study-lavender-tide .north-hero { background:linear-gradient(#fffdfd,#f5effa); }
.tide-art svg { position:absolute; width:120%; height:26%; bottom:0; left:-10%; overflow:visible; }
.tide-art path { animation:tide-slide 14s ease-in-out infinite alternate; }
.tide-art path:nth-child(2) { animation-delay:-5s; animation-duration:19s; }
.tide-art path:nth-child(3) { animation-delay:-10s; animation-duration:24s; }
@keyframes tide-slide { from { transform:translateX(-4%); } to { transform:translateX(4%); } }
@media(max-width:760px) {
  .veil-art { opacity:.6; mask-image:linear-gradient(90deg,transparent,#000); }
  .silk-art { opacity:.25; mask-image:none; }
  .silk-art svg { width:100%; right:-25%; }
  .constellation-art svg { width:170%; max-width:none; margin-left:-35%; opacity:.6; }
  .tide-art svg { height:17%; }
}
@media(prefers-reduced-motion:reduce) {
  .team-study-art *, .team-study-art *::before, .team-study-art *::after { animation:none; }
}

/* Wordmark studies: only the brand and a quiet subtitle in the hero. */
.landing-wordmark-study .north-hero { justify-items:center; padding:110px 7%; }
.landing-wordmark-study .north-hero-copy { text-align:center; max-width:1100px; }
.landing-wordmark-study .north-hero h1 { font-size:clamp(64px,12vw,172px); font-weight:500; letter-spacing:-.07em; line-height:1.06; white-space:nowrap; }
.landing-wordmark-study .north-hero-copy > p { margin:26px auto 0; font-size:clamp(14px,1.3vw,19px); letter-spacing:.04em; max-width:100%; }
.landing-wordmark-study .north-brand-icon img { width:54px; height:27px; }

.landing-study-wordmark-ripple .north-hero { background:radial-gradient(ellipse at center,#3f2857,#1c1428 75%); }
.ripple-art { display:grid; place-items:center; }
.ripple-art i { position:absolute; width:65vmin; height:65vmin; border-radius:50%; border:1px solid #ca9de86b; box-shadow:0 0 40px #b584df0a; animation:wordmark-ripple 20s linear infinite; }
.ripple-art i:nth-child(2) { animation-delay:-5s; }
.ripple-art i:nth-child(3) { animation-delay:-10s; }
.ripple-art i:nth-child(4) { animation-delay:-15s; }
@keyframes wordmark-ripple { from { transform:scale(.6); opacity:0; } 15% { opacity:.55; } to { transform:scale(2.8); opacity:0; } }

.landing-study-wordmark-prism .north-hero { background:radial-gradient(ellipse at center,#fff 20%,#f3eafa 80%); }
.prism-art { mask-image:radial-gradient(ellipse at center,#0005 15%,#000 65%); }
.prism-art i { position:absolute; width:65%; height:130%; left:-28%; top:-20%; background:linear-gradient(130deg,#c29de866,#f6eaff22 45%,#ab74d650); clip-path:polygon(0 0,100% 35%,65% 100%,0 80%); animation:prism-pass 23s ease-in-out infinite alternate; }
.prism-art i:nth-child(2) { left:70%; top:-15%; transform:rotate(180deg); animation-name:prism-return; animation-delay:-12s; }
.prism-art i:nth-child(3) { left:38%; top:65%; height:75%; width:55%; opacity:.45; animation-delay:-8s; }
@keyframes prism-pass { to { translate:8% 5%; rotate:9deg; } }
@keyframes prism-return { to { translate:-8% -4%; rotate:-10deg; } }

.landing-study-wordmark-snow .north-hero { background:radial-gradient(ellipse at 50% 100%,#46415e,transparent 65%),linear-gradient(#1a1829,#28213e); }
.snow-art { background:radial-gradient(ellipse at 50% 115%,#e6d2f51a,transparent 55%); }
.snow-art i { position:absolute; top:-10%; left:var(--x); width:var(--size); height:var(--size); border-radius:50%; background:#eee3ff; opacity:.45; animation:snow-fall var(--duration) linear var(--delay) infinite; }
@keyframes snow-fall { from { transform:translate(0,-10vh); opacity:0; } 15% { opacity:.5; } 85% { opacity:.4; } to { transform:translate(45px,120vh); opacity:0; } }
.landing-study-wordmark-snow .north-hero h1 { font-weight:400; }

.landing-study-wordmark-horizon .north-hero { background:linear-gradient(#171222 20%,#29203f 70%,#4a2c60); }
.horizon-art { mask-image:linear-gradient(transparent 15%,#000 60%); }
.horizon-art i { position:absolute; width:140%; height:38%; left:-20%; bottom:-12%; border-radius:50%; border-top:2px solid #c393ea99; box-shadow:0 -22px 60px #a665d63b,inset 0 25px 45px #cf99e833; animation:horizon-rise 12s ease-in-out infinite alternate; }
.horizon-art i:nth-child(2) { bottom:-6%; rotate:-9deg; opacity:.55; animation-delay:-4s; }
.horizon-art i:nth-child(3) { bottom:-15%; rotate:8deg; opacity:.6; animation-delay:-8s; }
.horizon-art span { position:absolute; inset:35% -10% -25%; background:radial-gradient(ellipse at 50% 90%,#b489e04d,transparent 70%); animation:horizon-glow 16s ease-in-out infinite alternate; }
@keyframes horizon-rise { to { translate:0 -9%; scale:1.06 1.15; } }
@keyframes horizon-glow { to { translate:12% -5%; opacity:.35; } }
@media(max-width:760px) {
  .landing-wordmark-study .north-hero { padding:130px 7%; }
  .landing-wordmark-study .north-hero h1 { font-size:clamp(58px,13vw,98px); }
  .landing-wordmark-study .north-hero-copy > p { max-width:290px; margin-top:20px; letter-spacing:0; }
  .prism-art i { width:90%; left:-48%; }
  .prism-art i:nth-child(2) { left:65%; }
}
@media(max-height:480px) and (min-width:600px) {
  .landing-wordmark-study .north-hero { padding:70px 7%; }
  .landing-wordmark-study .north-hero h1 { font-size:80px; }
}
@media(prefers-reduced-motion:reduce) {
  .landing-wordmark-study .team-study-art * { animation:none; }
  .ripple-art i:nth-child(2) { transform:scale(1.4); opacity:.4; }
  .ripple-art i:nth-child(3) { transform:scale(1.8); opacity:.3; }
  .ripple-art i:nth-child(4) { transform:scale(2.2); opacity:.2; }
  .snow-art i { top:calc(var(--x) * .8); opacity:.3; }
}

/* Deterministic snow positions; no inline styles are needed. */
.snow-art i:nth-child(1) { --x:9%; --delay:-0s; --duration:18s; --size:2px; }
.snow-art i:nth-child(2) { --x:46%; --delay:-7s; --duration:19s; --size:3px; }
.snow-art i:nth-child(3) { --x:83%; --delay:-14s; --duration:20s; --size:4px; }
.snow-art i:nth-child(4) { --x:20%; --delay:-21s; --duration:21s; --size:2px; }
.snow-art i:nth-child(5) { --x:57%; --delay:-28s; --duration:22s; --size:3px; }
.snow-art i:nth-child(6) { --x:94%; --delay:-6s; --duration:23s; --size:4px; }
.snow-art i:nth-child(7) { --x:31%; --delay:-13s; --duration:24s; --size:2px; }
.snow-art i:nth-child(8) { --x:68%; --delay:-20s; --duration:25s; --size:3px; }
.snow-art i:nth-child(9) { --x:5%; --delay:-27s; --duration:26s; --size:4px; }
.snow-art i:nth-child(10) { --x:42%; --delay:-5s; --duration:27s; --size:2px; }
.snow-art i:nth-child(11) { --x:79%; --delay:-12s; --duration:28s; --size:3px; }
.snow-art i:nth-child(12) { --x:16%; --delay:-19s; --duration:29s; --size:4px; }
.snow-art i:nth-child(13) { --x:53%; --delay:-26s; --duration:30s; --size:2px; }
.snow-art i:nth-child(14) { --x:90%; --delay:-4s; --duration:18s; --size:3px; }
.snow-art i:nth-child(15) { --x:27%; --delay:-11s; --duration:19s; --size:4px; }
.snow-art i:nth-child(16) { --x:64%; --delay:-18s; --duration:20s; --size:2px; }
.snow-art i:nth-child(17) { --x:1%; --delay:-25s; --duration:21s; --size:3px; }
.snow-art i:nth-child(18) { --x:38%; --delay:-3s; --duration:22s; --size:4px; }
.snow-art i:nth-child(19) { --x:75%; --delay:-10s; --duration:23s; --size:2px; }
.snow-art i:nth-child(20) { --x:12%; --delay:-17s; --duration:24s; --size:3px; }
.snow-art i:nth-child(21) { --x:49%; --delay:-24s; --duration:25s; --size:4px; }
.snow-art i:nth-child(22) { --x:86%; --delay:-2s; --duration:26s; --size:2px; }
.snow-art i:nth-child(23) { --x:23%; --delay:-9s; --duration:27s; --size:3px; }
.snow-art i:nth-child(24) { --x:60%; --delay:-16s; --duration:28s; --size:4px; }
.snow-art i:nth-child(25) { --x:97%; --delay:-23s; --duration:29s; --size:2px; }
.snow-art i:nth-child(26) { --x:34%; --delay:-1s; --duration:30s; --size:3px; }
.snow-art i:nth-child(27) { --x:71%; --delay:-8s; --duration:18s; --size:4px; }
.snow-art i:nth-child(28) { --x:8%; --delay:-15s; --duration:19s; --size:2px; }
.snow-art i:nth-child(29) { --x:45%; --delay:-22s; --duration:20s; --size:3px; }
.snow-art i:nth-child(30) { --x:82%; --delay:-0s; --duration:21s; --size:4px; }
.snow-art i:nth-child(31) { --x:19%; --delay:-7s; --duration:22s; --size:2px; }
.snow-art i:nth-child(32) { --x:56%; --delay:-14s; --duration:23s; --size:3px; }

/* Logo-and-name lockups keep the symbol beside the title at every size. */
.landing-logo-study .north-hero-copy { --lockup-size:clamp(64px,9vw,130px); }
.landing-logo-study .north-hero-brand { display:flex; justify-content:center; align-items:center; gap:.22em; font-size:var(--lockup-size); }
.landing-logo-study .north-hero h1 { font-size:var(--lockup-size); }
.landing-logo-study .north-hero-brand > img { flex:none; width:1.28em; height:.64em; aspect-ratio:2; margin:0; transform:translateY(.025em); }
.landing-logo-study.landing-study-daylight .north-hero-brand > img { filter:none; }
.landing-logo-study .north-hero-copy > p { margin-top:24px; }
@media(max-width:760px) {
  .landing-logo-study .north-hero-copy { --lockup-size:clamp(38px,10vw,74px); }
  .landing-logo-study .north-hero-copy > p { font-size:14px; margin-top:20px; }
}
@media(max-height:480px) and (min-width:600px) {
  .landing-logo-study .north-hero-copy { --lockup-size:72px; }
}

/* More logo studies: traveling light, aurora mesh, petals, and a light field. */
.landing-study-wordmark-comets .north-hero { background:radial-gradient(ellipse at 50% 50%,#372545,#171321 80%); }
.comet-art svg { width:100%; height:100%; }
.comet-lines { stroke:#a17ac7; stroke-width:1; opacity:.25; }
.comet-lights { stroke:#ddbaff; stroke-width:2; stroke-linecap:round; stroke-dasharray:3 97; }
.comet-lights path { animation:comet-travel 14s linear infinite; }
.comet-lights path:nth-child(2) { animation-delay:-8s; animation-duration:18s; opacity:.55; }
.comet-lights path:nth-child(3) { animation-delay:-4s; animation-direction:reverse; }
.comet-lights path:nth-child(4) { animation-delay:-11s; animation-duration:21s; }
@keyframes comet-travel { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }

.landing-study-wordmark-bloom .north-hero { background:#20172f; }
.bloom-art { background:radial-gradient(ellipse at center,transparent,#18132388); }
.bloom-art i { position:absolute; width:65%; height:85%; left:-20%; top:-25%; border-radius:44% 56% 65% 35%; background:radial-gradient(ellipse,#9c59be66,transparent 70%); filter:blur(30px); animation:bloom-flow 19s ease-in-out infinite alternate; }
.bloom-art i:nth-child(2) { left:60%; top:40%; background:radial-gradient(ellipse,#6b69c888,transparent 70%); animation-delay:-11s; animation-duration:25s; }
.bloom-art i:nth-child(3) { left:45%; top:-45%; width:80%; background:radial-gradient(ellipse,#aa72a655,transparent 65%); animation-delay:-6s; animation-duration:22s; }
@keyframes bloom-flow { to { transform:translate(15%,20%) rotate(35deg) scale(1.2); } }

.landing-study-wordmark-petals .north-hero { background:radial-gradient(ellipse,#fff 12%,#f4edf9 78%); }
.petal-art { display:grid; place-items:center; mask-image:radial-gradient(ellipse,#0003 20%,#000 62%); }
.petal-art > div { position:absolute; width:80vmin; height:80vmin; animation:petal-turn 80s linear infinite; }
.petal-art i { position:absolute; inset:6%; border-radius:7% 80% 10% 80%; border:1px solid #a97acb44; background:linear-gradient(135deg,#d8b9ef38,transparent 50%,#ae80cf28); transform:rotate(var(--angle)); }
.petal-art i:nth-child(1) { --angle:0deg; }
.petal-art i:nth-child(2) { --angle:30deg; }
.petal-art i:nth-child(3) { --angle:60deg; }
.petal-art i:nth-child(4) { --angle:90deg; }
.petal-art i:nth-child(5) { --angle:120deg; }
.petal-art i:nth-child(6) { --angle:150deg; }
@keyframes petal-turn { to { transform:rotate(360deg); } }

.landing-study-wordmark-lattice .north-hero { background:radial-gradient(ellipse at center,#fff 10%,#f0e6f8 100%); }
.lattice-art { perspective:650px; mask-image:radial-gradient(ellipse,#0001 20%,#000 90%); }
.lattice-art i { position:absolute; inset:-20%; background-image:radial-gradient(circle,#a679c3 1.1px,transparent 1.8px); background-size:34px 34px; opacity:.35; transform:rotateX(24deg) rotate(-12deg); animation:lattice-flow 20s linear infinite; }
.lattice-art span { position:absolute; inset:-70%; background:linear-gradient(105deg,transparent 40%,#ba87de33 47%,#fff9 50%,#c293e633 53%,transparent 60%); animation:lattice-light 15s ease-in-out infinite alternate; }
@keyframes lattice-flow { to { background-position:68px 68px; } }
@keyframes lattice-light { from { transform:translateX(-20%); } to { transform:translateX(20%); } }
@media(max-width:760px) {
  .comet-art { opacity:.65; }
  .bloom-art i { width:100%; left:-40%; filter:blur(20px); }
  .bloom-art i:nth-child(2) { left:40%; }
  .bloom-art i:nth-child(3) { left:25%; }
  .petal-art > div { width:110vmin; height:110vmin; }
  .lattice-art i { background-size:26px 26px; }
}
@media(prefers-reduced-motion:reduce) {
  .comet-lights path, .bloom-art i, .petal-art > div, .lattice-art i, .lattice-art span { animation:none; }
}

/* Reference study: opposite-corner contours and a luminous rounded wordmark. */
.landing-study-wordmark-contour .north-hero {
  background:radial-gradient(ellipse at 0% 0%,#65347b88,transparent 44%),radial-gradient(ellipse at 100% 100%,#71398b88,transparent 43%),#1d1529;
}
.landing-study-wordmark-contour .north-hero h1 {
  font-family:'DM Sans',sans-serif; font-size:clamp(64px,10vw,160px); font-weight:450; letter-spacing:-.04em; font-feature-settings:normal;
  background:linear-gradient(115deg,#ad7ae3 5%,#d5b5f3 40%,#fff4ff 75%,#e5c8f4);
  background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
.landing-study-wordmark-contour .north-hero-copy > p { font-family:'DM Sans',sans-serif; font-size:clamp(14px,1.2vw,19px); font-weight:400; letter-spacing:.32em; color:#d7b4ee; margin-top:22px; }
.corner-art svg { position:absolute; inset:0; width:100%; height:100%; }
.corner-lines { stroke:#b57cda; stroke-width:1; opacity:.55; }
.corner-lines path:nth-child(5) { opacity:.6; }
.corner-lines path:nth-child(6) { opacity:.3; }
.corner-lights { stroke:#d39aef; stroke-width:2.5; stroke-linecap:round; stroke-dasharray:1 99; }
.corner-lights path { animation:corner-travel 17s linear infinite; }
.corner-lights path:nth-child(2n) { animation-delay:-9s; animation-duration:23s; }
.corner-lights path:nth-child(3n) { animation-delay:-4s; animation-duration:19s; }
.corner-lights path:nth-child(n+5) { display:none; }
.corner-drift { animation:corner-breathe 18s ease-in-out infinite alternate; }
.corner-drift-two { animation-delay:-9s; }
.corner-glow { position:absolute; inset:-15%; background:radial-gradient(ellipse at 14% 25%,#9f50d04d,transparent 32%),radial-gradient(ellipse at 87% 80%,#bf67e54d,transparent 30%); animation:corner-glow 15s ease-in-out infinite alternate; }
@keyframes corner-travel { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }
@keyframes corner-breathe { to { transform:translate(-12px,16px); } }
@keyframes corner-glow { to { transform:translate(2%,-3%) scale(1.06); opacity:.55; } }
@media(max-width:760px) {
  .landing-study-wordmark-contour .north-hero h1 { font-size:clamp(58px,13vw,98px); }
  .landing-study-wordmark-contour .north-hero-copy > p { font-size:14px; letter-spacing:.12em; max-width:310px; line-height:1.9; }
  .corner-art svg { opacity:.7; }
}
@media(max-height:480px) and (min-width:600px) {
  .landing-study-wordmark-contour .north-hero h1 { font-size:80px; }
}
@media(prefers-reduced-motion:reduce) {
  .corner-lights path, .corner-drift, .corner-glow { animation:none; }
}

/* Keep the Contour subtitle aligned with the right edge of the wordmark. */
.landing-study-wordmark-contour .north-hero-copy { width:max-content; max-width:100%; }
.landing-study-wordmark-contour .north-hero-copy > p { width:0; min-width:100%; max-width:none; text-align:right; margin-inline:0; }

/* Light geometric typography comparisons on the same Violet Contour canvas. */
.contour-type-air .north-hero h1 { font-weight:250; letter-spacing:-.045em; font-feature-settings:'ss02' 1; }
.contour-type-round .north-hero h1 { font-family:'Quicksand','DM Sans',sans-serif; font-weight:300; letter-spacing:-.055em; font-feature-settings:normal; }
.contour-type-poised .north-hero h1 { font-weight:350; letter-spacing:-.015em; font-feature-settings:'ss02' 1; }

/* Contour Round in daylight: decorative studies of agents coordinating work. */
.landing-agent-scene .north-hero { background:radial-gradient(ellipse at 50% 45%,#fff 15%,transparent 75%),#f2eafa; color:#49315e; }
.landing-agent-scene .north-hero h1 { background-image:linear-gradient(110deg,#8960b1,#503167 70%,#795493); }
.landing-agent-scene .north-hero-copy > p { color:#7c628d; }
.landing-agent-scene .north-nav nav,
.landing-agent-scene .north-login { color:#67477e; }
.landing-agent-scene .north-nav a:hover { color:#39264a; }
.agent-scene-art svg { position:absolute; inset:0; width:100%; height:100%; }
.agent-scene-wash { position:absolute; inset:-15%; background:radial-gradient(ellipse at 12% 25%,#d3b4ee55,transparent 35%),radial-gradient(ellipse at 85% 80%,#d1c4ec55,transparent 35%); }
.agent-scene-lines { stroke:#b49acb; stroke-width:1.3; opacity:.6; }
.relay-packets { stroke:#9462b9; stroke-width:4; stroke-linecap:round; stroke-dasharray:1.5 98.5; }
.relay-packets path { animation:agent-relay 16s linear infinite; }
.relay-packets path:nth-child(2) { animation-delay:-8s; }
.relay-stations circle { fill:#faf6ff; stroke:#b99bd0; stroke-width:1; }
.relay-stations .station-core { fill:#9d79bd; stroke:none; animation:agent-station 4s ease-in-out infinite; }
.relay-stations > g:nth-child(2n) .station-core { animation-delay:-1.3s; }
.relay-stations > g:nth-child(3n) .station-core { animation-delay:-2.6s; }
@keyframes agent-relay { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }
@keyframes agent-station { 50% { fill:var(--station-pulse,#d5b9e9); } }

.agent-scene-ensemble .north-hero { background:radial-gradient(ellipse at 50% 45%,#fff 20%,#f3f0fa 85%); }
.ensemble-track { stroke:#b1a3cf; opacity:.35; }
.ensemble-track ellipse:nth-child(2) { stroke-dasharray:2 12; }
.ensemble-team { transform-origin:720px 450px; animation:ensemble-breathe 14s ease-in-out infinite alternate; }
.ensemble-halo { fill:#ede7f7; stroke:#b6a0cf; stroke-width:1; }
.ensemble-core { fill:#a080c0; }
.ensemble-team path { stroke:white; stroke-width:1.2; }
.ensemble-halo { animation:ensemble-pulse 6s ease-in-out infinite; }
.ensemble-team > g:nth-child(2n) .ensemble-halo { animation-delay:-2s; }
.ensemble-team > g:nth-child(3n) .ensemble-halo { animation-delay:-4s; }
@keyframes ensemble-breathe { to { transform:scale(.96,.9) rotate(3deg); } }
@keyframes ensemble-pulse { 50% { fill:var(--ensemble-pulse-fill,#d7c4eb); stroke:var(--ensemble-pulse-stroke,#8f6db4); } }

.agent-scene-confluence .north-hero { background:radial-gradient(ellipse at 50% 35%,#fff 20%,transparent 75%),linear-gradient(120deg,#fcf5fa,#eee3f6); }
.agent-scene-confluence .north-hero h1 { background-image:linear-gradient(110deg,#a46c9b,#654276 70%,#8d5c9c); }
.scene-confluence .agent-scene-lines { stroke:#b78eaf; }
.confluence-packets { stroke:#a06eab; stroke-width:4; stroke-linecap:round; stroke-dasharray:1 99; }
.confluence-packets path { animation:agent-relay 14s linear infinite; }
.confluence-ring { stroke:#c3a0c6; opacity:.5; transform-box:fill-box; transform-origin:center; animation:confluence-ripple 7s ease-out infinite; }
.confluence-core { fill:#b182b5; }
.confluence-top { stroke:#d0b7d3; opacity:.5; }
@keyframes confluence-ripple { from { transform:scale(.3); opacity:.7; } to { transform:scale(1.8); opacity:0; } }

.agent-scene-weave .north-hero { background:radial-gradient(ellipse at 50% 45%,#fff 20%,transparent 75%),linear-gradient(125deg,#f0f4fa,#eee5f6); }
.scene-weave .agent-scene-lines path:nth-child(2n) { stroke:#8db6bc; }
.weave-signals { stroke:#9b76c1; stroke-width:3; stroke-linecap:round; stroke-dasharray:2 48; }
.weave-signals path { animation:agent-relay 18s linear infinite; }
.weave-signals path:nth-child(2n) { stroke:#78a8b2; animation-direction:reverse; animation-delay:-9s; }
.scene-weave svg { animation:weave-drift 16s ease-in-out infinite alternate; }
@keyframes weave-drift { to { transform:translateY(12px); } }
@media(max-width:760px) {
  .agent-scene-art svg { opacity:.65; }
  .scene-ensemble svg { width:150%; left:-25%; }
}
@media(prefers-reduced-motion:reduce) {
  .agent-scene-art *, .agent-scene-art *::before, .agent-scene-art *::after { animation:none; }
}

/* Dark companions retain each agent scene's motion and typography. */
.landing-agent-scene-dark { --station-pulse:#e0b8ff; --ensemble-pulse-fill:#513669; --ensemble-pulse-stroke:#cb9ced; }
.landing-agent-scene-dark .north-hero { background:radial-gradient(ellipse at 50% 45%,#38234b,transparent 75%),#1c1429; color:#f5edfb; }
.landing-agent-scene-dark.agent-scene-ensemble .north-hero { background:radial-gradient(ellipse at 50% 45%,#332c48,transparent 75%),#171523; }
.landing-agent-scene-dark.agent-scene-confluence .north-hero { background:radial-gradient(ellipse at 70% 80%,#59345066,transparent 65%),linear-gradient(120deg,#231728,#30203e); }
.landing-agent-scene-dark.agent-scene-weave .north-hero { background:radial-gradient(ellipse at 80% 20%,#28435055,transparent 65%),linear-gradient(125deg,#171b2b,#2c203e); }
.landing-agent-scene-dark .north-hero h1 { background-image:linear-gradient(110deg,#bd96e7,#fff1ff 70%,#dab8f0); }
.landing-agent-scene-dark .north-hero-copy > p { color:#d0b6e4; }
.landing-agent-scene-dark .north-nav nav,
.landing-agent-scene-dark .north-login { color:#dfd0e9; }
.landing-agent-scene-dark .north-nav a:hover { color:#fff7ff; }
.landing-agent-scene-dark .north-nav.past-hero a:hover { color:#342341; }
.landing-agent-scene-dark .agent-scene-wash { background:radial-gradient(ellipse at 12% 25%,#8351b133,transparent 35%),radial-gradient(ellipse at 85% 80%,#7b67ad33,transparent 35%); }
.landing-agent-scene-dark .agent-scene-lines { stroke:#b08bcf; opacity:.5; }
.landing-agent-scene-dark .relay-packets { stroke:#d3a5f7; }
.landing-agent-scene-dark .relay-stations circle { fill:#342441; stroke:#a87bc6; }
.landing-agent-scene-dark .relay-stations .station-core { fill:#bc8fe1; stroke:none; }
.landing-agent-scene-dark .ensemble-track { stroke:#b39acb; opacity:.35; }
.landing-agent-scene-dark .ensemble-halo { fill:#32263f; stroke:#987bb4; }
.landing-agent-scene-dark .ensemble-core { fill:#c098df; }
.landing-agent-scene-dark .ensemble-team path { stroke:#fff1ff; }
.landing-agent-scene-dark .confluence-packets { stroke:#e0a7dd; }
.landing-agent-scene-dark .confluence-ring { stroke:#c797ce; }
.landing-agent-scene-dark .confluence-core { fill:#dfafe3; }
.landing-agent-scene-dark .confluence-top { stroke:#a87cae; opacity:.35; }
.landing-agent-scene-dark .scene-weave .agent-scene-lines path:nth-child(2n) { stroke:#81adb7; }
.landing-agent-scene-dark .weave-signals { stroke:#c398e7; }
.landing-agent-scene-dark .weave-signals path:nth-child(2n) { stroke:#a0d5dc; }

/* Paired motion studies: coordinated tiles, branching signals, and shared messages. */
.agent-scene-mosaic { --tile-paper:#eee4f8; --tile-bright:#dcc5f0; --tile-line:#bda3d1; --tile-ink:#a07abd; }
.agent-scene-mosaic .north-hero { background:radial-gradient(ellipse at center,#fff 20%,#f2eaf9 90%); }
.task-mosaic .mosaic-tile { animation:mosaic-lift 8s ease-in-out infinite; }
.task-mosaic > g:nth-child(3n) .mosaic-tile { animation-delay:-2.7s; }
.task-mosaic > g:nth-child(3n + 1) .mosaic-tile { animation-delay:-5.4s; }
.mosaic-tile rect { fill:var(--tile-paper); stroke:var(--tile-line); stroke-width:1; animation:mosaic-light 8s ease-in-out infinite; animation-delay:inherit; }
.mosaic-tile circle { fill:var(--tile-ink); }
.mosaic-tile path { stroke:var(--tile-ink); stroke-width:2; stroke-linecap:round; opacity:.5; }
@keyframes mosaic-lift { 50% { transform:translateY(-14px); } }
@keyframes mosaic-light { 50% { fill:var(--tile-bright); } }
.landing-agent-scene-dark.agent-scene-mosaic { --tile-paper:#2e233e; --tile-bright:#594071; --tile-line:#7c5c96; --tile-ink:#c6a0e1; }
.landing-agent-scene-dark.agent-scene-mosaic .north-hero { background:radial-gradient(ellipse at center,#30203f,transparent 75%),#191321; }

.agent-scene-garden .north-hero { background:radial-gradient(ellipse at center,#fff 20%,transparent 80%),linear-gradient(120deg,#f2edf9,#eef5f4); }
.garden-roots { stroke:#9faec0; stroke-width:1; opacity:.35; }
.garden-growth { stroke:#9c7cc0; stroke-width:2; stroke-dasharray:100; }
.garden-growth path { animation:garden-grow 12s ease-in-out infinite; }
.garden-growth path:nth-child(2n) { animation-delay:-4s; }
.garden-growth path:nth-child(3n) { animation-delay:-8s; }
.garden-upper { opacity:.6; }
.garden-tips { fill:#95b3b7; }
.garden-tips circle { animation:garden-tip 6s ease-in-out infinite alternate; }
.garden-tips circle:nth-child(2n) { animation-delay:-3s; }
@keyframes garden-grow { 0% { stroke-dashoffset:100; opacity:0; } 25% { opacity:.8; } 65% { stroke-dashoffset:0; opacity:.8; } 100% { stroke-dashoffset:0; opacity:0; } }
@keyframes garden-tip { to { opacity:.3; } }
.landing-agent-scene-dark.agent-scene-garden .north-hero { background:radial-gradient(ellipse at 80% 85%,#29434a55,transparent 65%),#1c1b2d; }
.landing-agent-scene-dark .garden-roots { stroke:#8f9db0; opacity:.25; }
.landing-agent-scene-dark .garden-growth { stroke:#ba91e0; }
.landing-agent-scene-dark .garden-tips { fill:#9bcbd0; }

.agent-scene-messages .north-hero { background:radial-gradient(ellipse at center,#fff 20%,transparent 80%),linear-gradient(120deg,#faf2f7,#eee5f6); }
.message-lanes { stroke:#bca4cb; stroke-width:1; stroke-dasharray:2 10; opacity:.4; }
.message-capsule rect { fill:#f3e8f7; stroke:#bc9fcd; }
.message-capsule circle { fill:#c0a1d9; }
.message-capsule path { stroke:#b296c7; stroke-width:2; stroke-linecap:round; }
.message-capsule { animation:message-pass 24s linear infinite; }
.message-capsule:nth-child(2) { animation-delay:-6s; }
.message-capsule:nth-child(3) { animation-delay:-12s; }
.message-capsule:nth-child(4) { animation-delay:-18s; }
.conveyor-1 .message-capsule { animation-direction:reverse; }
@keyframes message-pass { to { transform:translateX(1600px); } }
.landing-agent-scene-dark.agent-scene-messages .north-hero { background:radial-gradient(ellipse at 20% 20%,#58365055,transparent 70%),#251a30; }
.landing-agent-scene-dark .message-lanes { stroke:#a184b2; }
.landing-agent-scene-dark .message-capsule rect { fill:#3a2948; stroke:#8f6da5; }
.landing-agent-scene-dark .message-capsule circle { fill:#b18acb; }
.landing-agent-scene-dark .message-capsule path { stroke:#ac8dc1; }
@media(prefers-reduced-motion:reduce) {
  .task-mosaic .mosaic-tile, .mosaic-tile rect, .garden-growth path, .garden-tips circle, .message-capsule { animation:none; }
  .message-capsule:nth-child(1) { transform:translateX(260px); }
  .message-capsule:nth-child(2) { transform:translateX(650px); }
  .message-capsule:nth-child(3) { transform:translateX(1040px); }
  .message-capsule:nth-child(4) { transform:translateX(1430px); }
}

/* New motion pairs: scanning, harmonic waves, and three-dimensional folds. */
.agent-scene-compass .north-hero { background:radial-gradient(ellipse at center,#fff 25%,#eeebfa 95%); }
.scene-compass svg { mask-image:radial-gradient(ellipse at center,transparent 20%,#000 45%); }
.compass-rings { stroke:#a78abc; opacity:.35; }
.compass-sector { fill:#ba99dc; opacity:.12; }
.compass-ray { stroke:#aa80cd; stroke-width:1.5; opacity:.55; }
.compass-scan { transform-origin:720px 450px; animation:compass-scan 32s linear infinite; }
.compass-scan circle { fill:#996dbd; }
.compass-beacons { fill:#b89acb; }
.compass-beacons circle { animation:compass-beacon 8s ease-in-out infinite; }
.compass-beacons circle:nth-child(2n) { animation-delay:-3s; }
.compass-beacons circle:nth-child(3n) { animation-delay:-6s; }
@keyframes compass-scan { to { transform:rotate(360deg); } }
@keyframes compass-beacon { 50% { opacity:.25; } }
.landing-agent-scene-dark.agent-scene-compass .north-hero { background:radial-gradient(ellipse at center,#30213f,transparent 75%),#191421; }
.landing-agent-scene-dark .compass-rings { stroke:#ad8cce; opacity:.3; }
.landing-agent-scene-dark .compass-sector { fill:#bd86eb; opacity:.12; }
.landing-agent-scene-dark .compass-ray { stroke:#cda0ed; }
.landing-agent-scene-dark .compass-scan circle,
.landing-agent-scene-dark .compass-beacons { fill:#cca6e9; }

.agent-scene-harmonics .north-hero { background:radial-gradient(ellipse at center,#fff 20%,transparent 80%),linear-gradient(130deg,#f1e8fa,#edf2f9); }
.harmonic-waves { stroke:#a180bd; stroke-width:1; opacity:.55; animation:harmonic-sway 13s ease-in-out infinite alternate; }
.harmonic-waves path:nth-child(2n) { stroke:#8daabf; }
.harmonic-waves path:nth-child(3n) { opacity:.5; }
.harmonic-lower { animation-delay:-6s; animation-duration:17s; }
@keyframes harmonic-sway { from { transform:translateX(-45px) scaleY(.88); } to { transform:translateX(70px) scaleY(1.15); } }
.landing-agent-scene-dark.agent-scene-harmonics .north-hero { background:radial-gradient(ellipse at 75% 90%,#49356455,transparent 65%),linear-gradient(130deg,#20152e,#1e2536); }
.landing-agent-scene-dark .harmonic-waves { stroke:#bf8fe1; opacity:.5; }
.landing-agent-scene-dark .harmonic-waves path:nth-child(2n) { stroke:#85bbc8; }

.agent-scene-folds { --fold-front:#d5b8ed55; --fold-back:#b99dd638; --fold-border:#c8b2db66; }
.agent-scene-folds .north-hero { background:radial-gradient(ellipse at center,#fff 15%,#f6effa 95%); }
.scene-folds { perspective:1000px; mask-image:radial-gradient(ellipse at center,#0003 10%,#000 70%); }
.fold-plane { position:absolute; display:flex; width:55%; height:80%; top:-10%; left:-20%; transform:rotate(-25deg); }
.fold-plane i { width:50%; height:100%; border:1px solid var(--fold-border); background:linear-gradient(145deg,var(--fold-front),transparent); transform-origin:right center; animation:fold-open 15s ease-in-out infinite alternate; }
.fold-plane i + i { transform-origin:left center; background:linear-gradient(215deg,var(--fold-back),transparent); animation-name:fold-close; }
.fold-right { left:auto; right:-20%; top:35%; transform:rotate(30deg); }
.fold-right i { animation-delay:-7s; animation-duration:19s; }
.fold-ground { position:absolute; inset:auto -10% -15%; height:25%; border-radius:50%; background:radial-gradient(ellipse,#bba1d326,transparent 70%); animation:fold-shadow 15s ease-in-out infinite alternate; }
@keyframes fold-open { from { transform:rotateY(-20deg) translateY(-10px); } to { transform:rotateY(-60deg) translateY(20px); } }
@keyframes fold-close { from { transform:rotateY(40deg) translateY(-10px); } to { transform:rotateY(10deg) translateY(20px); } }
@keyframes fold-shadow { to { transform:scaleX(.65); opacity:.4; } }
.landing-agent-scene-dark.agent-scene-folds { --fold-front:#aa72d337; --fold-back:#7663a82b; --fold-border:#ae83cb38; }
.landing-agent-scene-dark.agent-scene-folds .north-hero { background:radial-gradient(ellipse at center,#362344,transparent 80%),#1e1627; }
@media(max-width:760px) {
  .scene-compass svg { width:140%; left:-20%; }
  .scene-harmonics svg { opacity:.7; }
  .fold-plane { width:90%; left:-55%; }
  .fold-right { left:auto; right:-55%; }
}
@media(prefers-reduced-motion:reduce) {
  .compass-scan, .compass-beacons circle, .harmonic-waves, .fold-plane i, .fold-ground { animation:none; }
}

/* Agents in concert: task handoffs, routing decisions, and combined results. */
.agent-scene-handoff, .agent-scene-switchboard, .agent-scene-synthesis {
  --agent-paper:#faf7ff; --agent-line:#bca2d3; --agent-ink:#9162b6; --agent-soft:#d8c0ed;
}
.landing-agent-scene-dark.agent-scene-handoff,
.landing-agent-scene-dark.agent-scene-switchboard,
.landing-agent-scene-dark.agent-scene-synthesis {
  --agent-paper:#30213f; --agent-line:#77548f; --agent-ink:#d3a3f4; --agent-soft:#9866bb;
}
.agent-glyph { stroke:var(--agent-ink); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.agent-scene-handoff .north-hero { background:radial-gradient(ellipse at center,#fff 25%,#f1e8fa); }
.landing-agent-scene-dark.agent-scene-handoff .north-hero { background:radial-gradient(ellipse at center,#352342,transparent 75%),#1c1526; }
.handoff-rail { stroke:var(--agent-line); stroke-width:1; opacity:.55; }
.handoff-token { stroke:var(--agent-ink); stroke-width:4; stroke-linecap:round; stroke-dasharray:2 98; animation:handoff-travel 12s linear infinite; }
.handoff-node rect { fill:var(--agent-paper); stroke:var(--agent-line); }
.handoff-halo { fill:var(--agent-soft); opacity:.06; animation:handoff-awake 12s ease-in-out infinite; }
.handoff-node:nth-of-type(2) .handoff-halo { animation-delay:4s; }
.handoff-node:nth-of-type(3) .handoff-halo { animation-delay:8s; }
.handoff-node:nth-of-type(4) .handoff-halo { animation-delay:11s; }
.handoff-return { opacity:.7; }
.handoff-return .handoff-token { animation-delay:-6s; }
.handoff-return .handoff-halo { animation-direction:reverse; }
@keyframes handoff-travel { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }
@keyframes handoff-awake { 0%,20%,100% { opacity:.06; } 6%,12% { opacity:.4; } }

.agent-scene-switchboard .north-hero { background:radial-gradient(ellipse at center,#fff 22%,transparent 80%),linear-gradient(120deg,#f3ebfa,#edf2fa); }
.landing-agent-scene-dark.agent-scene-switchboard .north-hero { background:radial-gradient(ellipse at 80% 80%,#37435a55,transparent 70%),#21182e; }
.switch-tracks { stroke:var(--agent-line); stroke-width:1; opacity:.45; }
.switch-signals { stroke:var(--agent-ink); stroke-width:3; stroke-linecap:round; stroke-dasharray:4 96; }
.switch-signals path { animation:switch-route 10s linear infinite; }
.switch-signals path:nth-child(2) { animation-delay:-5s; }
.switch-signals path:nth-child(3) { animation-delay:-2.5s; }
.switch-signals path:nth-child(4) { animation-delay:-7.5s; }
.switch-hub, .switch-terminal > circle:first-child { fill:var(--agent-paper); stroke:var(--agent-line); }
.switch-dot { fill:var(--agent-ink); }
.switch-halo { fill:var(--agent-soft); opacity:.15; transform-box:fill-box; transform-origin:center; animation:switch-decide 5s ease-in-out infinite; }
.switch-lower { opacity:.7; }
@keyframes switch-route { 0% { stroke-dashoffset:100; opacity:0; } 5%,45% { opacity:1; } 50%,100% { stroke-dashoffset:0; opacity:0; } }
@keyframes switch-decide { 45%,65% { transform:rotate(90deg) scale(1.15); opacity:.35; } }

.agent-scene-synthesis .north-hero { background:radial-gradient(ellipse at center,#fff 25%,transparent 80%),linear-gradient(140deg,#f5edf9,#edeafa); }
.landing-agent-scene-dark.agent-scene-synthesis .north-hero { background:radial-gradient(ellipse at 20% 20%,#56356c55,transparent 70%),#21162d; }
.synthesis-orbit { stroke:var(--agent-line); stroke-dasharray:2 9; opacity:.35; }
.synthesis-fragment rect { fill:var(--agent-paper); stroke:var(--agent-line); }
.synthesis-fragment path { stroke:var(--agent-ink); stroke-width:1.4; opacity:.6; }
.synthesis-fragment { animation:synthesis-gather 12s ease-in-out infinite; }
.synthesis-cluster > g:nth-of-type(2n) .synthesis-fragment { animation-delay:.4s; }
.synthesis-cluster > g:nth-of-type(3n) .synthesis-fragment { animation-delay:.8s; }
.synthesis-result { fill:var(--agent-paper); stroke:var(--agent-ink); stroke-width:1.2; }
.synthesis-ripple { fill:none; stroke:var(--agent-ink); transform-box:fill-box; transform-origin:center; animation:synthesis-resolve 12s ease-out infinite; }
.synthesis-check { opacity:.35; animation:synthesis-done 12s ease-in-out infinite; }
.synthesis-second { opacity:.75; }
.synthesis-second .synthesis-fragment, .synthesis-second .synthesis-ripple, .synthesis-second .synthesis-check { animation-delay:-6s; }
@keyframes synthesis-gather { 0%,15%,100% { transform:translateX(0); opacity:.9; } 48%,65% { transform:translateX(-110px); opacity:0; } 75% { transform:translateX(0); opacity:0; } }
@keyframes synthesis-resolve { 0%,45% { transform:scale(.8); opacity:0; } 50% { opacity:.55; } 80%,100% { transform:scale(3.2); opacity:0; } }
@keyframes synthesis-done { 48%,70% { opacity:1; } }
@media(max-width:760px) {
  .scene-handoff svg, .scene-switchboard svg, .scene-synthesis svg { opacity:.8; }
}
@media(prefers-reduced-motion:reduce) {
  .handoff-token, .handoff-halo, .switch-signals path, .switch-halo,
  .synthesis-fragment, .synthesis-ripple, .synthesis-check { animation:none; }
  .synthesis-ripple { opacity:.15; }
}

/* Named characters wander within their own spaces around the headline. */
.mascot-scene { --mascot-label:#4d355f; --mascot-role:#786387; }
.mascot-scene .wandering-agent { position:absolute; top:0; left:0; width:clamp(90px,11vw,148px); text-align:center; font-family:'DM Sans',sans-serif; color:var(--mascot-label); }
.mascot-avatar { position:relative; width:clamp(58px,7vw,100px); height:clamp(58px,7vw,100px); margin:0 auto 10px; }
.mascot-scene .mascot-avatar svg { position:relative; display:block; inset:auto; width:100%; height:100%; overflow:visible; opacity:1; animation:mascot-sway 7s ease-in-out infinite alternate; }
.mascot-body { fill:var(--bot-color); }
.mascot-eyes { fill:#fffaf3; transform-origin:50px 50px; animation:mascot-blink 6.8s infinite; }
.wandering-agent strong { display:block; font-size:17px; line-height:1.35; font-weight:600; }
.wandering-agent .mascot-role { display:block; font-size:14px; line-height:1.5; color:var(--mascot-role); white-space:nowrap; }
.agent-0 { --bot-color:#ae83dc; }
.agent-1 { --bot-color:#82b6ad; }
.agent-2 { --bot-color:#8f96cb; }
.agent-3 { --bot-color:#c88eb9; }
.agent-4 { --bot-color:#b09bcf; }
.agent-5 { --bot-color:#caac88; }
.agent-1 .mascot-eyes, .agent-4 .mascot-eyes { animation-delay:-2.3s; }
.agent-2 .mascot-eyes, .agent-5 .mascot-eyes { animation-delay:-4.6s; }
.agent-2 .mascot-avatar svg, .agent-4 .mascot-avatar svg { animation-direction:alternate-reverse; animation-delay:-3s; }
.mascot-shadow { position:absolute; z-index:-1; width:56%; height:8px; left:22%; bottom:-3px; background:#6740891a; border-radius:50%; filter:blur(3px); }
.agent-scene-companions .north-hero { background:radial-gradient(ellipse at center,#fffdfb 20%,#f3ecfa); }
.landing-agent-scene-dark.agent-scene-companions .north-hero { background:radial-gradient(ellipse at center,#372646,transparent 80%),#1c1527; }
.landing-agent-scene-dark .mascot-scene { --mascot-label:#f2e9fc; --mascot-role:#bdaacc; }
.landing-agent-scene-dark .mascot-shadow { background:#0c061a66; }
.mascot-floor { position:absolute; inset:65% -20% -35%; border:1px solid #aa8ab51c; border-radius:50%; transform:rotate(-7deg); }
@keyframes mascot-sway { from { transform:rotate(-6deg) translateY(2px); } to { transform:rotate(6deg) translateY(-5px); } }
@keyframes mascot-blink { 0%,43%,47%,100% { transform:scaleY(1); } 45% { transform:scaleY(.12); } }

.agent-scene-sprites .north-hero { background:radial-gradient(ellipse at center,#fff 20%,transparent 80%),linear-gradient(120deg,#eae9fa,#edf8f7); }
.landing-agent-scene-dark.agent-scene-sprites .north-hero { background:radial-gradient(ellipse at 80% 80%,#2c454e66,transparent 70%),#1d1b30; }
.mascot-sprites .mascot-body { fill:var(--bot-color); fill-opacity:.3; stroke:var(--bot-color); stroke-width:1.8; }
.mascot-sprites .mascot-eyes { fill:#8665ad; }
.landing-agent-scene-dark .mascot-sprites .mascot-eyes { fill:#f5eeff; }
.mascot-sprites .mascot-avatar { filter:drop-shadow(0 8px 14px #8b79a524); }
.mascot-sprites .mascot-avatar svg { animation:mascot-hover 8s ease-in-out infinite alternate; }
.mascot-sprites .mascot-floor { inset:18% -30%; border-radius:50%; transform:rotate(-24deg); border-color:#a1aec12b; }
@keyframes mascot-hover { to { transform:translateY(-8px) rotate(5deg); } }

.agent-scene-playmates .north-hero { background:radial-gradient(ellipse at center,#fffdf8 20%,#f3eafa); }
.landing-agent-scene-dark.agent-scene-playmates .north-hero { background:radial-gradient(ellipse at 20% 80%,#56386855,transparent 70%),#25182f; }
.mascot-playmates .agent-0 { --bot-color:#ad76ea; }
.mascot-playmates .agent-1 { --bot-color:#4bb99f; }
.mascot-playmates .agent-2 { --bot-color:#7887e1; }
.mascot-playmates .agent-3 { --bot-color:#e588bd; }
.mascot-playmates .agent-4 { --bot-color:#c5a1eb; }
.mascot-playmates .agent-5 { --bot-color:#dba45d; }
.mascot-playmates .mascot-avatar svg { animation:mascot-hop 3s ease-in-out infinite; transform-origin:center 90%; }
.mascot-playmates .agent-1 svg, .mascot-playmates .agent-3 svg { animation-delay:-1s; }
.mascot-playmates .agent-2 svg, .mascot-playmates .agent-5 svg { animation-delay:-2s; }
.mascot-playmates .mascot-shadow { animation:mascot-ground 3s ease-in-out infinite; }
@keyframes mascot-hop { 0%,70%,100% { transform:translateY(0) scale(1); } 12% { transform:scale(1.08,.92); } 35% { transform:translateY(-12px) rotate(-5deg) scale(.96,1.04); } 58% { transform:scale(1.06,.94); } }
@keyframes mascot-ground { 35% { transform:scaleX(.65); opacity:.4; } }
.mascots-resting * { animation-play-state:paused !important; }
@media(max-width:600px) {
  .wandering-agent strong { font-size:15px; }
  .wandering-agent .mascot-role { font-size:12px; }
  .mascot-avatar { margin-bottom:5px; }
}
@media(max-height:650px) {
  .mascot-avatar { width:32px; height:32px; margin-bottom:3px; }
  .wandering-agent .mascot-role { font-size:12px; line-height:1.25; }
}
@media(max-height:550px) {
  .mascot-avatar { width:32px; height:32px; margin-bottom:3px; }
  .wandering-agent strong { font-size:14px; }
  .wandering-agent .mascot-role { display:none; }
  .mascot-shadow { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .mascot-scene .mascot-avatar svg, .mascot-eyes, .mascot-playmates .mascot-shadow { animation:none; }
}
@media(max-height:450px) {
  .mascot-avatar { width:24px; height:24px; }
}

/* Companion title cards: generous space, a single bot, and moving northern light. */
.landing-companion-study .north-hero { min-height:100svh; height:100svh; padding:110px 6% 70px; justify-items:center; background:#2c1c48; color:#fffafc; }
.landing-companion-study .north-hero-copy { width:auto; max-width:100%; text-align:center; }
.landing-companion-study .north-hero h1 { font-family:'DM Sans',sans-serif; font-size:clamp(56px,7vw,104px); line-height:1.08; font-weight:450; letter-spacing:-.055em; white-space:normal; color:#fffafc; background:none; -webkit-text-fill-color:currentColor; }
.landing-companion-study .north-hero-copy > p { width:auto; min-width:0; max-width:100%; margin:25px auto 0; color:#d5c5e6; font-size:clamp(16px,1.5vw,21px); line-height:1.6; letter-spacing:0; text-align:center; }
.companion-lockup { display:flex; align-items:center; justify-content:center; gap:22px; }
.companion-mark { display:block; width:clamp(70px,8vw,112px); height:auto; flex-shrink:0; overflow:visible; animation:companion-nod 9s ease-in-out infinite; }
.companion-shell { fill:#fffafc; }
.companion-look { fill:#392451; transform-origin:50px 44px; animation:companion-look 8s ease-in-out infinite; }
.companion-inline-note { font-size:.62em; font-weight:350; letter-spacing:-.035em; color:#d7bef5; white-space:nowrap; }
.companion-actions { display:flex; align-items:center; justify-content:center; gap:32px; margin-top:38px; }
.companion-actions a { display:inline-flex; align-items:center; gap:18px; min-height:44px; padding:8px 0; color:#eee0ff; font-size:16px; text-decoration:none; border-bottom:1px solid transparent; }
.companion-actions a:first-child { border-color:#d6b6f566; }
.companion-actions a:hover { border-color:currentColor; }
.companion-actions a:focus-visible { outline:2px solid currentColor; outline-offset:6px; border-radius:3px; }
.companion-actions a span { font-size:23px; }
.companion-atmosphere { background:radial-gradient(ellipse at 100% 0,#68439877,transparent 65%); }
.companion-light { position:absolute; pointer-events:none; will-change:transform; }
.landing-study-companion-aurora .light-one { width:65%; height:150%; left:-15%; top:-25%; border-radius:50%; border-left:80px solid #c997ff; filter:blur(24px); transform:rotate(30deg); opacity:.65; animation:companion-curtain 18s ease-in-out infinite alternate; }
.landing-study-companion-aurora .light-two { width:75%; height:120%; top:-60%; right:-30%; border-radius:50%; background:radial-gradient(ellipse,#9667e080,transparent 65%); filter:blur(45px); animation:companion-glow 23s ease-in-out infinite alternate; }
.landing-study-companion-aurora .light-three { inset:40% -20% -65% 30%; background:radial-gradient(ellipse,#8350ba66,transparent 65%); filter:blur(35px); animation:companion-glow 17s ease-in-out -9s infinite alternate; }
@keyframes companion-curtain { to { transform:translate(12%,5%) rotate(18deg) scaleX(1.15); opacity:.4; } }
@keyframes companion-glow { to { transform:translate(-8%,12%) scale(1.2); opacity:.5; } }
@keyframes companion-nod { 0%,75%,100% { transform:rotate(0); } 35%,45% { transform:rotate(-7deg) translateY(-4px); } }
@keyframes companion-look { 0%,30%,60%,100% { transform:translate(0,0) scaleY(1); } 35%,50% { transform:translate(3px,1px) scaleY(1); } 72%,76% { transform:scaleY(1); } 74% { transform:scaleY(.15); } }

.landing-study-companion-halo .north-hero { background:radial-gradient(ellipse at center,#37264c,#171422 85%); }
.companion-emblem .companion-mark { width:78px; margin:0 auto 23px; }
.companion-title-note { display:block; color:#c8acdf; font-size:.4em; letter-spacing:-.025em; font-weight:350; margin-top:20px; }
.companion-halo-rings { position:absolute; inset:0; display:grid; place-items:center; }
.companion-halo-rings i { position:absolute; width:clamp(480px,65vw,1000px); aspect-ratio:1; border-radius:50%; border:1px solid #c1a0e23d; box-shadow:inset 0 0 70px #af81dc0d,0 0 70px #aa7bd311; animation:companion-halo 16s ease-in-out infinite alternate; }
.companion-halo-rings i:nth-child(2) { width:clamp(550px,75vw,1150px); animation-delay:-5s; opacity:.6; }
.companion-halo-rings i:nth-child(3) { width:clamp(620px,85vw,1300px); animation-delay:-10s; opacity:.4; }
.landing-study-companion-halo .light-one { inset:30% 15% -50%; background:radial-gradient(ellipse,#8e53c45c,transparent 65%); filter:blur(55px); animation:companion-glow 20s ease-in-out infinite alternate; }
@keyframes companion-halo { to { transform:scale(.91,1.05); opacity:.35; } }

.landing-study-companion-silk .north-hero { justify-items:start; padding-left:10%; background:linear-gradient(115deg,#20172e,#352047); }
.landing-study-companion-silk .north-hero-copy { text-align:left; width:60%; }
.landing-study-companion-silk .north-hero h1 { font-size:clamp(52px,6.5vw,94px); }
.landing-study-companion-silk .north-hero-copy > p { text-align:left; margin-left:0; }
.landing-study-companion-silk .companion-actions { justify-content:start; }
.companion-eyebrow { font-size:12px; font-weight:500; letter-spacing:.18em; margin:0 0 25px; color:#c8a8e6; }
.concierge-portrait { position:absolute; top:32%; right:12%; width:clamp(140px,20vw,280px); }
.concierge-portrait .companion-mark { width:100%; filter:drop-shadow(0 22px 50px #bf8ee22b); animation:concierge-float 10s ease-in-out infinite alternate; }
.concierge-portrait .companion-shell { fill:#dabaf6; }
.concierge-portrait span { position:absolute; width:60%; height:12px; left:20%; bottom:-60px; background:#120a2055; filter:blur(12px); border-radius:50%; animation:companion-glow 10s ease-in-out infinite alternate; }
.landing-study-companion-silk .light-one, .landing-study-companion-silk .light-two { width:35%; height:150%; top:-25%; right:4%; background:linear-gradient(90deg,transparent,#b689df38,transparent); border-radius:50%; filter:blur(18px); transform:rotate(22deg); animation:concierge-silk 19s ease-in-out infinite alternate; }
.landing-study-companion-silk .light-two { right:24%; width:17%; opacity:.55; animation-delay:-9s; }
@keyframes concierge-float { to { transform:translateY(18px) rotate(7deg); } }
@keyframes concierge-silk { to { transform:translateX(10%) rotate(6deg) scaleX(.75); } }

.landing-study-companion-daylight .north-hero { color:#422c58; background:radial-gradient(ellipse at 50% 45%,#fffdfd 20%,#f1e8fa); }
.landing-study-companion-daylight .north-hero h1 { color:#422c58; font-weight:400; }
.landing-study-companion-daylight .north-hero-copy > p { color:#79628c; }
.landing-study-companion-daylight .companion-shell { fill:#9c73ce; }
.landing-study-companion-daylight .companion-look { fill:#fffafc; }
.landing-study-companion-daylight .companion-dot { color:#b292d6; }
.landing-study-companion-daylight .north-nav nav, .landing-study-companion-daylight .north-login,
.landing-study-companion-daylight .companion-actions a { color:#62427e; }
.landing-study-companion-daylight .companion-actions a:first-child { border-color:#a985c555; }
.landing-study-companion-daylight .companion-atmosphere { background:none; }
.landing-study-companion-daylight .light-one { width:100%; height:140%; left:-50%; top:-40%; border-radius:50%; border-right:90px solid #bb8de044; filter:blur(22px); transform:rotate(30deg); animation:companion-curtain 22s ease-in-out infinite alternate; }
.landing-study-companion-daylight .light-two { inset:35% -30% -80% 0; background:radial-gradient(ellipse,#ad7bda33,transparent 65%); filter:blur(30px); animation:companion-glow 19s ease-in-out infinite alternate; }

@media(max-width:760px) {
  .landing-companion-study .north-hero { padding:120px 7% 65px; }
  .companion-lockup { flex-direction:column; gap:20px; }
  .landing-companion-study .north-hero h1 { font-size:clamp(46px,10vw,72px); }
  .companion-inline-note { display:block; font-size:.55em; margin-top:12px; }
  .companion-actions { gap:24px; margin-top:26px; }
  .companion-actions a { font-size:14px; gap:12px; }
  .landing-study-companion-silk .north-hero-copy { width:100%; }
  .landing-study-companion-silk .north-hero { padding-top:210px; }
  .concierge-portrait { top:115px; right:10%; width:86px; }
  .concierge-portrait span { bottom:-14px; }
  .companion-emblem .companion-mark { width:64px; }
}
@media(max-height:650px) {
  .landing-companion-study .north-hero { padding-block:100px 30px; }
  .landing-companion-study .north-hero h1 { font-size:clamp(38px,6vw,64px); }
  .landing-companion-study .north-hero-copy > p { margin-top:16px; font-size:16px; }
  .companion-mark { width:60px; }
  .companion-actions { margin-top:18px; }
  .companion-emblem .companion-mark { width:48px; margin-bottom:12px; }
  .companion-title-note { margin-top:12px; }
  .landing-study-companion-silk .north-hero { padding-top:185px; }
  .concierge-portrait { top:100px; width:65px; }
  .companion-eyebrow { margin-bottom:14px; }
}
@media(max-height:450px) and (min-width:761px) {
  .landing-companion-study .north-hero { padding-block:75px 25px; }
  .landing-study-companion-silk .north-hero-copy { width:65%; }
  .concierge-portrait { top:32%; right:12%; width:130px; }
  .companion-emblem { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .companion-mark, .companion-look, .companion-light, .companion-halo-rings i,
  .concierge-portrait .companion-mark, .concierge-portrait span { animation:none !important; }
}

/* Soft lavender companion studies: white branding over gently moving silk. */
.landing-soft-companion .north-hero { background:linear-gradient(125deg,#b79dcd,#9580b1 50%,#88739f); }
.landing-soft-companion .north-hero h1 { font-weight:400; letter-spacing:-.045em; font-size:clamp(56px,7vw,100px); }
.landing-soft-companion .companion-lockup { gap:24px; }
.landing-soft-companion .companion-mark { width:clamp(70px,7.4vw,106px); }
.landing-soft-companion .companion-look { fill:#967ab2; }
.landing-soft-companion .north-hero-copy > p { color:#fff9ff; font-size:clamp(16px,1.45vw,20px); margin-top:22px; }
.landing-soft-companion .companion-actions { margin-top:30px; }
.landing-soft-companion .companion-actions a { color:#fffaff; }
.landing-soft-companion .companion-actions a:first-child { border-color:#fff8ff66; }
.landing-soft-companion .north-nav nav, .landing-soft-companion .north-login { color:#fffaff; }
.landing-soft-companion .north-brand-icon img { filter:brightness(0) invert(1); }
.landing-soft-companion .north-nav.past-hero nav, .landing-soft-companion .north-nav.past-hero .north-login { color:#62427e; }
.landing-soft-companion .north-nav.past-hero .north-brand-icon img { filter:none; }
.soft-companion-art svg { position:absolute; inset:0; width:100%; height:100%; }
.soft-companion-wash { position:absolute; inset:-20%; background:radial-gradient(ellipse at 8% 10%,#f2dcffb3,transparent 50%),radial-gradient(ellipse at 95% 100%,#8478bd88,transparent 60%); animation:soft-wash 19s ease-in-out infinite alternate; }
.soft-companion-shade { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 52%,#50375f66,transparent 68%),linear-gradient(#49325838,transparent 16%); }
.soft-ribbon { transform-origin:720px 450px; animation:soft-silk 17s ease-in-out infinite alternate; }
.soft-ribbon.ribbon-1 { opacity:.5; animation-delay:-8s; animation-duration:23s; }
@keyframes soft-silk { from { transform:translate(-25px,-20px) rotate(-3deg); } to { transform:translate(55px,25px) rotate(4deg); } }
@keyframes soft-wash { to { transform:translate(5%,4%) scale(1.12); opacity:.65; } }
.landing-study-companion-soft-pearl .north-hero { background:linear-gradient(120deg,#a29bc3,#a18bb7 45%,#b394c1); }
.landing-study-companion-soft-pearl .soft-ribbon { animation:soft-pearl 21s ease-in-out infinite alternate; }
.landing-study-companion-soft-pearl .ribbon-1 { animation-delay:-10s; }
.landing-study-companion-soft-pearl .soft-companion-wash { background:radial-gradient(ellipse at 95% 0,#f4e8ff99,transparent 60%),radial-gradient(ellipse at 0 90%,#aaaee188,transparent 55%); }
@keyframes soft-pearl { from { transform:translate(15px,-20px) scale(.96); opacity:.65; } to { transform:translate(-45px,20px) scale(1.06); opacity:1; } }
.landing-study-companion-soft-current .north-hero { background:linear-gradient(140deg,#9e87b8,#9383b2 55%,#ac92be); }
.landing-study-companion-soft-current .soft-ribbon { animation:soft-current 16s ease-in-out infinite alternate; }
.landing-study-companion-soft-current .ribbon-1 { animation-delay:-8s; animation-direction:alternate-reverse; }
.landing-study-companion-soft-current .companion-mark { animation:soft-bot-float 9s ease-in-out infinite alternate; }
@keyframes soft-current { from { transform:translateX(-50px) scaleY(.94); } to { transform:translateX(50px) scaleY(1.12); } }
@keyframes soft-bot-float { to { transform:translateY(-6px) rotate(5deg); } }
@media(max-width:760px) {
  .landing-soft-companion .companion-lockup { flex-direction:row; gap:12px; }
  .landing-soft-companion .north-hero h1 { font-size:clamp(38px,9vw,68px); }
  .landing-soft-companion .companion-mark { width:clamp(48px,10vw,74px); }
  .landing-soft-companion .north-hero-copy > p { font-size:16px; }
  .soft-companion-art svg { width:160%; left:-30%; }
}
@media(max-height:650px) {
  .landing-soft-companion .north-hero h1 { font-size:clamp(38px,6vw,64px); }
  .landing-soft-companion .companion-mark { width:60px; }
}
@media(max-width:360px) {
  .landing-soft-companion .companion-mark { width:44px; }
}
@media(prefers-reduced-motion:reduce) {
  .soft-ribbon, .soft-companion-wash, .landing-soft-companion .companion-mark { animation:none !important; }
}

/* Editorial poster studies: a direct message beside a playful, cropped companion. */
.landing-poster-companion .north-hero { background:linear-gradient(160deg,#110e16 45%,#241d2c); padding:120px 6% 70px; }
.landing-poster-companion .north-hero-copy { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:7%; width:100%; max-width:1240px; text-align:left; }
.landing-poster-companion .north-hero h1 { font-size:clamp(40px,4.5vw,68px); letter-spacing:-.045em; line-height:1.12; font-weight:500; }
.poster-description { color:#bcb0ca; font-size:18px; line-height:1.6; max-width:390px; margin:24px 0 0; }
.landing-poster-companion .companion-eyebrow { color:#9a84ae; }
.landing-poster-companion .companion-actions { justify-content:start; margin-top:42px; gap:24px; }
.landing-poster-companion .companion-actions a:first-child { border:0; border-radius:999px; background:#faf6ff; color:#23192e; padding:10px 22px; font-weight:550; }
.landing-poster-companion .companion-actions a:first-child:hover { background:#e2ccf5; }
.landing-poster-companion .companion-actions a:last-child { color:#c8b7d7; }
.poster-card { position:relative; isolation:isolate; overflow:hidden; aspect-ratio:1; border:1px solid #b994d32b; border-radius:28px; background:#0c0a10; }
.poster-card-copy { position:relative; z-index:2; padding:8%; }
.poster-card-copy > span { color:#a38bba; font-size:11px; font-weight:500; letter-spacing:.16em; }
.poster-card-copy > p { margin:14px 0 0; font-size:clamp(26px,3vw,44px); line-height:1.1; color:#f6efff; letter-spacing:-.04em; }
.poster-main-bot { position:absolute; width:85%; left:-14%; bottom:-24%; transform:rotate(-17deg); }
.poster-main-bot .companion-mark { width:100%; animation:poster-peek 12s ease-in-out infinite alternate; }
.poster-main-bot .companion-shell { fill:#eee8f3; }
.poster-main-bot .companion-look { fill:#1c1425; }
.poster-satellite { position:absolute; width:12%; right:10%; top:45%; }
.poster-satellite .companion-mark { width:100%; animation:poster-friend 8s ease-in-out infinite alternate; }
.poster-satellite .companion-shell { fill:#a786d9; }
.poster-satellite .companion-look { fill:#30203f; }
.poster-satellite.satellite-two { width:8%; right:25%; top:57%; }
.satellite-two .companion-mark { animation-delay:-4s; }
.satellite-two .companion-shell { fill:#87bcb5; }
.poster-card-footer { position:absolute; z-index:2; bottom:7%; right:7%; display:flex; flex-direction:column; align-items:end; gap:7px; color:#c8b8d9; font-size:12px; }
.poster-card-footer span::before { content:'·'; padding-right:8px; color:#a47ad0; }
.poster-orbit { position:absolute; border:1px solid #ac82d52b; width:75%; aspect-ratio:1; right:-30%; top:32%; border-radius:50%; animation:poster-orbit 18s ease-in-out infinite alternate; }
.poster-card-light { position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 95% 95%,#5a357a44,transparent 65%); animation:poster-light 15s ease-in-out infinite alternate; }
@keyframes poster-peek { to { transform:translate(8px,-14px) rotate(6deg); } }
@keyframes poster-friend { to { transform:translate(-10px,16px) rotate(12deg); } }
@keyframes poster-orbit { to { transform:translate(-10px,14px) scale(1.12); } }
@keyframes poster-light { to { transform:scale(1.25) translate(-5%,-5%); opacity:.5; } }

.landing-study-companion-poster-lilac .north-hero { background:#f5f0fa; color:#3f2d54; }
.landing-study-companion-poster-lilac .north-hero h1 { color:#3f2d54; }
.landing-study-companion-poster-lilac .poster-description { color:#776586; }
.landing-study-companion-poster-lilac .companion-eyebrow { color:#87699e; }
.landing-study-companion-poster-lilac .north-nav nav, .landing-study-companion-poster-lilac .north-login,
.landing-study-companion-poster-lilac .companion-actions a:last-child { color:#6c4b84; }
.landing-study-companion-poster-lilac .companion-actions a:first-child { background:#79529e; color:white; }
.landing-study-companion-poster-lilac .companion-actions a:first-child:hover { background:#634081; }
.landing-study-companion-poster-lilac .poster-card { background:linear-gradient(145deg,#e7d9f3,#d5c1e9); border-color:#cdb6df; border-radius:80px 28px 28px 28px; }
.landing-study-companion-poster-lilac .poster-card-copy > p { color:#503565; }
.landing-study-companion-poster-lilac .poster-card-copy > span { color:#79598e; }
.landing-study-companion-poster-lilac .poster-main-bot { left:-5%; bottom:-30%; transform:rotate(12deg); }
.landing-study-companion-poster-lilac .poster-main-bot .companion-shell { fill:#8e66b4; }
.landing-study-companion-poster-lilac .poster-main-bot .companion-look { fill:#fff7ff; }
.landing-study-companion-poster-lilac .poster-satellite .companion-shell { fill:#fff9ff; }
.landing-study-companion-poster-lilac .satellite-two .companion-shell { fill:#af90d4; }
.landing-study-companion-poster-lilac .poster-card-footer { color:#63447d; }
.landing-study-companion-poster-lilac .poster-card-light { background:radial-gradient(ellipse at 70% 20%,#fffaff99,transparent 70%); }

.landing-study-companion-poster-arctic .north-hero { background:radial-gradient(ellipse at 80% 80%,#45335b77,transparent 65%),#231a30; }
.landing-study-companion-poster-arctic .poster-card { background:linear-gradient(160deg,#342347,#57366a); border-color:#b18cd043; }
.landing-study-companion-poster-arctic .poster-card-light { inset:-30%; background:linear-gradient(120deg,transparent 30%,#d5b4f555 45%,#a5d9d72b 48%,transparent 60%); filter:blur(22px); animation:poster-aurora 16s ease-in-out infinite alternate; }
.landing-study-companion-poster-arctic .poster-main-bot { left:-19%; bottom:-20%; transform:rotate(-28deg); }
.landing-study-companion-poster-arctic .poster-main-bot .companion-shell { fill:#dbc7ed; }
.landing-study-companion-poster-arctic .poster-orbit { width:120%; right:-35%; top:12%; border-color:#e2ceff33; }
.landing-study-companion-poster-arctic .poster-card-copy > span { color:#d8bde9; }
.landing-study-companion-poster-arctic .satellite-one .companion-shell { fill:#b3d5d1; }
@keyframes poster-aurora { to { transform:translateX(12%) rotate(12deg); opacity:.55; } }

@media(max-width:1050px) and (min-width:761px) {
  .landing-poster-companion .north-hero-copy { gap:5%; }
  .landing-poster-companion .companion-actions { flex-wrap:wrap; gap:10px 20px; }
}
@media(max-width:760px) {
  .landing-poster-companion .north-hero { height:auto; min-height:100svh; padding:132px 7% 40px; }
  .landing-poster-companion .north-hero-copy { grid-template-columns:1fr; gap:30px; max-width:520px; }
  .landing-poster-companion .north-hero h1 { font-size:clamp(36px,7.2vw,52px); }
  .landing-poster-companion .companion-eyebrow { margin-bottom:14px; font-size:10px; }
  .poster-description { font-size:16px; margin-top:16px; max-width:100%; }
  .landing-poster-companion .companion-actions { margin-top:22px; gap:20px; }
  .landing-poster-companion .companion-actions a { font-size:14px; gap:10px; }
  .landing-poster-companion .companion-actions a:first-child { padding:8px 17px; }
  .poster-card { width:100%; aspect-ratio:1.2; border-radius:24px; }
  .poster-card-copy > p { font-size:clamp(26px,6vw,36px); }
  .poster-card-copy > span { font-size:10px; }
  .poster-main-bot { width:75%; }
  .landing-study-companion-poster-lilac .poster-card { border-top-left-radius:50px; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-poster-companion .north-hero { padding-block:85px 30px; }
  .landing-poster-companion .north-hero-copy { max-width:1100px; grid-template-columns:1.2fr 1fr; gap:6%; }
  .landing-poster-companion .poster-card { max-height:calc(100svh - 115px); width:auto; justify-self:end; }
  .landing-poster-companion .north-hero h1 { font-size:clamp(32px,4vw,50px); }
  .landing-poster-companion .companion-eyebrow { margin-bottom:12px; }
  .poster-description { font-size:16px; margin-top:16px; }
  .landing-poster-companion .companion-actions { margin-top:18px; flex-wrap:nowrap; }
  .poster-card-copy > p { font-size:clamp(22px,3vw,32px); }
  .poster-card-copy > span { font-size:9px; }
  .poster-card-footer { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
  .poster-main-bot .companion-mark, .poster-satellite .companion-mark,
  .poster-orbit, .poster-card-light { animation:none !important; }
}
@media(max-width:760px) {
  .landing-poster-companion .companion-actions { flex-wrap:wrap; gap:8px 20px; }
  .landing-poster-companion .companion-actions a { white-space:nowrap; flex-shrink:0; }
  .landing-poster-companion .poster-main-bot { width:65%; bottom:-28%; left:-10%; }
}

/* Quiet portrait layouts: one introduction, one action, one expressive companion. */
.landing-portrait-companion .north-hero-copy { max-width:1160px; grid-template-columns:1fr 1.05fr; gap:10%; }
.landing-portrait-companion .north-hero h1 { font-size:clamp(38px,4.1vw,62px); line-height:1.14; font-weight:450; letter-spacing:-.035em; }
.landing-portrait-companion .poster-description { margin-top:22px; }
.landing-portrait-companion .companion-actions { margin-top:38px; }
.landing-portrait-companion .portrait-card { border-radius:22px; border-color:#ffffff14; background:linear-gradient(155deg,#222,#090909 80%); }
.portrait-figure { position:absolute; width:122%; left:-24%; bottom:-24%; transform:rotate(-12deg); }
.portrait-figure .companion-mark { width:100%; animation:portrait-turn 14s ease-in-out infinite alternate; }
.portrait-highlight { stop-color:#fdfcfe; }
.portrait-midtone { stop-color:#e0dde3; }
.portrait-shadow { stop-color:#a7a1ae; }
.portrait-figure .companion-look { fill:#131116; }
.portrait-light { position:absolute; inset:-30%; background:radial-gradient(ellipse at 55% 20%,#d6c6e522,transparent 65%); animation:portrait-light 18s ease-in-out infinite alternate; }
.landing-study-companion-portrait-graphite .north-hero { background:linear-gradient(165deg,#1b1b1d 40%,#303033); }
.landing-study-companion-portrait-graphite .poster-description { color:#b9b6bd; }
@keyframes portrait-turn { to { transform:translate(4px,-8px) rotate(6deg); } }
@keyframes portrait-light { to { transform:translate(-8%,10%); opacity:.4; } }

.landing-study-companion-portrait-amethyst .north-hero { background:linear-gradient(135deg,#281b36,#49305b); }
.landing-study-companion-portrait-amethyst .portrait-card { background:radial-gradient(ellipse at 80% 10%,#4b2e68,#21152f 75%); border-color:#bc93df29; }
.landing-study-companion-portrait-amethyst .portrait-highlight { stop-color:#f5e9ff; }
.landing-study-companion-portrait-amethyst .portrait-midtone { stop-color:#c8a6e5; }
.landing-study-companion-portrait-amethyst .portrait-shadow { stop-color:#9265b5; }
.landing-study-companion-portrait-amethyst .portrait-figure .companion-look { fill:#39204b; }
.landing-study-companion-portrait-amethyst .portrait-figure { transform:rotate(4deg); left:-18%; bottom:-20%; }
.landing-study-companion-portrait-amethyst .portrait-figure .companion-mark { animation:portrait-hover 11s ease-in-out infinite alternate; }
.landing-study-companion-portrait-amethyst .portrait-light { background:linear-gradient(115deg,transparent 30%,#c5a3f12b 48%,transparent 65%); filter:blur(24px); }
@keyframes portrait-hover { to { transform:translateY(-12px) rotate(-4deg); } }

.landing-study-companion-portrait-porcelain .north-hero { background:linear-gradient(145deg,#fbf9fc,#eee7f4); }
.landing-study-companion-portrait-porcelain .north-hero h1 { color:#42334f; }
.landing-study-companion-portrait-porcelain .poster-description { color:#7a6c88; }
.landing-study-companion-portrait-porcelain .north-nav nav, .landing-study-companion-portrait-porcelain .north-login { color:#6d537e; }
.landing-study-companion-portrait-porcelain .companion-actions a:first-child { background:#795599; color:#fff; }
.landing-study-companion-portrait-porcelain .companion-actions a:first-child:hover { background:#664480; }
.landing-study-companion-portrait-porcelain .portrait-card { background:linear-gradient(150deg,#e9dff2,#d7c4e5); border-color:#c8b2d733; }
.landing-study-companion-portrait-porcelain .portrait-highlight { stop-color:#b593d1; }
.landing-study-companion-portrait-porcelain .portrait-midtone { stop-color:#916caf; }
.landing-study-companion-portrait-porcelain .portrait-shadow { stop-color:#6a4587; }
.landing-study-companion-portrait-porcelain .portrait-figure .companion-look { fill:#fff6ff; }
.landing-study-companion-portrait-porcelain .portrait-figure { transform:rotate(-7deg); left:-20%; bottom:-26%; }
.landing-study-companion-portrait-porcelain .portrait-light { background:radial-gradient(ellipse at 80% 5%,#fff9ffcc,transparent 65%); }
@media(max-width:760px) {
  .landing-portrait-companion .north-hero-copy { grid-template-columns:1fr; gap:30px; max-width:520px; }
  .landing-portrait-companion .north-hero h1 { font-size:clamp(34px,7vw,50px); }
  .landing-portrait-companion .companion-actions { margin-top:24px; }
  .landing-portrait-companion .portrait-card { aspect-ratio:1.15; }
  .portrait-figure { width:112%; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-portrait-companion .north-hero-copy { grid-template-columns:1.2fr 1fr; gap:8%; }
  .landing-portrait-companion .north-hero h1 { font-size:clamp(30px,3.7vw,48px); }
  .landing-portrait-companion .poster-description { margin-top:14px; }
  .landing-portrait-companion .companion-actions { margin-top:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .portrait-figure .companion-mark, .portrait-light { animation:none !important; }
}
.landing-portrait-companion .companion-actions a:first-child { color:#23192e; }
.landing-study-companion-portrait-porcelain .companion-actions a:first-child { color:#fff; }

/* Edge-to-edge companions: oversized silhouettes share the page with the message. */
.landing-giant-companion .north-hero { justify-items:start; padding:120px 8% 75px; background:#100d14; }
.landing-giant-companion .north-hero-copy { width:48%; text-align:left; }
.landing-giant-companion .north-hero h1 { font-size:clamp(42px,4.8vw,74px); line-height:1.12; font-weight:450; letter-spacing:-.04em; }
.landing-giant-companion .north-hero-copy > p { text-align:left; font-size:18px; max-width:390px; margin:24px 0 0; color:#bfb1ce; }
.landing-giant-companion .companion-eyebrow { color:#a18caf; margin-bottom:24px; }
.landing-giant-companion .companion-actions { justify-content:start; margin-top:36px; gap:24px; }
.landing-giant-companion .companion-actions a:first-child { background:#eee1fb; border:0; color:#30213e; border-radius:999px; padding:10px 22px; font-weight:550; white-space:nowrap; }
.landing-giant-companion .companion-actions a:first-child:hover { background:#dbc3ef; }
.landing-giant-companion .companion-actions a:last-child { color:#ccb7db; white-space:nowrap; }
.giant-companion { position:absolute; width:min(84vw,1150px); right:-25%; bottom:-38%; transform:rotate(16deg); }
.giant-companion .companion-mark { width:100%; animation:giant-lean 16s ease-in-out infinite alternate; }
.giant-companion .companion-shell { fill:#211a29; }
.giant-companion .companion-look { fill:#faf4ff; }
.giant-aura { position:absolute; inset:0; background:radial-gradient(ellipse at 100% 100%,#58406b38,transparent 60%); animation:giant-aura 20s ease-in-out infinite alternate; }
@keyframes giant-lean { from { transform:translateY(14px) rotate(-2deg); } to { transform:translateY(-12px) rotate(3deg); } }
@keyframes giant-aura { to { transform:scale(1.15) translateX(-4%); opacity:.6; } }

.landing-study-companion-giant-lilac .north-hero { justify-items:end; background:linear-gradient(135deg,#eee4f5,#f9f5fc); }
.landing-study-companion-giant-lilac .north-hero h1 { color:#4d355f; }
.landing-study-companion-giant-lilac .north-hero-copy > p { color:#796486; }
.landing-study-companion-giant-lilac .companion-eyebrow { color:#8a6b9d; }
.landing-study-companion-giant-lilac .north-nav nav, .landing-study-companion-giant-lilac .north-login,
.landing-study-companion-giant-lilac .companion-actions a:last-child { color:#72508c; }
.landing-study-companion-giant-lilac .companion-actions a:first-child { background:#795299; color:#fff; }
.landing-study-companion-giant-lilac .companion-actions a:first-child:hover { background:#684482; }
.landing-study-companion-giant-lilac .giant-companion { right:auto; left:-27%; bottom:-38%; transform:rotate(-15deg); }
.landing-study-companion-giant-lilac .giant-companion .companion-shell { fill:#bfa1d7; }
.landing-study-companion-giant-lilac .giant-companion .companion-look { fill:#fff9ff; }
.landing-study-companion-giant-lilac .giant-companion .companion-mark { animation:giant-rise 13s ease-in-out infinite alternate; }
.landing-study-companion-giant-lilac .giant-aura { background:radial-gradient(ellipse at 0 100%,#d4b8e855,transparent 65%); }
@keyframes giant-rise { to { transform:translateY(-18px) rotate(-3deg); } }

.landing-study-companion-giant-arctic .north-hero { background:linear-gradient(125deg,#16282d,#21383d); }
.landing-study-companion-giant-arctic .north-hero h1 { color:#f0f5f2; }
.landing-study-companion-giant-arctic .north-hero-copy > p { color:#b7cbc7; }
.landing-study-companion-giant-arctic .companion-eyebrow { color:#a3beba; }
.landing-study-companion-giant-arctic .north-nav nav, .landing-study-companion-giant-arctic .north-login,
.landing-study-companion-giant-arctic .companion-actions a:last-child { color:#d5e0db; }
.landing-study-companion-giant-arctic .companion-actions a:first-child { background:#c8e2d7; color:#203b35; }
.landing-study-companion-giant-arctic .companion-actions a:first-child:hover { background:#b1d5c6; }
.landing-study-companion-giant-arctic .giant-companion { right:-27%; bottom:-40%; transform:rotate(8deg); }
.landing-study-companion-giant-arctic .giant-companion .companion-shell { fill:#b4b0d2; }
.landing-study-companion-giant-arctic .giant-companion .companion-look { fill:#293d46; }
.landing-study-companion-giant-arctic .giant-aura { background:radial-gradient(ellipse at 95% 65%,#98b9c226,transparent 60%); }
@media(min-width:761px) and (max-width:1100px) {
  .landing-giant-companion .north-hero-copy { width:53%; }
  .landing-giant-companion .companion-actions { flex-wrap:wrap; gap:10px 24px; }
}
@media(max-width:760px) {
  .landing-giant-companion .north-hero { align-items:start; padding:150px 8% 260px; height:auto; min-height:100svh; }
  .landing-giant-companion .north-hero-copy { width:100%; max-width:500px; }
  .landing-giant-companion .north-hero h1 { font-size:clamp(36px,7vw,54px); }
  .landing-giant-companion .north-hero-copy > p { font-size:16px; margin-top:18px; }
  .landing-giant-companion .companion-eyebrow { font-size:10px; margin-bottom:18px; }
  .landing-giant-companion .companion-actions { flex-wrap:wrap; gap:8px 20px; margin-top:24px; }
  .landing-giant-companion .giant-companion { width:440px; right:-150px; left:auto; bottom:-190px; transform:rotate(12deg); }
  .landing-study-companion-giant-lilac .giant-companion { left:-140px; right:auto; transform:rotate(-12deg); }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-giant-companion .north-hero { padding-block:85px 30px; }
  .landing-giant-companion .north-hero h1 { font-size:clamp(34px,4vw,54px); }
  .landing-giant-companion .companion-eyebrow { margin-bottom:12px; }
  .landing-giant-companion .north-hero-copy > p { margin-top:14px; font-size:16px; }
  .landing-giant-companion .companion-actions { margin-top:18px; }
  .landing-giant-companion .giant-companion { width:75vw; bottom:-80%; }
}
@media(prefers-reduced-motion:reduce) {
  .giant-companion .companion-mark, .giant-aura { animation:none !important; }
}

/* Two-tone faces: an expressive color field beside a clear product introduction. */
.landing-split-companion { --split-panel:40%; --split-field:#211d27; --split-eye:#f4eff8; }
.landing-split-companion .north-hero { justify-items:end; padding:120px 7% 70px; background:#100e14; }
.landing-split-companion .north-hero-copy { width:50%; max-width:620px; text-align:left; }
.landing-split-companion .north-hero h1 { font-size:clamp(38px,4.6vw,70px); line-height:1.14; letter-spacing:-.04em; font-weight:450; }
.landing-split-companion .north-hero h1 span { color:#bda5d4; }
.landing-split-companion .north-hero-copy > p { font-size:18px; color:#baafc7; text-align:left; max-width:410px; margin:26px 0 0; }
.landing-split-companion .companion-eyebrow { color:#9988a9; font-size:11px; letter-spacing:.13em; margin-bottom:24px; }
.landing-split-companion .companion-actions { justify-content:start; gap:24px; margin-top:36px; flex-wrap:wrap; }
.landing-split-companion .companion-actions a { white-space:nowrap; }
.landing-split-companion .companion-actions a:first-child { background:#e5d4f3; color:#30223c; border:0; border-radius:999px; padding:10px 22px; font-weight:550; }
.landing-split-companion .companion-actions a:first-child:hover { background:#d4bbe8; }
.landing-split-companion .companion-actions a:last-child { color:#c8b6d7; }
.split-face-panel { position:absolute; inset:0 auto 0 0; width:var(--split-panel); display:grid; place-items:center; background:var(--split-field); overflow:hidden; }
.split-face { position:relative; width:88%; max-width:480px; height:auto; margin-top:45px; overflow:visible; }
.split-gaze { animation:split-look 15s ease-in-out infinite; }
.split-eye { fill:var(--split-eye); transform-box:fill-box; transform-origin:center; animation:split-blink 8s ease-in-out infinite; }
.eye-two { animation-delay:.08s; }
.split-face-light { position:absolute; inset:-20%; background:radial-gradient(ellipse at 80% 20%,#a98fc80e,transparent 70%); animation:split-light 18s ease-in-out infinite alternate; }
@keyframes split-look { 0%,20%,100% { transform:translate(0,0); } 30%,50% { transform:translate(9px,-4px); } 65%,80% { transform:translate(-4px,5px); } }
@keyframes split-blink { 0%,45%,49%,100% { transform:scaleY(1); } 47% { transform:scaleY(.08); } }
@keyframes split-light { to { transform:translate(-8%,10%) scale(1.1); } }

.landing-study-companion-split-lilac { --split-panel:36%; --split-field:#aa86cb; --split-eye:#fff8ff; }
.landing-study-companion-split-lilac .north-hero { background:#f7f2fa; }
.landing-study-companion-split-lilac .north-hero-copy { width:53%; }
.landing-study-companion-split-lilac .north-hero h1 { color:#493356; }
.landing-study-companion-split-lilac .north-hero-copy > p { color:#796486; }
.landing-study-companion-split-lilac .companion-eyebrow { color:#9476a5; }
.landing-study-companion-split-lilac .north-nav nav, .landing-study-companion-split-lilac .north-login,
.landing-study-companion-split-lilac .companion-actions a:last-child { color:#705185; }
.landing-study-companion-split-lilac .north-brand-icon img { filter:brightness(0) invert(1); }
.landing-study-companion-split-lilac .north-nav.past-hero .north-brand-icon img { filter:none; }
.landing-study-companion-split-lilac .companion-actions a:first-child { background:#785195; color:#fff; }
.landing-study-companion-split-lilac .companion-actions a:first-child:hover { background:#65427e; }
.landing-study-companion-split-lilac .split-face { transform:rotate(-7deg); }
.landing-study-companion-split-lilac .split-face-light { background:radial-gradient(ellipse at 0 0,#e5c9f866,transparent 70%); }

.landing-study-companion-split-arctic { --split-panel:36%; --split-field:#2e504f; --split-eye:#d1e4d8; }
.landing-study-companion-split-arctic .north-hero { justify-items:start; background:#f1f0e9; }
.landing-study-companion-split-arctic .north-hero-copy { width:56%; }
.landing-study-companion-split-arctic .north-hero h1 { color:#324644; }
.landing-study-companion-split-arctic .north-hero-copy > p { color:#6d7d77; }
.landing-study-companion-split-arctic .companion-eyebrow { color:#7d8b82; }
.landing-study-companion-split-arctic .north-nav nav { color:#60726a; }
.landing-study-companion-split-arctic .north-login { color:#dcebe3; }
.landing-study-companion-split-arctic .north-nav.past-hero .north-login { color:#60726a; }
.landing-study-companion-split-arctic .companion-actions a:first-child { background:#335b50; color:#fff; }
.landing-study-companion-split-arctic .companion-actions a:first-child:hover { background:#294b42; }
.landing-study-companion-split-arctic .companion-actions a:last-child { color:#507467; }
.landing-study-companion-split-arctic .split-face-panel { left:auto; right:0; }
.landing-study-companion-split-arctic .split-face { transform:rotate(8deg); }
.landing-study-companion-split-arctic .split-gaze { animation-direction:reverse; }
.landing-study-companion-split-arctic .split-face-light { background:radial-gradient(ellipse at 100% 100%,#adcec922,transparent 70%); }
@media(max-width:760px) {
  .landing-split-companion .north-hero { height:auto; min-height:100svh; align-items:start; padding:145px 8% 290px; }
  .landing-split-companion .north-hero-copy { width:100%; max-width:500px; }
  .landing-split-companion .north-hero h1 { font-size:clamp(36px,7vw,52px); }
  .landing-split-companion .north-hero-copy > p { font-size:16px; margin-top:18px; }
  .landing-split-companion .companion-eyebrow { font-size:10px; margin-bottom:18px; }
  .landing-split-companion .companion-actions { gap:8px 20px; margin-top:24px; }
  .split-face-panel { inset:auto 0 0; width:100%; height:240px; }
  .split-face { width:240px; margin:0; }
  .landing-study-companion-split-lilac .north-brand-icon img { filter:none; }
  .landing-study-companion-split-arctic .north-login { color:#507467; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-split-companion .north-hero { padding-block:85px 30px; }
  .landing-split-companion .north-hero h1 { font-size:clamp(32px,4vw,52px); }
  .landing-split-companion .companion-eyebrow { margin-bottom:12px; }
  .landing-split-companion .north-hero-copy > p { margin-top:14px; font-size:16px; }
  .landing-split-companion .companion-actions { margin-top:18px; gap:8px 20px; }
  .split-face { width:75%; max-height:80svh; }
}
@media(prefers-reduced-motion:reduce) {
  .split-gaze, .split-eye, .split-face-light { animation:none !important; }
}

/* Four ribbon atmospheres: minimal identities with softly moving sculpted light. */
.landing-ribbon-companion { --ribbon-light:#b8b3c1; --ribbon-ambient:#aaa2b526; --ribbon-shade:#08070a44; }
.landing-ribbon-companion .north-hero { background:linear-gradient(130deg,#08080a,#1c1b20); padding:120px 8% 80px; }
.landing-ribbon-companion .north-hero h1 { font-size:clamp(56px,7vw,104px); font-weight:400; letter-spacing:-.045em; }
.landing-ribbon-companion .companion-lockup { gap:22px; }
.landing-ribbon-companion .companion-mark { width:clamp(74px,8vw,116px); }
.landing-ribbon-companion .companion-look { fill:#29252f; }
.landing-ribbon-companion .north-hero-copy > p { color:#cec8d6; font-size:18px; margin-top:25px; }
.landing-ribbon-companion .companion-actions { margin-top:34px; }
.landing-ribbon-companion .companion-actions a:first-child { border:0; border-radius:999px; padding:10px 23px; color:#211a2c; background:#f6f0fc; font-weight:500; }
.landing-ribbon-companion .companion-actions a:first-child:hover { background:#e3d4f1; }
.landing-ribbon-companion .companion-actions a:last-child { color:#d3c7de; }
.ribbon-atmosphere svg { position:absolute; inset:0; width:100%; height:100%; }
.ribbon-highlight { stop-color:var(--ribbon-light); }
.ribbon-edge { stroke:var(--ribbon-light); opacity:.16; }
.ribbon-fold { transform-origin:720px 450px; animation:ribbon-sweep 22s ease-in-out infinite alternate; }
.ribbon-fold.fold-1 { opacity:.5; animation-delay:-11s; animation-duration:29s; }
.ribbon-ambient { position:absolute; inset:-20%; background:radial-gradient(ellipse at 85% 85%,var(--ribbon-ambient),transparent 60%); animation:ribbon-breathe 17s ease-in-out infinite alternate; }
.ribbon-vignette { position:absolute; inset:0; background:radial-gradient(ellipse at center,var(--ribbon-shade),transparent 65%); }
@keyframes ribbon-sweep { from { transform:translate(-24px,-12px) rotate(-2deg); } to { transform:translate(35px,18px) rotate(3deg); } }
@keyframes ribbon-breathe { to { transform:translate(-5%,-4%) scale(1.15); opacity:.6; } }

.landing-study-companion-ribbon-violet { --ribbon-light:#c7a2f0; --ribbon-ambient:#a066e766; --ribbon-shade:#22133322; }
.landing-study-companion-ribbon-violet .north-hero { background:linear-gradient(120deg,#22152e,#3c2455); justify-items:start; align-items:end; padding-bottom:15svh; }
.landing-study-companion-ribbon-violet .north-hero-copy { text-align:left; }
.landing-study-companion-ribbon-violet .companion-lockup { justify-content:start; }
.landing-study-companion-ribbon-violet .north-hero-copy > p { text-align:left; margin-left:0; color:#d5c2e7; }
.landing-study-companion-ribbon-violet .companion-actions { justify-content:start; }
.landing-study-companion-ribbon-violet .companion-actions a:first-child { background:#d5b5f0; }
.landing-study-companion-ribbon-violet .ribbon-fold { animation:ribbon-veil 24s ease-in-out infinite alternate; }
@keyframes ribbon-veil { to { transform:translate(-30px,30px) scaleX(.92); } }

.landing-study-companion-ribbon-glacier { --ribbon-light:#7b9eba; --ribbon-ambient:#a0bfdc44; --ribbon-shade:#ffffff33; }
.landing-study-companion-ribbon-glacier .north-hero { background:linear-gradient(135deg,#edf4f8,#f9f9fd 55%,#dfe9f3); }
.landing-study-companion-ribbon-glacier .north-hero h1 { color:#385065; font-weight:350; }
.landing-study-companion-ribbon-glacier .companion-lockup { flex-direction:column; gap:18px; }
.landing-study-companion-ribbon-glacier .companion-mark { width:74px; }
.landing-study-companion-ribbon-glacier .companion-shell { fill:#7b91b2; }
.landing-study-companion-ribbon-glacier .companion-look { fill:#f7fbff; }
.landing-study-companion-ribbon-glacier .north-hero-copy > p { color:#627d90; }
.landing-study-companion-ribbon-glacier .north-nav nav, .landing-study-companion-ribbon-glacier .north-login,
.landing-study-companion-ribbon-glacier .companion-actions a:last-child { color:#567184; }
.landing-study-companion-ribbon-glacier .companion-actions a:first-child { background:#4c6980; color:#fff; }
.landing-study-companion-ribbon-glacier .companion-actions a:first-child:hover { background:#3c586d; }
.landing-study-companion-ribbon-glacier .ribbon-fold { animation:ribbon-tide 20s ease-in-out infinite alternate; }
@keyframes ribbon-tide { to { transform:translateY(-24px) scaleY(1.08); } }

.landing-study-companion-ribbon-pearl { --ribbon-light:#b69bb6; --ribbon-ambient:#cdb4c63d; --ribbon-shade:#fffbf633; }
.landing-study-companion-ribbon-pearl .north-hero { background:linear-gradient(125deg,#efe5e8,#faf6f0 65%); justify-items:end; }
.landing-study-companion-ribbon-pearl .north-hero-copy { text-align:left; max-width:58%; }
.landing-study-companion-ribbon-pearl .north-hero h1 { color:#5c435a; font-size:clamp(54px,6vw,90px); }
.landing-study-companion-ribbon-pearl .companion-lockup { justify-content:start; }
.landing-study-companion-ribbon-pearl .companion-mark { width:86px; }
.landing-study-companion-ribbon-pearl .companion-shell { fill:#a184a3; }
.landing-study-companion-ribbon-pearl .companion-look { fill:#fff9f6; }
.landing-study-companion-ribbon-pearl .north-hero-copy > p { color:#897080; text-align:left; margin-left:0; }
.landing-study-companion-ribbon-pearl .companion-actions { justify-content:start; }
.landing-study-companion-ribbon-pearl .north-nav nav, .landing-study-companion-ribbon-pearl .north-login,
.landing-study-companion-ribbon-pearl .companion-actions a:last-child { color:#7c607b; }
.landing-study-companion-ribbon-pearl .companion-actions a:first-child { background:#866382; color:#fff; }
.landing-study-companion-ribbon-pearl .companion-actions a:first-child:hover { background:#73536f; }
.landing-study-companion-ribbon-pearl .ribbon-fold { animation:ribbon-pearl 25s ease-in-out infinite alternate; }
@keyframes ribbon-pearl { to { transform:translateX(20px) rotate(-5deg); opacity:.65; } }

@media(max-width:760px) {
  .landing-ribbon-companion .north-hero { padding:125px 8% 75px; }
  .landing-ribbon-companion .north-hero-copy { width:auto; max-width:100%; }
  .landing-ribbon-companion .companion-lockup { flex-direction:row; gap:12px; }
  .landing-ribbon-companion .north-hero h1 { font-size:clamp(38px,9vw,66px); }
  .landing-ribbon-companion .companion-mark { width:48px; }
  .landing-ribbon-companion .north-hero-copy > p { font-size:16px; }
  .landing-ribbon-companion .companion-actions { flex-wrap:wrap; gap:10px 20px; margin-top:28px; }
  .landing-ribbon-companion .companion-actions a { white-space:nowrap; gap:10px; }
  .landing-ribbon-companion .companion-actions a:first-child { padding:9px 18px; }
  .landing-study-companion-ribbon-glacier .companion-lockup { flex-direction:column; gap:16px; }
  .landing-study-companion-ribbon-glacier .companion-mark { width:64px; }
  .landing-study-companion-ribbon-violet .north-hero { align-items:center; }
}
@media(max-height:650px) {
  .landing-ribbon-companion .north-hero { padding-block:110px 40px; }
  .landing-ribbon-companion .north-hero h1 { font-size:clamp(38px,6vw,70px); }
  .landing-ribbon-companion .companion-mark { width:54px; }
  .landing-ribbon-companion .north-hero-copy > p { margin-top:18px; }
  .landing-ribbon-companion .companion-actions { margin-top:20px; }
}
@media(max-height:450px) and (min-width:761px) {
  .landing-ribbon-companion .north-hero { padding-block:70px 25px; }
  .landing-study-companion-ribbon-glacier .companion-lockup { flex-direction:row; }
}
@media(prefers-reduced-motion:reduce) {
  .ribbon-fold, .ribbon-ambient { animation:none !important; }
}

/* Colorful agent collectives, framed as animated tourism posters. */
.landing-crew-companion .north-hero { background:radial-gradient(ellipse at 70% 110%,#76518a,transparent 65%),radial-gradient(ellipse at 60% 30%,#153b69,transparent 65%),#061b20; }
.landing-crew-companion .north-hero h1 { font-weight:450; }
.landing-crew-companion .companion-eyebrow { color:#b3c9d1; }
.landing-crew-companion .poster-description { color:#ccd4de; }
.landing-crew-companion .crew-card { background:#080c15; border-color:#b9bfdb30; border-radius:24px; }
.crew-card-heading { position:relative; z-index:2; padding:8%; }
.crew-card-heading > span { color:#9da3b7; font-size:10px; letter-spacing:.16em; }
.crew-card-heading > p { margin:12px 0 0; color:#f8f5ff; font-size:clamp(24px,2.7vw,40px); line-height:1.12; letter-spacing:-.035em; }
.crew-card-glow { position:absolute; inset:0; background:radial-gradient(ellipse at 90% 100%,#55446d40,transparent 65%); animation:crew-glow 16s ease-in-out infinite alternate; }
.crew-character { position:absolute; animation:crew-drift 9s ease-in-out infinite alternate; }
.crew-character svg { display:block; width:100%; overflow:visible; }
.crew-body { fill:var(--crew-color); }
.crew-eyes { fill:#121322; transform-box:fill-box; transform-origin:center; animation:crew-blink 7s ease-in-out infinite; }
.crew-character-0 { --crew-color:#fff7ff; width:55%; left:-8%; bottom:-13%; animation-duration:13s; }
.crew-character-0 svg { transform:rotate(-24deg); }
.crew-character-1 { --crew-color:#ef49b5; width:21%; left:32%; top:35%; animation-delay:-4s; }
.crew-character-1 svg { transform:rotate(12deg); }
.crew-character-2 { --crew-color:#489aff; width:32%; right:-3%; top:28%; animation-delay:-6s; animation-duration:11s; }
.crew-character-2 svg { transform:rotate(10deg); }
.crew-character-3 { --crew-color:#ffc24b; width:25%; left:47%; top:56%; animation-delay:-2s; animation-duration:10s; }
.crew-character-3 svg { transform:rotate(-14deg); }
.crew-character-4 { --crew-color:#43d2b0; width:31%; right:-5%; bottom:-7%; animation-delay:-7s; animation-duration:12s; }
.crew-character-4 svg { transform:rotate(17deg); }
.crew-character:nth-of-type(even) .crew-eyes { animation-delay:-3s; }
@keyframes crew-drift { from { transform:translate(0,4px) rotate(-3deg); } to { transform:translate(6px,-8px) rotate(4deg); } }
@keyframes crew-blink { 0%,42%,46%,100% { transform:scaleY(1); } 44% { transform:scaleY(.12); } }
@keyframes crew-glow { to { opacity:.35; transform:scale(1.15); } }
.landing-study-companion-crew-lilac .north-hero { background:radial-gradient(ellipse at 95% 80%,#e0d0ee,transparent 65%),#f7f3fa; }
.landing-study-companion-crew-lilac .north-hero h1 { color:#463253; }
.landing-study-companion-crew-lilac .poster-description,
.landing-study-companion-crew-lilac .companion-actions a:last-child,
.landing-study-companion-crew-lilac .north-nav nav,
.landing-study-companion-crew-lilac .north-login { color:#796384; }
.landing-study-companion-crew-lilac .companion-eyebrow { color:#91779f; }
.landing-study-companion-crew-lilac .companion-actions a:first-child { background:#73528c; color:#fff; }
.landing-study-companion-crew-lilac .companion-actions a:first-child:hover { background:#604177; }
.landing-study-companion-crew-lilac .crew-card { background:#e7d9f3; border-color:#dac6e8; border-radius:60px 24px 24px 24px; }
.landing-study-companion-crew-lilac .crew-card-heading > p { color:#503564; }
.landing-study-companion-crew-lilac .crew-card-heading > span { color:#7f648e; }
.landing-study-companion-crew-lilac .crew-character-1 { --crew-color:#a07bd2; }
.landing-study-companion-crew-lilac .crew-character-2 { --crew-color:#92b7df; }
.landing-study-companion-crew-lilac .crew-character-3 { --crew-color:#efb38c; }
.landing-study-companion-crew-lilac .crew-character-4 { --crew-color:#a5cbb8; }
.landing-study-companion-crew-lilac .crew-eyes { fill:#513960; }
.landing-study-companion-crew-midnight .north-hero { background:radial-gradient(ellipse at 0% 90%,#294e4a,transparent 65%),#101e23; }
.landing-study-companion-crew-midnight .crew-card { background:#cadbd6; border-color:#d5e5e0; }
.landing-study-companion-crew-midnight .crew-card-heading > p { color:#214b48; }
.landing-study-companion-crew-midnight .crew-card-heading > span { color:#4d726c; }
.landing-study-companion-crew-midnight .crew-character-0 { --crew-color:#284c50; }
.landing-study-companion-crew-midnight .crew-character-0 .crew-eyes { fill:#e0f1e5; }
.landing-study-companion-crew-midnight .crew-character-1 { --crew-color:#bd92c8; }
.landing-study-companion-crew-midnight .crew-character-2 { --crew-color:#789ea6; }
.landing-study-companion-crew-midnight .crew-character-3 { --crew-color:#e7b983; }
.landing-study-companion-crew-midnight .crew-character-4 { --crew-color:#7caa8e; }
.landing-study-companion-crew-midnight .companion-actions a:first-child { background:#ceeadc; color:#23483d; }
.landing-study-companion-crew-midnight .companion-actions a:last-child { color:#b4d6ce; }
.landing-study-companion-crew-midnight .crew-character { animation-name:crew-sway; }
@keyframes crew-sway { to { transform:translate(-5px,-6px) rotate(-7deg); } }
@media(max-width:760px) {
  .landing-crew-companion .crew-card { aspect-ratio:1; }
  .crew-card-heading > p { font-size:clamp(24px,6vw,34px); }
  .crew-card-heading > span { font-size:9px; }
  .crew-character-1 { top:44%; }
  .crew-character-2 { top:38%; width:28%; }
  .crew-character-3 { top:61%; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-crew-companion .north-hero h1 { font-size:clamp(28px,3.3vw,42px); }
  .landing-crew-companion .poster-description { font-size:14px; margin-top:12px; }
  .landing-crew-companion .companion-actions { margin-top:14px; }
  .crew-card-heading > p { font-size:24px; margin-top:8px; }
  .crew-card-heading > span { font-size:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .crew-character, .crew-eyes, .crew-card-glow { animation:none !important; }
}

/* A full-width gathering of agents, rising from the foot of the hero. */
.landing-gather-companion .north-hero { height:auto; min-height:100svh; background:#09090c; padding:145px 8% 440px; align-items:start; justify-items:start; }
.landing-gather-companion .north-hero-copy { text-align:left; width:100%; max-width:850px; }
.landing-gather-companion .north-hero h1 { font-size:clamp(42px,4.6vw,68px); font-weight:400; line-height:1.08; letter-spacing:-.04em; }
.landing-gather-companion .companion-eyebrow { font-size:11px; margin-bottom:22px; color:#aaa0b7; }
.landing-gather-companion .north-hero-copy > p { text-align:left; margin:22px 0 0; font-size:18px; line-height:1.6; max-width:520px; color:#bab3c5; }
.landing-gather-companion .companion-actions { justify-content:start; margin-top:28px; flex-wrap:wrap; gap:12px 26px; }
.landing-gather-companion .companion-actions a { white-space:nowrap; }
.landing-gather-companion .companion-actions a:first-child { border:0; border-radius:999px; padding:10px 24px; background:#f8f3fc; color:#251e2c; font-weight:500; }
.landing-gather-companion .companion-actions a:first-child:hover { background:#e0cbee; }
.landing-gather-companion .companion-actions a:last-child { color:#c7b8d4; }
.gathering-crowd { position:absolute; width:min(1300px,100%); height:420px; bottom:-20px; right:-1%; overflow:visible; }
.gather-bot { transform-box:fill-box; transform-origin:50% 100%; animation:gather-rock 9s ease-in-out infinite alternate; }
.gather-body { fill:var(--gather-color); }
.gather-eyes { fill:#13111a; transform-box:fill-box; transform-origin:center; animation:gather-blink 8s infinite; }
.gather-bot-0 { --gather-color:#fff8ff; animation-duration:13s; }
.gather-bot-1 { --gather-color:#23bdaf; animation-delay:-3s; }
.gather-bot-2 { --gather-color:#9962f2; animation-delay:-6s; animation-duration:11s; }
.gather-bot-3 { --gather-color:#3c95f5; animation-delay:-4s; }
.gather-bot-4 { --gather-color:#f18c3c; animation-duration:10s; }
.gather-bot-5 { --gather-color:#f6bc41; animation-delay:-5s; }
.gather-bot-6 { --gather-color:#e34fa6; animation-duration:12s; animation-delay:-8s; }
.gather-bot-7 { --gather-color:#9cacc4; animation-delay:-2s; }
.gather-bot-1 .gather-eyes, .gather-bot-3 .gather-eyes, .gather-bot-5 .gather-eyes { animation-delay:-4s; }
@keyframes gather-rock { from { transform:translateY(2px) rotate(-2deg); } to { transform:translateY(-3px) rotate(3deg); } }
@keyframes gather-blink { 0%,52%,56%,100% { transform:scaleY(1); } 54% { transform:scaleY(.1); } }
.landing-study-companion-gather-lilac .north-hero { background:#f5effa; justify-items:center; }
.landing-study-companion-gather-lilac .north-hero-copy { text-align:center; }
.landing-study-companion-gather-lilac .north-hero h1 { color:#493456; }
.landing-study-companion-gather-lilac .companion-eyebrow { color:#8c709d; }
.landing-study-companion-gather-lilac .north-hero-copy > p { color:#806d8e; margin-inline:auto; text-align:center; }
.landing-study-companion-gather-lilac .companion-actions { justify-content:center; }
.landing-study-companion-gather-lilac .north-nav nav,
.landing-study-companion-gather-lilac .north-login,
.landing-study-companion-gather-lilac .companion-actions a:last-child { color:#76558a; }
.landing-study-companion-gather-lilac .companion-actions a:first-child { background:#795292; color:#fff; }
.landing-study-companion-gather-lilac .companion-actions a:first-child:hover { background:#65447b; }
.landing-study-companion-gather-lilac .gathering-crowd { right:50%; translate:50% 0; }
.landing-study-companion-gather-lilac .gather-bot-0 { --gather-color:#bea2d8; }
.landing-study-companion-gather-lilac .gather-bot-1 { --gather-color:#a9c8be; }
.landing-study-companion-gather-lilac .gather-bot-2 { --gather-color:#9171b6; }
.landing-study-companion-gather-lilac .gather-bot-3 { --gather-color:#a7bfe3; }
.landing-study-companion-gather-lilac .gather-bot-4 { --gather-color:#e6b391; }
.landing-study-companion-gather-lilac .gather-bot-5 { --gather-color:#dbb9d5; }
.landing-study-companion-gather-lilac .gather-bot-6 { --gather-color:#b08ecc; }
.landing-study-companion-gather-lilac .gather-eyes { fill:#4e385a; }
.landing-study-companion-gather-winter .north-hero { background:#172c32; justify-items:end; }
.landing-study-companion-gather-winter .north-hero-copy { max-width:620px; }
.landing-study-companion-gather-winter .north-hero-copy > p { color:#b1ccc9; }
.landing-study-companion-gather-winter .companion-eyebrow { color:#93b6b6; }
.landing-study-companion-gather-winter .companion-actions a:first-child { background:#cfe6dd; color:#284942; }
.landing-study-companion-gather-winter .companion-actions a:last-child { color:#bfd9d4; }
.landing-study-companion-gather-winter .gathering-crowd { right:auto; left:-4%; }
.landing-study-companion-gather-winter .gather-bot-0 { --gather-color:#edf2ec; }
.landing-study-companion-gather-winter .gather-bot-1 { --gather-color:#77b5af; }
.landing-study-companion-gather-winter .gather-bot-2 { --gather-color:#b19ccd; }
.landing-study-companion-gather-winter .gather-bot-3 { --gather-color:#81a5c7; }
.landing-study-companion-gather-winter .gather-bot-4 { --gather-color:#d3ac87; }
.landing-study-companion-gather-winter .gather-bot-5 { --gather-color:#c4ceba; }
.landing-study-companion-gather-winter .gather-bot-6 { --gather-color:#c49fb8; }
@media(max-width:760px) {
  .landing-gather-companion .north-hero { padding:145px 7% 250px; }
  .landing-gather-companion .north-hero h1 { font-size:clamp(34px,7vw,48px); }
  .landing-gather-companion .companion-eyebrow { font-size:9px; margin-bottom:18px; }
  .landing-gather-companion .north-hero-copy > p { font-size:16px; margin-top:18px; }
  .landing-gather-companion .companion-actions { margin-top:22px; gap:10px 22px; }
  .landing-gather-companion .companion-actions a { font-size:14px; gap:10px; }
  .gathering-crowd { width:600px; max-width:none; height:240px; right:50%; translate:50% 0; }
  .landing-study-companion-gather-winter .gathering-crowd { left:auto; right:50%; }
}
@media(prefers-reduced-motion:reduce) {
  .gather-bot, .gather-eyes { animation:none !important; }
}

/* An agent constellation with crisp silhouettes and soft foreground depth. */
.landing-depth-companion .north-hero { background:#08090d; padding:145px 8% 95px; }
.landing-depth-companion .north-hero-copy { max-width:680px; }
.landing-depth-companion .north-hero h1 { font-size:clamp(56px,6.6vw,96px); font-weight:400; letter-spacing:-.045em; }
.landing-depth-companion .companion-mark { width:clamp(68px,7.5vw,100px); }
.landing-depth-companion .companion-look { fill:#19151e; }
.landing-depth-companion .north-hero-copy > p { font-size:18px; color:#c7bfd3; margin-top:25px; }
.landing-depth-companion .companion-actions { margin-top:32px; gap:28px; }
.landing-depth-companion .companion-actions a:first-child { border:0; border-radius:999px; background:#f5edff; color:#2d2038; padding:10px 24px; font-weight:500; }
.landing-depth-companion .companion-actions a:first-child:hover { background:#ddc5f4; }
.depth-aura { position:absolute; inset:0; background:radial-gradient(ellipse at center,#241b3b40,transparent 65%); }
.depth-agent { position:absolute; width:70px; --depth-color:#9e72e2; }
.depth-agent svg { display:block; width:100%; overflow:visible; animation:depth-drift 15s ease-in-out infinite alternate; }
.depth-body { fill:var(--depth-color); }
.depth-eyes { fill:#15101f; transform-box:fill-box; transform-origin:center; animation:depth-blink 9s infinite; }
.depth-agent:nth-child(3n) svg { animation-duration:19s; animation-delay:-8s; }
.depth-agent:nth-child(4n) svg { animation-direction:alternate-reverse; animation-delay:-4s; }
.depth-agent:nth-child(3n) .depth-eyes { animation-delay:-4s; }
.depth-agent-0 { top:13%; left:-3%; width:160px; filter:blur(7px); opacity:.55; --depth-color:#5676fa; }
.depth-agent-1 { top:20%; left:24%; width:55px; --depth-color:#d18ee5; }
.depth-agent-2 { top:14%; left:44%; width:44px; filter:blur(2px); opacity:.6; --depth-color:#63bca2; }
.depth-agent-3 { top:22%; right:27%; width:66px; --depth-color:#e0b67b; }
.depth-agent-4 { top:14%; right:6%; width:95px; --depth-color:#6493f4; }
.depth-agent-5 { top:40%; left:11%; width:70px; --depth-color:#8ec6dd; }
.depth-agent-6 { top:46%; right:8%; width:85px; --depth-color:#a77ee2; }
.depth-agent-7 { top:62%; left:3%; width:50px; filter:blur(3px); opacity:.6; --depth-color:#72baa4; }
.depth-agent-8 { bottom:20%; left:20%; width:72px; --depth-color:#e1a75e; }
.depth-agent-9 { bottom:8%; left:6%; width:120px; --depth-color:#ae7ae8; }
.depth-agent-10 { bottom:7%; left:38%; width:60px; --depth-color:#dc718e; }
.depth-agent-11 { bottom:14%; right:27%; width:70px; --depth-color:#76c1c8; }
.depth-agent-12 { bottom:6%; right:6%; width:115px; --depth-color:#8da8e6; }
.depth-agent-13 { bottom:27%; right:0; width:150px; filter:blur(6px); opacity:.45; --depth-color:#e7a66f; }
.depth-agent-14 { top:16%; right:43%; width:12px; filter:blur(3px); --depth-color:#697de9; }
.depth-agent-15 { bottom:22%; left:49%; width:17px; filter:blur(4px); opacity:.6; }
.depth-agent-16 { top:32%; left:18%; width:20px; filter:blur(4px); opacity:.5; --depth-color:#f2b97f; }
.depth-agent-17 { top:31%; right:17%; width:18px; filter:blur(3px); opacity:.55; --depth-color:#71c4af; }
@keyframes depth-drift { from { transform:translate(-5px,5px) rotate(-8deg); } to { transform:translate(8px,-10px) rotate(7deg); } }
@keyframes depth-blink { 0%,36%,40%,100% { transform:scaleY(1); } 38% { transform:scaleY(.1); } }
.landing-study-companion-depth-violet .north-hero { background:radial-gradient(ellipse at 70% 80%,#251534,#100b19 80%); }
.landing-study-companion-depth-violet .companion-lockup { flex-direction:column; gap:15px; }
.landing-study-companion-depth-violet .companion-mark { width:68px; }
.landing-study-companion-depth-violet .companion-shell { fill:#d2b1f1; }
.landing-study-companion-depth-violet .depth-agent svg { animation-name:depth-orbit; }
@keyframes depth-orbit { to { transform:translate(-8px,9px) rotate(-12deg); } }
.landing-study-companion-depth-pearl .north-hero { background:radial-gradient(ellipse at center,#fffdfb,#f0eaf6); }
.landing-study-companion-depth-pearl .north-hero h1 { color:#503b61; }
.landing-study-companion-depth-pearl .north-hero-copy > p { color:#806e8c; }
.landing-study-companion-depth-pearl .companion-shell { fill:#9875b4; }
.landing-study-companion-depth-pearl .companion-look { fill:#fff8ff; }
.landing-study-companion-depth-pearl .companion-actions a:first-child { background:#79538f; color:#fff; }
.landing-study-companion-depth-pearl .companion-actions a:first-child:hover { background:#67457d; }
.landing-study-companion-depth-pearl .companion-actions a:last-child,
.landing-study-companion-depth-pearl .north-nav nav,
.landing-study-companion-depth-pearl .north-login { color:#765989; }
.landing-study-companion-depth-pearl .depth-aura { background:none; }
.landing-study-companion-depth-pearl .depth-agent { opacity:.75; --depth-color:#bda4d6; }
.landing-study-companion-depth-pearl .depth-agent:nth-child(3n) { --depth-color:#a8c7c5; }
.landing-study-companion-depth-pearl .depth-agent:nth-child(4n) { --depth-color:#dfb99f; }
.landing-study-companion-depth-pearl .depth-eyes { fill:#5e4c6b; }
@media(max-width:900px) {
  .depth-agent-5 { left:2%; width:45px; }
  .depth-agent-6 { right:1%; width:48px; }
}
@media(max-width:760px) {
  .landing-depth-companion .north-hero { padding:150px 7% 90px; }
  .landing-depth-companion .companion-lockup { flex-direction:row; gap:12px; }
  .landing-depth-companion .north-hero h1 { font-size:clamp(38px,9vw,62px); }
  .landing-depth-companion .companion-mark { width:48px; }
  .landing-depth-companion .north-hero-copy > p { font-size:16px; margin-top:20px; }
  .landing-depth-companion .companion-actions { flex-wrap:wrap; gap:8px 20px; margin-top:24px; }
  .landing-depth-companion .companion-actions a { white-space:nowrap; font-size:14px; gap:10px; }
  .landing-depth-companion .companion-actions a:first-child { padding:8px 18px; }
  .landing-study-companion-depth-violet .companion-lockup { flex-direction:column; }
  .depth-agent { width:40px; }
  .depth-agent-0 { top:20%; width:65px; left:-6%; }
  .depth-agent-1 { top:24%; left:22%; width:30px; }
  .depth-agent-2 { top:19%; left:50%; width:24px; }
  .depth-agent-3 { top:25%; right:16%; width:32px; }
  .depth-agent-4 { top:18%; right:-4%; width:55px; }
  .depth-agent-5, .depth-agent-6, .depth-agent-7, .depth-agent-8, .depth-agent-13,
  .depth-agent-14, .depth-agent-15, .depth-agent-16, .depth-agent-17 { display:none; }
  .depth-agent-9 { bottom:9%; left:3%; width:54px; }
  .depth-agent-10 { bottom:4%; left:35%; width:35px; }
  .depth-agent-11 { bottom:11%; right:30%; width:36px; }
  .depth-agent-12 { bottom:5%; right:0; width:64px; }
}
@media(max-height:650px) {
  .landing-depth-companion .north-hero { padding-block:125px 65px; }
  .landing-depth-companion .north-hero h1 { font-size:clamp(38px,6vw,65px); }
  .landing-depth-companion .companion-mark { width:45px; }
  .landing-depth-companion .north-hero-copy > p { margin-top:14px; }
  .landing-depth-companion .companion-actions { margin-top:18px; }
  .landing-depth-companion .depth-agent-1, .landing-depth-companion .depth-agent-3 { top:25%; width:24px; }
}
@media(max-height:450px) and (min-width:761px) {
  .landing-depth-companion .north-hero { padding-block:80px 30px; }
  .landing-depth-companion .companion-lockup { flex-direction:row; }
  .depth-agent-1, .depth-agent-2, .depth-agent-3, .depth-agent-10, .depth-agent-11, .depth-agent-15 { display:none; }
  .depth-agent-0, .depth-agent-4, .depth-agent-9, .depth-agent-12 { width:60px; }
}
@media(prefers-reduced-motion:reduce) {
  .depth-agent svg, .depth-eyes { animation:none !important; }
}

/* Sculpted companions on a quiet architectural grid. */
.landing-grid-companion { --studio-grid:#aaa4ae26; --studio-cross:#d6ced344; --studio-signal:#cec3da; }
.landing-grid-companion .north-hero { background:#101111; padding:125px 8% 75px; }
.landing-grid-companion .north-hero-copy { max-width:1220px; grid-template-columns:1.1fr 1fr; gap:8%; }
.landing-grid-companion .north-hero h1 { font-size:clamp(40px,4.8vw,70px); font-weight:400; letter-spacing:-.035em; line-height:1.13; }
.landing-grid-companion .companion-eyebrow { color:#a8a2b0; font-size:10px; }
.landing-grid-companion .poster-description { color:#b6b0bf; max-width:390px; }
.landing-grid-companion .companion-actions { margin-top:30px; flex-wrap:wrap; gap:10px 24px; }
.landing-grid-companion .companion-actions a { white-space:nowrap; }
.studio-grid svg { width:100%; height:100%; }
.studio-grid-lines { stroke:var(--studio-grid); stroke-width:1; stroke-dasharray:3 5; }
.studio-grid-crosses { stroke:var(--studio-cross); stroke-width:1; }
.studio-grid-signal { stroke:var(--studio-signal); stroke-width:2; stroke-linecap:round; stroke-dasharray:8 1800; stroke-dashoffset:900; opacity:.35; animation:studio-transit 26s linear infinite; }
.studio-sculpture { width:100%; position:relative; isolation:isolate; }
.studio-sculpture > svg { position:relative; z-index:1; display:block; width:100%; overflow:visible; }
.studio-figure { transform-origin:200px 345px; animation:studio-lean 15s ease-in-out infinite alternate; }
.studio-highlight { stop-color:#fff; }
.studio-midtone { stop-color:#e0dfe1; }
.studio-shadow { stop-color:#969499; }
.studio-eyes { fill:#141415; transform-box:fill-box; transform-origin:center; animation:studio-blink 10s infinite; }
.studio-ground { position:absolute; left:14%; right:6%; bottom:9%; height:8%; background:#0008; filter:blur(16px); border-radius:50%; animation:studio-shadow-breathe 15s ease-in-out infinite alternate; }
@keyframes studio-lean { to { transform:translateY(-9px) rotate(3deg); } }
@keyframes studio-blink { 0%,60%,64%,100% { transform:scaleY(1); } 62% { transform:scaleY(.12); } }
@keyframes studio-transit { to { stroke-dashoffset:-900; } }
@keyframes studio-shadow-breathe { to { opacity:.5; transform:scaleX(.92); } }
.landing-study-companion-grid-lilac { --studio-grid:#9279a025; --studio-cross:#9279a047; --studio-signal:#8663a0; }
.landing-study-companion-grid-lilac .north-hero { background:#f4eff8; }
.landing-study-companion-grid-lilac .north-hero h1 { color:#4a3657; }
.landing-study-companion-grid-lilac .poster-description,
.landing-study-companion-grid-lilac .north-nav nav,
.landing-study-companion-grid-lilac .north-login,
.landing-study-companion-grid-lilac .companion-actions a:last-child { color:#7b6489; }
.landing-study-companion-grid-lilac .companion-eyebrow { color:#8a7098; }
.landing-study-companion-grid-lilac .companion-actions a:first-child { background:#785590; color:#fff; }
.landing-study-companion-grid-lilac .companion-actions a:first-child:hover { background:#644477; }
.landing-study-companion-grid-lilac .poster-copy { grid-column:2; grid-row:1; }
.landing-study-companion-grid-lilac .studio-sculpture { grid-column:1; grid-row:1; transform:scaleX(-1); }
.landing-study-companion-grid-lilac .studio-highlight { stop-color:#e8d7f8; }
.landing-study-companion-grid-lilac .studio-midtone { stop-color:#b89acf; }
.landing-study-companion-grid-lilac .studio-shadow { stop-color:#7a5397; }
.landing-study-companion-grid-lilac .studio-eyes { fill:#503761; }
.landing-study-companion-grid-lilac .studio-ground { background:#79559645; }
.landing-study-companion-grid-north { --studio-grid:#99bbb527; --studio-cross:#a4c8c044; --studio-signal:#b4e0ca; }
.landing-study-companion-grid-north .north-hero { background:#192f32; }
.landing-study-companion-grid-north .poster-description { color:#bad0cb; }
.landing-study-companion-grid-north .companion-eyebrow { color:#8caaa4; }
.landing-study-companion-grid-north .companion-actions a:first-child { background:#d1e7da; color:#24453a; }
.landing-study-companion-grid-north .companion-actions a:first-child:hover { background:#bedacb; }
.landing-study-companion-grid-north .companion-actions a:last-child { color:#bfd7cc; }
.landing-study-companion-grid-north .studio-highlight { stop-color:#eff8e9; }
.landing-study-companion-grid-north .studio-midtone { stop-color:#b6d0be; }
.landing-study-companion-grid-north .studio-shadow { stop-color:#638c7e; }
.landing-study-companion-grid-north .studio-eyes { fill:#264039; }
.landing-study-companion-grid-north .studio-figure { animation:studio-hover 12s ease-in-out infinite alternate; }
@keyframes studio-hover { to { transform:translateY(-13px) rotate(-2deg); } }
@media(max-width:760px) {
  .landing-grid-companion .north-hero { height:auto; min-height:100svh; padding:140px 8% 35px; }
  .landing-grid-companion .north-hero-copy { grid-template-columns:1fr; gap:20px; max-width:500px; }
  .landing-grid-companion .north-hero h1 { font-size:clamp(36px,7.5vw,52px); }
  .landing-grid-companion .companion-actions { margin-top:24px; }
  .landing-grid-companion .studio-sculpture { width:85%; justify-self:center; }
  .landing-study-companion-grid-lilac .poster-copy { grid-column:auto; grid-row:auto; }
  .landing-study-companion-grid-lilac .studio-sculpture { grid-column:auto; grid-row:auto; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-grid-companion .north-hero { padding-block:85px 30px; }
  .landing-grid-companion .north-hero h1 { font-size:clamp(28px,3.6vw,45px); }
  .landing-grid-companion .poster-description { margin-top:12px; font-size:14px; }
  .landing-grid-companion .companion-actions { margin-top:16px; }
  .landing-grid-companion .studio-sculpture { max-width:300px; justify-self:center; }
}
@media(prefers-reduced-motion:reduce) {
  .studio-grid-signal, .studio-figure, .studio-eyes, .studio-ground { animation:none !important; }
}
@media(max-height:450px) and (min-width:761px) {
  .landing-grid-companion .north-hero { padding-block:75px 25px; }
  .landing-grid-companion .north-hero h1 { font-size:28px; }
  .landing-grid-companion .companion-eyebrow { margin-bottom:10px; }
  .landing-grid-companion .companion-actions { gap:8px 16px; }
  .landing-grid-companion .companion-actions a { font-size:14px; gap:10px; }
  .landing-grid-companion .companion-actions a:first-child { padding:8px 16px; }
}

/* A quiet invitation beside a text-free, expressive companion portrait. */
.landing-pop-companion .north-hero { background:radial-gradient(ellipse at 20% 90%,#701941,transparent 75%),#220c1b; padding:125px 7% 75px; }
.landing-pop-companion .north-hero-copy { max-width:1200px; grid-template-columns:1fr 1.05fr; gap:9%; }
.landing-pop-companion .north-hero h1 { font-size:clamp(40px,4.5vw,66px); font-weight:450; letter-spacing:-.035em; }
.landing-pop-companion .companion-eyebrow { font-size:10px; color:#bf90ab; }
.landing-pop-companion .poster-description { color:#dbb5cc; max-width:365px; }
.landing-pop-companion .companion-actions { margin-top:36px; flex-wrap:wrap; gap:10px 24px; }
.landing-pop-companion .companion-actions a { white-space:nowrap; }
.landing-pop-companion .companion-actions a:first-child { background:#fff6fb; color:#5c1c3e; }
.landing-pop-companion .companion-actions a:first-child:hover { background:#f1d6e7; }
.landing-pop-companion .companion-actions a:last-child { color:#e1bdd3; }
.landing-pop-companion .pop-card { background:#100b11; border-color:#dab4cc2e; border-radius:28px; }
.pop-card-light { position:absolute; inset:0; background:radial-gradient(ellipse at 90% 90%,#76285835,transparent 70%); animation:pop-light 17s ease-in-out infinite alternate; }
.pop-character { position:absolute; width:113%; left:-13%; bottom:-28%; transform:rotate(9deg); }
.pop-character svg { display:block; width:100%; overflow:visible; animation:pop-peek 12s ease-in-out infinite alternate; transform-origin:50% 90%; }
.pop-body { fill:#f036a0; }
.pop-eyes { fill:#1d0a17; transform-box:fill-box; transform-origin:center; animation:pop-blink 8s infinite; }
@keyframes pop-peek { from { transform:translateY(2px) rotate(-3deg); } to { transform:translateY(-15px) rotate(4deg); } }
@keyframes pop-blink { 0%,46%,50%,100% { transform:scaleY(1); } 48% { transform:scaleY(.1); } }
@keyframes pop-light { to { opacity:.35; transform:scale(1.2); } }
.landing-study-companion-pop-lilac .north-hero { background:radial-gradient(ellipse at 90% 100%,#e3d4ed,transparent 70%),#f7f1fa; }
.landing-study-companion-pop-lilac .north-hero h1 { color:#4d365d; }
.landing-study-companion-pop-lilac .companion-eyebrow { color:#9375a2; }
.landing-study-companion-pop-lilac .poster-description,
.landing-study-companion-pop-lilac .north-nav nav,
.landing-study-companion-pop-lilac .north-login,
.landing-study-companion-pop-lilac .companion-actions a:last-child { color:#7b638a; }
.landing-study-companion-pop-lilac .companion-actions a:first-child { background:#7d5698; color:#fff; }
.landing-study-companion-pop-lilac .companion-actions a:first-child:hover { background:#68447f; }
.landing-study-companion-pop-lilac .pop-card { background:#e3d1f0; border-color:#d0b7e0; border-radius:70px 28px 28px 28px; }
.landing-study-companion-pop-lilac .pop-card-light { background:radial-gradient(ellipse at 70% 10%,#fffaffaa,transparent 70%); }
.landing-study-companion-pop-lilac .pop-character { left:6%; bottom:-26%; width:112%; transform:rotate(-12deg); }
.landing-study-companion-pop-lilac .pop-body { fill:#aa7dcd; }
.landing-study-companion-pop-lilac .pop-eyes { fill:#432955; }
.landing-study-companion-pop-lilac .pop-character svg { animation-name:pop-sway; animation-duration:15s; }
@keyframes pop-sway { to { transform:translate(-8px,-6px) rotate(-5deg); } }
.landing-study-companion-pop-apricot .north-hero { background:radial-gradient(ellipse at 10% 90%,#5c3e31,transparent 65%),#292328; }
.landing-study-companion-pop-apricot .companion-eyebrow { color:#c8a58d; }
.landing-study-companion-pop-apricot .poster-description { color:#d6bfb0; }
.landing-study-companion-pop-apricot .companion-actions a:first-child { background:#f5d9bd; color:#4a3327; }
.landing-study-companion-pop-apricot .companion-actions a:first-child:hover { background:#eac7a5; }
.landing-study-companion-pop-apricot .companion-actions a:last-child { color:#e0c6b1; }
.landing-study-companion-pop-apricot .pop-card { background:#eac9a9; border-color:#f0d7be40; }
.landing-study-companion-pop-apricot .pop-card-light { background:radial-gradient(ellipse at 15% 15%,#fff1d488,transparent 70%); }
.landing-study-companion-pop-apricot .pop-character { left:-15%; bottom:-30%; width:118%; transform:rotate(-15deg); }
.landing-study-companion-pop-apricot .pop-body { fill:#a25c42; }
.landing-study-companion-pop-apricot .pop-eyes { fill:#fff0d5; }
.landing-study-companion-pop-apricot .pop-character svg { animation-name:pop-rise; animation-duration:13s; }
@keyframes pop-rise { to { transform:translateY(-13px) rotate(2deg); } }
@media(max-width:760px) {
  .landing-pop-companion .north-hero { height:auto; min-height:100svh; padding:140px 7% 40px; }
  .landing-pop-companion .north-hero-copy { grid-template-columns:1fr; gap:35px; max-width:500px; }
  .landing-pop-companion .north-hero h1 { font-size:clamp(36px,7.5vw,52px); }
  .landing-pop-companion .companion-actions { margin-top:24px; }
  .landing-pop-companion .pop-card { aspect-ratio:1.05; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-pop-companion .north-hero { padding-block:85px 30px; }
  .landing-pop-companion .north-hero h1 { font-size:clamp(28px,3.5vw,45px); }
  .landing-pop-companion .companion-eyebrow { margin-bottom:12px; }
  .landing-pop-companion .poster-description { font-size:14px; margin-top:14px; }
  .landing-pop-companion .companion-actions { margin-top:18px; gap:8px 16px; }
  .landing-pop-companion .companion-actions a { font-size:14px; gap:10px; }
  .landing-pop-companion .companion-actions a:first-child { padding:8px 16px; }
}
@media(prefers-reduced-motion:reduce) {
  .pop-character svg, .pop-eyes, .pop-card-light { animation:none !important; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-pop-companion .pop-card { width:min(100%,calc(100svh - 115px)); max-height:none; aspect-ratio:1; }
}

/* A lead companion and its colorful, unframed team. */
.landing-circle-companion .north-hero { background:radial-gradient(ellipse at 100% 65%,#321744 0,transparent 65%),#101015; padding:125px 7% 75px; }
.landing-circle-companion .north-hero-copy { max-width:1220px; grid-template-columns:1fr 1.15fr; gap:7%; }
.landing-circle-companion .north-hero h1 { font-size:clamp(40px,4.4vw,66px); font-weight:400; letter-spacing:-.035em; line-height:1.12; }
.circle-brand { display:flex; align-items:center; gap:10px; color:#fff0fb; font-size:24px; letter-spacing:-.04em; margin-bottom:32px; }
.circle-brand .companion-mark { width:36px; animation:none; }
.circle-brand .companion-shell { fill:#ed54b0; }
.circle-brand .companion-look { fill:#291329; }
.landing-circle-companion .poster-description { max-width:380px; color:#bfb0cd; }
.landing-circle-companion .companion-actions { margin-top:32px; flex-wrap:wrap; gap:10px 24px; }
.landing-circle-companion .companion-actions a { white-space:nowrap; }
.landing-circle-companion .companion-actions a:first-child { background:#efd8f5; color:#3d2345; }
.landing-circle-companion .companion-actions a:first-child:hover { background:#e2bde9; }
.circle-portrait { width:100%; }
.circle-portrait > svg { display:block; width:100%; overflow:visible; }
.circle-satellite { transform-box:fill-box; transform-origin:center; animation:circle-float 12s ease-in-out infinite alternate; }
.circle-body { fill:var(--circle-color); }
.circle-eyes { fill:#1c1223; transform-box:fill-box; transform-origin:center; animation:circle-blink 9s infinite; }
.satellite-0 { --circle-color:#64bc89; animation-delay:-3s; }
.satellite-1 { --circle-color:#3cbcb2; animation-duration:14s; }
.satellite-2 { --circle-color:#ef6a8b; animation-delay:-5s; }
.satellite-3 { --circle-color:#a38cba; animation-duration:16s; }
.satellite-4 { --circle-color:#ec925d; animation-delay:-8s; }
.satellite-5 { --circle-color:#9e81d0; animation-duration:10s; }
.satellite-6 { --circle-color:#df65b1; animation-delay:-4s; }
.satellite-7 { --circle-color:#eebb56; animation-duration:15s; }
.satellite-1 .circle-eyes, .satellite-3 .circle-eyes, .satellite-5 .circle-eyes { animation-delay:-4s; }
.circle-leader { transform-origin:300px 250px; animation:circle-lead 15s ease-in-out infinite alternate; }
.circle-leader-body { fill:#15101e; stroke:#f6ebfb; stroke-width:3; }
.circle-leader-eyes { fill:#f6ebfb; transform-box:fill-box; transform-origin:center; animation:circle-blink 11s infinite; }
@keyframes circle-float { from { transform:translate(-3px,3px) rotate(-4deg); } to { transform:translate(5px,-7px) rotate(5deg); } }
@keyframes circle-lead { to { transform:translate(-5px,-9px) rotate(6deg); } }
@keyframes circle-blink { 0%,54%,58%,100% { transform:scaleY(1); } 56% { transform:scaleY(.1); } }
.landing-study-companion-circle-lilac .north-hero { background:radial-gradient(ellipse at 90% 60%,#e7d9f3,transparent 65%),#f9f4fb; }
.landing-study-companion-circle-lilac .north-hero h1,
.landing-study-companion-circle-lilac .circle-brand { color:#4e385e; }
.landing-study-companion-circle-lilac .poster-description,
.landing-study-companion-circle-lilac .north-nav nav,
.landing-study-companion-circle-lilac .north-login,
.landing-study-companion-circle-lilac .companion-actions a:last-child { color:#80678e; }
.landing-study-companion-circle-lilac .companion-actions a:first-child { background:#795392; color:#fff; }
.landing-study-companion-circle-lilac .companion-actions a:first-child:hover { background:#67447e; }
.landing-study-companion-circle-lilac .circle-brand .companion-shell { fill:#aa84c6; }
.landing-study-companion-circle-lilac .circle-brand .companion-look { fill:#fff5ff; }
.landing-study-companion-circle-lilac .circle-satellite { --circle-color:#b7a0d3; }
.landing-study-companion-circle-lilac .satellite-0,
.landing-study-companion-circle-lilac .satellite-4 { --circle-color:#a3c9c0; }
.landing-study-companion-circle-lilac .satellite-2,
.landing-study-companion-circle-lilac .satellite-7 { --circle-color:#e3b5c6; }
.landing-study-companion-circle-lilac .circle-eyes { fill:#574365; }
.landing-study-companion-circle-lilac .circle-leader-body { fill:#8b67a8; stroke:#fff7ff; }
.landing-study-companion-circle-lilac .circle-leader-eyes { fill:#fff7ff; }
.landing-study-companion-circle-north .north-hero { background:radial-gradient(ellipse at 90% 60%,#2e5254,transparent 65%),#142b31; }
.landing-study-companion-circle-north .poster-description { color:#b8ceca; }
.landing-study-companion-circle-north .circle-brand { color:#e3f0eb; }
.landing-study-companion-circle-north .circle-brand .companion-shell { fill:#abcdbd; }
.landing-study-companion-circle-north .circle-brand .companion-look { fill:#21423d; }
.landing-study-companion-circle-north .companion-actions a:first-child { background:#c9e0d5; color:#25443d; }
.landing-study-companion-circle-north .companion-actions a:first-child:hover { background:#b6d2c4; }
.landing-study-companion-circle-north .companion-actions a:last-child { color:#c1d8d1; }
.landing-study-companion-circle-north .circle-satellite { --circle-color:#95b7bf; animation-direction:alternate-reverse; }
.landing-study-companion-circle-north .satellite-0,
.landing-study-companion-circle-north .satellite-4 { --circle-color:#acbb9f; }
.landing-study-companion-circle-north .satellite-2,
.landing-study-companion-circle-north .satellite-6 { --circle-color:#bfa4c9; }
.landing-study-companion-circle-north .satellite-7 { --circle-color:#d9bc90; }
.landing-study-companion-circle-north .circle-eyes { fill:#28434a; }
.landing-study-companion-circle-north .circle-leader-body { fill:#d9e7d9; stroke:#ecf4e9; }
.landing-study-companion-circle-north .circle-leader-eyes { fill:#304e4b; }
@media(max-width:760px) {
  .landing-circle-companion .north-hero { height:auto; min-height:100svh; padding:140px 8% 40px; }
  .landing-circle-companion .north-hero-copy { grid-template-columns:1fr; gap:28px; max-width:500px; }
  .landing-circle-companion .north-hero h1 { font-size:clamp(36px,7.5vw,52px); }
  .circle-brand { font-size:22px; margin-bottom:24px; }
  .circle-brand .companion-mark { width:32px; }
  .landing-circle-companion .companion-actions { margin-top:24px; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-circle-companion .north-hero { padding-block:80px 25px; }
  .landing-circle-companion .north-hero h1 { font-size:clamp(28px,3.5vw,45px); }
  .circle-brand { font-size:20px; margin-bottom:16px; }
  .circle-brand .companion-mark { width:28px; }
  .landing-circle-companion .poster-description { font-size:14px; margin-top:12px; }
  .landing-circle-companion .companion-actions { margin-top:16px; gap:8px 16px; }
  .landing-circle-companion .companion-actions a { font-size:14px; gap:10px; }
  .landing-circle-companion .companion-actions a:first-child { padding:8px 16px; }
  .circle-portrait { width:min(100%,calc(100svh - 105px)); justify-self:center; }
}
@media(prefers-reduced-motion:reduce) {
  .circle-satellite, .circle-eyes, .circle-leader, .circle-leader-eyes { animation:none !important; }
}

/* Animated purple particle fields: real moving dots, with a quiet center. */
.landing-particle-companion .north-hero { background:#080710; padding:125px 8% 85px; }
.particle-field { display:block; width:100%; height:100%; }
.landing-particle-companion .north-hero-copy { max-width:720px; }
.landing-particle-companion .north-hero h1 { font-size:clamp(56px,7vw,100px); font-weight:400; letter-spacing:-.045em; text-shadow:0 0 40px #ad79ff22; }
.landing-particle-companion .companion-mark { width:clamp(70px,8vw,105px); }
.landing-particle-companion .companion-look { fill:#211637; }
.landing-particle-companion .north-hero-copy > p { font-size:18px; color:#c5b7d8; margin-top:24px; }
.landing-particle-companion .companion-actions { margin-top:32px; flex-wrap:wrap; gap:10px 26px; }
.landing-particle-companion .companion-actions a { white-space:nowrap; }
.landing-particle-companion .companion-actions a:first-child { border:0; border-radius:999px; padding:10px 24px; background:#e4ccfb; color:#332145; font-weight:500; }
.landing-particle-companion .companion-actions a:first-child:hover { background:#d5b3f3; }
.landing-study-companion-particles-halo .north-hero { background:#110b1d; }
.landing-study-companion-particles-halo .companion-lockup { flex-direction:column; gap:16px; }
.landing-study-companion-particles-halo .companion-mark { width:66px; }
.landing-study-companion-particles-halo .companion-shell { fill:#d8b9f8; }
.landing-study-companion-particles-constellation .north-hero { background:radial-gradient(ellipse at 80% 80%,#291938,#120e1c 80%); }
@media(max-width:760px) {
  .landing-particle-companion .north-hero { padding:135px 7% 80px; }
  .landing-particle-companion .companion-lockup { flex-direction:row; gap:12px; }
  .landing-particle-companion .north-hero h1 { font-size:clamp(38px,9vw,62px); }
  .landing-particle-companion .companion-mark { width:48px; }
  .landing-particle-companion .north-hero-copy > p { font-size:16px; margin-top:20px; }
  .landing-particle-companion .companion-actions { margin-top:24px; gap:8px 20px; }
  .landing-particle-companion .companion-actions a { font-size:14px; gap:10px; }
  .landing-particle-companion .companion-actions a:first-child { padding:8px 18px; }
  .landing-study-companion-particles-halo .companion-lockup { flex-direction:column; }
}
@media(max-height:650px) {
  .landing-particle-companion .north-hero { padding-block:110px 40px; }
  .landing-particle-companion .north-hero h1 { font-size:clamp(38px,6vw,65px); }
  .landing-particle-companion .companion-mark { width:45px; }
  .landing-particle-companion .north-hero-copy > p { margin-top:14px; }
  .landing-particle-companion .companion-actions { margin-top:18px; }
}
@media(max-height:450px) and (min-width:761px) {
  .landing-particle-companion .north-hero { padding-block:80px 30px; }
  .landing-particle-companion .companion-lockup { flex-direction:row; }
}

/* Saturated blue-violet atmospheres with broad, slowly shifting folds. */
.landing-chroma-companion .north-hero { background:linear-gradient(110deg,#083cc4,#1421a4 50%,#310d76); padding:125px 8% 85px; }
.landing-chroma-companion .north-hero-copy { max-width:760px; }
.landing-chroma-companion .north-hero h1 { font-size:clamp(56px,7vw,104px); font-weight:400; letter-spacing:-.045em; color:#fff; }
.landing-chroma-companion .companion-mark { width:clamp(74px,8vw,112px); }
.landing-chroma-companion .companion-shell { fill:#fff; }
.landing-chroma-companion .companion-look { fill:#232199; }
.landing-chroma-companion .north-hero-copy > p { color:#e2e1ff; font-size:18px; margin-top:26px; }
.landing-chroma-companion .north-nav nav, .landing-chroma-companion .north-login { color:#f0eaff; }
.landing-chroma-companion .north-brand-icon img { filter:brightness(0) invert(1); }
.landing-chroma-companion .north-nav.past-hero .north-brand-icon img { filter:none; }
.landing-chroma-companion .companion-actions { margin-top:34px; gap:12px 28px; flex-wrap:wrap; }
.landing-chroma-companion .companion-actions a { white-space:nowrap; color:#eeeaff; }
.landing-chroma-companion .companion-actions a:first-child { border:0; border-radius:999px; padding:10px 24px; background:#fff; color:#30206c; font-weight:500; }
.landing-chroma-companion .companion-actions a:first-child:hover { background:#e7dfff; }
.chroma-wash { position:absolute; width:100%; height:130%; border-radius:50%; filter:blur(65px); }
.chroma-atmosphere .wash-one { left:-35%; top:-10%; background:radial-gradient(ellipse,#084dff99,transparent 65%); animation:chroma-drift 22s ease-in-out infinite alternate; }
.chroma-atmosphere .wash-two { right:-35%; top:-50%; background:radial-gradient(ellipse,#6215cb88,transparent 65%); animation:chroma-drift 29s ease-in-out -11s infinite alternate-reverse; }
.chroma-fold { position:absolute; left:53%; top:-45%; width:60%; height:185%; border-radius:50%; border-left:85px solid #0b07527a; filter:blur(34px); transform:rotate(15deg); animation:chroma-fold 25s ease-in-out infinite alternate; }
.chroma-shade { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 50%,#150f5b24,transparent 65%); }
@keyframes chroma-drift { to { transform:translate(12%,8%) scale(1.15); opacity:.65; } }
@keyframes chroma-fold { to { transform:translate(-8%,2%) rotate(24deg) scaleX(1.1); } }
.landing-study-companion-chroma-velvet .north-hero { background:linear-gradient(120deg,#2926b0,#491a9f 60%,#241256); }
.landing-study-companion-chroma-velvet .companion-lockup { flex-direction:column; gap:18px; }
.landing-study-companion-chroma-velvet .companion-mark { width:70px; }
.landing-study-companion-chroma-velvet .companion-look { fill:#44208e; }
.landing-study-companion-chroma-velvet .wash-one { background:radial-gradient(ellipse,#9252ef88,transparent 65%); left:-25%; top:-45%; }
.landing-study-companion-chroma-velvet .wash-two { background:radial-gradient(ellipse,#2e51ee99,transparent 65%); top:5%; right:-25%; }
.landing-study-companion-chroma-velvet .chroma-fold { left:-20%; top:-40%; width:90%; border-left:100px solid #b98aed26; transform:rotate(-30deg); animation:chroma-silk 24s ease-in-out infinite alternate; }
@keyframes chroma-silk { to { transform:translate(6%,3%) rotate(-18deg); } }
.landing-study-companion-chroma-tide .north-hero { background:linear-gradient(115deg,#0b2a7c,#1538a4 55%,#3c259a); justify-items:start; }
.landing-study-companion-chroma-tide .north-hero-copy { text-align:left; }
.landing-study-companion-chroma-tide .companion-lockup, .landing-study-companion-chroma-tide .companion-actions { justify-content:start; }
.landing-study-companion-chroma-tide .north-hero-copy > p { text-align:left; margin-left:0; }
.landing-study-companion-chroma-tide .wash-one { left:20%; top:0; background:radial-gradient(ellipse,#207ce0bb,transparent 65%); }
.landing-study-companion-chroma-tide .wash-two { right:-25%; top:-45%; background:radial-gradient(ellipse,#7845e18c,transparent 65%); }
.landing-study-companion-chroma-tide .chroma-fold { left:45%; top:10%; width:75%; height:160%; border-left:90px solid #4ca5ed38; transform:rotate(60deg); animation:chroma-tide 23s ease-in-out infinite alternate; }
@keyframes chroma-tide { to { transform:translate(-5%,-8%) rotate(48deg); } }
@media(max-width:760px) {
  .landing-chroma-companion .north-hero { padding:135px 7% 80px; }
  .landing-chroma-companion .companion-lockup { flex-direction:row; gap:12px; }
  .landing-chroma-companion .north-hero h1 { font-size:clamp(38px,9vw,62px); }
  .landing-chroma-companion .companion-mark { width:48px; }
  .landing-chroma-companion .north-hero-copy > p { font-size:16px; margin-top:20px; }
  .landing-chroma-companion .companion-actions { gap:8px 20px; margin-top:24px; }
  .landing-chroma-companion .companion-actions a { font-size:14px; gap:10px; }
  .landing-chroma-companion .companion-actions a:first-child { padding:8px 18px; }
  .landing-study-companion-chroma-velvet .companion-lockup { flex-direction:column; }
  .chroma-wash { filter:blur(35px); }
  .chroma-fold { border-left-width:45px; filter:blur(25px); }
}
@media(max-height:650px) {
  .landing-chroma-companion .north-hero { padding-block:110px 40px; }
  .landing-chroma-companion .north-hero h1 { font-size:clamp(38px,6vw,65px); }
  .landing-chroma-companion .companion-mark { width:45px; }
  .landing-chroma-companion .north-hero-copy > p { margin-top:14px; }
  .landing-chroma-companion .companion-actions { margin-top:18px; }
}
@media(max-height:450px) and (min-width:761px) {
  .landing-chroma-companion .north-hero { padding-block:80px 30px; }
  .landing-chroma-companion .companion-lockup { flex-direction:row; }
}
@media(prefers-reduced-motion:reduce) {
  .chroma-wash, .chroma-fold { animation:none !important; }
}

/* Northern Structure in dark purple, with three more expressive motion studies. */
.landing-purple-grid { --studio-grid:#ba9cd72a; --studio-cross:#ccb1e550; --studio-signal:#ceb2f0; }
.landing-purple-grid .north-hero { background:radial-gradient(ellipse at 85% 65%,#3f2455,transparent 70%),#20152d; }
.landing-purple-grid .poster-description { color:#c5b2d3; }
.landing-purple-grid .companion-eyebrow { color:#a58ab8; }
.landing-purple-grid .companion-actions a:first-child { background:#ddc3ef; color:#392348; }
.landing-purple-grid .companion-actions a:first-child:hover { background:#cda9e5; }
.landing-purple-grid .companion-actions a:last-child { color:#cfb9df; }
.landing-purple-grid .studio-highlight { stop-color:#f7eaff; }
.landing-purple-grid .studio-midtone { stop-color:#c2a1df; }
.landing-purple-grid .studio-shadow { stop-color:#80559f; }
.landing-purple-grid .studio-eyes { fill:#352044; animation:purple-grid-blink 6s infinite; }
.landing-purple-grid .studio-gaze { animation:purple-grid-gaze 8s ease-in-out infinite; }
.landing-purple-grid .studio-ground { background:#080310aa; filter:blur(18px); animation:purple-grid-shadow 6s ease-in-out infinite; }
.landing-purple-grid .studio-grid-signal { animation-duration:18s; }
.landing-purple-grid .studio-figure { transform-origin:200px 300px; animation:purple-grid-float 6s ease-in-out infinite; }
@keyframes purple-grid-float {
  0%,100% { transform:translate(0,0) rotate(-2deg); }
  50% { transform:translate(6px,-24px) rotate(3deg); }
}
@keyframes purple-grid-shadow {
  0%,100% { transform:scaleX(1); opacity:.8; }
  50% { transform:scaleX(.76); opacity:.4; }
}
@keyframes purple-grid-gaze {
  0%,15%,100% { transform:translate(0,0); }
  30%,45% { transform:translate(-5px,2px); }
  65%,80% { transform:translate(3px,-3px); }
}
@keyframes purple-grid-blink {
  0%,44%,50%,100% { transform:scaleY(1); }
  47% { transform:scaleY(.1); }
}
.landing-study-companion-grid-plum .north-hero { background:radial-gradient(ellipse at 80% 50%,#57314e,transparent 70%),#2c182b; }
.landing-study-companion-grid-plum .studio-highlight { stop-color:#f5deed; }
.landing-study-companion-grid-plum .studio-midtone { stop-color:#c997c6; }
.landing-study-companion-grid-plum .studio-shadow { stop-color:#8e598f; }
.landing-study-companion-grid-plum .studio-eyes { fill:#4e294d; }
.landing-study-companion-grid-plum .companion-actions a:first-child { background:#ebc8e3; color:#4b2947; }
.landing-study-companion-grid-plum .companion-actions a:first-child:hover { background:#dcafd3; }
.landing-study-companion-grid-plum .studio-figure { transform-origin:200px 345px; animation:purple-grid-sway 7s ease-in-out infinite; }
.landing-study-companion-grid-plum .studio-ground { animation-duration:7s; }
@keyframes purple-grid-sway {
  0%,100% { transform:translate(-5px,-3px) rotate(-6deg); }
  50% { transform:translate(6px,-12px) rotate(5deg); }
}
.landing-study-companion-grid-midnight .north-hero { background:radial-gradient(ellipse at 85% 65%,#302559,transparent 70%),#141126; }
.landing-study-companion-grid-midnight .studio-highlight { stop-color:#f5f1ff; }
.landing-study-companion-grid-midnight .studio-midtone { stop-color:#b8b0e3; }
.landing-study-companion-grid-midnight .studio-shadow { stop-color:#7966ae; }
.landing-study-companion-grid-midnight .studio-eyes { fill:#27203f; }
.landing-study-companion-grid-midnight .companion-actions a:first-child { background:#d9d0f9; color:#30244d; }
.landing-study-companion-grid-midnight .companion-actions a:first-child:hover { background:#c8bbed; }
.landing-study-companion-grid-midnight .studio-figure { transform-origin:200px 345px; animation:purple-grid-bounce 5.8s ease-in-out infinite; }
.landing-study-companion-grid-midnight .studio-ground { animation:purple-grid-bounce-shadow 5.8s ease-in-out infinite; }
@keyframes purple-grid-bounce {
  0%,68%,100% { transform:translateY(0) scale(1); }
  12% { transform:translateY(2px) scale(1.025,.975); }
  35% { transform:translateY(-26px) rotate(-3deg) scale(.985,1.015); }
  55% { transform:translateY(1px) scale(1.02,.98); }
}
@keyframes purple-grid-bounce-shadow {
  0%,68%,100% { transform:scaleX(1); opacity:.8; }
  35% { transform:scaleX(.7); opacity:.35; }
}
@media(prefers-reduced-motion:reduce) {
  .landing-purple-grid .studio-figure, .landing-purple-grid .studio-gaze,
  .landing-purple-grid .studio-eyes, .landing-purple-grid .studio-ground,
  .landing-purple-grid .studio-grid-signal { animation:none !important; }
}

/* Noir Gathering rebalanced around vertically centered, left-aligned copy. */
.landing-gather-side .north-hero { height:100svh; min-height:100svh; padding:120px 7% 70px; align-items:center; justify-items:start; background:radial-gradient(ellipse at 90% 65%,#43265b,transparent 65%),#21152d; }
.landing-gather-side .north-hero-copy { width:46%; max-width:570px; }
.landing-gather-side .north-hero h1 { font-size:clamp(38px,4.2vw,62px); line-height:1.12; font-weight:400; }
.landing-gather-side .north-hero-copy > p { max-width:390px; font-size:18px; color:#c6b3d4; }
.landing-gather-side .companion-eyebrow { color:#a38ab7; }
.landing-gather-side .companion-actions a:first-child { background:#e5cff5; color:#392348; }
.landing-gather-side .companion-actions a:first-child:hover { background:#d4b5eb; }
.landing-gather-side .gathering-crowd { width:49%; height:calc(100% - 105px); max-height:800px; right:0; bottom:0; translate:none; }
.landing-gather-side .gather-bot { animation-name:gather-side-float; animation-duration:8s; transform-origin:center; }
.landing-gather-side .gather-bot-0 { --gather-color:#f1e3ff; animation-duration:10s; }
.landing-gather-side .gather-bot-1 { --gather-color:#7dbfb7; }
.landing-gather-side .gather-bot-2 { --gather-color:#a977df; animation-duration:9s; }
.landing-gather-side .gather-bot-3 { --gather-color:#889fe5; }
.landing-gather-side .gather-bot-4 { --gather-color:#dba479; animation-duration:11s; }
.landing-gather-side .gather-bot-5 { --gather-color:#ceb5e6; }
.landing-gather-side .gather-bot-6 { --gather-color:#cf86b7; animation-duration:9s; }
.landing-gather-side .gather-bot-7 { --gather-color:#9bafcf; }
.landing-gather-side .gather-eyes { fill:#33213f; animation-duration:7s; }
@keyframes gather-side-float { from { transform:translate(-1px,3px) rotate(-3deg); } to { transform:translate(3px,-5px) rotate(4deg); } }
.landing-study-companion-gather-arc .north-hero { background:radial-gradient(ellipse at 85% 50%,#37265a,transparent 65%),#181329; }
.landing-study-companion-gather-arc .gathering-crowd { bottom:4%; height:calc(100% - 140px); }
.landing-study-companion-gather-arc .gather-bot { animation-name:gather-side-orbit; }
.landing-study-companion-gather-arc .gather-bot-1 { --gather-color:#b1a0d4; }
.landing-study-companion-gather-arc .gather-bot-3 { --gather-color:#acaee1; }
.landing-study-companion-gather-arc .gather-bot-4 { --gather-color:#d0a4cb; }
.landing-study-companion-gather-arc .gather-bot-6 { --gather-color:#ab84cf; }
@keyframes gather-side-orbit { from { transform:translate(-3px,2px) rotate(-4deg); } to { transform:translate(4px,-4px) rotate(3deg); } }
.landing-study-companion-gather-stack .north-hero { background:radial-gradient(ellipse at 90% 65%,#52304f,transparent 65%),#281629; }
.landing-study-companion-gather-stack .gather-bot { animation-name:gather-side-bob; animation-duration:7s; }
.landing-study-companion-gather-stack .gather-bot-1 { --gather-color:#b391cc; }
.landing-study-companion-gather-stack .gather-bot-3 { --gather-color:#9da1d7; }
.landing-study-companion-gather-stack .gather-bot-4 { --gather-color:#dfb29a; }
.landing-study-companion-gather-stack .gather-bot-5 { --gather-color:#c8abd9; }
.landing-study-companion-gather-stack .gather-bot-6 { --gather-color:#ce92b7; }
@keyframes gather-side-bob { 0%,100% { transform:translateY(2px) rotate(-2deg); } 50% { transform:translateY(-6px) rotate(2deg); } }
@media(min-width:761px) and (max-width:1000px) {
  .landing-gather-side .north-hero-copy { width:48%; }
  .landing-gather-side .north-hero h1 { font-size:clamp(32px,4vw,42px); }
  .landing-gather-side .north-hero-copy > p { font-size:16px; }
  .landing-gather-side .companion-actions { gap:8px 18px; }
  .landing-gather-side .companion-actions a { font-size:14px; gap:10px; }
}
@media(max-width:760px) {
  .landing-gather-side .north-hero { height:auto; min-height:100svh; padding:145px 8% 430px; align-items:start; }
  .landing-gather-side .north-hero-copy { width:100%; max-width:500px; }
  .landing-gather-side .north-hero h1 { font-size:clamp(34px,7vw,48px); }
  .landing-gather-side .north-hero-copy > p { font-size:16px; }
  .landing-gather-side .gathering-crowd { width:340px; max-width:100%; height:405px; right:50%; bottom:5px; translate:50% 0; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-gather-side .north-hero { padding-block:85px 30px; }
  .landing-gather-side .north-hero h1 { font-size:clamp(28px,3.5vw,44px); }
  .landing-gather-side .companion-eyebrow { font-size:9px; margin-bottom:12px; }
  .landing-gather-side .north-hero-copy > p { margin-top:14px; font-size:14px; }
  .landing-gather-side .companion-actions { margin-top:18px; gap:8px 16px; }
  .landing-gather-side .companion-actions a { font-size:14px; gap:10px; }
  .landing-gather-side .companion-actions a:first-child { padding:8px 16px; }
  .landing-gather-side .gathering-crowd { height:calc(100% - 70px); bottom:0; }
}
@media(prefers-reduced-motion:reduce) {
  .landing-gather-side .gather-bot, .landing-gather-side .gather-eyes { animation:none !important; }
}

/* Sculpted companions: rounded materials, rim light, and a quiet studio floor. */
.landing-sculpted-companion .north-hero { height:100svh; min-height:100svh; padding:120px 7% 70px; justify-items:start; align-items:center; background:radial-gradient(ellipse at 85% 70%,#39251c 0,transparent 60%),#111012; }
.landing-sculpted-companion .north-hero-copy { width:43%; max-width:560px; text-align:left; }
.landing-sculpted-companion .north-hero h1 { font-size:clamp(38px,4.2vw,64px); font-weight:400; line-height:1.1; letter-spacing:-.045em; }
.landing-sculpted-companion .companion-eyebrow { font-size:11px; letter-spacing:.16em; color:#c1a798; margin:0 0 26px; }
.landing-sculpted-companion .north-hero-copy > p { text-align:left; margin:24px 0 0; max-width:400px; color:#c5b9b3; font-size:18px; line-height:1.65; }
.landing-sculpted-companion .companion-actions { justify-content:start; flex-wrap:wrap; gap:12px 26px; margin-top:30px; }
.landing-sculpted-companion .companion-actions a { white-space:nowrap; }
.landing-sculpted-companion .companion-actions a:first-child { padding:10px 24px; border:0; border-radius:999px; background:#f8eee8; color:#2c2423; }
.landing-sculpted-companion .companion-actions a:first-child:hover { background:#ead2c2; }
.landing-sculpted-companion .companion-actions a:last-child { color:#d3c2b7; }
.sculpted-team { position:absolute; width:55%; max-height:calc(100% - 120px); right:0; top:50%; translate:0 -44%; overflow:visible; }
.sculpted-light { position:absolute; inset:30% -15% -35% 40%; background:radial-gradient(ellipse at center,#e8791c15,transparent 60%); }
.sculpted-bot { transform-box:fill-box; transform-origin:50% 100%; animation:sculpted-rock 8s ease-in-out infinite alternate; }
.sculpted-bot-1 { animation-delay:-3s; animation-duration:10s; }
.sculpted-bot-2 { animation-delay:-5s; animation-duration:9s; }
.sculpted-bot-3 { animation-delay:-2s; animation-duration:11s; }
.sculpted-bot-4 { animation-name:sculpted-breathe; animation-duration:6s; }
.sculpted-eyes { transform-box:fill-box; transform-origin:center; animation:sculpted-blink 7s infinite; }
.sculpted-bot-1 .sculpted-eyes, .sculpted-bot-3 .sculpted-eyes { animation-delay:-3s; }
.sculpted-bot-2 .sculpted-eyes { animation-delay:-5s; }
@keyframes sculpted-rock { from { transform:rotate(-2deg); } to { transform:rotate(2deg) translateY(-1px); } }
@keyframes sculpted-breathe { from { transform:scale(1,1); } to { transform:scale(1.012,.985) rotate(1deg); } }
@keyframes sculpted-blink { 0%,43%,47%,100% { transform:scaleY(1); } 45% { transform:scaleY(.12); } }
.landing-study-companion-sculpted-violet .north-hero { background:radial-gradient(ellipse at 90% 70%,#493056,transparent 65%),#21162e; }
.landing-study-companion-sculpted-violet .sculpted-light { background:radial-gradient(ellipse,#c696ff15,transparent 60%); }
.landing-study-companion-sculpted-violet .companion-eyebrow { color:#b19cc7; }
.landing-study-companion-sculpted-violet .north-hero-copy > p { color:#c9b9d9; }
.landing-study-companion-sculpted-violet .companion-actions a:first-child { background:#e8d8fa; color:#3b2949; }
.landing-study-companion-sculpted-violet .companion-actions a:first-child:hover { background:#d6bfef; }
.landing-study-companion-sculpted-violet .companion-actions a:last-child { color:#d6c4e4; }
.landing-study-companion-sculpted-glacier .north-hero { background:radial-gradient(ellipse at 85% 65%,#24464d,transparent 65%),#101f27; }
.landing-study-companion-sculpted-glacier .sculpted-light { background:radial-gradient(ellipse,#9ae3e815,transparent 60%); }
.landing-study-companion-sculpted-glacier .companion-eyebrow { color:#9cbfcb; }
.landing-study-companion-sculpted-glacier .north-hero-copy > p { color:#b6ced6; }
.landing-study-companion-sculpted-glacier .companion-actions a:first-child { background:#d7efee; color:#1c3b43; }
.landing-study-companion-sculpted-glacier .companion-actions a:first-child:hover { background:#bce0df; }
.landing-study-companion-sculpted-glacier .companion-actions a:last-child { color:#c0d9df; }
@media(min-width:761px) and (max-width:1000px) {
  .landing-sculpted-companion .north-hero h1 { font-size:clamp(30px,4vw,40px); }
  .landing-sculpted-companion .north-hero-copy > p { font-size:16px; }
  .landing-sculpted-companion .companion-actions { gap:8px 18px; }
  .landing-sculpted-companion .companion-actions a { font-size:14px; gap:10px; }
}
@media(max-width:760px) {
  .landing-sculpted-companion .north-hero { height:auto; min-height:100svh; padding:145px 8% 340px; align-items:start; }
  .landing-sculpted-companion .north-hero-copy { width:100%; max-width:540px; }
  .landing-sculpted-companion .north-hero h1 { font-size:clamp(34px,7vw,50px); }
  .landing-sculpted-companion .north-hero-copy > p { font-size:16px; }
  .sculpted-team { width:440px; max-width:110%; height:340px; max-height:none; right:50%; top:auto; bottom:0; translate:50% 0; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-sculpted-companion .north-hero { padding-block:85px 30px; }
  .landing-sculpted-companion .north-hero h1 { font-size:clamp(28px,3.5vw,44px); }
  .landing-sculpted-companion .companion-eyebrow { font-size:9px; margin-bottom:12px; }
  .landing-sculpted-companion .north-hero-copy > p { font-size:14px; margin-top:14px; }
  .landing-sculpted-companion .companion-actions { margin-top:18px; gap:8px 16px; }
  .landing-sculpted-companion .companion-actions a { font-size:14px; gap:10px; }
  .landing-sculpted-companion .companion-actions a:first-child { padding:8px 16px; }
  .sculpted-team { max-height:calc(100% - 65px); }
}
@media(prefers-reduced-motion:reduce) {
  .sculpted-bot, .sculpted-eyes { animation:none !important; }
}

/* A first hello: editorial type, orbiting greetings, and a companion world. */
.landing-world-companion .north-hero { height:100svh; min-height:100svh; padding:120px 7% 70px; justify-items:start; align-items:center; background:radial-gradient(ellipse at 85% 75%,#172d3a,transparent 62%),#0d0e17; }
.landing-world-companion .north-hero-copy { width:45%; max-width:600px; text-align:left; }
.landing-world-companion .companion-eyebrow { color:#69c9e1; font:500 12px/1.5 monospace; letter-spacing:.23em; margin:0 0 22px; }
.landing-world-companion .north-hero h1 { font-size:clamp(38px,5.6vw,86px); font-weight:850; line-height:1.08; letter-spacing:-.045em; }
.landing-world-companion #hero-title span { display:block; white-space:nowrap; }
.landing-world-companion #hero-title > span:first-child { background:linear-gradient(#fff 15%,#b7dfee); color:#eff9ff; background-clip:text; -webkit-text-fill-color:transparent; }
.landing-world-companion #hero-title .world-outline { margin-top:8px; color:transparent; -webkit-text-fill-color:transparent; -webkit-text-stroke:1.5px #d1d5e5; }
.landing-world-companion .north-hero-copy > p { max-width:410px; margin:28px 0 0; text-align:left; font-size:18px; line-height:1.65; color:#aebacb; }
.landing-world-companion .companion-actions { justify-content:start; flex-wrap:wrap; gap:12px 24px; margin-top:30px; }
.landing-world-companion .companion-actions a { white-space:nowrap; }
.landing-world-companion .companion-actions a:first-child { padding:11px 22px; background:#f6f8ff; border:0; border-radius:12px; color:#171b28; font-weight:600; }
.landing-world-companion .companion-actions a:first-child:hover { background:#c6e7f1; }
.landing-world-companion .companion-actions a:last-child { color:#c0c9db; }
.world-caption { margin-top:42px; font:10px/1.6 monospace; color:#7c8c9d; letter-spacing:.08em; }
.world-scene { position:absolute; width:56%; height:auto; max-height:calc(100% - 95px); right:0; bottom:0; overflow:visible; }
.world-stars { fill:#c4d8ec; animation:world-twinkle 7s ease-in-out infinite alternate; }
.world-orbit { stroke:#9fb8ca; stroke-width:1; stroke-dasharray:4 8; opacity:.4; animation:world-transmit 20s linear infinite; }
.world-leader { animation:world-hover 7s ease-in-out infinite alternate; transform-origin:430px 500px; }
.world-eyes { transform-box:fill-box; transform-origin:center; animation:world-blink 8s infinite; }
.world-greeting rect { fill:#121925; stroke:#334352; stroke-width:1; }
.world-greeting text { fill:#c6d8e4; font:11px monospace; }
.world-greeting { animation:world-hover 9s ease-in-out infinite alternate; }
.world-greeting-1 { animation-delay:-4s; }
.world-greeting-2 { animation-delay:-7s; }
.world-greeting-3 { animation-delay:-2s; }
.world-speech > path { fill:#f8fbff; }
.world-speech text { fill:#181c29; font:700 22px monospace; }
.world-cursor { animation:world-cursor 1.4s steps(1,end) infinite; }
.world-helper { transform-box:fill-box; transform-origin:50% 100%; animation:world-helper-wave 6s ease-in-out infinite alternate; }
.world-helper-1 { animation-delay:-3s; }
.world-helper-2 { animation-delay:-5s; }
.world-role { fill:#bacadd; font:12px monospace; letter-spacing:1px; }
@keyframes world-hover { to { transform:translateY(-9px) rotate(-1deg); } }
@keyframes world-helper-wave { from { transform:rotate(-6deg); } to { transform:rotate(6deg) translateY(-3px); } }
@keyframes world-twinkle { to { opacity:.45; } }
@keyframes world-transmit { to { stroke-dashoffset:-120; } }
@keyframes world-blink { 0%,44%,48%,100% { transform:scaleY(1); } 46% { transform:scaleY(.1); } }
@keyframes world-cursor { 0%,60% { opacity:1; } 61%,100% { opacity:0; } }
.landing-study-companion-world-violet .north-hero { background:radial-gradient(ellipse at 85% 75%,#392550,transparent 65%),#191322; }
.landing-study-companion-world-violet .companion-eyebrow { color:#bd94e9; }
.landing-study-companion-world-violet #hero-title > span:first-child { background-image:linear-gradient(#fff,#cba7ef); }
.landing-study-companion-world-violet .north-hero-copy > p { color:#c2b1d0; }
.landing-study-companion-world-violet .companion-actions a:first-child { background:#e9d9fa; color:#342242; }
.landing-study-companion-world-violet .companion-actions a:first-child:hover { background:#d8bced; }
.landing-study-companion-world-violet .world-greeting rect { fill:#261b35; stroke:#534263; }
.landing-study-companion-world-polar .north-hero { background:radial-gradient(ellipse at 85% 70%,#d1e6ef,transparent 70%),#f1f6fa; }
.landing-study-companion-world-polar .companion-eyebrow { color:#47798c; }
.landing-study-companion-world-polar #hero-title > span:first-child { background-image:linear-gradient(#213c50,#4f8399); }
.landing-study-companion-world-polar #hero-title .world-outline { -webkit-text-stroke-color:#47778b; }
.landing-study-companion-world-polar .north-hero-copy > p { color:#5d7385; }
.landing-study-companion-world-polar .companion-actions a:first-child { background:#264e63; color:#f4fbff; }
.landing-study-companion-world-polar .companion-actions a:first-child:hover { background:#356b82; }
.landing-study-companion-world-polar .companion-actions a:last-child { color:#355d72; }
.landing-study-companion-world-polar .world-caption { color:#657f8e; }
.landing-study-companion-world-polar .world-stars { fill:#638ba0; }
.landing-study-companion-world-polar .world-orbit { stroke:#527e94; }
.landing-study-companion-world-polar .world-greeting rect { fill:#f5faff; stroke:#c2d6e1; }
.landing-study-companion-world-polar .world-greeting text, .landing-study-companion-world-polar .world-role { fill:#406477; }
.landing-study-companion-world-polar .north-nav, .landing-study-companion-world-polar .north-nav a { color:#355468; }
@media(min-width:761px) and (max-width:1000px) {
  .landing-world-companion .north-hero h1 { font-size:clamp(32px,5vw,50px); }
  .landing-world-companion .north-hero-copy > p { font-size:16px; }
  .landing-world-companion .companion-actions { gap:8px 18px; }
  .landing-world-companion .companion-actions a { font-size:14px; gap:10px; }
  .world-caption { font-size:9px; margin-top:28px; }
}
@media(max-width:760px) {
  .landing-world-companion .north-hero { height:auto; min-height:100svh; padding:145px 8% 390px; align-items:start; }
  .landing-world-companion .north-hero-copy { width:100%; max-width:500px; }
  .landing-world-companion .north-hero h1 { font-size:clamp(36px,8.6vw,62px); }
  .landing-world-companion .companion-eyebrow { font-size:10px; }
  .landing-world-companion .north-hero-copy > p { font-size:16px; margin-top:22px; }
  .world-caption { font-size:9px; margin-top:25px; }
  .world-scene { width:440px; max-width:100%; height:390px; max-height:none; right:50%; bottom:0; translate:50% 0; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-world-companion .north-hero { padding-block:85px 25px; }
  .landing-world-companion .north-hero h1 { font-size:clamp(30px,4.2vw,54px); }
  .landing-world-companion .companion-eyebrow { font-size:9px; margin-bottom:10px; }
  .landing-world-companion .north-hero-copy > p { margin-top:12px; font-size:14px; }
  .landing-world-companion .companion-actions { margin-top:16px; gap:8px 16px; }
  .landing-world-companion .companion-actions a { font-size:14px; gap:10px; }
  .landing-world-companion .companion-actions a:first-child { padding:8px 16px; }
  .world-caption { display:none; }
  .world-scene { max-height:calc(100% - 60px); }
}
@media(prefers-reduced-motion:reduce) {
  .world-stars, .world-orbit, .world-leader, .world-eyes, .world-greeting, .world-helper, .world-cursor { animation:none !important; }
}

/* Violet Orbit uses the same quiet DM Sans treatment as Midnight Crew. */
.landing-study-companion-world-violet .north-hero h1 { font-family:'DM Sans',sans-serif; font-size:clamp(40px,4.5vw,68px); font-weight:500; line-height:1.12; letter-spacing:-.045em; }
.landing-study-companion-world-violet .world-helper-3 { animation-delay:-1s; animation-duration:8s; }
.landing-study-companion-world-violet .world-helper-4 { animation-delay:-4s; animation-duration:7s; }
.landing-study-companion-world-violet .world-helper-5 { animation-delay:-2s; animation-duration:9s; }
.landing-study-companion-world-violet .world-helper-6 { animation-delay:-5s; animation-duration:8s; }
.landing-study-companion-world-violet .world-helper-7 { animation-delay:-3s; animation-duration:10s; }
@media(max-width:760px) {
  .landing-study-companion-world-violet .north-hero h1 { font-size:clamp(36px,7.2vw,52px); }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-study-companion-world-violet .north-hero h1 { font-size:clamp(32px,4vw,50px); }
}

/* A quiet tilted orbit with small, fixed task labels. */
.landing-request-companion .north-hero h1 { font-family:'DM Sans',sans-serif; font-size:clamp(40px,4.5vw,68px); font-weight:500; line-height:1.12; letter-spacing:-.045em; }
.request-orbit { stroke-width:1; opacity:.35; stroke-dasharray:4 8; animation:world-transmit 12s linear infinite; }
.request-card rect { fill:#19283b; stroke:#4e7b9e; stroke-opacity:.35; stroke-width:1; }
.request-card text { fill:#d8e2ef; font:500 11px 'DM Sans',sans-serif; letter-spacing:0; }
.landing-request-companion .world-atmosphere *:not(.request-orbit) { animation:none !important; }
.landing-study-companion-requests-violet .north-hero { background:radial-gradient(ellipse at 85% 75%,#392550,transparent 65%),#191322; }
.landing-study-companion-requests-violet .north-hero-copy > p { color:#c2b1d0; }
.landing-study-companion-requests-violet .companion-actions a:first-child { background:#e9d9fa; color:#342242; }
.landing-study-companion-requests-violet .companion-actions a:first-child:hover { background:#d8bced; }
.landing-study-companion-requests-violet .request-card rect { fill:#2a1c3d; stroke:#84639f; }
.landing-study-companion-requests-violet .request-card circle { fill:#d4b5f7; }
.landing-study-companion-requests-violet .request-orbit { stroke:#b59acb; }
.landing-study-companion-requests-cobalt .north-hero { background:radial-gradient(ellipse at 85% 70%,#1b355c,transparent 65%),#101726; }
.landing-study-companion-requests-cobalt .companion-actions a:first-child { background:#d4e9ff; color:#223953; }
.landing-study-companion-requests-cobalt .companion-actions a:first-child:hover { background:#bad8f4; }
.landing-study-companion-requests-aurora .north-hero { background:radial-gradient(ellipse at 85% 75%,#214840,transparent 65%),#111f25; }
.landing-study-companion-requests-aurora .north-hero-copy > p { color:#b4cec9; }
.landing-study-companion-requests-aurora .companion-actions a:first-child { background:#d8f2e8; color:#25483d; }
.landing-study-companion-requests-aurora .companion-actions a:first-child:hover { background:#bde2d4; }
.landing-study-companion-requests-aurora .companion-actions a:last-child { color:#bbd9d0; }
.landing-study-companion-requests-aurora .request-card rect { fill:#1b3532; stroke:#5b9685; }
.landing-study-companion-requests-aurora .request-card circle { fill:#a4e6cb; }
.landing-study-companion-requests-aurora .request-orbit { stroke:#8bc3b1; }
@media(max-width:760px) {
  .landing-request-companion .north-hero h1 { font-size:clamp(36px,7.2vw,52px); }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-request-companion .north-hero h1 { font-size:clamp(32px,4vw,50px); }
}
@media(prefers-reduced-motion:reduce) {
  .landing-request-companion .request-card, .landing-request-companion .world-helper { animation:none !important; }
}

/* Round Rover with the sculpted violet team: three typography studies. */
.landing-rover-study .north-hero { background:radial-gradient(ellipse at 90% 70%,#493056,transparent 65%),#21162e; }
.landing-rover-study .north-brand-icon > img { width:36px; height:36px; object-fit:contain; }
.landing-rover-study .north-hero-copy { width:45%; max-width:590px; }
.landing-rover-study .sculpted-light { background:radial-gradient(ellipse,#c696ff15,transparent 60%); }
.landing-rover-study .north-hero h1 { font-size:clamp(48px,5vw,76px); font-weight:550; letter-spacing:-.055em; }
.rover-lockup { display:flex; align-items:center; gap:16px; }
.rover-lockup > img { width:.95em; height:.95em; flex:none; filter:brightness(1.4); }
.rover-tagline { display:block; margin-top:21px; font-size:.52em; line-height:1.25; font-weight:400; letter-spacing:-.035em; }
.landing-rover-study .north-hero-copy > p { color:#c9b9d9; max-width:380px; font-size:18px; }
.landing-rover-study .companion-actions a:first-child { background:#e8d8fa; color:#3b2949; }
.landing-rover-study .companion-actions a:first-child:hover { background:#d6bfef; }
.landing-rover-study .companion-actions a:last-child { color:#d6c4e4; }
.landing-study-companion-sculpted-rover .north-hero { background:radial-gradient(ellipse at 80% 70%,#382747,transparent 60%),#181220; }
.landing-study-companion-sculpted-rover .north-hero h1 { font-weight:650; font-size:clamp(48px,5.3vw,80px); }
.landing-study-companion-sculpted-rover .rover-tagline { font-weight:350; }
.landing-study-companion-sculpted-rover .companion-actions a:first-child { border-radius:12px; }
.landing-study-companion-sculpted-rover .sculpted-team { width:53%; }
.landing-study-companion-sculpted-cloud .north-hero { height:auto; min-height:100svh; padding:145px 7% 430px; align-items:start; justify-items:center; background:radial-gradient(ellipse at 50% 75%,#5d416d,transparent 70%),#2c2039; }
.landing-study-companion-sculpted-cloud .north-hero-copy { width:100%; max-width:750px; text-align:center; }
.landing-study-companion-sculpted-cloud .north-hero h1 { font-family:'Quicksand',sans-serif; font-size:clamp(48px,5vw,76px); font-weight:500; letter-spacing:-.045em; }
.landing-study-companion-sculpted-cloud .rover-lockup { justify-content:center; }
.landing-study-companion-sculpted-cloud .rover-tagline { font-size:.5em; margin-top:16px; font-weight:450; }
.landing-study-companion-sculpted-cloud .north-hero-copy > p { text-align:center; max-width:600px; margin:22px auto 0; font-family:'Quicksand',sans-serif; font-weight:500; }
.landing-study-companion-sculpted-cloud .companion-actions { justify-content:center; margin-top:26px; font-family:'Quicksand',sans-serif; }
.landing-study-companion-sculpted-cloud .sculpted-team { width:600px; max-width:90%; height:450px; max-height:none; top:auto; right:50%; bottom:0; translate:50% 0; }
.landing-study-companion-sculpted-editorial .north-hero { justify-items:end; background:radial-gradient(ellipse at 15% 70%,#50354f,transparent 65%),#271c2b; }
.landing-study-companion-sculpted-editorial .north-hero-copy { width:44%; }
.landing-study-companion-sculpted-editorial .north-hero h1 { font-family:Georgia,serif; font-size:clamp(48px,5vw,76px); font-weight:400; letter-spacing:-.055em; }
.landing-study-companion-sculpted-editorial .rover-tagline { font-style:italic; font-size:.52em; color:#e3c8e7; }
.landing-study-companion-sculpted-editorial .rover-lockup { gap:18px; }
.landing-study-companion-sculpted-editorial .rover-lockup > img { width:.8em; height:.8em; }
.landing-study-companion-sculpted-editorial .sculpted-team { left:0; right:auto; width:52%; }
.landing-study-companion-sculpted-editorial .companion-actions a:first-child { background:#efd9e5; color:#412936; }
@media(min-width:761px) and (max-width:1000px) {
  .landing-rover-study .north-hero h1 { font-size:clamp(36px,4.7vw,48px); }
  .landing-rover-study .rover-lockup { gap:10px; }
  .landing-rover-study .rover-tagline { font-size:.6em; }
  .landing-rover-study .north-hero-copy > p { font-size:16px; }
}
@media(max-width:760px) {
  .landing-rover-study .north-hero-copy { width:100%; }
  .landing-rover-study .north-hero h1 { font-size:clamp(40px,9.4vw,64px); }
  .landing-rover-study .rover-lockup { gap:12px; }
  .landing-rover-study .rover-tagline { margin-top:17px; font-size:.6em; }
  .landing-rover-study .north-hero-copy > p { font-size:16px; }
  .landing-study-companion-sculpted-cloud .north-hero { padding-bottom:340px; }
  .landing-study-companion-sculpted-cloud .sculpted-team { width:440px; max-width:100%; height:340px; }
  .landing-study-companion-sculpted-editorial .sculpted-team { width:440px; max-width:110%; left:auto; right:50%; }
  .landing-study-companion-sculpted-rover .sculpted-team { width:440px; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-rover-study .north-hero h1 { font-size:clamp(34px,4vw,50px); }
  .landing-rover-study .rover-tagline { margin-top:12px; }
  .landing-rover-study .north-hero-copy > p { font-size:14px; }
  .landing-study-companion-sculpted-cloud .north-hero { padding-top:100px; }
}

/* Amethyst introductions: the companion becomes the navigation identity after the hero. */
.landing-grid-intro .north-brand-icon > img { width:40px; height:40px; object-fit:contain; }
.landing-grid-intro .north-nav.past-brand .north-brand-name { display:inline; }
.landing-grid-intro .north-hero-copy { grid-template-columns:1.2fr 1fr; gap:5%; }
.landing-grid-intro .north-hero h1 { font-family:'DM Sans',sans-serif; font-weight:500; font-size:clamp(38px,4.5vw,68px); line-height:1.12; letter-spacing:-.045em; }
.landing-grid-intro #hero-title > span { display:block; }
.landing-grid-intro #hero-title > span + span { margin-top:17px; font-size:.66em; line-height:1.2; letter-spacing:-.035em; color:#d9c5ed; }
.landing-grid-intro .poster-description { max-width:390px; font-size:18px; line-height:1.6; margin-top:28px; }
.landing-study-companion-grid-rounded .north-hero { background:radial-gradient(ellipse at 20% 60%,#5b3b70,transparent 65%),#2b2039; }
.landing-study-companion-grid-rounded .north-hero-copy { grid-template-columns:1fr 1.2fr; }
.landing-study-companion-grid-rounded .poster-copy { grid-column:2; }
.landing-study-companion-grid-rounded .studio-sculpture { grid-column:1; grid-row:1; }
.landing-study-companion-grid-rounded .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:500; letter-spacing:-.055em; }
.landing-study-companion-grid-rounded .poster-description { font-family:'Quicksand',sans-serif; font-weight:500; color:#dacbe6; }
.landing-study-companion-grid-rounded .studio-figure { animation-duration:8s; }
.landing-study-companion-grid-editorial .north-hero { background:radial-gradient(ellipse at 85% 70%,#51324e,transparent 70%),#261c2c; }
.landing-study-companion-grid-editorial .north-hero h1 { font-family:Georgia,serif; font-weight:400; letter-spacing:-.055em; }
.landing-study-companion-grid-editorial #hero-title > span + span { font-style:italic; color:#e3c8dd; }
.landing-study-companion-grid-editorial .companion-actions a:first-child { background:#ead5e3; color:#412739; border-radius:12px; }
.landing-study-companion-grid-editorial .studio-highlight { stop-color:#fff2f9; }
.landing-study-companion-grid-editorial .studio-midtone { stop-color:#d0adc6; }
.landing-study-companion-grid-editorial .studio-shadow { stop-color:#8d6387; }
@media(max-width:760px) {
  .landing-grid-intro .north-hero-copy { grid-template-columns:1fr; gap:28px; }
  .landing-grid-intro .north-hero h1 { font-size:clamp(32px,7.6vw,52px); }
  .landing-grid-intro #hero-title > span + span { font-size:.7em; margin-top:14px; }
  .landing-grid-intro .poster-description { font-size:16px; margin-top:22px; }
  .landing-study-companion-grid-rounded .poster-copy, .landing-study-companion-grid-rounded .studio-sculpture { grid-column:auto; grid-row:auto; }
  .landing-grid-intro .north-brand-name { font-size:23px; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-grid-intro .north-hero h1 { font-size:clamp(30px,4vw,48px); }
  .landing-grid-intro .poster-description { font-size:15px; margin-top:18px; }
  .landing-grid-intro #hero-title > span + span { margin-top:12px; }
}

.landing-study-companion-depth-violet .north-nav.past-brand .north-brand-name { display:inline; }

/* Quicksand Rover studies, with the identity revealed beyond the hero. */
.landing-rounded-rover .north-nav.past-brand .north-brand-name { display:inline; }
.landing-rounded-rover .north-hero h1 { font-family:'Quicksand',sans-serif; font-size:clamp(48px,5vw,76px); font-weight:500; letter-spacing:-.045em; }
.landing-rounded-rover .rover-tagline { font-size:.5em; margin-top:16px; font-weight:450; }
.landing-rounded-rover .north-hero-copy > p { font-family:'Quicksand',sans-serif; font-weight:500; }
.landing-rounded-rover .companion-actions { font-family:'Quicksand',sans-serif; }
.landing-study-companion-sculpted-dusk .north-hero { background:radial-gradient(ellipse at 80% 70%,#30203e,transparent 65%),#110d1a; }
.landing-study-companion-sculpted-dusk .sculpted-team { width:50%; right:3%; }
.landing-study-companion-sculpted-dusk .companion-actions a:first-child { border-radius:999px; background:#eee3fc; }
.landing-study-companion-sculpted-dusk .sculpted-bot { animation-duration:10s; }
.landing-study-companion-sculpted-horizon .north-hero { height:auto; min-height:100svh; padding:145px 7% 440px; align-items:start; justify-items:center; background:radial-gradient(ellipse at 50% 85%,#60447b,transparent 70%),#231b32; }
.landing-study-companion-sculpted-horizon .north-hero-copy { width:100%; max-width:750px; text-align:center; }
.landing-study-companion-sculpted-horizon .rover-lockup { justify-content:center; }
.landing-study-companion-sculpted-horizon .north-hero-copy > p { text-align:center; max-width:600px; margin:24px auto 0; }
.landing-study-companion-sculpted-horizon .companion-actions { justify-content:center; }
.landing-study-companion-sculpted-horizon .sculpted-team { width:700px; max-width:95%; height:440px; max-height:none; top:auto; bottom:0; right:50%; translate:50% 0; }
.landing-study-companion-sculpted-bloom .north-hero { justify-items:end; background:radial-gradient(ellipse at 15% 70%,#59334f,transparent 65%),#281a30; }
.landing-study-companion-sculpted-bloom .north-hero-copy { width:44%; }
.landing-study-companion-sculpted-bloom .sculpted-team { left:0; right:auto; width:52%; }
.landing-study-companion-sculpted-bloom .companion-actions a:first-child { background:#f0d8e8; color:#46283d; border-radius:12px; }
@media(min-width:761px) and (max-width:1000px) {
  .landing-rounded-rover .north-hero h1 { font-size:clamp(36px,4.7vw,48px); }
  .landing-rounded-rover .rover-tagline { font-size:.6em; }
}
@media(max-width:760px) {
  .landing-rounded-rover .north-hero-copy { width:100%; }
  .landing-rounded-rover .north-hero h1 { font-size:clamp(40px,9.4vw,64px); }
  .landing-rounded-rover .rover-tagline { font-size:.6em; }
  .landing-rounded-rover .sculpted-team { width:440px; max-width:110%; height:340px; left:auto; right:50%; }
  .landing-study-companion-sculpted-horizon .north-hero { padding-bottom:340px; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-rounded-rover .north-hero h1 { font-size:clamp(34px,4vw,50px); }
  .landing-rounded-rover .rover-tagline { margin-top:12px; }
  .landing-study-companion-sculpted-horizon .north-hero { padding-top:100px; }
}

/* Soft team portraits, inspired by a welcoming companion and its little specialists. */
.landing-cove-companion .north-hero { background:radial-gradient(ellipse at 85% 55%,#45296a,transparent 65%),#181022; }
.landing-cove-companion .north-hero-copy { width:48%; max-width:620px; }
.landing-cove-companion .north-hero h1 { font-family:'DM Sans',sans-serif; font-weight:500; font-size:clamp(38px,4.3vw,66px); line-height:1.13; letter-spacing:-.05em; }
.landing-cove-companion #hero-title > span { display:block; }
.landing-cove-companion #hero-title > span + span { font-size:.7em; line-height:1.2; margin-top:16px; color:#dbc6f3; }
.landing-cove-companion .north-hero-copy > p { color:#c8b9da; font-size:18px; margin-top:28px; }
.landing-cove-companion .companion-actions a:first-child { background:#e8d9ff; color:#302040; }
.landing-cove-companion .companion-actions a:first-child:hover { background:#cbb0ee; }
.landing-cove-companion .companion-actions a:last-child { color:#d6c1e9; }
.landing-cove-companion .north-nav.past-brand .north-brand-name { display:inline; }
.cove-team { width:54%; right:0; }
.cove-bot { transform-origin:50px 95px; animation:cove-bob 4s ease-in-out infinite; }
.cove-bot-0 { animation:cove-breathe 6s ease-in-out infinite; }
.cove-bot-2 { animation-delay:-1.5s; animation-duration:4.8s; }
.cove-bot-3 { animation-delay:-2.7s; }
.cove-bot-4 { animation-delay:-.8s; animation-duration:5s; }
.cove-eyes { fill:#100d1b; transform-box:fill-box; transform-origin:center; animation:sculpted-blink 7s infinite; }
.cove-bot-2 .cove-eyes, .cove-bot-4 .cove-eyes { animation-delay:-3s; }
@keyframes cove-bob { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-5px) rotate(2deg); } }
@keyframes cove-breathe { 0%,100% { transform:scale(1,1); } 50% { transform:scale(1.025,.975) rotate(1deg); } }
.landing-study-companion-cove-lilac .north-hero { background:radial-gradient(ellipse at 80% 55%,#654780,transparent 70%),#2a1c3b; }
.landing-study-companion-cove-lilac .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:500; letter-spacing:-.055em; }
.landing-study-companion-cove-lilac .north-hero-copy > p, .landing-study-companion-cove-lilac .companion-actions { font-family:'Quicksand',sans-serif; font-weight:500; }
.landing-study-companion-cove-plum .north-hero { background:radial-gradient(ellipse at 85% 65%,#59354f,transparent 70%),#261723; }
.landing-study-companion-cove-plum .north-hero h1 { font-family:Georgia,serif; font-weight:400; letter-spacing:-.045em; }
.landing-study-companion-cove-plum #hero-title > span + span { font-style:italic; color:#eccfe3; }
.landing-study-companion-cove-plum .companion-actions a:first-child { background:#efdae6; border-radius:12px; }
.landing-study-companion-cove-midnight .north-hero { background:radial-gradient(ellipse at 85% 55%,#292159,transparent 65%),#110c20; }
.landing-study-companion-cove-midnight .north-hero h1 { font-weight:750; letter-spacing:-.06em; }
.landing-study-companion-cove-midnight #hero-title > span + span { font-weight:400; }
.landing-study-companion-cove-midnight .companion-actions a:first-child { border-radius:10px; }
@media(min-width:761px) and (max-width:1000px) {
  .landing-cove-companion .north-hero h1 { font-size:clamp(30px,4vw,42px); }
  .landing-cove-companion .north-hero-copy > p { font-size:16px; }
}
@media(max-width:760px) {
  .landing-cove-companion .north-hero-copy { width:100%; }
  .landing-cove-companion .north-hero h1 { font-size:clamp(32px,7.7vw,52px); }
  .landing-cove-companion #hero-title > span + span { font-size:.73em; margin-top:12px; }
  .landing-cove-companion .north-hero-copy > p { font-size:16px; margin-top:22px; }
  .landing-cove-companion .cove-team { width:430px; max-width:110%; right:50%; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-cove-companion .north-hero h1 { font-size:clamp(30px,3.8vw,48px); }
  .landing-cove-companion .north-hero-copy > p { margin-top:18px; font-size:15px; }
}
@media(prefers-reduced-motion:reduce) {
  .cove-bot, .cove-eyes { animation:none !important; }
}

/* Named companions: readable labels sit outside the animated SVG faces. */
.landing-named-cove .north-hero { background:radial-gradient(ellipse at 80% 55%,#513565,transparent 70%),#241830; }
.landing-named-cove .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:500; letter-spacing:-.04em; }
.landing-named-cove .north-hero-copy { width:45%; }
.named-team { position:absolute; z-index:1; width:46%; right:4%; top:50%; translate:0 -45%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 16px; }
.named-agent { display:flex; flex-direction:column; align-items:center; min-width:0; text-align:center; }
.named-agent svg { width:115px; max-width:100%; overflow:visible; }
.named-name { font:600 18px/1.5 'Quicksand',sans-serif; color:#f4eafa; margin-top:6px; }
.named-role { font:400 14px/1.5 'DM Sans',sans-serif; color:#c9b7d7; }
.named-bob { transform-origin:50px 95px; animation:cove-bob 5s ease-in-out infinite; }
.named-agent:nth-child(2n) .named-bob { animation-delay:-2s; animation-duration:6s; }
.named-agent:nth-child(3n) .named-bob { animation-delay:-3s; }
.named-eyes { fill:#21132d; transform-box:fill-box; transform-origin:center; animation:sculpted-blink 8s infinite; }
.named-agent:nth-child(2n) .named-eyes { animation-delay:-4s; }
.landing-study-companion-cove-names .named-team { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.landing-study-companion-cove-names .named-agent-0 { grid-column:1/-1; margin-bottom:12px; }
.landing-study-companion-cove-names .named-agent-0 svg { width:210px; }
.landing-study-companion-cove-names .named-agent:not(:first-child) svg { width:100px; }
.landing-study-companion-cove-circle .north-hero { background:radial-gradient(ellipse at 80% 50%,#3e2b65,transparent 65%),#1c142b; }
.landing-study-companion-cove-circle .named-agent:nth-child(3n + 2) { translate:0 -20px; }
.landing-study-companion-cove-circle .named-smile { display:none; }
.landing-study-companion-cove-studio .north-hero { background:radial-gradient(ellipse at 85% 65%,#30243f,transparent 65%),#130e1c; }
.landing-study-companion-cove-studio .north-hero h1 { font-family:'DM Sans',sans-serif; font-weight:400; letter-spacing:-.035em; }
.landing-study-companion-cove-studio .named-agent { background:#b48bd609; border:1px solid #c4a5df22; border-radius:22px; padding:20px 8px; }
.landing-study-companion-cove-studio .named-agent svg { width:100px; }
@media(min-width:761px) and (max-width:1000px) {
  .named-team { width:46%; right:3%; gap:22px 10px; }
  .named-name { font-size:16px; }
  .named-role { font-size:13px; }
  .landing-study-companion-cove-names .named-team { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .landing-study-companion-cove-names .named-agent-0 svg { width:110px; }
  .landing-study-companion-cove-names .named-agent:not(:first-child) svg { width:65px; }
}
@media(max-width:760px) {
  .landing-named-cove .north-hero { padding:145px 8% 45px; display:flex; flex-direction:column; gap:55px; }
  .landing-named-cove .north-hero-copy { width:100%; }
  .named-team { position:relative; top:auto; right:auto; translate:none; width:100%; max-width:500px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 18px; }
  .named-agent svg { width:105px; }
  .named-name { font-size:17px; }
  .named-role { font-size:14px; }
  .landing-study-companion-cove-names .named-team { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 18px; }
  .landing-study-companion-cove-names .named-agent-0 svg { width:165px; }
  .landing-study-companion-cove-circle .named-agent:nth-child(3n + 2) { translate:none; }
}
@media(max-height:650px) and (min-width:761px) {
  .named-team { gap:14px; }
  .named-agent svg { width:65px; }
  .named-name { font-size:15px; }
  .named-role { font-size:12px; }
  .landing-study-companion-cove-names .named-team { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .landing-study-companion-cove-names .named-agent-0 { margin-bottom:0; }
  .landing-study-companion-cove-names .named-agent-0 svg { width:90px; }
  .landing-study-companion-cove-names .named-agent:not(:first-child) svg { width:55px; }
  .landing-study-companion-cove-studio .named-agent { padding:10px 6px; }
  .landing-study-companion-cove-studio .named-agent svg { width:65px; }
}
@media(prefers-reduced-motion:reduce) {
  .named-bob, .named-eyes { animation:none !important; }
}
.landing-named-cove .frost-art { display:none; }
@media(max-width:760px) {
  .landing-named-cove .north-hero-copy { order:1; }
  .landing-named-cove .named-team { order:2; }
}

/* Four quiet, independent compositions: mobile, doorway, relay, folded paper. */
.landing-creative-study .north-hero { height:auto; min-height:100svh; padding:125px 7% 65px; display:grid; grid-template-columns:1.1fr 1fr; gap:5%; align-items:center; background:#211729; }
.landing-creative-study .north-hero-copy { order:1; width:100%; max-width:none; text-align:left; }
.landing-creative-study .creative-art { position:relative; inset:auto; order:2; width:100%; height:auto; z-index:1; pointer-events:none; }
.creative-art > svg { display:block; width:100%; max-height:620px; overflow:visible; }
.landing-creative-study .north-hero h1 { font:400 clamp(38px,4.1vw,64px)/1.15 'DM Sans',sans-serif; letter-spacing:-.045em; color:#f5eff8; }
.landing-creative-study #hero-title > span { display:block; }
.landing-creative-study #hero-title > span + span { font-size:.73em; color:#b9a1cb; margin-top:18px; line-height:1.2; }
.landing-creative-study .north-hero-copy > p { font:400 18px/1.6 'DM Sans',sans-serif; color:#baa9c5; margin:28px 0 0; }
.landing-creative-study .companion-actions { display:flex; gap:28px; align-items:center; justify-content:start; flex-wrap:wrap; margin-top:34px; }
.landing-creative-study .companion-actions a { font:500 16px/1.5 'DM Sans',sans-serif; display:inline-flex; align-items:center; gap:22px; color:#d9c9e4; white-space:nowrap; }
.landing-creative-study .companion-actions a:first-child { padding:13px 24px; border-radius:999px; color:#33243f; background:#e7daef; }
.landing-creative-study .companion-actions a:first-child:hover { background:#d0b5e0; }
.landing-creative-study .companion-actions a:last-child:hover { text-decoration:underline; text-underline-offset:5px; }
.landing-creative-study .north-nav.past-brand .north-brand-name { display:inline; }
.edit-eyes { fill:#302139; transform-box:fill-box; transform-origin:center; animation:sculpted-blink 8s infinite; }
.edit-bot-1 .edit-eyes, .edit-bot-3 .edit-eyes { animation-delay:-3s; }
.landing-study-companion-edit-mobile .north-hero { background:#f2efe7; }
.landing-study-companion-edit-mobile .north-hero h1 { color:#3e3541; font-weight:400; }
.landing-study-companion-edit-mobile #hero-title > span + span { color:#8c759d; }
.landing-study-companion-edit-mobile .north-hero-copy > p { color:#766d78; }
.landing-study-companion-edit-mobile .companion-actions a:first-child { color:#faf6fc; background:#665172; }
.landing-study-companion-edit-mobile .companion-actions a:first-child:hover { background:#503d5b; }
.landing-study-companion-edit-mobile .companion-actions a:last-child,
.landing-study-companion-edit-mobile .north-nav nav, .landing-study-companion-edit-mobile .north-login { color:#66596d; }
.edit-mobile-top { transform-origin:310px 104px; animation:edit-swing 11s ease-in-out infinite alternate; }
.edit-mobile-bottom { transform-origin:300px 352px; animation:edit-swing 7s ease-in-out infinite alternate-reverse; }
.edit-hanging { animation:edit-swing 8s ease-in-out infinite alternate; }
.hanging-one { transform-origin:120px 166px; }
.hanging-two { transform-origin:470px 90px; animation-delay:-4s; }
@keyframes edit-swing { from { transform:rotate(-4deg); } to { transform:rotate(4deg); } }
.landing-study-companion-edit-door .north-hero { background:radial-gradient(ellipse at 70% 70%,#36263f,transparent 60%),#18121f; }
.landing-study-companion-edit-door .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:500; }
.edit-peeker { transform-origin:360px 490px; animation:edit-peek 9s ease-in-out infinite; }
.edit-visitor { transform-origin:128px 505px; animation:edit-visit 9s ease-in-out infinite; }
@keyframes edit-peek { 0%,100% { transform:translate(55px,85px) rotate(9deg); } 35%,65% { transform:translate(-10px,0) rotate(-6deg); } }
@keyframes edit-visit { 0%,100% { transform:translateX(-10px) rotate(-4deg); } 40%,70% { transform:translateX(8px) rotate(6deg); } }
.landing-study-companion-edit-relay .north-hero { grid-template-columns:1fr; gap:28px; justify-items:center; padding-top:150px; background:radial-gradient(ellipse at 50% 100%,#332243,transparent 70%),#15101e; }
.landing-study-companion-edit-relay .north-hero-copy { text-align:center; max-width:850px; }
.landing-study-companion-edit-relay .north-hero h1 { font-size:clamp(40px,4.7vw,70px); font-weight:500; }
.landing-study-companion-edit-relay #hero-title > span + span { font-size:.8em; color:#d2bfdc; margin-top:10px; }
.landing-study-companion-edit-relay .north-hero-copy > p { margin-inline:auto; }
.landing-study-companion-edit-relay .companion-actions { justify-content:center; margin-top:26px; }
.landing-study-companion-edit-relay .creative-art { width:min(100%,820px); }
.edit-roles { fill:#b9a5c9; font:500 11px 'DM Sans',sans-serif; letter-spacing:2px; text-anchor:middle; }
.edit-relay-dot { animation:edit-handoff 12s ease-in-out infinite; }
@keyframes edit-handoff { 0%,12% { transform:translateX(0); } 25%,37% { transform:translateX(180px); } 50%,62% { transform:translateX(360px); } 75%,87% { transform:translateX(540px); } 100% { transform:translateX(0); } }
.landing-study-companion-edit-relay .edit-bot { transform-origin:50px 95px; animation:edit-nod 12s ease-in-out infinite; }
.landing-study-companion-edit-relay .edit-bot-1 { animation-delay:3s; }
.landing-study-companion-edit-relay .edit-bot-2 { animation-delay:6s; }
.landing-study-companion-edit-relay .edit-bot-3 { animation-delay:9s; }
@keyframes edit-nod { 0%,18%,100% { transform:rotate(0); } 8% { transform:rotate(7deg) translateY(-3px); } }
.landing-study-companion-edit-paper .north-hero { background:#e9e0f0; grid-template-columns:1fr 1.1fr; }
.landing-study-companion-edit-paper .creative-art { order:1; }
.landing-study-companion-edit-paper .north-hero-copy { order:2; }
.landing-study-companion-edit-paper .north-hero h1 { font-family:Georgia,serif; color:#3d2d47; font-size:clamp(38px,4.4vw,66px); }
.landing-study-companion-edit-paper #hero-title > span + span { font-style:italic; color:#81618f; }
.landing-study-companion-edit-paper .north-hero-copy > p { color:#796683; }
.landing-study-companion-edit-paper .companion-actions a:first-child { background:#493355; color:#f5edf9; border-radius:5px; }
.landing-study-companion-edit-paper .companion-actions a:first-child:hover { background:#624572; }
.landing-study-companion-edit-paper .companion-actions a:last-child,
.landing-study-companion-edit-paper .north-nav nav, .landing-study-companion-edit-paper .north-login { color:#695275; }
.landing-study-companion-edit-paper .edit-bot-1 .edit-eyes { fill:#f4eaf9; }
.edit-balance { transform-origin:255px 350px; animation:edit-swing 9s ease-in-out infinite alternate; }
.edit-small-balance { transform-origin:400px 400px; animation:edit-swing 6s ease-in-out infinite alternate-reverse; }
@media(max-width:1000px) and (min-width:761px) {
  .landing-creative-study .north-hero h1 { font-size:clamp(30px,4vw,42px); }
  .landing-creative-study .companion-actions { gap:16px; }
  .landing-creative-study .companion-actions a { font-size:14px; gap:12px; }
}
@media(max-width:760px) {
  .landing-creative-study .north-hero { grid-template-columns:1fr; padding:145px 8% 45px; gap:30px; }
  .landing-creative-study .north-hero-copy { order:1; }
  .landing-creative-study .creative-art { order:2; max-width:440px; justify-self:center; }
  .landing-creative-study .north-hero h1 { font-size:clamp(32px,8vw,52px); }
  .landing-creative-study #hero-title > span + span { font-size:.76em; margin-top:12px; }
  .landing-creative-study .north-hero-copy > p { font-size:16px; margin-top:22px; }
  .landing-creative-study .companion-actions { gap:16px 20px; margin-top:26px; }
  .landing-creative-study .companion-actions a { font-size:14px; gap:12px; }
  .landing-creative-study .companion-actions a:first-child { padding:12px 20px; }
  .landing-study-companion-edit-relay .north-hero { gap:40px; }
  .landing-study-companion-edit-relay .creative-art { width:100%; }
  .edit-roles { font-size:17px; letter-spacing:0; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-creative-study .north-hero { padding-block:90px 30px; }
  .landing-creative-study .north-hero h1 { font-size:clamp(30px,4vw,48px); }
  .landing-creative-study .creative-art > svg { max-height:360px; }
  .landing-study-companion-edit-relay .north-hero { gap:15px; }
  .landing-study-companion-edit-relay .creative-art { max-width:480px; }
}
@media(prefers-reduced-motion:reduce) {
  .creative-art * { animation:none !important; }
}
.landing-creative-study .north-hero-copy > p { text-align:left; }
.landing-study-companion-edit-relay .north-hero-copy > p { text-align:center; }

/* Lowercase introductions with a colorful team around an outlined lead companion. */
.landing-circle-intro .north-hero { background:radial-gradient(ellipse at 100% 65%,#30123f,transparent 65%),#100d16; }
.landing-circle-intro .north-hero-copy { grid-template-columns:1fr 1.12fr; gap:6%; max-width:1240px; }
.landing-circle-intro .north-hero h1 { font-family:'DM Sans',sans-serif; font-size:clamp(44px,5vw,74px); font-weight:400; line-height:1.06; letter-spacing:-.035em; }
.landing-circle-intro #hero-title > span { display:block; }
.circle-intro-line { font-size:.57em; color:#d7bedf; letter-spacing:-.025em; margin-bottom:20px; }
.circle-team-line { max-width:540px; text-wrap:balance; }
.landing-circle-intro .poster-description { text-align:left; font-size:18px; line-height:1.6; max-width:370px; margin-top:28px; color:#bcabc7; }
.landing-circle-intro .companion-actions { justify-content:start; gap:12px 25px; }
.landing-circle-intro .companion-actions a:first-child { background:#f2e6f7; color:#34203e; padding:12px 23px; border-radius:999px; }
.landing-circle-intro .companion-actions a:first-child:hover { background:#d5b5e6; }
.landing-circle-intro .companion-actions a:last-child { color:#d2bfdf; }
.landing-circle-intro .north-nav.past-brand .north-brand-name { display:inline; }
.landing-circle-intro .circle-leader-body { fill:#100c16; stroke:#fff7ff; stroke-width:3; }
.landing-circle-intro .circle-eyes { fill:#100b18; }
.landing-circle-intro .satellite-0 { --circle-color:#46b977; }
.landing-circle-intro .satellite-1 { --circle-color:#19b7a7; }
.landing-circle-intro .satellite-2 { --circle-color:#ef4569; }
.landing-circle-intro .satellite-3 { --circle-color:#9784ae; }
.landing-circle-intro .satellite-4 { --circle-color:#f58b30; }
.landing-circle-intro .satellite-5 { --circle-color:#9672d6; }
.landing-circle-intro .satellite-6 { --circle-color:#ed389c; }
.landing-circle-intro .satellite-7 { --circle-color:#f5ac33; }
.landing-study-companion-circle-aura .north-hero { background:radial-gradient(ellipse at 85% 55%,#4b2e62,transparent 75%),#20152d; }
.landing-study-companion-circle-aura .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:500; letter-spacing:-.045em; }
.landing-study-companion-circle-aura .circle-intro-line { color:#d2b8e5; }
.landing-study-companion-circle-aura .circle-leader-body { fill:#241630; stroke:#e4cdf3; }
.landing-study-companion-circle-aura .circle-satellite { filter:saturate(.65); animation-duration:18s; }
.landing-study-companion-circle-aura .companion-actions a:first-child { background:#decaed; }
.landing-study-companion-circle-signal .north-hero { background:radial-gradient(ellipse at 95% 80%,#291b51,transparent 60%),#10101a; }
.landing-study-companion-circle-signal .north-hero h1 { font-weight:650; letter-spacing:-.055em; }
.landing-study-companion-circle-signal .circle-intro-line { font-size:.5em; font-weight:400; color:#c7b2dc; }
.landing-study-companion-circle-signal .satellite-0 { --circle-color:#9a62ef; }
.landing-study-companion-circle-signal .satellite-1 { --circle-color:#ef479f; }
.landing-study-companion-circle-signal .satellite-2 { --circle-color:#398bf5; }
.landing-study-companion-circle-signal .satellite-3 { --circle-color:#1cbf9c; }
.landing-study-companion-circle-signal .satellite-4 { --circle-color:#ffc25b; }
.landing-study-companion-circle-signal .satellite-5 { --circle-color:#b09fd5; }
.landing-study-companion-circle-signal .satellite-6 { --circle-color:#e47380; }
.landing-study-companion-circle-signal .companion-actions a:first-child { border-radius:10px; }
@media(max-width:760px) {
  .landing-circle-intro .north-hero-copy { grid-template-columns:1fr; gap:35px; }
  .landing-circle-intro .north-hero h1 { font-size:clamp(40px,9vw,60px); }
  .landing-circle-intro .circle-intro-line { font-size:.65em; margin-bottom:16px; }
  .landing-circle-intro .poster-description { font-size:16px; margin-top:22px; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-circle-intro .north-hero h1 { font-size:clamp(32px,4.5vw,50px); }
  .landing-circle-intro .circle-intro-line { margin-bottom:12px; }
  .landing-circle-intro .poster-description { font-size:14px; margin-top:16px; }
}

/* Gather revision: match the reference's compact, asymmetric poster composition. */
.landing-study-companion-circle-gather .north-hero { background:radial-gradient(ellipse at 100% 70%,#281135,transparent 64%),#0d0c12; }
.landing-study-companion-circle-gather .north-hero-copy { max-width:1320px; grid-template-columns:1.2fr 1fr; gap:8%; }
.landing-study-companion-circle-gather .north-hero h1 { font-size:clamp(38px,4vw,58px); line-height:1.08; letter-spacing:-.025em; font-weight:400; }
.landing-study-companion-circle-gather #hero-title .circle-reference-intro { display:flex; gap:9px; align-items:center; font-size:clamp(22px,2vw,28px); letter-spacing:-.035em; margin-bottom:18px; }
.circle-reference-intro .companion-mark { width:31px; height:31px; flex:none; animation:none; }
.circle-reference-intro .companion-shell { fill:#ed359c; }
.circle-reference-intro .companion-look { fill:#140c1a; }
.landing-study-companion-circle-gather .circle-reference-your { font-size:.53em; font-style:italic; color:#ee399c; margin-bottom:7px; letter-spacing:0; }
.landing-study-companion-circle-gather .poster-description { max-width:350px; font-size:16px; line-height:1.6; margin-top:25px; color:#b6a8c0; }
.landing-study-companion-circle-gather .circle-portrait { max-width:530px; justify-self:end; }
.landing-study-companion-circle-gather .companion-actions { margin-top:25px; }
.landing-study-companion-circle-gather .companion-actions a { font-size:14px; }
.landing-study-companion-circle-gather .companion-actions a:first-child { padding:10px 20px; background:#fff; color:#24152c; }
.landing-study-companion-circle-gather .circle-leader-body { fill:#08070c; stroke:white; stroke-width:3.5; }
.landing-study-companion-circle-gather .circle-leader-eyes { fill:#fff; }
.landing-study-companion-circle-gather .satellite-8 { --circle-color:#a8814f; }
.landing-study-companion-circle-gather .circle-satellite { animation-name:circle-reference-float; }
.landing-study-companion-circle-gather .circle-leader { animation-name:circle-reference-float; }
@keyframes circle-reference-float { from { transform:translate(0,0) rotate(-1deg); } to { transform:translate(2px,-4px) rotate(1deg); } }
@media(max-width:760px) {
  .landing-study-companion-circle-gather .north-hero-copy { grid-template-columns:1fr; gap:35px; }
  .landing-study-companion-circle-gather .north-hero h1 { font-size:44px; }
  .landing-study-companion-circle-gather .circle-portrait { justify-self:center; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-study-companion-circle-gather .north-hero h1 { font-size:34px; }
  .landing-study-companion-circle-gather #hero-title .circle-reference-intro { font-size:20px; margin-bottom:12px; }
  .landing-study-companion-circle-gather .poster-description { font-size:14px; margin-top:15px; }
  .landing-study-companion-circle-gather .companion-actions { margin-top:16px; }
}

/* Colorful workflow companions: readable task labels and an animated connecting signal. */
.landing-workflow-companions .north-hero { height:auto; min-height:100svh; padding:125px 6% 75px; background:radial-gradient(ellipse at 90% 65%,#362047,transparent 70%),#160f21; }
.landing-workflow-companions .north-hero-copy { display:grid; grid-template-columns:.85fr 1.3fr; align-items:center; gap:6%; width:100%; max-width:1380px; text-align:left; }
.landing-workflow-companions .north-hero h1 { font:450 clamp(38px,4vw,60px)/1.1 'DM Sans',sans-serif; letter-spacing:-.04em; }
.landing-workflow-companions #hero-title > span { display:block; }
.landing-workflow-companions #hero-title > span:first-child { font-size:.56em; color:#c3a8d8; margin-bottom:20px; letter-spacing:-.025em; }
.bot-workflow-intro > p { font:400 17px/1.65 'DM Sans',sans-serif; color:#bda9cf; max-width:340px; margin:26px 0 0; }
.landing-workflow-companions .companion-actions { display:flex; justify-content:start; flex-wrap:wrap; gap:16px 24px; margin-top:30px; }
.landing-workflow-companions .companion-actions a { display:inline-flex; align-items:center; gap:16px; color:#d4c0e1; white-space:nowrap; font-size:15px; }
.landing-workflow-companions .companion-actions a:first-child { background:#e7d7f2; color:#32203e; border-radius:999px; padding:12px 22px; }
.landing-workflow-companions .companion-actions a:first-child:hover { background:#ccb1e0; }
.landing-workflow-companions .north-nav.past-brand .north-brand-name { display:inline; }
.bot-workflow { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(3,160px); width:100%; }
.bot-workflow-route { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.bot-workflow-route > path { stroke:#a48bb4; stroke-width:1; opacity:.45; }
.bot-workflow-route > .bot-route-signal { stroke:#e5c5ff; stroke-width:2; stroke-linecap:round; opacity:1; stroke-dasharray:2 98; animation:bot-task-travel 22s linear infinite; }
.bot-workflow-node { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; min-width:0; }
.bot-workflow-node > svg { width:72px; height:80px; overflow:visible; }
.bot-node-0 { grid-area:1/1; --bot-tint:#249ef7; }
.bot-node-1 { grid-area:1/2; --bot-tint:#ed4ebf; }
.bot-node-2 { grid-area:1/3; --bot-tint:#ffad2d; }
.bot-node-3 { grid-area:1/4; --bot-tint:#39c96b; }
.bot-node-4 { grid-area:2/4; --bot-tint:#aa65f3; }
.bot-node-5 { grid-area:2/3; --bot-tint:#17ccd0; }
.bot-node-6 { grid-area:2/2; --bot-tint:#ef54a8; }
.bot-node-7 { grid-area:3/1; --bot-tint:#f4ce43; }
.bot-node-8 { grid-area:3/2; --bot-tint:#22ce9c; }
.bot-node-9 { grid-area:3/3; --bot-tint:#8c61f6; }
.bot-node-10 { grid-area:3/4; --bot-tint:#399cff; }
.bot-step-number { color:var(--bot-tint); font:500 14px/1.5 'DM Sans',sans-serif; margin:3px 0 2px; }
.bot-step-title { color:#dccfe5; font:400 14px/1.4 'DM Sans',sans-serif; }
.workflow-bot { transform-origin:50px 80px; animation:workflow-bot-drift 5s ease-in-out infinite alternate; }
.bot-workflow-node:nth-of-type(2n) .workflow-bot { animation-delay:-3s; animation-duration:6s; }
.bot-workflow-node:nth-of-type(3n) .workflow-bot { animation-delay:-1.5s; }
.workflow-bot-eyes { fill:#0d0913; transform-box:fill-box; transform-origin:center; animation:sculpted-blink 9s infinite; }
.bot-workflow-node:nth-of-type(2n) .workflow-bot-eyes { animation-delay:-4s; }
@keyframes workflow-bot-drift { from { transform:translateY(2px) rotate(-7deg); } to { transform:translateY(-5px) rotate(6deg); } }
@keyframes bot-task-travel { to { stroke-dashoffset:-100; } }
.landing-study-companion-workflow-neon .north-hero { background:radial-gradient(ellipse at 90% 65%,#1f102e,transparent 60%),#07080c; }
.landing-study-companion-workflow-neon .north-hero h1 { font-weight:650; }
.landing-study-companion-workflow-neon #hero-title > span + span { background:linear-gradient(120deg,#7cbcf4,#c284ef 65%,#e46ac3); color:#c284ef; background-clip:text; -webkit-text-fill-color:transparent; }
.landing-study-companion-workflow-neon .bot-workflow-node > svg { filter:drop-shadow(0 0 9px color-mix(in srgb,var(--bot-tint) 22%,transparent)); }
.landing-study-companion-workflow-neon .companion-actions a:first-child { color:#bce9ed; background:transparent; border:1px solid #508c95; border-radius:6px; }
.landing-study-companion-workflow-neon .companion-actions a:first-child:hover { background:#193039; }
.landing-study-companion-workflow-neon .bot-route-signal { stroke:#46d7e5; }
.landing-study-companion-workflow-dusk .north-hero { background:radial-gradient(ellipse at 80% 70%,#493155,transparent 70%),#261c32; }
.landing-study-companion-workflow-dusk .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:500; }
.landing-study-companion-workflow-dusk .bot-workflow-node > svg { filter:saturate(.65); }
.landing-study-companion-workflow-dusk .workflow-bot { animation-duration:8s; }
@media(min-width:761px) and (max-width:1000px) {
  .landing-workflow-companions .north-hero { padding-inline:5%; }
  .landing-workflow-companions .north-hero-copy { grid-template-columns:.9fr 1.2fr; gap:4%; }
  .landing-workflow-companions .north-hero h1 { font-size:36px; }
  .bot-workflow-node > svg { width:56px; }
  .bot-step-title { font-size:13px; }
}
@media(max-width:760px) {
  .landing-workflow-companions .north-hero { padding:145px 8% 40px; }
  .landing-workflow-companions .north-hero-copy { grid-template-columns:1fr; gap:55px; }
  .landing-workflow-companions .north-hero h1 { font-size:clamp(40px,9vw,56px); }
  .bot-workflow-intro > p { font-size:16px; }
  .bot-workflow { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; gap:25px 14px; }
  .bot-workflow-node { grid-area:auto; padding:12px 5px; border-bottom:1px solid #b8a2ca20; }
  .bot-workflow-node:last-child { grid-column:1/-1; }
  .bot-workflow-route { display:none; }
  .bot-step-title { font-size:14px; }
  .bot-step-number { font-size:14px; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-workflow-companions .north-hero { padding-block:90px 25px; }
  .landing-workflow-companions .north-hero h1 { font-size:34px; }
  .bot-workflow { grid-template-rows:repeat(3,120px); }
  .bot-workflow-node > svg { height:65px; width:55px; }
  .bot-workflow-route { height:calc(100% - 15px); }
  .bot-workflow-intro > p { font-size:14px; margin-top:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .workflow-bot, .workflow-bot-eyes, .bot-route-signal { animation:none !important; }
}

/* A centered wordmark surrounded by a small, luminous world of companions. */
.landing-orbit-companions .north-hero { height:auto; min-height:100svh; padding:140px 8% 100px; justify-items:center; background:radial-gradient(ellipse at 50% 48%,#352049 0,transparent 58%),#140d21; }
.landing-orbit-companions .north-hero-copy { position:relative; width:100%; max-width:700px; text-align:center; }
.landing-orbit-companions .north-hero h1 { font:650 clamp(70px,7.7vw,118px)/1.08 'Quicksand',sans-serif; letter-spacing:-.065em; color:#f4eaff; background:linear-gradient(125deg,#fff 20%,#c6a5f0 55%,#f8eaff 80%); background-clip:text; -webkit-text-fill-color:transparent; }
.landing-orbit-companions .dream-eyebrow { font:500 11px/1.6 'DM Sans',sans-serif; text-transform:uppercase; letter-spacing:.34em; color:#d2bde6; margin:8px 0 15px; }
.landing-orbit-companions .dream-subtitle { font:400 22px/1.5 'Quicksand',sans-serif; color:#d1bfe1; text-align:center; max-width:none; margin:18px 0 0; }
.landing-orbit-companions .companion-actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:18px 30px; margin-top:40px; }
.landing-orbit-companions .companion-actions a { display:inline-flex; align-items:center; gap:22px; font:500 16px/1.5 'DM Sans',sans-serif; color:#e6d8f4; white-space:nowrap; }
.landing-orbit-companions .companion-actions a:first-child { padding:14px 25px; background:linear-gradient(135deg,#f9f0ff,#dfcaf4); color:#30203e; border:1px solid #fff8; border-radius:999px; }
.landing-orbit-companions .companion-actions a:first-child:hover { background:#f6e9ff; }
.landing-orbit-companions .north-nav.past-brand .north-brand-name { display:inline; }
.dream-lead { width:150px; height:164px; margin:0 auto 8px; filter:drop-shadow(0 0 24px #a45cef50); rotate:-10deg; }
.dream-lead svg, .dream-satellite svg, .dream-edge svg { width:100%; display:block; overflow:visible; }
.dream-bob { transform-origin:50px 60px; animation:dream-float 7s ease-in-out infinite alternate; }
.dream-eyes { fill:#190d2c; transform-box:fill-box; transform-origin:center; animation:sculpted-blink 8s infinite; }
.dream-sparks { animation:dream-spark 5s ease-in-out infinite; }
.dream-satellite { position:absolute; pointer-events:none; width:84px; z-index:1; }
.dream-sat-one { width:66px; top:80px; left:6%; rotate:-12deg; }
.dream-sat-two { width:90px; top:100px; right:2%; rotate:12deg; }
.dream-sat-three { width:94px; left:-15%; bottom:65px; rotate:-12deg; }
.dream-sat-four { width:78px; right:-14%; bottom:60px; rotate:10deg; }
.dream-sat-two .dream-bob, .dream-sat-four .dream-bob { animation-delay:-3s; animation-duration:9s; }
.dream-sat-three .dream-bob { animation-delay:-5s; }
.dream-satellite:nth-of-type(2n) .dream-eyes { animation-delay:-4s; }
.dream-rings { position:absolute; z-index:-1; width:135%; height:110%; left:-17.5%; top:-6%; pointer-events:none; overflow:visible; }
.dream-rings ellipse { stroke:#a063dc; stroke-width:1.4; opacity:.19; }
.dream-rings .dream-orbit-signal { opacity:.65; stroke:#ba8aee; stroke-width:2; stroke-linecap:round; stroke-dasharray:.45 99.55; animation:dream-circuit 24s linear infinite; }
.dream-rings .signal-two { animation-direction:reverse; animation-duration:30s; }
.dream-depth { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.dream-edge { position:absolute; width:80px; opacity:.6; filter:blur(4px); }
.dream-edge-0 { width:150px; left:-5%; top:12%; filter:blur(7px); }
.dream-edge-1 { width:50px; left:19%; top:16%; }
.dream-edge-2 { width:95px; right:4%; top:15%; }
.dream-edge-3 { width:150px; right:-4%; bottom:17%; filter:blur(7px); opacity:.5; }
.dream-edge-4 { width:115px; left:4%; bottom:0; filter:blur(3px); }
.dream-edge-5 { width:125px; right:7%; bottom:-3%; }
.dream-edge-6 { width:45px; left:5%; bottom:27%; }
.dream-edge-7 { width:30px; right:13%; top:37%; }
.dream-edge-8 { width:24px; left:11%; top:43%; }
.dream-edge-9 { width:30px; right:31%; bottom:13%; }
.dream-edge:nth-child(2n) .dream-bob { animation-delay:-4s; animation-duration:12s; }
.dream-dust { position:absolute; width:7px; height:7px; border-radius:50%; background:#aa8df3; filter:blur(2px); box-shadow:0 0 15px #a877ed; animation:dream-spark 7s ease-in-out infinite alternate; }
.dust-one { top:26%; left:30%; }
.dust-two { bottom:22%; left:25%; }
.dust-three { bottom:18%; right:31%; background:#ed8ab8; }
@keyframes dream-float { from { transform:translateY(3px) rotate(-3deg); } to { transform:translateY(-7px) rotate(4deg); } }
@keyframes dream-spark { 0%,100% { opacity:.35; } 50% { opacity:.95; } }
@keyframes dream-circuit { to { stroke-dashoffset:-100; } }
.landing-study-companion-orbit-cobalt .north-hero { background:radial-gradient(ellipse at 50% 48%,#28375b,transparent 60%),#101125; }
.landing-study-companion-orbit-cobalt .north-hero h1 { font-family:'DM Sans',sans-serif; font-weight:500; background-image:linear-gradient(125deg,#effaff,#9fb5f1 55%,#e9edff); }
.landing-study-companion-orbit-cobalt .dream-rings ellipse { stroke:#7cace3; }
.landing-study-companion-orbit-cobalt .dream-subtitle { color:#bccbe6; }
.landing-study-companion-orbit-cobalt .dream-sat-one { left:0; }
.landing-study-companion-orbit-cobalt .dream-sat-two { right:0; }
.landing-study-companion-orbit-rose .north-hero { background:radial-gradient(ellipse at 50% 48%,#4d2a50,transparent 60%),#211128; }
.landing-study-companion-orbit-rose .north-hero h1 { font-weight:500; background-image:linear-gradient(125deg,#fff2fb,#d9a9d9 55%,#fff2fa); }
.landing-study-companion-orbit-rose .dream-rings ellipse { stroke:#ca83c4; }
.landing-study-companion-orbit-rose .dream-subtitle { color:#dec0d8; }
.landing-study-companion-orbit-rose .companion-actions a:first-child { background:linear-gradient(135deg,#fff0f8,#eacde3); }
@media(min-width:761px) and (max-width:1100px) {
  .landing-orbit-companions .north-hero-copy { max-width:560px; }
  .dream-sat-three { left:-8%; width:70px; bottom:48px; }
  .dream-sat-four { right:-7%; width:64px; bottom:48px; }
  .dream-sat-one { left:1%; }
  .dream-sat-two { right:0; }
}
@media(max-width:760px) {
  .landing-orbit-companions .north-hero { padding:145px 8% 95px; }
  .landing-orbit-companions .north-hero h1 { font-size:clamp(48px,12.5vw,78px); }
  .dream-lead { width:110px; height:120px; margin-bottom:16px; }
  .landing-orbit-companions .dream-eyebrow { font-size:10px; letter-spacing:.14em; margin-top:12px; }
  .landing-orbit-companions .dream-subtitle { font-size:18px; margin-top:18px; }
  .landing-orbit-companions .companion-actions { margin-top:30px; gap:16px 20px; }
  .landing-orbit-companions .companion-actions a { font-size:14px; gap:12px; }
  .landing-orbit-companions .companion-actions a:first-child { padding:12px 22px; }
  .dream-sat-one { width:43px; left:-2%; top:65px; }
  .dream-sat-two { width:49px; right:-2%; top:70px; }
  .dream-sat-three, .dream-sat-four { display:none; }
  .dream-rings { width:120%; left:-10%; opacity:.7; }
  .dream-edge { opacity:.3; }
  .dream-edge-0 { width:75px; top:16%; left:-10%; }
  .dream-edge-2 { width:55px; right:-5%; top:18%; }
  .dream-edge-4 { width:60px; bottom:0; left:0; }
  .dream-edge-5 { width:70px; right:0; bottom:0; }
  .dream-edge-1, .dream-edge-3, .dream-edge-6, .dream-edge-7, .dream-edge-8, .dream-edge-9, .dream-dust { display:none; }
}
@media(max-height:650px) and (min-width:761px) {
  .landing-orbit-companions .north-hero { padding-block:90px 45px; }
  .dream-lead { width:80px; height:88px; margin-bottom:0; }
  .landing-orbit-companions .north-hero h1 { font-size:74px; }
  .landing-orbit-companions .dream-subtitle { font-size:18px; margin-top:8px; }
  .landing-orbit-companions .companion-actions { margin-top:22px; }
  .dream-sat-one { top:25px; width:50px; }
  .dream-sat-two { top:35px; width:60px; }
  .dream-sat-three, .dream-sat-four { width:60px; bottom:40px; }
}
@media(prefers-reduced-motion:reduce) {
  .dream-bob, .dream-eyes, .dream-sparks, .dream-dust, .dream-rings .dream-orbit-signal { animation:none !important; }
}

/* Soft Silk collection: one companion, four quiet compositions. */
.landing-silk-collection .north-nav.past-brand .north-brand-name { display:inline; }
.landing-silk-collection .north-brand-icon img { width:36px; height:36px; }
.landing-silk-collection .north-hero { height:auto; min-height:100svh; padding:120px 9% 80px; }
.landing-silk-collection .companion-actions { flex-wrap:wrap; }
.landing-silk-collection .companion-actions a:first-child { padding:12px 24px; border:1px solid #fff6; border-radius:999px; background:#fff9ff; color:#382347; }
.landing-silk-collection .companion-actions a:first-child:hover { background:#e8d6fa; }
.landing-silk-collection .companion-mark { animation:soft-bot-float 9s ease-in-out infinite alternate; }
.landing-study-companion-soft-nocturne .north-hero { background:linear-gradient(130deg,#1a1029 10%,#35204b 65%,#271637); }
.landing-study-companion-soft-nocturne .soft-companion-wash { background:radial-gradient(ellipse at 0 0,#ad72dd55,transparent 50%),radial-gradient(ellipse at 100% 95%,#824faf55,transparent 55%); }
.landing-study-companion-soft-nocturne .soft-ribbon { opacity:.5; }
.landing-study-companion-soft-nocturne .ribbon-1 { opacity:.25; }
.landing-study-companion-soft-nocturne .soft-companion-shade { background:radial-gradient(ellipse at 50% 50%,#1a102970,transparent 65%); }
.landing-study-companion-soft-nocturne .companion-look { fill:#49305f; }
.landing-study-companion-soft-nocturne .north-hero-copy > p { color:#d6c4e5; }

.landing-study-companion-soft-plum .north-hero { background:linear-gradient(125deg,#211021,#482444); }
.landing-study-companion-soft-plum .north-hero-copy { position:relative; width:100%; max-width:1200px; padding-right:44%; text-align:left; }
.landing-study-companion-soft-plum .companion-lockup { justify-content:flex-start; }
.landing-study-companion-soft-plum .companion-mark { position:absolute; width:clamp(180px,23vw,320px); top:calc(50% - 150px); right:3%; filter:drop-shadow(0 30px 45px #11071844); }
.landing-study-companion-soft-plum .companion-shell { fill:#f5d8ec; }
.landing-study-companion-soft-plum .companion-look { fill:#603955; }
.landing-study-companion-soft-plum .north-hero-copy > p { text-align:left; margin-left:0; color:#e7cadf; }
.landing-study-companion-soft-plum .companion-actions { justify-content:flex-start; }
.landing-study-companion-soft-plum .soft-companion-wash { background:radial-gradient(ellipse at 90% 20%,#c773a955,transparent 55%); }
.landing-study-companion-soft-plum .soft-companion-shade { background:linear-gradient(90deg,#1e0f2377,transparent 65%); }
.landing-study-companion-soft-plum .soft-ribbon { opacity:.35; animation-name:soft-pearl; }

.landing-study-companion-soft-mist .north-hero { background:linear-gradient(135deg,#f5f1fa,#e3daf0 65%,#ebe3f5); }
.landing-study-companion-soft-mist .companion-lockup { flex-direction:column; gap:26px; }
.landing-study-companion-soft-mist .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:500; color:#453455; }
.landing-study-companion-soft-mist .companion-mark { width:96px; }
.landing-study-companion-soft-mist .companion-shell { fill:#8861ad; }
.landing-study-companion-soft-mist .companion-look { fill:#f5f0fc; }
.landing-study-companion-soft-mist .north-hero-copy > p { color:#695678; }
.landing-study-companion-soft-mist .soft-companion-wash { background:radial-gradient(ellipse at 10% 0,#c2a2e055,transparent 60%),radial-gradient(ellipse at 85% 95%,#fffaff,transparent 55%); }
.landing-study-companion-soft-mist .soft-companion-shade { background:none; }
.landing-study-companion-soft-mist .soft-ribbon { animation-name:soft-current; opacity:.85; }
.landing-study-companion-soft-mist .north-nav nav, .landing-study-companion-soft-mist .north-login,
.landing-study-companion-soft-mist .companion-actions a { color:#59406d; }
.landing-study-companion-soft-mist .companion-actions a:first-child { background:#6c4b8d; color:#fff; border-color:#6c4b8d; }
.landing-study-companion-soft-mist .companion-actions a:first-child:hover { background:#52366e; }

.landing-study-companion-soft-ivory .north-hero { justify-items:start; background:linear-gradient(120deg,#faf5ee,#f0e6e3 70%,#e7dbe8); }
.landing-study-companion-soft-ivory .north-hero-copy { text-align:left; width:100%; max-width:1100px; }
.landing-study-companion-soft-ivory .companion-lockup { flex-direction:column; align-items:flex-start; gap:35px; }
.landing-study-companion-soft-ivory .companion-mark { width:82px; }
.landing-study-companion-soft-ivory .companion-shell { fill:#68425f; }
.landing-study-companion-soft-ivory .companion-look { fill:#fff7ef; }
.landing-study-companion-soft-ivory .north-hero h1 { color:#48303f; font-weight:400; font-size:clamp(56px,8vw,116px); }
.landing-study-companion-soft-ivory .north-hero-copy > p { color:#765e6a; text-align:left; margin-left:0; }
.landing-study-companion-soft-ivory .companion-actions { justify-content:flex-start; }
.landing-study-companion-soft-ivory .north-nav nav, .landing-study-companion-soft-ivory .north-login,
.landing-study-companion-soft-ivory .companion-actions a { color:#634452; }
.landing-study-companion-soft-ivory .companion-actions a:first-child { background:#654358; color:#fff; border-color:#654358; }
.landing-study-companion-soft-ivory .companion-actions a:first-child:hover { background:#4b2d40; }
.landing-study-companion-soft-ivory .soft-companion-wash { background:radial-gradient(ellipse at 85% 60%,#c9aecb77,transparent 55%),radial-gradient(ellipse at 0 20%,#fff9ed,transparent 60%); }
.landing-study-companion-soft-ivory .soft-companion-shade { background:linear-gradient(90deg,#faf5ee66,transparent 70%); }
.landing-study-companion-soft-ivory .soft-ribbon { animation-name:soft-pearl; }
@media(max-width:760px) {
  .landing-silk-collection .north-hero { padding:110px 7% 65px; }
  .landing-silk-collection .companion-actions { gap:18px; }
  .landing-silk-collection .companion-actions a:first-child { padding:10px 18px; }
  .landing-study-companion-soft-plum .north-hero-copy { padding-right:0; }
  .landing-study-companion-soft-plum .companion-lockup { flex-direction:column; align-items:flex-start; gap:26px; }
  .landing-study-companion-soft-plum .companion-mark { position:static; width:110px; }
  .landing-study-companion-soft-mist .companion-mark { width:78px; }
  .landing-study-companion-soft-ivory .companion-mark { width:65px; }
  .landing-study-companion-soft-ivory .north-hero h1 { font-size:clamp(48px,12vw,80px); }
}
@media(max-height:550px) and (min-width:761px) {
  .landing-silk-collection .north-hero { padding-block:85px 35px; }
  .landing-study-companion-soft-plum .companion-mark { width:150px; top:calc(50% - 75px); }
  .landing-study-companion-soft-mist .companion-lockup, .landing-study-companion-soft-ivory .companion-lockup { flex-direction:row; align-items:center; gap:20px; }
  .landing-study-companion-soft-mist .companion-mark, .landing-study-companion-soft-ivory .companion-mark { width:65px; }
  .landing-study-companion-soft-ivory .north-hero h1 { font-size:64px; }
}

/* Air companions: softly defocused folds around a minimal horizontal identity. */
.landing-air-companion {
  --air-base:#76b6f4; --air-edge:#387fdb; --air-light:#edf6ff;
  --air-ink:#203f6e; --air-eyes:#6ba9ea; --air-glow:#bce0ff;
}
.landing-air-companion .north-hero { height:auto; min-height:100svh; padding:140px 8% 100px; justify-items:center; background:var(--air-base); }
.landing-air-companion .north-hero-copy { width:auto; max-width:100%; text-align:center; }
.landing-air-companion .companion-lockup { flex-direction:row; gap:30px; }
.landing-air-companion .north-hero h1 { font:400 clamp(64px,8.8vw,140px)/1.1 'DM Sans',sans-serif; letter-spacing:-.055em; color:#fff; }
.landing-air-companion .companion-mark { width:clamp(80px,10vw,152px); animation:air-companion-bob 10s ease-in-out infinite; }
.landing-air-companion .companion-shell { fill:#fff; }
.landing-air-companion .companion-look { fill:var(--air-eyes); }
.landing-air-companion .north-hero-copy > p { color:var(--air-ink); font:400 clamp(17px,1.5vw,22px)/1.6 'DM Sans',sans-serif; letter-spacing:.025em; text-align:center; max-width:none; margin:25px auto 0; }
.landing-air-companion .companion-actions { justify-content:center; flex-wrap:wrap; gap:28px; margin-top:35px; }
.landing-air-companion .companion-actions a { font-size:15px; color:var(--air-ink); }
.landing-air-companion .companion-actions a:first-child { padding:11px 23px; border:1px solid #fff7; border-radius:999px; background:#ffffffc9; color:#2e3b55; }
.landing-air-companion .companion-actions a:first-child:hover { background:#fff; }
.landing-air-companion .north-nav nav, .landing-air-companion .north-login { color:var(--air-ink); }
.landing-air-companion .north-nav a:hover { color:var(--air-ink); }
.landing-air-companion .north-nav.past-hero nav, .landing-air-companion .north-nav.past-hero .north-login { color:#6f5184; }
.landing-air-companion .north-nav.past-brand .north-brand-name { display:inline; }
.landing-air-companion .north-brand-icon img { width:36px; height:36px; }
.air-atmosphere { overflow:hidden; background:radial-gradient(ellipse at 65% 70%,#ffffff12,transparent 65%); }
.air-fold { position:absolute; filter:blur(22px); border-radius:48%; pointer-events:none; }
.air-fold-one {
  width:90%; height:115%; left:-25%; top:-79%;
  background:radial-gradient(ellipse at 55% 55%,var(--air-light) 52%,var(--air-glow) 74%,var(--air-base) 80%);
  box-shadow:35px 45px 45px var(--air-edge); transform:rotate(25deg);
  animation:air-fold-sway 24s ease-in-out infinite alternate;
}
.air-fold-two {
  width:40%; height:120%; left:-39%; bottom:-35%;
  background:linear-gradient(100deg,var(--air-light) 50%,var(--air-glow));
  box-shadow:25px 0 70px var(--air-glow); transform:rotate(-28deg);
  animation:air-fold-drift 28s ease-in-out -12s infinite alternate;
}
.air-bloom { position:absolute; inset:0; background:radial-gradient(ellipse at 95% 95%,var(--air-glow),transparent 65%); opacity:.22; animation:air-breathe 18s ease-in-out infinite alternate; }
@keyframes air-fold-sway { to { transform:translate(5%,3%) rotate(16deg) scale(1.04,.97); } }
@keyframes air-fold-drift { to { transform:translate(5%,-4%) rotate(-19deg); } }
@keyframes air-breathe { to { opacity:.5; transform:scale(1.08); } }
@keyframes air-companion-bob { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-5px) rotate(-4deg); } }

.landing-study-companion-air-lilac { --air-base:#a89bd5; --air-edge:#7964b7; --air-light:#f6efff; --air-ink:#42335e; --air-eyes:#a492d1; --air-glow:#dfcbf3; }
.landing-study-companion-air-lilac .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:500; }
.landing-study-companion-air-lilac .air-fold-one { left:45%; top:-77%; transform:rotate(-25deg); animation-direction:alternate-reverse; }
.landing-study-companion-air-lilac .air-fold-two { left:-15%; bottom:-100%; width:120%; height:120%; transform:rotate(12deg); opacity:.65; }
.landing-study-companion-air-tide { --air-base:#85c6c5; --air-edge:#4b9caa; --air-light:#f0fbf2; --air-ink:#244f55; --air-eyes:#74b5b6; --air-glow:#c4e8de; }
.landing-study-companion-air-tide .north-hero h1 { font-weight:350; }
.landing-study-companion-air-tide .air-fold-one { top:-115%; left:-15%; width:140%; height:130%; }
.landing-study-companion-air-tide .air-fold-two { left:auto; right:-35%; transform:rotate(24deg); animation-direction:alternate-reverse; }
.landing-study-companion-air-dusk { --air-base:#30204d; --air-edge:#1d1236; --air-light:#b49ad4; --air-ink:#eee2fc; --air-eyes:#594176; --air-glow:#7d58a7; }
.landing-study-companion-air-dusk .air-fold-one { top:-90%; left:-17%; box-shadow:35px 45px 55px #0e0a2033; opacity:.45; }
.landing-study-companion-air-dusk .air-fold-two { opacity:.4; left:-40%; }
.landing-study-companion-air-dusk .companion-actions a:first-child { background:#eee3fb; color:#39264c; }
.landing-study-companion-air-dusk .north-nav.past-hero a:hover { color:#342341; }
@media(max-width:760px) {
  .landing-air-companion .north-hero { padding:120px 7% 70px; }
  .landing-air-companion .companion-lockup { gap:14px; }
  .landing-air-companion .north-hero h1 { font-size:clamp(40px,10.5vw,75px); }
  .landing-air-companion .companion-mark { width:clamp(52px,12vw,82px); }
  .landing-air-companion .north-hero-copy > p { font-size:16px; letter-spacing:0; margin-top:25px; }
  .landing-air-companion .companion-actions { gap:16px; margin-top:28px; }
  .landing-air-companion .companion-actions a { font-size:14px; gap:10px; }
  .landing-air-companion .companion-actions a:first-child { padding:10px 16px; }
  .air-fold { filter:blur(16px); }
  .air-fold-one { width:150%; left:-65%; top:-80%; }
  .landing-study-companion-air-lilac .air-fold-one { left:15%; }
  .landing-study-companion-air-tide .air-fold-one { width:170%; left:-40%; }
  .landing-study-companion-air-dusk .air-fold-one { left:-45%; }
}
@media(max-height:550px) and (min-width:761px) {
  .landing-air-companion .north-hero { padding-block:90px 40px; }
  .landing-air-companion .north-hero h1 { font-size:70px; }
  .landing-air-companion .companion-mark { width:80px; }
  .landing-air-companion .north-hero-copy > p { margin-top:14px; font-size:17px; }
  .landing-air-companion .companion-actions { margin-top:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .air-fold, .air-bloom, .landing-air-companion .companion-mark { animation:none !important; }
}

/* Luminous companions: animated dot surfaces leave a calm center for the identity. */
.landing-luminous-companion .north-hero { height:auto; min-height:100svh; padding:135px 8% 95px; justify-items:center; background:#080910; }
.landing-luminous-companion .north-hero-copy { width:auto; max-width:760px; text-align:center; }
.landing-luminous-companion .companion-lockup { flex-direction:row; gap:24px; }
.landing-luminous-companion .north-hero h1 { font:400 clamp(58px,7.4vw,112px)/1.12 'DM Sans',sans-serif; letter-spacing:-.05em; color:#fff; text-shadow:none; }
.landing-luminous-companion .companion-mark { width:clamp(72px,8vw,116px); }
.landing-luminous-companion .companion-look { fill:#101019; }
.landing-luminous-companion .north-hero-copy > p { font-size:clamp(16px,1.4vw,20px); letter-spacing:.04em; color:#ccc6dd; margin:23px auto 0; text-align:center; }
.landing-luminous-companion .companion-actions { margin-top:32px; gap:16px 28px; }
.landing-luminous-companion .companion-actions a { color:#d9d4e8; font-size:15px; }
.landing-luminous-companion .companion-actions a:first-child { background:#f1edf9; color:#2f263b; font-weight:400; }
.landing-luminous-companion .north-nav.past-brand .north-brand-name { display:inline; }
.landing-luminous-companion .north-brand-icon img { width:36px; height:36px; }
.landing-study-companion-particles-tidal .north-hero { background:#080c17; }
.landing-study-companion-particles-tidal .north-hero-copy > p { color:#bfcfe6; }
.landing-study-companion-particles-tidal .companion-actions a:first-child { background:#e0edff; }
.landing-study-companion-particles-eclipse .north-hero { background:#100e18; }
.landing-study-companion-particles-eclipse .north-hero h1 { font-weight:350; }
.landing-study-companion-particles-rose .north-hero { background:#150e1c; }
.landing-study-companion-particles-rose .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:500; }
.landing-study-companion-particles-rose .north-hero-copy > p { color:#ddc8e0; }
.landing-study-companion-particles-rose .companion-actions a:first-child { background:#f4e3f5; }
@media(max-width:760px) {
  .landing-luminous-companion .north-hero { padding:120px 7% 75px; }
  .landing-luminous-companion .companion-lockup { gap:12px; }
  .landing-luminous-companion .north-hero h1 { font-size:clamp(39px,10vw,70px); }
  .landing-luminous-companion .companion-mark { width:clamp(48px,11vw,74px); }
  .landing-luminous-companion .north-hero-copy > p { font-size:16px; letter-spacing:0; }
  .landing-luminous-companion .companion-actions { gap:16px 22px; }
  .landing-luminous-companion .companion-actions a { font-size:14px; }
}
@media(max-height:550px) and (min-width:761px) {
  .landing-luminous-companion .north-hero { padding-block:90px 35px; }
  .landing-luminous-companion .north-hero h1 { font-size:66px; }
  .landing-luminous-companion .companion-mark { width:72px; }
  .landing-luminous-companion .north-hero-copy > p { margin-top:14px; }
  .landing-luminous-companion .companion-actions { margin-top:22px; }
}

/* Tiny bot sprites form the flowing field itself. */
.landing-veil-companions .north-hero { background:radial-gradient(ellipse at 55% 50%,#21172d,#0c0b16 80%); }
.veil-companion-art .particle-field { opacity:.85; }
.landing-study-companion-veil-jewels .north-hero { background:radial-gradient(ellipse at 50% 60%,#2d1744,#100b1c 80%); }
.landing-study-companion-veil-jewels .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:500; }
.landing-study-companion-veil-spirits .north-hero { background:radial-gradient(ellipse at 20% 35%,#221b31,#0c0b13 80%); }

/* Companion Silk introductions, using the original Amethyst Welcome bot. */
.landing-silk-intro .north-hero { min-height:100svh; height:auto; padding:135px 9% 95px; justify-items:center; background:linear-gradient(115deg,#21152f,#382347); }
.landing-silk-intro .north-hero-copy { width:100%; max-width:1240px; display:grid; grid-template-columns:1.6fr 1fr; gap:5%; align-items:center; text-align:left; }
.landing-silk-intro .north-hero h1 { font-family:'DM Sans',sans-serif; font-weight:400; letter-spacing:-.055em; line-height:1.1; }
.silk-intro-name, .silk-intro-title { display:block; }
.silk-intro-name { font-size:clamp(64px,7.3vw,112px); }
.silk-intro-title { font-size:clamp(32px,3.7vw,58px); letter-spacing:-.045em; margin-top:18px; color:#dcc7ef; }
.silk-intro-description { max-width:460px; font:500 18px/1.65 'DM Sans',sans-serif; color:#d2bedf; margin:28px 0 0; }
.landing-silk-intro .companion-actions { justify-content:flex-start; flex-wrap:wrap; gap:15px 28px; margin-top:30px; }
.landing-silk-intro .companion-actions a { font-size:15px; color:#e5d7f0; }
.landing-silk-intro .companion-actions a:first-child { background:#eee1fa; color:#382546; border:1px solid #fff4; border-radius:999px; padding:12px 24px; }
.landing-silk-intro .companion-actions a:first-child:hover { background:#fff4ff; }
.landing-silk-intro .north-nav.past-brand .north-brand-name { display:inline; }
.landing-silk-intro .north-brand-icon img { width:38px; height:38px; }
.silk-intro-portrait { position:relative; width:100%; max-width:380px; justify-self:center; }
.silk-intro-portrait img { position:relative; display:block; width:100%; height:auto; filter:drop-shadow(0 20px 25px #140c2444); animation:silk-intro-float 10s ease-in-out infinite alternate; }
.silk-intro-halo { position:absolute; inset:0; border-radius:50%; background:radial-gradient(ellipse,#bf83ea26,transparent 70%); transform:scale(1.7); }
.silk-intro-shadow { position:absolute; height:10%; width:65%; bottom:-8%; left:18%; background:#0e081b66; filter:blur(16px); border-radius:50%; animation:silk-intro-shadow 10s ease-in-out infinite alternate; }
.silk-intro-band { position:absolute; top:-35%; width:30%; height:170%; right:4%; border-radius:50%; filter:blur(24px); transform:rotate(25deg); background:linear-gradient(90deg,transparent,#c295e735,transparent); animation:silk-intro-drift 22s ease-in-out infinite alternate; }
.silk-intro-band.band-two { right:27%; width:16%; opacity:.5; animation-delay:-11s; animation-duration:28s; }
.silk-intro-glow { position:absolute; inset:0; background:radial-gradient(ellipse at 85% 55%,#9a67ba21,transparent 60%); }
@keyframes silk-intro-float { from { transform:translateY(0) rotate(-3deg); } to { transform:translateY(-16px) rotate(3deg); } }
@keyframes silk-intro-shadow { to { transform:scale(.82); opacity:.5; } }
@keyframes silk-intro-drift { to { transform:translateX(10%) rotate(10deg) scaleX(.8); } }
.landing-study-companion-silk-plum .north-hero { background:radial-gradient(ellipse at 50% 50%,#543048,#281527 75%); }
.landing-study-companion-silk-plum .north-hero-copy { display:flex; flex-direction:column; gap:35px; text-align:center; max-width:820px; }
.landing-study-companion-silk-plum .silk-intro-portrait { order:-1; width:112px; }
.landing-study-companion-silk-plum .silk-intro-shadow { bottom:0; opacity:.3; }
.landing-study-companion-silk-plum .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:500; }
.landing-study-companion-silk-plum .silk-intro-title { color:#eccfe5; }
.landing-study-companion-silk-plum .silk-intro-description { color:#e0c6dc; max-width:none; margin-inline:auto; }
.landing-study-companion-silk-plum .companion-actions { justify-content:center; }
.landing-study-companion-silk-plum .silk-intro-band { right:8%; width:45%; background:linear-gradient(90deg,transparent,#e3acdb22,transparent); }
.landing-study-companion-silk-plum .band-two { right:auto; left:-5%; animation-direction:alternate-reverse; }
.landing-study-companion-silk-pearl .north-hero { background:linear-gradient(125deg,#faf6fc,#eee6f5 65%,#e4d6ee); }
.landing-study-companion-silk-pearl .north-hero h1 { color:#412b51; }
.landing-study-companion-silk-pearl .silk-intro-title { color:#74588b; }
.landing-study-companion-silk-pearl .silk-intro-description { color:#695475; }
.landing-study-companion-silk-pearl .north-nav nav, .landing-study-companion-silk-pearl .north-login,
.landing-study-companion-silk-pearl .companion-actions a { color:#604572; }
.landing-study-companion-silk-pearl .north-nav a:hover { color:#342341; }
.landing-study-companion-silk-pearl .companion-actions a:first-child { background:#72508f; color:#fff; }
.landing-study-companion-silk-pearl .companion-actions a:first-child:hover { background:#58376f; }
.landing-study-companion-silk-pearl .silk-intro-halo { inset:-6%; transform:none; background:linear-gradient(140deg,#fffcff,#e1cdee80); box-shadow:inset 0 1px 0 #fff; }
.landing-study-companion-silk-pearl .silk-intro-shadow { background:#9f80b13b; }
.landing-study-companion-silk-pearl .silk-intro-band { background:linear-gradient(90deg,transparent,#fff9,transparent); width:45%; }
@media(max-width:760px) {
  .landing-silk-intro .north-hero { padding:125px 7% 65px; }
  .landing-silk-intro .north-hero-copy { grid-template-columns:1fr; gap:35px; }
  .silk-intro-name { font-size:clamp(54px,12vw,82px); }
  .silk-intro-title { font-size:clamp(28px,6.7vw,42px); margin-top:12px; }
  .silk-intro-description { font-size:17px; margin-top:22px; }
  .silk-intro-portrait { width:140px; order:-1; justify-self:start; }
  .landing-study-companion-silk-pearl .silk-intro-portrait { width:120px; margin:8px 0; }
  .landing-silk-intro .companion-actions { gap:16px 20px; margin-top:25px; }
  .landing-silk-intro .companion-actions a { font-size:14px; gap:12px; }
  .landing-silk-intro .companion-actions a:first-child { padding:10px 18px; }
  .landing-study-companion-silk-plum .north-hero-copy { gap:25px; }
  .landing-study-companion-silk-plum .silk-intro-portrait { width:96px; }
}
@media(max-height:550px) and (min-width:761px) {
  .landing-silk-intro .north-hero { padding-block:85px 40px; }
  .silk-intro-name { font-size:64px; }
  .silk-intro-title { font-size:32px; margin-top:10px; }
  .silk-intro-description { margin-top:18px; font-size:16px; }
  .landing-silk-intro .companion-actions { margin-top:20px; }
  .silk-intro-portrait { max-width:220px; }
  .landing-study-companion-silk-plum .silk-intro-portrait { width:65px; }
  .landing-study-companion-silk-plum .north-hero-copy { gap:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .silk-intro-portrait img, .silk-intro-shadow, .silk-intro-band { animation:none !important; }
}

/* New introductions on the Lilac Blueprint grid. */
.landing-lilac-grid { --studio-grid:#9279a01d; --studio-cross:#9279a03d; --studio-signal:#8663a0; }
.landing-lilac-grid .north-hero { min-height:100svh; height:auto; padding:135px 8% 85px; background:#f2ecf8; }
.landing-lilac-grid .north-hero-copy { max-width:1240px; grid-template-columns:1fr 1.15fr; gap:7%; }
.landing-lilac-grid .north-hero h1 { color:#493455; font-size:clamp(40px,4.5vw,66px); letter-spacing:-.045em; font-weight:400; }
.landing-lilac-grid .north-hero h1 span { display:block; }
.landing-lilac-grid .north-hero h1 span+span { font-size:.72em; color:#826492; margin-top:18px; letter-spacing:-.035em; }
.landing-lilac-grid .companion-eyebrow { color:#826492; font:500 12px/1.5 'DM Sans',sans-serif; letter-spacing:.14em; margin:0 0 25px; }
.landing-lilac-grid .poster-description { color:#735f81; font-size:18px; line-height:1.7; max-width:410px; margin-top:27px; }
.landing-lilac-grid .companion-actions { margin-top:30px; }
.landing-lilac-grid .companion-actions a { color:#69497d; font-size:15px; }
.landing-lilac-grid .companion-actions a:last-child { color:#69497d; }
.landing-lilac-grid .companion-actions a:first-child { background:#785590; color:#fff; border-radius:999px; padding:12px 23px; border:0; }
.landing-lilac-grid .companion-actions a:first-child:hover { background:#614277; }
.landing-lilac-grid .north-nav nav, .landing-lilac-grid .north-login { color:#745b84; }
.landing-lilac-grid .north-nav a:hover { color:#342341; }
.landing-lilac-grid .north-nav.past-brand .north-brand-name { display:inline; }
.landing-lilac-grid .north-brand-icon img { width:38px; height:38px; }
.landing-lilac-grid .studio-highlight { stop-color:#f4e7ff; }
.landing-lilac-grid .studio-midtone { stop-color:#c1a0da; }
.landing-lilac-grid .studio-shadow { stop-color:#855ca0; }
.landing-lilac-grid .studio-eyes { fill:#4b325b; }
.landing-lilac-grid .studio-ground { background:#79559635; }
.landing-study-companion-grid-lilac-meet .poster-copy { grid-column:2; grid-row:1; }
.landing-study-companion-grid-lilac-meet .studio-sculpture { grid-column:1; grid-row:1; transform:scaleX(-1); }
.landing-study-companion-grid-lilac-studio .north-hero { background:radial-gradient(ellipse at 80% 60%,#e8d9ed,#f7eff6 70%); }
.landing-study-companion-grid-lilac-studio .north-hero-copy { grid-template-columns:1.3fr 1fr; }
.landing-study-companion-grid-lilac-studio .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:500; }
.landing-study-companion-grid-lilac-studio .studio-figure { animation-name:studio-hover; }
.landing-study-companion-grid-lilac-studio .studio-highlight { stop-color:#fff1ff; }
.landing-study-companion-grid-lilac-studio .studio-midtone { stop-color:#c7a5cc; }
.landing-study-companion-grid-lilac-editorial .north-hero { background:#faf7fb; }
.landing-study-companion-grid-lilac-editorial .north-hero-copy { display:flex; flex-direction:column; gap:30px; max-width:850px; text-align:center; }
.landing-study-companion-grid-lilac-editorial .studio-sculpture { order:-1; width:140px; }
.landing-study-companion-grid-lilac-editorial .north-hero h1 { font-family:Georgia,serif; letter-spacing:-.055em; font-size:clamp(45px,5vw,74px); }
.landing-study-companion-grid-lilac-editorial .north-hero h1 span+span { font-style:italic; font-size:.64em; font-weight:400; }
.landing-study-companion-grid-lilac-editorial .companion-eyebrow { margin-bottom:20px; }
.landing-study-companion-grid-lilac-editorial .poster-description { max-width:470px; margin-inline:auto; }
.landing-study-companion-grid-lilac-editorial .companion-actions { justify-content:center; }
@media(max-width:760px) {
  .landing-lilac-grid .north-hero { padding:130px 7% 65px; }
  .landing-lilac-grid .north-hero-copy { grid-template-columns:1fr; gap:40px; }
  .landing-lilac-grid .poster-copy { grid-column:auto; grid-row:auto; }
  .landing-lilac-grid .studio-sculpture { grid-column:auto; grid-row:auto; order:-1; width:150px; justify-self:start; }
  .landing-lilac-grid .north-hero h1 { font-size:clamp(35px,8vw,54px); }
  .landing-lilac-grid .north-hero h1 span+span { font-size:.72em; margin-top:14px; }
  .landing-lilac-grid .companion-eyebrow { margin-bottom:18px; font-size:11px; }
  .landing-lilac-grid .poster-description { font-size:17px; margin-top:22px; }
  .landing-lilac-grid .companion-actions { margin-top:26px; gap:16px 20px; }
  .landing-lilac-grid .companion-actions a { font-size:14px; gap:12px; }
  .landing-lilac-grid .companion-actions a:first-child { padding:11px 19px; }
  .landing-study-companion-grid-lilac-editorial .studio-sculpture { width:110px; }
  .landing-study-companion-grid-lilac-editorial .north-hero-copy { gap:28px; }
}
@media(max-height:550px) and (min-width:761px) {
  .landing-lilac-grid .north-hero { padding-block:85px 40px; }
  .landing-lilac-grid .north-hero h1 { font-size:38px; }
  .landing-lilac-grid .companion-eyebrow { margin-bottom:14px; }
  .landing-lilac-grid .poster-description { margin-top:18px; font-size:16px; }
  .landing-lilac-grid .companion-actions { margin-top:20px; }
  .landing-lilac-grid .studio-sculpture { max-width:220px; }
  .landing-study-companion-grid-lilac-editorial .studio-sculpture { width:70px; }
  .landing-study-companion-grid-lilac-editorial .north-hero-copy { gap:16px; }
}

/* Homeward companions: a cottage and a team coming down the path. */
.landing-homeward { --home-ink:#36234f; --home-accent:#8053bf; --home-muted:#7a6b91; --home-hill:#e4d9f4; --home-shade:#d3c4eb; --home-tree:#b2a0df; --home-roof:#be9ed8; }
.landing-homeward .north-hero { min-height:100svh; height:auto; padding:125px 6% 60px 8%; background:linear-gradient(150deg,#eef5fe,#fcf9ff 50%,#f0e7fa); justify-items:center; }
.landing-homeward .north-hero-copy { display:grid; grid-template-columns:1.05fr 1fr; gap:0; max-width:1400px; width:100%; text-align:left; align-items:center; }
.homeward-copy { position:relative; z-index:2; padding-bottom:30px; }
.landing-homeward .north-hero h1 { color:var(--home-ink); font:500 clamp(40px,4.4vw,68px)/1.15 'DM Sans',sans-serif; letter-spacing:-.05em; }
.landing-homeward .north-hero h1 span { display:block; }
.landing-homeward .north-hero h1 span+span { font-size:.7em; color:var(--home-accent); letter-spacing:-.035em; margin-top:24px; }
.homeward-description { color:var(--home-muted); font:400 20px/1.7 'DM Sans',sans-serif; max-width:390px; margin:30px 0 0; }
.landing-homeward .companion-actions { justify-content:flex-start; flex-wrap:wrap; gap:18px 25px; margin-top:36px; }
.landing-homeward .companion-actions a { color:var(--home-muted); font-size:16px; }
.landing-homeward .companion-actions a:first-child { background:var(--home-accent); color:#fff; padding:13px 24px; border:0; border-radius:999px; }
.landing-homeward .companion-actions a:first-child:hover { filter:brightness(.9); }
.landing-homeward .north-nav nav, .landing-homeward .north-login { color:var(--home-muted); }
.landing-homeward .north-nav a:hover { color:var(--home-ink); }
.landing-homeward .north-nav.past-brand .north-brand-name { display:inline; }
.landing-homeward .north-brand-icon img { width:36px; height:36px; }
.homeward-landscape svg { width:100%; height:100%; }
.homeward-far { fill:var(--home-hill); opacity:.3; }
.homeward-near { fill:var(--home-shade); opacity:.18; }
.homeward-snow { fill:#fff; opacity:.55; }
.homeward-scene { width:125%; margin-left:-6%; position:relative; }
.homeward-scene > svg { display:block; width:100%; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 10%),linear-gradient(0deg,transparent,#000 8%); mask-composite:intersect; }
.homeward-back-hill { fill:var(--home-hill); opacity:.65; }
.homeward-hill-light { stop-color:#fff; }
.homeward-hill-shadow { stop-color:var(--home-shade); }
.homeward-tree { fill:var(--home-tree); color:var(--home-tree); }
.tree-two { opacity:.9; }
.tree-three { opacity:.65; }
.house-front { fill:#f9f2ff; }
.house-side { fill:var(--home-hill); }
.house-roof { fill:var(--home-roof); }
.house-door { fill:var(--home-accent); opacity:.6; }
.house-window { fill:var(--home-accent); opacity:.4; }
.house-step { fill:#f9f4ff; }
.homeward-traveler:not(.homeward-glide) { transform-origin:0 0; animation:homeward-journey 22s linear infinite; animation-delay:var(--departure-delay); }
.traveler-0 { --departure-delay:-15s; }
.traveler-1 { --departure-delay:-10.6s; }
.traveler-2 { --departure-delay:-6.2s; }
.traveler-3 { --departure-delay:-1.8s; }
.traveler-4 { --departure-delay:-19.4s; }
.homeward-bot-shadow { fill:#73548e; opacity:.17; filter:blur(4px); }
.homeward-eyes { transform-origin:50px 50px; animation:homeward-blink 7s infinite; }
.traveler-1 .homeward-eyes { animation-delay:-2s; }
.traveler-2 .homeward-eyes { animation-delay:-4s; }
.homeward-name { animation:homeward-introduce 22s linear infinite; animation-delay:var(--departure-delay); }
.homeward-name text { font:600 23px 'DM Sans',sans-serif; fill:var(--home-ink); paint-order:stroke; stroke:#fff9; stroke-width:3px; stroke-linejoin:round; }
.homeward-name .homeward-role { font-size:12px; font-weight:500; fill:var(--home-muted); stroke-width:2px; }
@keyframes homeward-journey {
  0% { transform:translate(595px,204px) scale(.12); opacity:0; }
  3% { transform:translate(595px,204px) scale(.16); opacity:1; animation-timing-function:ease-out; }
  8% { transform:translate(585px,165px) scale(.25); animation-timing-function:ease-in; }
  13% { transform:translate(575px,238px) scale(.4,.32); animation-timing-function:ease-out; }
  18% { transform:translate(548px,170px) scale(.48); animation-timing-function:ease-in; }
  23% { transform:translate(510px,320px) scale(.66,.54); animation-timing-function:ease-out; }
  29% { transform:translate(485px,240px) scale(.75); animation-timing-function:ease-in; }
  35% { transform:translate(460px,420px) scale(1,.82); animation-timing-function:ease-out; }
  41% { transform:translate(385px,325px) scale(1.05); animation-timing-function:ease-in; }
  47% { transform:translate(310px,530px) scale(1.3,1.08); animation-timing-function:ease-out; }
  53% { transform:translate(235px,420px) scale(1.4); animation-timing-function:ease-in; }
  59% { transform:translate(160px,600px) scale(1.75,1.3); animation-timing-function:ease-out; }
  63%,72% { transform:translate(160px,600px) scale(1.6); opacity:1; }
  77% { transform:translate(-40px,650px) scale(1.68); opacity:.6; animation-timing-function:ease-in; }
  83%,100% { transform:translate(-200px,840px) scale(1.8); opacity:0; }
}
@keyframes homeward-introduce { 0%,42% { opacity:0; } 49%,74% { opacity:1; } 83%,100% { opacity:0; } }
@keyframes homeward-blink { 0%,67%,71%,100% { transform:scaleY(1); } 69% { transform:scaleY(.15); } }
.homeward-paused .homeward-traveler, .homeward-paused .homeward-eyes, .homeward-paused .homeward-name { animation-play-state:paused; }
.landing-study-companion-home-meadow { --home-ink:#284943; --home-accent:#507c67; --home-muted:#617e74; --home-hill:#dbece2; --home-shade:#bfd9c9; --home-tree:#9abda5; --home-roof:#8cb5a0; }
.landing-study-companion-home-meadow .north-hero { background:linear-gradient(145deg,#f2faf7,#f9fcf5 55%,#e7f1e8); }
.landing-study-companion-home-meadow .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:600; }
.landing-study-companion-home-meadow .house-front { fill:#f7faf1; }
.landing-study-companion-home-peach { --home-ink:#604345; --home-accent:#a86c79; --home-muted:#8d7076; --home-hill:#f4e1dc; --home-shade:#ead1d0; --home-tree:#d5b7c6; --home-roof:#d6a6ad; }
.landing-study-companion-home-peach .north-hero { background:linear-gradient(145deg,#fff8ed,#fffbf7 55%,#f6e9e8); }
.landing-study-companion-home-peach .house-front { fill:#fff7ee; }
.landing-study-companion-home-peach .homeward-scene { transform:translateY(18px); }
@media(max-width:1000px) {
  .landing-homeward .north-hero h1 { font-size:clamp(36px,4.6vw,50px); }
  .homeward-description { font-size:18px; }
  .landing-homeward .companion-actions a { font-size:14px; }
}
@media(max-width:760px) {
  .landing-homeward .north-hero { padding:130px 7% 0; }
  .landing-homeward .north-hero-copy { grid-template-columns:1fr; gap:0; }
  .landing-homeward .north-hero h1 { font-size:clamp(37px,8.3vw,54px); }
  .landing-homeward .north-hero h1 span+span { font-size:.68em; margin-top:18px; }
  .homeward-description { margin-top:24px; font-size:17px; max-width:360px; }
  .landing-homeward .companion-actions { margin-top:26px; gap:16px 20px; }
  .landing-homeward .companion-actions a { font-size:14px; gap:12px; }
  .landing-homeward .companion-actions a:first-child { padding:11px 20px; }
  .homeward-copy { padding-bottom:0; }
  .homeward-scene { width:116%; margin-left:-8%; margin-top:10px; }
  .landing-study-companion-home-peach .homeward-scene { transform:none; }
}
@media(max-height:550px) and (min-width:761px) {
  .landing-homeward .north-hero { padding-block:90px 35px; }
  .landing-homeward .north-hero h1 { font-size:38px; }
  .homeward-description { font-size:16px; margin-top:20px; }
  .landing-homeward .companion-actions { margin-top:22px; }
  .homeward-copy { padding-bottom:0; }
}
@media(prefers-reduced-motion:reduce) {
  .homeward-traveler, .homeward-eyes, .homeward-name { animation:none !important; }
  .homeward-name { opacity:1; }
  .traveler-0:not(.homeward-glide) { transform:translate(160px,600px) scale(1.4); }
  .traveler-1:not(.homeward-glide) { transform:translate(360px,570px) scale(1.1); }
  .traveler-2:not(.homeward-glide) { transform:translate(470px,410px) scale(.9); }
  .traveler-3:not(.homeward-glide) { transform:translate(540px,290px) scale(.65); }
  .traveler-4:not(.homeward-glide) { transform:translate(605px,210px) scale(.45); }
}

/* Five named companions carve down three snowy mountain routes. */
.landing-ski { --ski-ink:#392b52; --ski-muted:#766881; --ski-accent:#8052b2; --ski-shade:#dcd0ed; --ski-distance:#e0d6ee; --ski-tree:#b3a4ce; }
.landing-ski .north-hero { height:auto; min-height:100svh; padding:125px 5% 45px 8%; background:linear-gradient(145deg,#f2f4ff,#fdfaff 50%,#eee6f6); }
.landing-ski .north-hero-copy { display:grid; grid-template-columns:1fr 1.12fr; align-items:center; gap:0; width:100%; max-width:1440px; text-align:left; }
.ski-copy { position:relative; z-index:2; }
.ski-eyebrow { font:500 10px/1.6 'DM Sans',sans-serif; letter-spacing:.17em; color:var(--ski-muted); margin:0 0 27px; }
.landing-ski .north-hero h1 { font:500 clamp(38px,4.2vw,64px)/1.13 'DM Sans',sans-serif; letter-spacing:-.05em; color:var(--ski-ink); }
.landing-ski .north-hero h1 span { display:block; }
.landing-ski .north-hero h1 span+span { font-size:.7em; margin-top:22px; color:var(--ski-accent); letter-spacing:-.035em; }
.ski-description { font:400 19px/1.7 'DM Sans',sans-serif; max-width:380px; margin:29px 0 0; color:var(--ski-muted); }
.landing-ski .companion-actions { justify-content:flex-start; flex-wrap:wrap; gap:20px 25px; margin-top:32px; }
.landing-ski .companion-actions a, .landing-ski .companion-actions a:last-child { font-size:15px; color:var(--ski-ink); }
.landing-ski .companion-actions a:first-child { padding:13px 23px; color:#fff; background:var(--ski-accent); border:0; border-radius:999px; }
.landing-ski .companion-actions a:first-child:hover { filter:brightness(.9); }
.landing-ski .north-nav nav, .landing-ski .north-login { color:var(--ski-muted); }
.landing-ski .north-nav a:hover { color:var(--ski-ink); }
.landing-ski .north-nav.past-brand .north-brand-name { display:inline; }
.landing-ski .north-brand-icon img { width:36px; height:36px; }
.ski-scene { width:113%; margin-left:-3%; }
.ski-scene svg { width:100%; display:block; overflow:hidden; mask-image:linear-gradient(0deg,transparent,#000 10%),linear-gradient(90deg,transparent,#000 8%); mask-composite:intersect; }
.ski-slope-shade { stop-color:var(--ski-shade); }
.ski-sun { fill:#f4e2f6; }
.ski-distant { fill:var(--ski-distance); }
.ski-distant-snow { fill:#fff; opacity:.85; }
.ski-ridge { stroke:#fff; stroke-width:2; opacity:.9; }
.ski-piste { stroke:#fff; stroke-width:69; opacity:.55; }
.ski-route { stroke:var(--ski-accent); stroke-width:1.3; stroke-dasharray:2 9; opacity:.14; }
.ski-tree { fill:var(--ski-tree); color:var(--ski-tree); }
.ski-summit { stroke:var(--ski-accent); stroke-width:2; fill:var(--ski-accent); }
.ski-gate { fill:#6a99bd; stroke:#6a99bd; stroke-width:2; }
.ski-shadow { fill:var(--ski-accent); opacity:.2; filter:blur(2px); }
.ski-board { fill:var(--ski-accent); stroke:var(--ski-ink); stroke-width:1.2; stroke-linejoin:round; }
.ski-tip { stroke:#fff; stroke-width:2; opacity:.8; }
.ski-stripe { stroke:#fff; stroke-width:1.5; opacity:.5; }
.ski-stance { stroke:var(--ski-ink); stroke-width:9; stroke-linecap:round; }
.ski-boots { fill:var(--ski-ink); stroke:#fff; stroke-width:1; }
.ski-arm { fill:none; stroke-width:10; stroke-linecap:round; }
.ski-pole-shaft { stroke:var(--ski-ink); stroke-width:2; stroke-linecap:round; }
.ski-pole-grip { stroke:var(--ski-ink); stroke-width:5; stroke-linecap:round; }
.ski-pole-basket { fill:var(--ski-ink); }
.ski-mitten { stroke:var(--ski-ink); stroke-width:.6; }
.ski-eyes { fill:#292239; }
.ski-name rect { fill:#fff; opacity:.9; }
.ski-name text { fill:var(--ski-ink); font:600 18px 'DM Sans',sans-serif; }
.landing-study-companion-ski-glacier { --ski-ink:#28475b; --ski-muted:#607d8d; --ski-accent:#467f9e; --ski-shade:#c9e4ee; --ski-distance:#d9eaf3; --ski-tree:#a4c8d4; }
.landing-study-companion-ski-glacier .north-hero { background:linear-gradient(145deg,#edf9ff,#f8fcff 50%,#e3f0f7); }
.landing-study-companion-ski-glacier .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:600; }
.landing-study-companion-ski-glacier .ski-sun { fill:#fffdf0; }
.landing-study-companion-ski-sunrise { --ski-ink:#654443; --ski-muted:#8b7271; --ski-accent:#b47466; --ski-shade:#f0d9d4; --ski-distance:#f3e2dd; --ski-tree:#d4b6be; }
.landing-study-companion-ski-sunrise .north-hero { background:linear-gradient(145deg,#fff7eb,#fffcf7 50%,#faeae6); }
.landing-study-companion-ski-sunrise .ski-sun { fill:#f9d5a7; }
.landing-study-companion-ski-sunrise .ski-eyebrow { letter-spacing:.12em; }
@media(max-width:1000px) {
 .landing-ski .north-hero h1 { font-size:clamp(33px,4.2vw,45px); }
 .ski-description { font-size:17px; }
 .landing-ski .companion-actions { gap:18px; }
 .landing-ski .companion-actions a { font-size:14px; }
}
@media(max-width:760px) {
 .landing-ski .north-hero { padding:130px 7% 0; }
 .landing-ski .north-hero-copy { grid-template-columns:1fr; }
 .landing-ski .north-hero h1 { font-size:clamp(36px,8.5vw,54px); }
 .landing-ski .north-hero h1 span+span { margin-top:17px; }
 .ski-eyebrow { font-size:9px; margin-bottom:20px; }
 .ski-description { margin-top:23px; font-size:17px; }
 .landing-ski .companion-actions { margin-top:25px; }
 .landing-ski .companion-actions a, .landing-ski .companion-actions a:last-child { font-size:14px; gap:10px; }
 .landing-ski .companion-actions a:first-child { padding:11px 19px; }
 .ski-scene { width:116%; margin-left:-8%; margin-top:20px; }
}
@media(max-height:550px) and (min-width:761px) {
 .landing-ski .north-hero { padding-block:95px 30px; }
 .ski-eyebrow { margin-bottom:16px; }
 .landing-ski .north-hero h1 { font-size:36px; }
 .ski-description { margin-top:19px; font-size:16px; }
}

/* Soft snow, sculpted companions, and three typographic directions. */
.landing-powder { --powder-far:#e5ddf9; --powder-near:#eee9fc; --powder-tree:#b7a3ed; --powder-tree-dark:#8b84ce; --powder-roof:#b398cf; --ski-ink:#322044; --ski-accent:#8557cb; --ski-muted:#827196; }
.landing-powder .north-hero { background:linear-gradient(150deg,#edf5ff,#fffbff 48%,#f1ebfc); padding:125px 5% 55px 8%; overflow:hidden; }
.landing-powder .north-hero-copy { grid-template-columns:1.13fr 1fr; max-width:1480px; }
.powder-copy { position:relative; z-index:3; padding-bottom:65px; }
.landing-powder .north-hero h1 { font:500 clamp(42px,4.9vw,76px)/1.12 'DM Sans',sans-serif; letter-spacing:-.052em; white-space:nowrap; }
.landing-powder .north-hero h1 span+span { font-size:.66em; color:#7748c5; margin-top:20px; letter-spacing:-.04em; }
.powder-description { color:var(--ski-muted); font:400 21px/1.6 'DM Sans',sans-serif; max-width:430px; margin:32px 0 0; }
.landing-powder .companion-actions { margin-top:38px; gap:25px; }
.landing-powder .companion-actions a:first-child { background:linear-gradient(145deg,#8d51e1,#7143c4); padding:16px 27px; box-shadow:inset 0 1px 0 #ffffff55,0 5px 20px #8e6bc514; }
.landing-powder .companion-actions a { font-size:16px; }
.powder-landscape svg { width:100%; height:100%; }
.powder-far-stop { stop-color:var(--powder-far); }
.powder-near-stop { stop-color:var(--powder-near); }
.powder-slope-stop { stop-color:var(--powder-near); }
.powder-scene { position:relative; width:150%; margin-left:-25%; margin-top:35px; }
.powder-scene > svg { display:block; width:100%; max-height:calc(100svh - 180px); overflow:hidden; mask-image:linear-gradient(0deg,transparent,#000 8%),linear-gradient(90deg,transparent,#000 14%); mask-composite:intersect; }
.powder-snow-ridge { stroke:#fff; stroke-width:3; opacity:.3; }
.powder-tree-light { stop-color:var(--powder-tree); }
.powder-tree-dark { stop-color:var(--powder-tree-dark); }
.powder-trunk { stroke:var(--powder-tree-dark); stroke-width:4; }
.powder-roof-stop { stop-color:var(--powder-roof); }
.powder-house-front { fill:#fff5fe; }
.powder-house-side { fill:#e4d5f0; }
.powder-house-door, .powder-house-window { fill:var(--powder-roof); }
.powder-chimney { fill:#ebd4ef; }
.powder-tracks { stroke:var(--powder-tree); stroke-width:2.5; opacity:.19; }
.powder-scene .ski-route { stroke:none; }
.powder-scene .ski-shadow { fill:#80619d; opacity:.25; filter:url(#powder-contact); }
.powder-scene .ski-board { fill:var(--ski-color,#9471c7); stroke:#79608d; stroke-width:.7; }
.powder-scene .ski-boots, .powder-scene .ski-pole-basket { fill:var(--ski-color,#9471c7); }
.powder-scene .ski-stance, .powder-scene .ski-pole-grip, .powder-scene .ski-pole-shaft { stroke:var(--ski-color,#9471c7); }
.powder-scene .ski-traveler:nth-child(2) { --ski-color:#c26eaa; }
.powder-scene .ski-traveler:nth-child(3) { --ski-color:#8156bb; }
.powder-scene .ski-traveler:nth-child(4) { --ski-color:#749bd1; }
.powder-scene .ski-traveler:nth-child(5) { --ski-color:#6cae9d; }
.powder-scene .ski-name rect { fill:#fff; opacity:.65; }
.powder-scene .ski-name text { font-size:15px; font-weight:500; fill:var(--ski-muted); }
.powder-scene .ski-mitten { stroke:none; }
.landing-study-companion-powder-blue { --powder-far:#d8e9f3; --powder-near:#ebf4f8; --powder-tree:#b0d6d6; --powder-tree-dark:#729eaf; --powder-roof:#8bafbe; --ski-ink:#254754; --ski-muted:#627f8a; --ski-accent:#48889f; }
.landing-study-companion-powder-blue .north-hero { background:linear-gradient(150deg,#eef8ff,#fbfffc 50%,#e6f2f4); }
.landing-study-companion-powder-blue .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:600; font-size:clamp(42px,4.7vw,73px); }
.landing-study-companion-powder-blue .north-hero h1 span+span { color:#4f899c; }
.landing-study-companion-powder-blue .companion-actions a:first-child { background:linear-gradient(145deg,#6aa3b3,#478296); }
.landing-study-companion-powder-blue .powder-house-side { fill:#d8e9ef; }
.landing-study-companion-powder-blue .powder-scene { margin-top:0; }
.landing-study-companion-powder-rose { --powder-far:#eadce5; --powder-near:#f7edf0; --powder-tree:#d8bbc9; --powder-tree-dark:#a984a0; --powder-roof:#c39ba9; --ski-ink:#593a4a; --ski-muted:#927482; --ski-accent:#a66c83; }
.landing-study-companion-powder-rose .north-hero { background:linear-gradient(145deg,#fff7f0,#fffafd 50%,#f5e8f0); }
.landing-study-companion-powder-rose .north-hero h1 { font-family:Georgia,serif; font-weight:400; letter-spacing:-.055em; }
.landing-study-companion-powder-rose .north-hero h1 span+span { font-style:italic; font-size:.61em; color:#a16e88; }
.landing-study-companion-powder-rose .companion-actions a:first-child { background:linear-gradient(145deg,#b58099,#98637a); }
.landing-study-companion-powder-rose .powder-house-side { fill:#efdce3; }
@media(max-width:1000px) {
 .landing-powder .north-hero h1 { font-size:clamp(36px,4.8vw,50px); }
 .powder-description { font-size:18px; max-width:330px; }
 .landing-powder .companion-actions a, .landing-powder .companion-actions a:last-child { font-size:14px; }
 .landing-powder .companion-actions { gap:18px; }
}
@media(max-width:760px) {
 .landing-powder .north-hero { padding:130px 7% 0; }
 .landing-powder .north-hero-copy { grid-template-columns:1fr; }
 .powder-copy { padding-bottom:0; }
 .landing-powder .north-hero h1 { font-size:clamp(36px,8.5vw,61px); white-space:normal; }
 .landing-powder .north-hero h1 span+span { font-size:.67em; margin-top:17px; }
 .powder-description { font-size:17px; margin-top:25px; }
 .landing-powder .companion-actions { margin-top:27px; gap:17px; }
 .landing-powder .companion-actions a:first-child { padding:12px 21px; }
 .powder-scene, .landing-study-companion-powder-blue .powder-scene { width:118%; margin-left:-6%; margin-top:10px; }
}
@media(max-height:550px) and (min-width:761px) {
 .landing-powder .north-hero { padding-block:95px 20px; }
 .landing-powder .north-hero h1 { font-size:40px; }
 .powder-copy { padding-bottom:0; }
}

.powder-spray circle { fill:#fff; stroke:#e6dff1; stroke-width:.5; transform-box:fill-box; transform-origin:center; animation:powder-drift 1.6s ease-out infinite; }
.powder-spray circle:nth-child(2) { animation-delay:-.6s; }
.powder-spray circle:nth-child(3) { animation-delay:-1.1s; }
.powder-spray circle:nth-child(4) { animation-delay:-.3s; }
.powder-spray circle:nth-child(5) { animation-delay:-.8s; }
@keyframes powder-drift { from { transform:translate(4px,0) scale(.4); opacity:.85; } to { transform:translate(-25px,-15px) scale(1.4); opacity:0; } }
.ski-paused .powder-spray circle { animation-play-state:paused; }
@media(prefers-reduced-motion:reduce) { .powder-spray circle { animation:none; opacity:.6; } }

.powder-scene .ski-arm { stroke:var(--ski-color,#9471c7); stroke-width:5; }
@media(max-width:760px) { .powder-scene > svg { max-height:none; } }
@media(max-height:550px) and (min-width:761px) { .powder-scene > svg { max-height:420px; } }

/* Smooth six-agent editions of Lilac Homecoming. */
.homeward-route { stroke:none; fill:none; }
.homeward-smooth .homeward-name { animation:none; }
.homeward-smooth .traveler-5 .homeward-eyes { animation-delay:-5s; }
.landing-study-companion-home-lilac-calm .north-hero h1 { font-family:'DM Sans',sans-serif; font-weight:450; letter-spacing:-.05em; }
.landing-study-companion-home-lilac-calm .north-hero h1 span+span { font-weight:400; }
.landing-study-companion-home-lilac-round { --home-ink:#3e2b59; --home-accent:#8b61bb; --home-hill:#e8ddf5; --home-shade:#d8c9e9; }
.landing-study-companion-home-lilac-round .north-hero { background:linear-gradient(145deg,#f5f3ff,#fffaff 55%,#eee5f7); }
.landing-study-companion-home-lilac-round .north-hero h1 { font-family:'Quicksand',sans-serif; font-weight:600; letter-spacing:-.045em; }
.landing-study-companion-home-lilac-round .homeward-description,
.landing-study-companion-home-lilac-round .companion-actions a { font-family:'Quicksand',sans-serif; font-weight:500; }
.landing-study-companion-home-lilac-story { --home-ink:#504054; --home-accent:#99749e; --home-muted:#89758e; --home-hill:#eee2ef; --home-shade:#dfcfe3; --home-tree:#bca6ca; --home-roof:#c1a2cc; }
.landing-study-companion-home-lilac-story .north-hero { background:linear-gradient(145deg,#fcf7f3,#fffbff 55%,#f0e6f2); }
.landing-study-companion-home-lilac-story .north-hero h1 { font-family:Georgia,serif; font-weight:400; letter-spacing:-.055em; }
.landing-study-companion-home-lilac-story .north-hero h1 span+span { font-style:italic; font-size:.66em; }
.landing-study-companion-home-lilac-story .companion-actions a:first-child { background:#94719b; }
