@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

.hippo-landing {
  --hl-pink: #ff386b;
  --hl-pink-dark: #e92b5b;
  --hl-ink: #242a35;
  --hl-muted: #77808d;
  --hl-line: #ececf0;
  --hl-paper: #fff;
  --hl-blush: #fff7f8;
  --hl-font: 'Manrope', sans-serif;
  background: var(--hl-paper);
  color: var(--hl-ink);
  font-family: var(--hl-font);
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.hippo-landing *,
.hippo-landing *::before,
.hippo-landing *::after { box-sizing: border-box; }
.hippo-landing h1,
.hippo-landing h2,
.hippo-landing h3,
.hippo-landing p,
.hippo-landing ul,
.hippo-landing figure { margin-top: 0; }
.hippo-landing h1,
.hippo-landing h2,
.hippo-landing h3 { color: var(--hl-ink); font-family: var(--hl-font); font-weight: 800; letter-spacing: -.045em; }
.hippo-landing a { color: inherit; text-decoration: none; }
.hippo-landing img { display: block; max-width: 100%; }
.hippo-landing button,
.hippo-landing input,
.hippo-landing textarea { font: inherit; }
.hl-container { margin: 0 auto; max-width: 1200px; padding-left: 30px; padding-right: 30px; width: 100%; }
.hl-visually-hidden,
.hl-skip-link:not(:focus) { clip: rect(0, 0, 0, 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.hl-skip-link:focus { background: #fff; border: 2px solid var(--hl-pink); border-radius: 8px; left: 14px; padding: 10px 14px; position: fixed; top: 14px; z-index: 1000; }

/* Header and navigation */
.hl-header { background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(38,42,53,.06); left: 0; position: sticky; right: 0; top: 0; z-index: 100; backdrop-filter: blur(16px); }
.hl-nav-wrap { align-items: center; display: flex; height: 82px; justify-content: space-between; }
.hl-brand { align-items: center; display: inline-flex; flex: 0 0 auto; }
.hl-brand img { height: auto; width: 188px; }
.hl-nav { align-items: center; display: flex; gap: 30px; }
.hl-nav > a { color: #525966; font-size: 14px; font-weight: 700; transition: color .2s ease; }
.hl-nav > a:hover,
.hl-nav > a:focus-visible { color: var(--hl-pink); }
.hl-nav .hl-language { align-items: center; border: 1px solid var(--hl-line); border-radius: 99px; display: inline-flex; height: 38px; justify-content: center; min-width: 46px; }
.hl-nav .hl-nav-cta { background: var(--hl-pink); border-radius: 13px; box-shadow: 0 8px 20px rgba(255,56,107,.19); color: #fff; padding: 11px 18px; }
.hl-nav .hl-nav-cta:hover,
.hl-nav .hl-nav-cta:focus-visible { background: var(--hl-pink-dark); color: #fff; transform: translateY(-1px); }
.hl-menu-toggle { background: transparent; border: 0; cursor: pointer; display: none; height: 44px; padding: 10px; width: 44px; }
.hl-menu-toggle span { background: var(--hl-ink); border-radius: 4px; display: block; height: 2px; margin: 5px 0; transition: transform .2s ease; width: 22px; }

/* Shared sections */
.hl-section { padding: 112px 0; position: relative; }
.hl-kicker { color: var(--hl-pink-dark); display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .12em; margin-bottom: 16px; text-transform: uppercase; }
.hl-section-heading { max-width: 680px; }
.hl-center-heading { margin: 0 auto 50px; text-align: center; }
.hl-section-heading h2,
.hl-section-copy h2,
.hl-contact-copy h2 { font-size: clamp(34px, 4.1vw, 52px); line-height: 1.15; margin-bottom: 19px; }
.hl-section-heading p,
.hl-section-copy > p,
.hl-contact-copy > p { color: var(--hl-muted); font-size: 17px; line-height: 1.8; margin-bottom: 0; }
.hl-section-copy { max-width: 490px; }
.hl-section-copy h2 { max-width: 550px; }
.hl-split-grid { align-items: center; display: grid; gap: clamp(58px, 9vw, 132px); grid-template-columns: 1fr 1fr; }
.hl-text-link { align-items: center; color: var(--hl-pink-dark) !important; display: inline-flex; font-size: 15px; font-weight: 800; gap: 11px; margin-top: 31px; }
.hl-text-link span { align-items: center; background: #fff0f3; border-radius: 50%; display: inline-flex; height: 33px; justify-content: center; transition: transform .2s ease; width: 33px; }
.hl-text-link:hover span { transform: translate(3px,-3px); }

/* Hero */
.hl-hero { background: #fff7f8; min-height: 720px; overflow: hidden; padding: 64px 0 24px; position: relative; }
.hl-hero::after { background: #fff; border-radius: 50% 50% 0 0 / 100% 100% 0 0; bottom: -62px; content: ''; height: 104px; left: -5%; position: absolute; right: -5%; }
.hl-hero-grid { align-items: center; display: grid; gap: 40px; grid-template-columns: 1.08fr .92fr; min-height: 585px; position: relative; z-index: 2; }
.hl-hero-copy { max-width: 600px; padding: 25px 0 50px; position: relative; z-index: 2; }
.hl-eyebrow { align-items: center; background: #fff; border: 1px solid #ffe1e8; border-radius: 99px; color: #4d5662; display: inline-flex; font-size: 13px; font-weight: 700; gap: 10px; margin-bottom: 23px; padding: 9px 15px; }
.hl-eyebrow-dot { background: var(--hl-pink); border-radius: 50%; box-shadow: 0 0 0 5px #ffe6ec; height: 8px; width: 8px; }
.hl-hero h1 { font-size: clamp(48px, 6.2vw, 76px); letter-spacing: -.06em; line-height: 1.07; margin: 0 0 24px; max-width: 650px; }
.hl-hero-lead { color: #68717e; font-size: 18px; line-height: 1.8; margin: 0; max-width: 560px; }
.hl-store-links { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hl-store-button { align-items: center; background: var(--hl-ink); border: 1px solid var(--hl-ink); border-radius: 13px; color: #fff !important; display: inline-flex; gap: 12px; min-height: 60px; min-width: 178px; padding: 8px 16px; transition: background .2s ease, transform .2s ease, box-shadow .2s ease; }
.hl-store-button:hover,
.hl-store-button:focus-visible { background: #111620; box-shadow: 0 8px 20px rgba(28,34,44,.16); color: #fff; transform: translateY(-2px); }
.hl-store-button svg { fill: currentColor; height: 27px; width: 27px; }
.hl-store-button small,
.hl-store-button strong { display: block; line-height: 1.2; }
.hl-store-button small { font-size: 9px; letter-spacing: .06em; opacity: .76; }
.hl-store-button strong { font-size: 15px; margin-top: 4px; }
.hl-download-note { color: #858b96; font-size: 13px; margin: 16px 0 0; }
.hl-download-note span { color: var(--hl-pink); margin-right: 5px; }
.hl-hero-visual { align-items: center; display: flex; height: 590px; justify-content: center; position: relative; }
.hl-phone { background: #161920; border: 5px solid #20232b; border-radius: 42px; box-shadow: 0 30px 70px rgba(38,32,48,.2), inset 0 0 0 1px rgba(255,255,255,.5); overflow: hidden; padding: 4px; position: relative; z-index: 1; }
.hl-phone img { background: #fff; border-radius: 33px; height: 100%; object-fit: cover; object-position: top center; width: 100%; }
.hl-phone-home { height: 580px; transform: rotate(4deg) translate(7px, 3px); width: 298px; }
.hl-hero-orbit { border: 1px solid rgba(255,56,107,.19); border-radius: 50%; height: 500px; position: absolute; transform: rotate(-18deg); width: 500px; }
.hl-orbit-a { height: 485px; width: 485px; }
.hl-orbit-b { border-color: rgba(255,56,107,.11); height: 570px; width: 570px; }
.hl-hero-glow { background: #ffd6df; border-radius: 50%; filter: blur(2px); height: 220px; opacity: .7; position: absolute; width: 220px; }
.hl-glow-one { right: 12%; top: 10%; }
.hl-glow-two { background: #fff; bottom: 16%; height: 150px; left: 46%; width: 150px; }
.hl-floating-note { align-items: center; backdrop-filter: blur(12px); background: rgba(255,255,255,.95); border: 1px solid #fff; border-radius: 15px; box-shadow: 0 12px 30px rgba(44,31,44,.1); color: #424957; display: flex; font-size: 12px; font-weight: 800; gap: 10px; padding: 13px 16px; position: absolute; z-index: 3; }
.hl-note-top { right: -6px; top: 87px; }
.hl-note-top span { align-items: center; background: #fff0f3; border-radius: 10px; color: var(--hl-pink); display: inline-flex; font-size: 18px; height: 32px; justify-content: center; width: 32px; }
.hl-note-bottom { bottom: 94px; left: -17px; }
.hl-streak-icon { align-items: center; background: #effcf4; border-radius: 10px; color: #27bd85; display: inline-flex; font-size: 19px; height: 32px; justify-content: center; width: 32px; }
.hl-hero-bottom { align-items: center; color: #858a95; display: flex; font-size: 12px; justify-content: space-between; padding-top: 0; position: relative; z-index: 2; }
.hl-hero-bottom a { align-items: center; background: #fff; border: 1px solid #f0dfe4; border-radius: 50%; color: var(--hl-pink-dark); display: flex; font-size: 20px; height: 42px; justify-content: center; width: 42px; }

/* Benefits */
.hl-feature-section { padding-bottom: 122px; padding-top: 92px; }
.hl-feature-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); }
.hl-feature-card { border: 1px solid transparent; border-radius: 24px; min-height: 258px; overflow: hidden; padding: 31px 30px; position: relative; transition: transform .22s ease, box-shadow .22s ease; }
.hl-feature-card:hover { box-shadow: 0 18px 42px rgba(34,37,47,.08); transform: translateY(-5px); }
.hl-feature-pink { background: #fff3f5; border-color: #ffe7ec; }
.hl-feature-yellow { background: #fff9e9; border-color: #fff2d0; }
.hl-feature-lilac { background: #f6f3ff; border-color: #ece5ff; }
.hl-feature-icon { align-items: center; background: rgba(255,255,255,.82); border-radius: 15px; color: var(--hl-pink); display: flex; font-size: 26px; height: 53px; justify-content: center; margin-bottom: 23px; width: 53px; }
.hl-feature-yellow .hl-feature-icon { color: #e5a420; }
.hl-feature-lilac .hl-feature-icon { color: #8867db; }
.hl-feature-card h3 { font-size: 20px; letter-spacing: -.03em; margin: 0 0 10px; }
.hl-feature-card p { color: #737b88; font-size: 14px; line-height: 1.75; margin: 0; max-width: 320px; }
.hl-card-number { bottom: 17px; color: rgba(36,42,53,.16); font-size: 12px; font-weight: 800; position: absolute; right: 22px; }

/* Word detail and visual stages */
.hl-word-section { background: #fcfcfd; overflow: hidden; }
.hl-screen-stage,
.hl-reading-visual { align-items: center; display: flex; justify-content: center; min-height: 640px; position: relative; }
.hl-stage-blob { background: linear-gradient(145deg, #ffe1e8, #fff0e5); border-radius: 42% 58% 62% 38% / 45% 41% 59% 55%; height: 470px; position: absolute; transform: rotate(-12deg); width: 430px; }
.hl-phone-detail { height: 590px; transform: rotate(-4deg); width: 274px; }
.hl-phone-detail img { object-fit: cover; }
.hl-word-chip { align-items: center; background: #fff; border: 1px solid #f2edf0; border-radius: 15px; bottom: 109px; box-shadow: 0 16px 32px rgba(36,42,53,.1); display: flex; gap: 11px; left: 1%; padding: 13px 17px; position: absolute; z-index: 2; }
.hl-chip-dot { background: #25c18a; border: 4px solid #e4fbf1; border-radius: 50%; height: 20px; width: 20px; }
.hl-word-chip strong,
.hl-word-chip small { display: block; line-height: 1.3; }
.hl-word-chip strong { font-size: 13px; }
.hl-word-chip small { color: #9299a4; font-size: 10px; margin-top: 4px; }
.hl-check-list { list-style: none; margin: 26px 0 0; padding: 0; }
.hl-check-list li { align-items: center; color: #555f6c; display: flex; font-size: 15px; gap: 13px; margin: 13px 0; }
.hl-check-list li span { align-items: center; background: #e9fbf4; border-radius: 50%; color: #22b77e; display: inline-flex; flex: 0 0 24px; font-size: 13px; font-weight: 800; height: 24px; justify-content: center; width: 24px; }

/* Exercise selector */
.hl-practice-section { background: #fff7f8; overflow: hidden; }
.hl-practice-grid { align-items: center; display: grid; gap: clamp(50px, 8vw, 112px); grid-template-columns: 1fr 1fr; }
.hl-practice-options { display: grid; gap: 11px; grid-template-columns: 1fr 1fr; margin-top: 29px; max-width: 435px; }
.hl-practice-option { align-items: center; background: #fff; border: 1px solid #f0e9eb; border-radius: 13px; color: #47505d; cursor: pointer; display: flex; font-size: 13px; font-weight: 700; gap: 11px; min-height: 58px; padding: 9px 12px; text-align: left; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.hl-practice-option:hover,
.hl-practice-option:focus-visible { border-color: #ff9ab1; box-shadow: 0 4px 14px rgba(255,56,107,.08); }
.hl-practice-option.is-active { background: #fff0f3; border-color: #ff7d9a; color: #df2d59; }
.hl-option-icon { align-items: center; background: #fff6f7; border-radius: 10px; color: var(--hl-pink); display: inline-flex; flex: 0 0 34px; font-size: 18px; height: 34px; justify-content: center; }
.hl-exam-showcase { align-items: center; display: flex; justify-content: center; min-height: 690px; position: relative; }
.hl-exam-halo { background: radial-gradient(circle, #ffe4ea 0%, #ffedf0 54%, rgba(255,237,240,0) 72%); border-radius: 50%; height: 610px; position: absolute; width: 610px; }
.hl-phone-exam { height: 610px; transition: opacity .16s ease, transform .2s ease; width: 281px; }
.hl-phone-exam img { object-fit: cover; }
.hl-exam-sticker { align-items: center; background: #fff; border: 1px solid #f6e4e8; border-radius: 17px; bottom: 111px; box-shadow: 0 13px 32px rgba(36,42,53,.09); color: #525b68; display: flex; gap: 9px; padding: 13px 16px; position: absolute; right: -4px; transform: rotate(5deg); z-index: 2; }
.hl-exam-sticker > span { color: #ffb92f; font-size: 24px; }
.hl-exam-sticker small { font-size: 11px; font-weight: 800; max-width: 100px; line-height: 1.4; }

/* Reading */
.hl-reading-section { overflow: hidden; }
.hl-reading-visual { min-height: 660px; }
.hl-reading-blob { background: linear-gradient(145deg, #fff0ca, #ffd8e1 74%); border-radius: 55% 45% 38% 62% / 48% 58% 42% 52%; height: 495px; position: absolute; transform: rotate(11deg); width: 455px; }
.hl-phone-reading { height: 590px; transform: rotate(4deg); width: 274px; }
.hl-phone-reading img { object-fit: cover; }
.hl-audio-pill { align-items: center; background: #fff; border: 1px solid #f1edf0; border-radius: 99px; bottom: 94px; box-shadow: 0 12px 30px rgba(36,42,53,.1); color: #525b68; display: flex; font-size: 12px; font-weight: 800; gap: 11px; padding: 12px 18px; position: absolute; right: 0; z-index: 2; }
.hl-audio-bars { align-items: center; display: flex; gap: 3px; height: 19px; }
.hl-audio-bars i { animation: hl-wave 1s ease-in-out infinite alternate; background: var(--hl-pink); border-radius: 3px; height: 9px; width: 3px; }
.hl-audio-bars i:nth-child(2) { animation-delay: .12s; height: 16px; }
.hl-audio-bars i:nth-child(3) { animation-delay: .24s; height: 12px; }
.hl-audio-bars i:nth-child(4) { animation-delay: .36s; height: 18px; }
.hl-audio-bars i:nth-child(5) { animation-delay: .48s; height: 8px; }
@keyframes hl-wave { to { transform: scaleY(.58); } }
.hl-reading-stats { border-bottom: 1px solid var(--hl-line); border-top: 1px solid var(--hl-line); display: flex; gap: 58px; margin-top: 30px; max-width: 390px; padding: 19px 0; }
.hl-reading-stats strong,
.hl-reading-stats span { display: block; }
.hl-reading-stats strong { color: var(--hl-pink-dark); font-family: var(--hl-font); font-size: 29px; font-weight: 800; letter-spacing: -.05em; line-height: 1.2; }
.hl-reading-stats span { color: #78808c; font-size: 12px; margin-top: 5px; }

/* Testimonials, pricing and news */
.hl-testimonials-section { background: #fcfcfd; }
.hl-testimonial-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, 1fr); }
.hl-testimonial-card { background: #fff; border: 1px solid #efeff2; border-radius: 20px; padding: 25px 26px; }
.hl-stars { color: #ffb52c; font-size: 14px; letter-spacing: 2px; }
.hl-testimonial-card blockquote { color: #525b68; font-size: 15px; line-height: 1.8; margin: 14px 0 23px; }
.hl-review-author { align-items: center; border-top: 1px solid #f0f0f2; display: flex; gap: 12px; padding-top: 17px; position: relative; }
.hl-review-author img { background: #f5f5f7; border-radius: 50%; height: 42px; object-fit: cover; width: 42px; }
.hl-review-author strong,
.hl-review-author div span { display: block; }
.hl-review-author strong { font-size: 13px; }
.hl-review-author div span { color: #9097a1; font-size: 11px; margin-top: 2px; }
.hl-quote-mark { color: #ffe1e8; font-family: Georgia, serif; font-size: 55px; line-height: 1; margin-left: auto; }
.hl-pricing-section { background: #fff7f8; }
.hl-pricing-grid { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 auto; max-width: 820px; }
.hl-price-card { background: #fff; border: 1px solid #eee9eb; border-radius: 22px; min-height: 326px; padding: 31px 32px; position: relative; }
.hl-price-featured { border: 2px solid var(--hl-pink); box-shadow: 0 14px 38px rgba(255,56,107,.09); }
.hl-plan-label { color: #818895; display: block; font-size: 12px; font-weight: 800; letter-spacing: .08em; margin-bottom: 11px; text-transform: uppercase; }
.hl-price-card h3 { font-size: 21px; line-height: 1.4; margin: 0 0 16px; max-width: 300px; }
.hl-price { align-items: baseline; color: var(--hl-pink-dark); display: flex; gap: 5px; margin: 0; }
.hl-price strong { font-family: var(--hl-font); font-size: 42px; font-weight: 800; letter-spacing: -.06em; line-height: 1.2; }
.hl-price > span { font-size: 20px; font-weight: 700; }
.hl-plan-note { color: #858c97; font-size: 13px; margin: 6px 0 24px; }
.hl-outline-button,
.hl-solid-button { align-items: center; border-radius: 12px; cursor: pointer; display: inline-flex; font-size: 14px; font-weight: 800; gap: 12px; justify-content: center; min-height: 48px; padding: 11px 19px; transition: background .2s ease, box-shadow .2s ease, transform .2s ease; }
.hl-outline-button { border: 1px solid #dedfe4; color: var(--hl-ink) !important; }
.hl-outline-button:hover,
.hl-outline-button:focus-visible { background: #f9f9fa; transform: translateY(-1px); }
.hl-solid-button { background: var(--hl-pink); border: 1px solid var(--hl-pink); color: #fff !important; }
.hl-solid-button:hover,
.hl-solid-button:focus-visible { background: var(--hl-pink-dark); box-shadow: 0 7px 18px rgba(255,56,107,.18); color: #fff; transform: translateY(-1px); }
.hl-solid-button:disabled,
.hl-newsletter-control button:disabled { cursor: wait; opacity: .65; }
.hl-plan-badge { background: var(--hl-pink); border-radius: 0 15px 0 12px; color: #fff; font-size: 10px; font-weight: 800; padding: 8px 13px; position: absolute; right: -1px; top: -1px; }
.hl-pricing-footnote { color: #818894; font-size: 13px; margin: 25px auto 0; text-align: center; }
.hl-pricing-footnote span { color: #f2af28; }
.hl-news-section { padding-bottom: 100px; }
.hl-news-heading { align-items: end; display: flex; gap: 40px; justify-content: space-between; margin-bottom: 32px; max-width: none; }
.hl-news-heading h2 { font-size: clamp(34px, 4vw, 47px); margin: 0; }
.hl-news-heading p { color: var(--hl-muted); font-size: 14px; line-height: 1.7; margin: 0 0 4px; max-width: 390px; }
.hl-news-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.hl-news-card { background: #fff; border: 1px solid #ededf0; border-radius: 18px; overflow: hidden; }
.hl-news-image { height: 205px; overflow: hidden; position: relative; }
.hl-news-image > img { height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.hl-news-card:hover .hl-news-image > img { transform: scale(1.04); }
.hl-news-date { align-items: center; background: #fff; border-radius: 12px; bottom: 13px; color: #858b96; display: flex; flex-direction: column; font-size: 10px; gap: 0; left: 13px; line-height: 1.3; min-width: 45px; padding: 8px 6px; position: absolute; }
.hl-news-date strong { color: var(--hl-pink-dark); font-size: 18px; }
.hl-news-content { padding: 19px 20px 21px; }
.hl-news-content h3 { font-size: 17px; line-height: 1.45; margin: 0 0 9px; }
.hl-news-content p { color: #858c97; display: -webkit-box; font-size: 13px; line-height: 1.65; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

/* FAQ and contact */
.hl-faq-section { background: #fcfcfd; }
.hl-faq-grid { align-items: start; display: grid; gap: clamp(50px, 8vw, 125px); grid-template-columns: .8fr 1.2fr; }
.hl-faq-list { border-top: 1px solid #e9e9ed; }
.hl-faq-item { border-bottom: 1px solid #e9e9ed; }
.hl-faq-item summary { align-items: center; color: var(--hl-ink); cursor: pointer; display: flex; font-size: 15px; font-weight: 800; gap: 15px; justify-content: space-between; list-style: none; padding: 23px 2px; }
.hl-faq-item summary::-webkit-details-marker { display: none; }
.hl-faq-item summary i { border: 1px solid #e4e4e8; border-radius: 50%; flex: 0 0 30px; height: 30px; position: relative; width: 30px; }
.hl-faq-item summary i::before,
.hl-faq-item summary i::after { background: var(--hl-pink); content: ''; height: 2px; left: 8px; position: absolute; top: 13px; transition: transform .18s ease; width: 12px; }
.hl-faq-item summary i::after { transform: rotate(90deg); }
.hl-faq-item[open] summary i::after { transform: rotate(0); }
.hl-faq-item > p { color: #77808d; font-size: 14px; line-height: 1.8; margin: -3px 42px 22px 2px; }
.hl-contact-section { background: #fff7f8; padding: 100px 0; }
.hl-contact-grid { align-items: start; display: grid; gap: clamp(50px, 8vw, 112px); grid-template-columns: .85fr 1.15fr; }
.hl-contact-copy { padding-top: 24px; }
.hl-contact-email { align-items: center; color: var(--hl-pink-dark) !important; display: inline-flex; font-size: 15px; font-weight: 800; gap: 10px; margin-top: 28px; }
.hl-contact-email span { align-items: center; background: #ffe6ec; border-radius: 50%; display: inline-flex; height: 37px; justify-content: center; width: 37px; }
.hl-contact-form { background: #fff; border: 1px solid #f0e8eb; border-radius: 22px; box-shadow: 0 14px 40px rgba(51,34,41,.04); padding: 31px; }
.hl-contact-form h3 { font-size: 22px; margin: 0 0 20px; }
.hl-contact-form label { color: #555e6b; display: block; font-size: 12px; font-weight: 800; margin: 14px 0 7px; }
.hl-contact-form input,
.hl-contact-form textarea,
.hl-newsletter input { background: #fbfbfc; border: 1px solid #e9e9ed; border-radius: 10px; color: var(--hl-ink); outline: none; transition: border-color .18s ease, box-shadow .18s ease; width: 100%; }
.hl-contact-form input,
.hl-contact-form textarea { padding: 12px 14px; }
.hl-contact-form textarea { min-height: 116px; resize: vertical; }
.hl-contact-form input:focus,
.hl-contact-form textarea:focus,
.hl-newsletter input:focus { border-color: #ff8ea6; box-shadow: 0 0 0 3px rgba(255,56,107,.1); }
.hl-contact-form input::placeholder,
.hl-contact-form textarea::placeholder,
.hl-newsletter input::placeholder { color: #a1a6af; }
.hl-contact-form .hl-solid-button { margin-top: 15px; min-width: 150px; }
.hl-form-status,
.hl-newsletter-status { color: #258a62; font-size: 13px; margin: 12px 0 0; min-height: 20px; }
.hl-form-status.is-error,
.hl-newsletter-status.is-error { color: #c82d52; }

/* Closing call to action and footer */
.hl-final-cta { background: #fff; padding: 0 0 65px; }
.hl-final-cta-inner { align-items: center; background: var(--hl-pink); border-radius: 26px; color: #fff; display: flex; gap: 35px; justify-content: space-between; min-height: 225px; overflow: hidden; padding-bottom: 43px; padding-top: 43px; position: relative; }
.hl-final-cta .hl-kicker { color: #ffe5eb; margin-bottom: 9px; }
.hl-final-cta h2 { color: #fff; font-size: clamp(30px, 4vw, 42px); line-height: 1.16; margin: 0 0 10px; max-width: 650px; }
.hl-final-cta p { color: rgba(255,255,255,.84); font-size: 14px; margin: 0; }
.hl-final-button { align-items: center; background: #fff; border-radius: 12px; color: var(--hl-pink-dark) !important; display: inline-flex; flex: 0 0 auto; font-size: 14px; font-weight: 800; gap: 12px; min-height: 52px; padding: 12px 19px; position: relative; z-index: 2; }
.hl-final-button:hover { background: #fff5f7; transform: translateY(-1px); }
.hl-final-sparkle { color: rgba(255,255,255,.15); font-size: 190px; line-height: 1; position: absolute; right: 180px; top: -40px; }
.hl-footer { background: #fff; }
.hl-footer-top { border-bottom: 1px solid #ededf0; display: grid; gap: 45px; grid-template-columns: 1.2fr .7fr .7fr 1.15fr; padding: 30px 0 42px; }
.hl-footer-brand img { width: 172px; }
.hl-footer-brand p { color: #7d8591; font-size: 13px; line-height: 1.7; margin: 15px 0; max-width: 270px; }
.hl-social-links { display: flex; gap: 9px; }
.hl-social-links a { align-items: center; background: #f5f5f7; border-radius: 50%; color: #59616d; display: flex; font-size: 14px; font-weight: 800; height: 34px; justify-content: center; transition: background .18s ease, color .18s ease; width: 34px; }
.hl-social-links a:hover { background: var(--hl-pink); color: #fff; }
.hl-footer-links { display: flex; flex-direction: column; gap: 10px; }
.hl-footer-links strong,
.hl-newsletter > strong { color: var(--hl-ink); font-family: var(--hl-font); font-size: 14px; font-weight: 800; margin: 5px 0 5px; }
.hl-footer-links a { color: #7c8490; font-size: 13px; }
.hl-footer-links a:hover { color: var(--hl-pink-dark); }
.hl-newsletter > p:not(.hl-newsletter-status) { color: #858c97; font-size: 12px; line-height: 1.6; margin: 8px 0 13px; }
.hl-newsletter-control { display: flex; }
.hl-newsletter input { border-radius: 10px 0 0 10px; font-size: 12px; min-height: 43px; padding: 9px 11px; }
.hl-newsletter-control button { background: var(--hl-pink); border: 0; border-radius: 0 10px 10px 0; color: #fff; cursor: pointer; flex: 0 0 45px; font-size: 19px; font-weight: 700; }
.hl-newsletter-control button:hover { background: var(--hl-pink-dark); }
.hl-newsletter-status { font-size: 11px; }
.hl-footer-bottom { align-items: center; color: #969ca5; display: flex; font-size: 11px; justify-content: space-between; padding: 19px 0 22px; }
.hl-footer-bottom b { color: var(--hl-pink); }

@media (max-width: 1000px) {
  .hl-nav { gap: 20px; }
  .hl-hero-grid { gap: 10px; }
  .hl-hero h1 { font-size: clamp(46px, 6vw, 66px); }
  .hl-note-top { right: -14px; }
  .hl-footer-top { gap: 28px; grid-template-columns: 1.1fr .7fr .7fr 1fr; }
}

@media (max-width: 760px) {
  .hl-container { padding-left: 22px; padding-right: 22px; }
  .hl-nav-wrap { height: 70px; }
  .hl-brand img { width: 164px; }
  .hl-menu-toggle { align-items: center; display: block; }
  .hl-nav { align-items: stretch; background: #fff; border: 1px solid #f0edf0; border-radius: 16px; box-shadow: 0 18px 36px rgba(36,42,53,.12); display: none; flex-direction: column; gap: 0; left: 17px; padding: 9px; position: absolute; right: 17px; top: 63px; }
  .hl-nav.is-open { display: flex; }
  .hl-nav > a { border-radius: 10px; padding: 12px 13px; }
  .hl-nav .hl-language { align-self: flex-start; border-radius: 10px; margin: 5px 0; min-width: 48px; }
  .hl-nav .hl-nav-cta { text-align: center; }
  .hl-section { padding: 80px 0; }
  .hl-hero { min-height: auto; padding: 42px 0 18px; }
  .hl-hero::after { bottom: -75px; height: 108px; }
  .hl-hero-grid { gap: 4px; grid-template-columns: 1fr; min-height: auto; }
  .hl-hero-copy { padding: 13px 0 0; }
  .hl-eyebrow { font-size: 11px; margin-bottom: 17px; padding: 8px 12px; }
  .hl-hero h1 { font-size: clamp(43px, 11vw, 62px); max-width: 570px; }
  .hl-hero-lead { font-size: 16px; line-height: 1.7; }
  .hl-store-links { gap: 9px; margin-top: 25px; }
  .hl-store-button { flex: 1 1 145px; min-width: 0; }
  .hl-hero-visual { height: 525px; margin-top: 5px; }
  .hl-phone-home { height: 500px; width: 260px; }
  .hl-hero-orbit { height: 390px; width: 390px; }
  .hl-orbit-b { height: 445px; width: 445px; }
  .hl-note-top { right: 0; top: 48px; }
  .hl-note-bottom { bottom: 57px; left: 0; }
  .hl-hero-bottom { font-size: 11px; padding-right: 20px; }
  .hl-hero-bottom a { height: 36px; width: 36px; }
  .hl-center-heading { margin-bottom: 33px; }
  .hl-section-heading h2,
  .hl-section-copy h2,
  .hl-contact-copy h2 { font-size: clamp(32px, 8vw, 43px); }
  .hl-section-heading p,
  .hl-section-copy > p,
  .hl-contact-copy > p { font-size: 15px; }
  .hl-feature-grid { gap: 12px; grid-template-columns: 1fr; }
  .hl-feature-card { min-height: auto; padding: 23px; }
  .hl-feature-icon { height: 46px; margin-bottom: 17px; width: 46px; }
  .hl-feature-card h3 { font-size: 18px; }
  .hl-feature-card p { max-width: 450px; }
  .hl-split-grid,
  .hl-practice-grid,
  .hl-faq-grid,
  .hl-contact-grid { gap: 35px; grid-template-columns: 1fr; }
  .hl-word-section .hl-split-grid { display: flex; flex-direction: column-reverse; }
  .hl-section-copy { max-width: 600px; }
  .hl-screen-stage,
  .hl-reading-visual { min-height: 550px; }
  .hl-stage-blob { height: 390px; width: min(84vw, 410px); }
  .hl-phone-detail,
  .hl-phone-reading { height: 510px; width: 237px; }
  .hl-word-chip { bottom: 66px; left: 1%; }
  .hl-practice-copy { order: 0; }
  .hl-practice-options { max-width: none; }
  .hl-exam-showcase { min-height: 560px; }
  .hl-phone-exam { height: 510px; width: 236px; }
  .hl-exam-halo { height: 470px; width: 470px; }
  .hl-exam-sticker { bottom: 53px; right: 1%; }
  .hl-reading-grid { display: flex; flex-direction: column; }
  .hl-reading-visual { order: 1; width: 100%; }
  .hl-reading-grid .hl-section-copy { order: 0; }
  .hl-reading-blob { height: 400px; width: min(86vw, 430px); }
  .hl-audio-pill { bottom: 64px; right: 3%; }
  .hl-testimonial-grid { grid-template-columns: 1fr; }
  .hl-pricing-grid { gap: 13px; grid-template-columns: 1fr; }
  .hl-price-card { min-height: auto; padding: 25px; }
  .hl-news-heading { align-items: start; flex-direction: column; gap: 13px; }
  .hl-news-grid { grid-template-columns: 1fr; }
  .hl-news-image { height: 225px; }
  .hl-faq-grid { gap: 27px; }
  .hl-faq-item summary { font-size: 14px; padding: 20px 0; }
  .hl-faq-item > p { margin-right: 2px; }
  .hl-contact-section { padding: 77px 0; }
  .hl-contact-copy { padding-top: 0; }
  .hl-contact-form { padding: 24px 20px; }
  .hl-final-cta { padding-bottom: 45px; }
  .hl-final-cta-inner { align-items: flex-start; flex-direction: column; gap: 21px; min-height: 0; padding-bottom: 30px; padding-top: 30px; }
  .hl-final-sparkle { font-size: 140px; right: -22px; top: auto; bottom: -45px; }
  .hl-footer-top { gap: 31px; grid-template-columns: 1fr 1fr; }
  .hl-footer-brand { grid-column: 1 / -1; }
  .hl-newsletter { grid-column: 1 / -1; max-width: 460px; }
}

@media (max-width: 440px) {
  .hl-container { padding-left: 18px; padding-right: 18px; }
  .hl-hero h1 { font-size: 43px; }
  .hl-hero-visual { height: 490px; }
  .hl-phone-home { height: 465px; width: 242px; }
  .hl-floating-note { font-size: 10px; padding: 10px 11px; }
  .hl-note-top { right: -1px; top: 44px; }
  .hl-note-bottom { bottom: 49px; left: -1px; }
  .hl-feature-section { padding-top: 70px; }
  .hl-screen-stage,
  .hl-reading-visual { min-height: 500px; }
  .hl-phone-detail,
  .hl-phone-reading { height: 470px; width: 218px; }
  .hl-word-chip { bottom: 45px; }
  .hl-exam-showcase { min-height: 515px; }
  .hl-phone-exam { height: 465px; width: 215px; }
  .hl-practice-options { gap: 8px; }
  .hl-practice-option { font-size: 12px; gap: 8px; min-height: 54px; padding: 8px; }
  .hl-option-icon { flex-basis: 29px; height: 29px; width: 29px; }
  .hl-reading-stats { gap: 36px; }
  .hl-price strong { font-size: 37px; }
  .hl-footer-bottom { align-items: flex-start; flex-direction: column; gap: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .hippo-landing *,
  .hippo-landing *::before,
  .hippo-landing *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
