.home-hero { position: relative; isolation: isolate; padding-bottom: var(--section-space-compact); background: linear-gradient(180deg, #fff0 calc(100% - var(--surface-fade)), #fff), radial-gradient(ellipse at 90% 40%, #efebff 0, transparent 46%), radial-gradient(ellipse at 9% 60%, #f1eeff 0, transparent 50%); }
.hero-waves { position: absolute; z-index: -1; inset: 0; overflow: hidden; mask-image: linear-gradient(#000 calc(100% - var(--surface-fade)), transparent); }
.hero-waves::before, .hero-waves::after { content: ""; position: absolute; width: 140%; height: 66%; border-radius: 50%; background: linear-gradient(160deg, #e4e7ff66, #f9ecf475 65%, #dfdcff77); }
.hero-waves::before { left: -78%; top: 27%; transform: rotate(28deg); box-shadow: 0 -32px 0 #eeedff66, 0 -67px 0 #f5f4ff88; }
.hero-waves::after { right: -76%; top: 33%; transform: rotate(-26deg); box-shadow: 0 -36px 0 #eeedff66, 0 -76px 0 #f5f4ff88; }
.home-hero-inner { max-width: 1120px; }
.home-intro { position: relative; display: grid; grid-template-columns: 1.65fr 1fr; align-items: center; padding-top: 36px; min-height: 312px; }
.home-name { display: block; font-size: clamp(48px, 5.8vw, 77px); line-height: 1.1; letter-spacing: -.055em; margin-bottom: 7px; }
.home-title { display: block; font-size: clamp(27px, 3.35vw, 45px); font-weight: 750; white-space: nowrap; letter-spacing: -.045em; }
.home-title strong { color: var(--primary); font-weight: inherit; }
.home-intro-copy > p { margin-top: 8px; margin-bottom: 23px; color: #555e77; font-size: 19px; }
.home-intro-copy .button { min-width: 180px; }
.home-mascot { position: relative; align-self: end; width: 100%; height: 286px; }
.home-mascot > img { position: absolute; width: 275px; height: 275px; object-fit: contain; bottom: 0; left: 6%; }
.handwritten { position: absolute; top: 72px; right: -44px; width: 214px; }
.handwritten img { width: 100%; }
.home-client { position: relative; box-shadow: 0 3px 25px #7464ec13; }
.home-client img { width: 100%; }
.home-ways { padding-block: var(--section-space); }
.home-ways > h2 { text-align: center; font-size: clamp(28px, 3vw, 39px); }
.ways-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 24px; }
.way { display: flex; align-items: center; gap: 12px; }
.way > img { width: 39%; height: 132px; object-fit: contain; flex: 0 0 auto; }
.way h3 { font-size: 23px; }
.way p { font-size: 15px; margin: 6px 0 9px; white-space: nowrap; }
.way .text-link { font-size: 15px; }
.home-feature { padding-block: var(--section-space); }
.home-feature-grid { display: grid; grid-template-columns: .88fr 1.55fr; align-items: center; gap: 38px; }
.home-feature-copy > h2 { font-size: clamp(27px, 2.95vw, 40px); white-space: nowrap; }
.home-feature-copy > p { margin-top: 10px; font-size: 19px; max-width: 390px; line-height: 1.6; }
.business-apps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 29px 0 19px; max-width: 385px; }
.business-apps > div { text-align: center; font-size: 13px; line-height: 1.45; color: var(--heading); }
.business-apps .app-icon { width: 57px; height: 57px; margin: 0 auto 9px; }
.home-workspace-shot { align-self: stretch; }
.home-workspace-shot picture, .home-workspace-shot img { height: 100%; min-height: 380px; }
.home-workspace-shot img { object-fit: cover; object-position: top center; }
.home-creative, .home-agents { padding-block: var(--section-space-compact); }
.home-creative .home-feature-copy > .text-link, .home-agents .home-feature-copy > .text-link { margin-top: 24px; min-height: 44px; }
.home-preview > img { width: 100%; }
.home-cta { position: relative; isolation: isolate; overflow: hidden; padding-block: var(--section-space-compact); background: var(--section-fade), radial-gradient(ellipse at 2% 130%, #e7e6ff, transparent 42%), radial-gradient(ellipse at 98% 120%, #e9e3ff, transparent 36%); }
.home-cta-inner { position: relative; display: flex; align-items: center; justify-content: center; gap: 55px; min-height: 215px; padding-block: 10px; }
.cta-mascot { width: 195px; height: 195px; object-fit: contain; }
.home-cta h2 { font-size: 29px; }
.home-cta p { font-size: 16px; margin-top: 5px; }
.cta-download { font-size: 14px; min-height: 44px; margin-top: 14px; text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 1440px) { .home-hero-inner { max-width: 1200px; } }
@media (min-width: 768px) and (max-width: 1100px) {
  .home-hero-inner { width: 84%; }
  .home-intro { min-height: 253px; padding-top: 20px; }
  .home-intro-copy > p { font-size: 16px; }
  .home-mascot { height: 225px; }
  .home-mascot > img { width: 62%; max-width: 225px; height: auto; aspect-ratio: 1; left: 0; }
  .handwritten { width: 50%; max-width: 158px; right: -42px; top: 72px; }
  .home-intro-copy .button { min-width: 0; padding-inline: 24px; }
  .home-feature-grid { gap: 25px; grid-template-columns: .95fr 1.55fr; }
  .home-feature-copy > p { font-size: 16px; }
  .way { gap: 8px; }
  .way > img { height: 107px; }
  .way h3 { font-size: 21px; }
  .way p { white-space: normal; font-size: 13px; }
  .business-apps { gap: 5px; margin-top: 20px; }
  .business-apps > div { font-size: 12px; }
  .business-apps .app-icon { width: 49px; height: 49px; }
  .home-workspace-shot picture, .home-workspace-shot img { min-height: 330px; }
}
@media (max-width: 767px) {
  .home-intro { grid-template-columns: 1fr; padding-top: 32px; min-height: 0; }
  .home-name { font-size: 48px; }
  .home-title { font-size: clamp(23px, 6.2vw, 37px); letter-spacing: -.04em; }
  .home-intro-copy > p { margin-block: 12px 20px; font-size: 15px; max-width: 390px; }
  .home-intro-copy .button { min-width: 0; padding-inline: 20px; }
  .home-mascot { height: 195px; max-width: 390px; margin: 10px auto 0; }
  .home-mascot > img { width: 55%; max-width: 195px; height: auto; aspect-ratio: 1; left: 0; }
  .handwritten { top: 41px; right: 0; width: 43%; max-width: 138px; }
  .home-client { border-radius: 8px; }
  .home-ways > h2 { font-size: 25px; }
  .ways-grid { grid-template-columns: 1fr; gap: 5px; margin-top: 22px; }
  .way { gap: 22px; max-width: 420px; width: 100%; margin-inline: auto; }
  .way > img { height: 112px; width: 115px; }
  .way h3 { font-size: 21px; }
  .way p { font-size: 13px; white-space: normal; margin: 4px 0 6px; }
  .home-feature-grid { grid-template-columns: 1fr; gap: 26px; }
  .home-feature-copy > h2 { font-size: clamp(25px, 6.6vw, 34px); white-space: normal; }
  .home-feature-copy > p { font-size: 16px; max-width: 100%; }
  .business-apps { max-width: 410px; margin-block: 23px; }
  .home-workspace-shot picture, .home-workspace-shot img { min-height: 0; height: auto; }
  .home-creative .home-feature-copy > .text-link, .home-agents .home-feature-copy > .text-link { margin-top: 18px; }
  .home-cta-inner { flex-direction: column; gap: 0; padding-block: 10px 30px; text-align: center; }
  .cta-mascot { width: 150px; height: 150px; }
  .home-cta h2 { font-size: 25px; }
  .home-cta p { font-size: 14px; margin-top: 10px; }
  .cta-download { margin-top: 18px; }
}
