.homepage {
  --paper:#f3f0e7;
  --sheet:#fcfaf3;
  --ink:#1b3429;
  --muted:#5b6258;
  --green:#294938;
  --deep:#173b2c;
  --line:#c9cbbc;
  --hp-rust:#a83d29;
  --hp-lime:#e0ea93;
  --hp-serif:Georgia,'Times New Roman',serif;
  background:var(--paper);
}

.homepage p { color:var(--muted); }
.homepage .container,.hp-wrap { width:min(1440px,calc(100% - 112px)); margin-inline:auto; }
.homepage .site-header { background:rgba(243,240,231,.97); border-color:#bfc6b7; backdrop-filter:blur(14px); }
.homepage .header-inner { height:78px; gap:28px; }
.homepage .wordmark { font-size:22px; letter-spacing:-.9px; }
.homepage .brand-dot { color:var(--hp-rust); }
.homepage .site-header nav { gap:28px; }
.homepage .header-actions { gap:24px; }
.homepage .header-actions .button { min-height:44px; padding:11px 17px; border-radius:0; font-size:14px; }
.homepage .site-header nav a,.homepage .login-link { font-size:16px; }
.homepage .site-header nav a:hover,.homepage .login-link:hover { color:var(--hp-rust); }
.homepage .site-footer { padding:52px 0 28px; background:var(--paper); border-top:0; }
.homepage .footer-main { padding-bottom:34px; }
.homepage .footer-main p { margin-top:17px; }
.homepage .footer-bottom { padding-top:23px; }
.homepage .site-footer nav a { font-size:12px; }
.homepage :is(a,button,summary):focus-visible { outline:3px solid var(--hp-rust); outline-offset:5px; }
.homepage :is(.hp-context,.hp-closing,.hp-plan-yearly) :is(a,button,summary):focus-visible { outline-color:var(--hp-lime); }
.hp-main { overflow:clip; }
.hp-label { font-family:var(--sans); font-size:10px; line-height:1.5; font-weight:600; letter-spacing:1.4px; }
.homepage .hp-label { color:inherit; }
.hp-button { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; min-height:53px; padding:16px 22px; border:1px solid var(--ink); background:var(--ink); color:var(--sheet); text-decoration:none; font-size:13px; font-weight:550; line-height:1.35; transition:background .2s, color .2s; }
.hp-button .icon { width:20px; height:20px; transition:transform .2s; }
.hp-button:hover { background:#36553f; border-color:#36553f; }
.hp-button:hover .icon { transform:translateX(4px); }
.hp-button-outline { color:var(--ink); background:transparent; border-color:#81907d; }
.hp-button-outline:hover { color:var(--sheet); }
.hp-button-lime { background:var(--hp-lime); border-color:var(--hp-lime); color:var(--ink); }
.hp-button-lime:hover { background:#edf3b2; border-color:#edf3b2; }
.hp-text-link { display:inline-flex; gap:15px; align-items:center; text-decoration:none; font-size:12px; font-weight:550; }
.hp-text-link:hover { color:var(--hp-rust); text-decoration:underline; }
.hp-text-link .icon { width:19px; }
.hp-hero { padding-top:30px; display:grid; grid-template-columns:1.2fr 1fr; column-gap:65px; }
.hp-hero-kicker,.hp-hero-spread,.hp-hero>.hp-moments { grid-column:1/-1; }
.hp-hero-kicker { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:27px; }
.hp-hero-kicker .hp-label:first-child { display:flex; align-items:center; gap:10px; }
.hp-ink-dot { width:7px; height:7px; background:var(--hp-rust); border-radius:50%; display:inline-block; }
.hp-hero h1 { font-family:var(--hp-serif); font-size:clamp(62px,6.6vw,103px); line-height:.99; letter-spacing:-.068em; font-weight:400; margin-bottom:33px; align-self:center; }
.hp-title-last { display:flex; align-items:center; gap:.19em; }
.hp-hero h1 em { color:var(--ink); letter-spacing:-.073em; }
.hp-title-orbit { display:inline-flex; width:.72em; height:.72em; border:1px solid #809079; border-radius:50%; align-items:center; justify-content:center; margin-left:.13em; transform:rotate(-17deg); }
.hp-title-orbit .icon { width:.39em; height:.39em; stroke-width:1.1; }
.hp-hero-intro { display:block; margin:0 0 33px; padding:0; border:0; align-self:center; }
.hp-hero-intro>p:first-child { max-width:480px; font-size:16px; line-height:1.65; color:var(--ink); }
.hp-hero-actions { display:flex; align-items:center; gap:22px; padding:0; margin-top:19px; }
.hp-free-note { font-size:12px; line-height:1.7; margin-top:15px; }
.hp-free-note strong,.hp-free-note span { display:block; }
.hp-free-note strong { color:var(--ink); font-weight:550; margin-bottom:5px; }
.hp-hero-spread { display:grid; grid-template-columns:1.65fr 1fr; height:430px; }
.hp-listening-image { position:relative; min-width:0; height:100%; overflow:hidden; background:#657954; }
.hp-listening-image::after { position:absolute; content:''; inset:55% 0 0; background:linear-gradient(transparent,rgba(8,27,16,.55)); pointer-events:none; }
.hp-listening-image img { width:100%; height:100%; display:block; object-fit:cover; object-position:68% 50%; }
.hp-scene-image[hidden] { display:none!important; }
.hp-scene-image[data-scene="walk"] { object-position:60% 30%; }
.hp-scene-image[data-scene="drive"] { object-position:55% 20%; }
.hp-scene-image:not([hidden]) { animation:hp-scene-enter .55s ease-out both; }
.hp-listening-image figcaption { position:absolute; inset:auto 28px 24px; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:16px; color:white; }
.hp-listening-image figcaption>span:last-child { font-size:31px; line-height:1; }
.hp-sound { background:var(--deep); color:var(--hp-lime); padding:29px 35px 22px; position:relative; overflow:hidden; display:flex; flex-direction:column; }
.hp-sound-top { display:flex; align-items:center; justify-content:space-between; gap:15px; color:#eeefd8; padding-bottom:17px; border-bottom:1px solid #4a6552; }
.hp-sound-top>.icon { width:20px; height:20px; }
.homepage .hp-sound-title { font-family:var(--hp-serif); font-size:clamp(36px,4vw,62px); color:var(--hp-lime); line-height:1.02; letter-spacing:-.04em; margin-top:25px; }
.hp-sound-title em { font-weight:400; }
.hp-wave { display:flex; gap:5px; width:100%; height:70px; align-items:center; margin-top:auto; padding-top:12px; }
.hp-wave .wave-bar { width:100%; height:100%; min-width:0; color:var(--hp-lime); }
.hp-wave .wave-bar:nth-child(n+17) { color:#8caa73; }
.hp-sound-bottom { border-top:1px solid #4a6552; display:flex; justify-content:space-between; gap:15px; color:#e9ecdc; margin-top:11px; padding-top:12px; font-size:9px; letter-spacing:.2px; }
.hp-sound-bottom>span:last-child { font-size:8px; letter-spacing:1px; }
.hp-transform { position:relative; flex:1; min-height:300px; }
.hp-source-paper { position:absolute; top:47px; left:0; width:47%; max-width:180px; height:211px; background:#f3f0e7; color:var(--ink); padding:17px; transform:rotate(-9deg); box-shadow:-7px 9px 0 rgba(0,0,0,.15); }
.hp-source-paper>span:first-child { display:block; font-size:7px; letter-spacing:.8px; border-bottom:1px solid #b8c2ae; padding-bottom:9px; }
.hp-source-paper strong { display:block; font-family:var(--hp-serif); font-weight:400; font-size:23px; line-height:1.06; letter-spacing:-.03em; margin-top:14px; }
.hp-paper-chart { display:flex; height:36px; gap:5px; align-items:flex-end; margin:13px 0 11px; border-bottom:1px solid #b8c2ae; padding:0 7px 0; }
.hp-paper-chart i { display:block; height:13px; width:11px; background:#95a27d; }
.hp-paper-chart i:nth-child(2) { height:23px; }
.hp-paper-chart i:nth-child(3) { height:19px; }
.hp-paper-chart i:nth-child(4) { height:30px; }
.hp-paper-chart i:nth-child(5) { height:34px; background:var(--hp-rust); }
.hp-paper-lines { height:9px; border-block:1px solid #c8cbbb; }
.hp-paper-lines.short { width:74%; border-top:0; height:5px; }
.hp-paper-bottom { display:block; font-size:5px; letter-spacing:.7px; margin-top:12px; }
.hp-transform-arrow { position:absolute; z-index:2; top:144px; left:39%; border-radius:50%; display:flex; align-items:center; justify-content:center; width:49px; height:49px; background:#be482f; color:#fff4dc; font-size:36px; font-family:var(--hp-serif); line-height:1; border:1px solid #d16142; transform:rotate(22deg); }
.hp-phone { position:absolute; z-index:1; top:20px; right:1px; width:46%; max-width:186px; height:273px; border:5px solid #091e16; outline:1px solid #78906d; border-radius:25px; background:var(--hp-lime); color:var(--ink); padding:40px 18px 22px; transform:rotate(7deg); box-shadow:6px 8px 0 rgba(0,0,0,.16); }
.hp-phone-speaker { position:absolute; top:11px; width:37px; height:4px; border-radius:10px; background:#657646; left:calc(50% - 18.5px); }
.hp-phone-label { display:block; font-size:7px; letter-spacing:1.1px; border-bottom:1px solid #adbb70; padding-bottom:10px; }
.homepage .hp-phone>p { color:var(--ink); font-family:var(--hp-serif); font-size:26px; letter-spacing:-.04em; line-height:1.09; margin-top:18px; }
.hp-phone .hp-wave { margin-top:19px; padding:0; height:43px; gap:2px; }
.hp-phone .hp-wave .wave-bar { color:#314f2c; }
.hp-phone .hp-wave .wave-bar:nth-child(n+17) { color:#7b914d; }
.hp-phone-caption { display:block; font-size:7px; letter-spacing:1.2px; margin-top:13px; }
.hp-phone-home { height:3px; background:#687c42; width:48px; position:absolute; left:calc(50% - 24px); bottom:11px; border-radius:5px; }
.hp-earbud-line { position:absolute; right:4px; bottom:-5px; width:145px; height:77px; z-index:3; color:#f5f0da; transform:rotate(-12deg); }
.hp-hero[data-active-moment="drive"] .hp-phone { background:#e6dfbd; }
.hp-hero[data-active-moment="break"] .hp-phone { background:#ead9ba; }
.hp-sound.wave-intro .hp-source-paper { animation:hp-paper-arrive 1s ease-out both; }
.hp-sound.wave-intro .hp-transform-arrow { animation:hp-arrow-arrive 1.15s ease-out both; }
@keyframes hp-scene-enter { from { opacity:.35; transform:scale(1.025); } to { opacity:1; transform:scale(1); } }
@keyframes hp-paper-arrive { from { opacity:0; transform:translate(-18px,15px) rotate(-17deg); } to { opacity:1; transform:translate(0,0) rotate(-9deg); } }
@keyframes hp-arrow-arrive { 0%,25% { opacity:0; transform:translate(-15px,12px) rotate(22deg); } 100% { opacity:1; transform:translate(0,0) rotate(22deg); } }
.homepage .hp-moments { display:grid; grid-template-columns:.78fr 1.55fr 1fr; max-width:none; margin:0; padding:24px 0; gap:28px; border-bottom:1px solid var(--line); }
.hp-moments-label { display:flex; gap:16px; align-items:center; }
.hp-moments-label .hp-label { max-width:130px; }
.homepage .hp-moments .moment-options { display:flex; align-items:stretch; gap:0; border:0; padding:0; background:transparent; border-radius:0; }
.homepage .hp-moments .moment-options button { display:flex; position:relative; align-items:center; justify-content:center; gap:8px; flex:1; border:0; border-radius:0; background:transparent; color:var(--muted); font-size:11px; font-weight:500; line-height:1.4; min-height:48px; padding:7px 10px; box-shadow:none; transition:background .2s, color .2s; }
.homepage .hp-moments .moment-options button+button { border-left:1px solid var(--line); }
.homepage .hp-moments .moment-options button[aria-pressed="true"] { color:var(--ink); background:#e3e5d5; }
.homepage .hp-moments .moment-options button:enabled:hover { background:#e8e7dd; color:var(--ink); }
.hp-choice-number { font-size:9px; align-self:flex-start; color:var(--hp-rust); }
.homepage .hp-moments .moment-detail { min-height:0; margin:0; padding:0 0 0 23px; border-left:1px solid var(--line); }
.homepage .hp-moments .moment-title { font-size:11px; font-weight:550; line-height:1.5; }
.homepage .hp-moments .moment-description { margin-top:4px; font-size:11px; line-height:1.55; }
.hp-section { padding-top:88px; padding-bottom:82px; }
.hp-section-line { display:flex; justify-content:space-between; align-items:center; gap:25px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.hp-section-line .hp-label>span { display:inline-block; color:var(--hp-rust); margin-right:22px; }
.homepage .hp-main h2 { font-size:clamp(42px,4.7vw,70px); letter-spacing:-.054em; line-height:1.06; }
.homepage .hp-main h2 em { color:var(--green); }
.hp-how-layout { display:grid; grid-template-columns:1fr 1.17fr; gap:95px; margin-top:44px; }
.hp-how-intro>p { font-size:15px; line-height:1.85; max-width:365px; margin-top:27px; }
.hp-how-intro .hp-text-link { margin-top:32px; }
.hp-process { border-top:1px solid var(--ink); }
.hp-process article { display:grid; grid-template-columns:32px 1fr 30px; gap:20px; padding:25px 0 26px; border-bottom:1px solid var(--line); }
.hp-process-number { font-family:var(--hp-serif); font-size:19px; color:var(--hp-rust); }
.hp-process h3 { font-family:var(--hp-serif); font-size:26px; font-weight:400; letter-spacing:-.025em; line-height:1.2; }
.hp-process p { margin-top:12px; font-size:13px; line-height:1.8; }
.hp-process-caption { font-size:8px; letter-spacing:1.2px; display:block; margin-top:13px; font-weight:600; }
.hp-process-icon { color:var(--green); }
.hp-process-icon .icon { width:26px; height:26px; stroke-width:1.1; }
.hp-discovery { padding-top:21px; }
.hp-discovery-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:70px; margin:40px 0 38px; }
.hp-discovery-heading>p { width:350px; font-size:14px; line-height:1.8; padding-bottom:4px; }
.hp-context { padding:47px 0 30px; background:var(--deep); color:var(--paper); }
.hp-context .hp-section-line { border-color:#58705b; }
.hp-context .hp-section-line .hp-label>span { color:var(--hp-lime); }
.hp-context-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:105px; align-items:center; padding:44px 0; }
.homepage .hp-context h2 { font-size:clamp(46px,5.2vw,78px); color:var(--paper); }
.homepage .hp-context h2 em { color:var(--hp-lime); }
.hp-context-copy>p { font-size:14px; line-height:1.9; max-width:400px; margin-top:28px; color:#cbd3c1; }
.hp-context-foot { border-top:1px solid #58705b; display:flex; align-items:center; gap:28px; margin-top:35px; padding-top:24px; }
.hp-context-foot>p { font-size:11px; color:#cbd3c1; line-height:1.8; }
.hp-brief { position:relative; padding:28px 32px 18px; background:var(--paper); color:var(--ink); transform:rotate(2deg); box-shadow:11px 12px 0 #4d6850; max-width:480px; }
.hp-brief figcaption { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #c1c5b4; padding-bottom:15px; }
.hp-brief figcaption>.icon { width:21px; height:21px; }
.homepage .hp-brief-title { color:var(--ink); font-family:var(--hp-serif); font-size:38px; line-height:1.06; letter-spacing:-.04em; margin-top:24px; }
.hp-brief dl { margin:25px 0 0; }
.hp-brief dl>div { padding:13px 0 14px; border-top:1px solid #c1c5b4; }
.hp-brief dt { font-size:12px; font-weight:600; }
.hp-brief dt>span { font-family:var(--hp-serif); font-weight:400; color:var(--hp-rust); margin-right:12px; }
.hp-brief dd { margin:5px 0 0 26px; font-size:11px; line-height:1.6; color:var(--muted); }
.hp-brief-bottom { display:flex; align-items:center; justify-content:space-between; font-size:8px; letter-spacing:1px; padding-top:10px; border-top:1px solid #a2ad96; }
.hp-brief-bottom .icon { width:17px; }
.homepage .hp-accuracy-note { color:#c0cbb6; font-size:10px; line-height:1.7; padding-top:17px; border-top:1px solid #58705b; }
.hp-audience { display:grid; grid-template-columns:1.1fr 1fr 1fr 1fr; gap:37px; padding:47px 0 48px; border-bottom:1px solid var(--line); }
.homepage .hp-audience h2 { font-size:33px; letter-spacing:-.04em; }
.hp-audience>div { border-left:1px solid var(--line); padding:4px 0 0 24px; }
.hp-audience .hp-label { font-size:8px; letter-spacing:1.1px; margin-bottom:12px; }
.hp-audience>div>p:last-child { font-size:12px; line-height:1.8; }
.hp-pricing { padding-top:72px; padding-bottom:68px; }
.hp-pricing-heading { display:grid; grid-template-columns:1.4fr 1fr; gap:75px; align-items:end; margin:37px 0; }
.homepage .hp-pricing h2 { font-size:clamp(42px,4.4vw,66px); }
.hp-pricing-heading>div { max-width:355px; justify-self:end; }
.hp-pricing-heading>div>p { font-size:13px; line-height:1.8; }
.homepage .hp-pricing-heading .hp-trial-note { color:var(--ink); font-weight:550; font-size:12px; margin-top:12px; }
.hp-pro-strip { display:flex; align-items:center; gap:33px; padding:18px 0; border-block:1px solid var(--line); }
.hp-pro-strip>.hp-label { white-space:nowrap; color:var(--hp-rust); font-size:9px; }
.hp-pro-strip ul { display:flex; justify-content:space-between; gap:17px; list-style:none; margin:0; padding:0; width:100%; }
.hp-pro-strip li { font-size:10px; line-height:1.6; }
.hp-pro-strip li::before { content:'+'; color:var(--hp-rust); font-size:14px; margin-right:9px; }
.hp-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:25px; border:1px solid var(--line); }
.hp-plan { padding:29px 32px 24px; min-width:0; }
.hp-plan+.hp-plan { border-left:1px solid var(--line); }
.hp-plan-heading { display:flex; justify-content:space-between; align-items:center; padding-bottom:23px; }
.hp-plan h3 { font-family:var(--hp-serif); font-size:30px; font-weight:400; letter-spacing:-.035em; }
.hp-plan-heading .hp-label { color:var(--hp-rust); }
.homepage .hp-plan .price { display:block; font-family:var(--hp-serif); font-size:52px; line-height:1.1; letter-spacing:-.06em; color:var(--ink); margin:0; white-space:nowrap; }
.homepage .hp-plan .currency-symbol { font-size:24px; position:static; vertical-align:top; margin:6px 3px 0 0; display:inline-block; font-family:var(--hp-serif); }
.homepage .hp-plan .price-period { font-family:var(--sans); letter-spacing:0; font-size:11px; white-space:nowrap; }
.homepage .hp-plan .billing-label { font-size:9px; margin-top:12px; line-height:1.5; }
.hp-plan-description { font-size:12px; line-height:1.8; margin:29px 0 24px; }
.hp-plan .hp-button { width:100%; min-height:48px; font-size:12px; padding:13px 17px; }
.hp-plan-note { font-size:9px; margin-top:12px; }
.hp-plan-yearly { background:var(--deep); color:var(--paper); }
.homepage .hp-plan-yearly .price { color:var(--paper); }
.homepage .hp-plan-yearly .hp-plan-heading .hp-label { color:var(--hp-lime); }
.homepage .hp-plan-yearly :is(.billing-label,.hp-plan-description,.hp-plan-note) { color:#c8d0bd; }
.hp-plan-limits { font-size:11px; margin-top:20px; text-align:center; }
.hp-billing-fineprint { display:grid; grid-template-columns:1fr 1.5fr; gap:45px; margin-top:25px; padding-top:21px; border-top:1px solid var(--line); }
.hp-billing-fineprint p { font-size:10px; line-height:1.85; }
.hp-billing-fineprint strong { color:var(--ink); font-weight:550; }
.hp-faq { display:grid; grid-template-columns:1fr 1.8fr; gap:90px; padding:38px 0 85px; }
.homepage .hp-faq h2 { font-size:45px; margin-top:20px; }
.hp-faq-heading>p:last-child { font-size:12px; line-height:1.9; margin-top:22px; }
.hp-faq-list { border-top:1px solid var(--ink); }
.hp-faq-list details { border-bottom:1px solid var(--line); }
.hp-faq-list summary { display:flex; list-style:none; cursor:pointer; align-items:center; gap:17px; padding:21px 0; color:var(--ink); font-size:13px; line-height:1.6; }
.hp-faq-list summary::-webkit-details-marker { display:none; }
.hp-faq-number { font-size:10px; color:var(--hp-rust); }
.hp-faq-plus { margin-left:auto; padding-left:17px; }
.hp-faq-plus .icon { width:17px; height:17px; transition:transform .2s; }
.hp-faq-list details[open] .hp-faq-plus .icon { transform:rotate(45deg); }
.hp-faq-answer { padding:0 34px 23px; }
.hp-faq-answer p { font-size:12px; line-height:1.85; }
.hp-closing { padding:32px 0 24px; background:var(--deep); color:var(--paper); }
.hp-closing-top { display:flex; justify-content:space-between; align-items:center; gap:25px; border-bottom:1px solid #58705b; padding-bottom:17px; }
.hp-closing-main { display:flex; align-items:flex-end; justify-content:space-between; gap:65px; padding:41px 0 34px; }
.homepage .hp-closing h2 { font-size:clamp(54px,6.8vw,100px); line-height:1.02; }
.homepage .hp-closing h2 em { color:var(--hp-lime); }
.hp-closing-main>div { padding-bottom:7px; min-width:225px; }
.hp-closing-main .hp-button { min-width:225px; }
.hp-closing-main p { color:#c8d0bd; font-size:11px; line-height:1.8; margin-top:15px; }
.hp-closing-rule { display:flex; gap:23px; align-items:center; padding-top:7px; }
.hp-closing-rule>span { display:block; height:1px; background:#58705b; flex:1; }
.hp-closing-rule .icon { color:var(--hp-lime); width:25px; height:25px; stroke-width:1.1; }

@media(min-width:1600px) {
  .hp-hero-spread { height:470px; }
  .hp-sound { padding:33px 42px 25px; }
  .homepage .hp-sound-title { font-size:68px; }
  .hp-wave { height:80px; }
  .hp-hero h1 { font-size:105px; }
}

@media(max-width:1100px) {
  .homepage .container,.hp-wrap { width:calc(100% - 72px); }
  .hp-hero { column-gap:36px; }
  .hp-hero h1 { font-size:6.6vw; }
  .hp-hero-intro { gap:22px 45px; }
  .hp-hero-actions { padding-left:0; align-items:flex-start; flex-direction:column; gap:10px; }
  .hp-free-note { padding:0; border:0; font-size:12px; }
  .hp-free-note strong { margin:0; }
  .hp-hero-spread { height:405px; grid-template-columns:1.5fr 1fr; }
  .hp-sound { padding:25px 26px 20px; }
  .homepage .hp-sound-title { font-size:48px; }
  .homepage .hp-moments { grid-template-columns:1.5fr 1fr; gap:16px 25px; padding-top:17px; }
  .hp-moments-label { grid-column:1/-1; }
  .hp-moments-label .hp-label { max-width:none; }
  .hp-how-layout { gap:50px; grid-template-columns:.9fr 1.2fr; }
  .homepage .hp-main h2 { font-size:49px; }
  .hp-process h3 { font-size:24px; }
  .hp-process article { grid-template-columns:25px 1fr; gap:15px; }
  .hp-process-icon { display:none; }
  .hp-discovery-heading { gap:35px; }
  .hp-discovery-heading>p { width:300px; font-size:13px; }
  .hp-context-layout { gap:60px; grid-template-columns:1fr 1fr; }
  .hp-brief { padding:23px 25px 18px; }
  .hp-audience { gap:22px; }
  .hp-audience>div { padding-left:18px; }
  .hp-audience .hp-label { font-size:7px; letter-spacing:.8px; }
  .homepage .hp-audience h2 { font-size:29px; }
  .hp-pricing-heading { gap:35px; }
  .hp-pro-strip { gap:25px; }
  .hp-pro-strip ul { flex-wrap:wrap; gap:8px 24px; justify-content:flex-start; }
  .hp-pro-strip li { font-size:9px; }
  .hp-plan { padding:26px 23px 22px; }
  .homepage .hp-plan .price { font-size:43px; }
  .hp-faq { gap:45px; }
  .homepage .hp-faq h2 { font-size:40px; }
  .hp-closing-main { gap:40px; }
  .homepage .hp-closing h2 { font-size:70px; }
}

@media(max-width:820px) {
  .homepage .container,.hp-wrap { width:calc(100% - 48px); }
  .homepage .header-inner { height:auto; min-height:75px; display:flex; flex-wrap:wrap; gap:0; padding-top:14px; padding-bottom:12px; }
  .homepage .wordmark { font-size:20px; }
  .homepage .brand-mark { width:28px; height:28px; }
  .homepage .header-actions { margin-left:auto; gap:16px; }
  .homepage .header-actions .button { padding:10px 13px; min-height:44px; font-size:13px; gap:13px; }
  .homepage .site-header nav { order:3; justify-content:center; width:100%; gap:40px; padding-top:13px; }
  .homepage .site-header nav a { font-size:15px; }
  .homepage .login-link { font-size:14px; }
  .hp-hero { padding-top:22px; }
  .hp-hero-kicker { padding-bottom:23px; }
  .hp-hero-kicker .hp-label { font-size:8px; letter-spacing:1px; }
  .hp-hero h1 { font-size:6.7vw; }
  .hp-hero-intro { margin-top:0; margin-bottom:25px; padding-top:0; gap:20px 35px; }
  .hp-hero-intro>p:first-child { font-size:14px; }
  .hp-hero-actions { gap:10px; }
  .hp-button { min-height:48px; padding:13px 17px; font-size:12px; gap:23px; }
  .hp-text-link { font-size:11px; }
  .hp-free-note { font-size:11px; }
  .hp-hero-spread { height:370px; grid-template-columns:1.35fr 1fr; }
  .hp-sound { padding:20px 22px 16px; }
  .hp-sound-top .hp-label { font-size:8px; letter-spacing:.8px; }
  .hp-sound-top>.icon { width:17px; }
  .homepage .hp-sound-title { font-size:42px; margin-top:20px; }
  .hp-wave { gap:3px; height:56px; }
  .hp-sound-bottom { font-size:8px; }
  .hp-sound-bottom>span:last-child { font-size:7px; letter-spacing:.5px; }
  .hp-transform { min-height:270px; }
  .hp-source-paper { padding:13px; height:184px; top:45px; }
  .hp-source-paper strong { font-size:20px; }
  .hp-paper-chart { margin:11px 0; height:30px; gap:3px; }
  .hp-paper-chart i { width:9px; }
  .hp-paper-bottom { font-size:4px; }
  .hp-phone { height:240px; padding:33px 11px 17px; border-width:4px; border-radius:20px; }
  .hp-phone-label { font-size:6px; }
  .homepage .hp-phone>p { font-size:22px; }
  .hp-phone .hp-wave { margin-top:14px; height:35px; gap:1.5px; }
  .hp-transform-arrow { width:39px; height:39px; top:132px; font-size:30px; }
  .hp-earbud-line { bottom:-10px; width:123px; height:70px; }
  .hp-listening-image figcaption { left:20px; right:20px; bottom:18px; }
  .hp-listening-image .hp-label { font-size:8px; letter-spacing:1px; }
  .homepage .hp-moments { grid-template-columns:1fr; gap:13px; }
  .homepage .hp-moments .moment-detail { padding:0; border:0; display:flex; align-items:baseline; gap:12px; min-height:19px; }
  .homepage .hp-moments .moment-description { margin:0; font-size:10px; }
  .homepage .hp-moments .moment-title { font-size:10px; flex-shrink:0; }
  .hp-section { padding:59px 0; }
  .hp-section-line { gap:20px; }
  .hp-section-line .hp-label { font-size:8px; letter-spacing:1px; }
  .hp-section-line .hp-label>span { margin-right:15px; }
  .homepage .hp-main h2 { font-size:43px; }
  .hp-how-layout { grid-template-columns:1fr; gap:33px; margin-top:31px; }
  .hp-how-intro { display:grid; grid-template-columns:1fr 1fr; column-gap:35px; }
  .hp-how-intro>p { font-size:12px; margin-top:2px; }
  .hp-how-intro .hp-text-link { margin-top:20px; }
  .hp-process article { grid-template-columns:35px 1fr 34px; padding:22px 0; gap:20px; }
  .hp-process-icon { display:block; }
  .hp-process h3 { font-size:27px; }
  .hp-process p { font-size:12px; max-width:550px; }
  .hp-discovery { padding-top:0; }
  .hp-discovery-heading { gap:30px; margin-top:31px; }
  .hp-discovery-heading>p { width:245px; font-size:12px; }
  .hp-context { padding-top:31px; }
  .hp-context-layout { gap:38px; }
  .homepage .hp-context h2 { font-size:43px; }
  .hp-context-copy>p { font-size:12px; margin-top:23px; }
  .hp-context-foot { gap:17px; margin-top:24px; }
  .hp-context-foot>p { font-size:10px; }
  .hp-brief { padding:19px 21px 15px; box-shadow:7px 8px 0 #4d6850; }
  .hp-brief figcaption .hp-label { font-size:8px; letter-spacing:1px; }
  .homepage .hp-brief-title { font-size:31px; margin-top:20px; }
  .hp-brief dl { margin-top:20px; }
  .hp-brief dt { font-size:11px; }
  .hp-brief dd { font-size:10px; }
  .homepage .hp-accuracy-note { font-size:9px; }
  .hp-audience { grid-template-columns:1fr 1fr; gap:27px 40px; padding:35px 0; }
  .homepage .hp-audience h2 { font-size:33px; }
  .hp-audience>div:nth-of-type(2) { padding-left:0; border:0; }
  .hp-audience .hp-label { font-size:8px; }
  .hp-audience>div>p:last-child { font-size:11px; }
  .hp-pricing-heading { grid-template-columns:1fr; gap:23px; margin-top:30px; }
  .hp-pricing-heading>div { justify-self:start; max-width:500px; }
  .hp-pricing-heading>div>p { font-size:12px; }
  .hp-pro-strip { align-items:flex-start; gap:25px; }
  .hp-pro-strip>.hp-label { max-width:92px; white-space:normal; }
  .hp-pro-strip ul { gap:8px 25px; }
  .hp-plan { padding:22px 16px 20px; }
  .hp-plan h3 { font-size:26px; }
  .hp-plan-heading { padding-bottom:23px; }
  .hp-plan-heading .hp-label { font-size:9px; }
  .homepage .hp-plan .price { font-size:37px; letter-spacing:-.06em; }
  .homepage .hp-plan .currency-symbol { font-size:18px; margin-top:4px; }
  .homepage .hp-plan .price-period { display:block; font-size:10px; padding-top:8px; }
  .homepage .hp-plan .billing-label { font-size:8px; margin-top:10px; }
  .hp-plan-description { font-size:10px; margin:22px 0; }
  .hp-plan .hp-button { font-size:10px; padding:11px 10px; min-height:44px; gap:8px; }
  .hp-plan .hp-button .icon { width:15px; }
  .hp-plan-note { font-size:8px; min-height:26px; }
  .hp-plan-limits { font-size:10px; }
  .hp-billing-fineprint { gap:25px; }
  .hp-billing-fineprint p { font-size:9px; }
  .hp-faq { grid-template-columns:1fr; gap:28px; padding:0 0 59px; }
  .hp-faq-heading { display:grid; grid-template-columns:1fr 1fr; }
  .hp-faq-heading>.hp-label { grid-column:1; }
  .homepage .hp-faq h2 { grid-column:1; font-size:42px; margin-top:12px; }
  .hp-faq-heading>p:last-child { grid-column:2; grid-row:1/3; justify-self:end; margin:0; align-self:center; font-size:11px; }
  .hp-faq-list summary { font-size:12px; padding:18px 0; }
  .hp-faq-answer p { font-size:11px; }
  .hp-closing { padding-top:27px; }
  .hp-closing-top>.hp-label { font-size:8px; }
  .hp-closing-main { gap:35px; padding:32px 0; }
  .homepage .hp-closing h2 { font-size:53px; }
  .hp-closing-main>div { min-width:180px; }
  .hp-closing-main .hp-button { min-width:180px; font-size:11px; }
  .hp-closing-main p { font-size:10px; }
  .homepage .site-footer { padding:33px 0 23px; }
}

@media(max-width:600px) {
  .homepage .container,.hp-wrap { width:calc(100% - 36px); }
  .homepage .header-inner { padding-top:12px; padding-bottom:11px; min-height:0; }
  .homepage .wordmark { font-size:18px; gap:7px; }
  .homepage .brand-mark { width:26px; height:26px; }
  .homepage .header-actions { gap:12px; }
  .homepage .header-actions .button { padding:10px 11px; min-height:44px; font-size:13px; gap:8px; }
  .homepage .header-actions .button .icon { width:14px; height:14px; }
  .homepage .login-link { font-size:14px; }
  .homepage .login-link .icon { display:none; }
  .homepage .site-header nav { gap:31px; padding-top:12px; }
  .homepage .site-header nav a { font-size:15px; }
  .hp-side-note { display:none; }
  .hp-hero { padding-top:20px; display:block; }
  .hp-hero-kicker { padding-bottom:21px; }
  .hp-hero-kicker .hp-label { font-size:7px; letter-spacing:1.15px; }
  .hp-hero h1 { font-size:clamp(52px,12.7vw,76px); line-height:1.01; letter-spacing:-.065em; margin-bottom:0; }
  .hp-hero h1>br { display:block; }
  .hp-title-last { display:flex; margin-top:1px; gap:.17em; }
  .hp-title-orbit { margin-left:auto; margin-right:.1em; width:.75em; height:.75em; }
  .hp-hero-intro { display:flex; flex-direction:column; align-items:flex-start; margin:21px 0 25px; padding-top:18px; gap:17px; }
  .hp-hero-intro>p:first-child { font-size:13px; line-height:1.75; max-width:440px; }
  .hp-hero-actions { flex-direction:row; gap:20px; align-items:center; width:100%; }
  .hp-hero-actions .hp-button { font-size:11px; padding:12px 14px; min-height:44px; gap:19px; }
  .hp-hero-actions .hp-text-link { font-size:10px; gap:9px; }
  .hp-free-note { font-size:12px; line-height:1.65; display:block; margin:0; }
  .hp-free-note span { margin-top:3px; }
  .hp-hero-spread { height:auto; grid-template-columns:1fr; }
  .hp-listening-image { height:300px; }
  .hp-listening-image img { object-position:65% 50%; }
  .hp-listening-image figcaption { left:19px; right:19px; bottom:19px; }
  .hp-listening-image .hp-label { font-size:8px; letter-spacing:1px; }
  .hp-sound { padding:20px 26px 16px; min-height:0; display:flex; gap:0; }
  .hp-sound-top { padding-bottom:13px; }
  .hp-sound-top .hp-label { font-size:8px; letter-spacing:1px; }
  .homepage .hp-sound-title { font-size:39px; margin-top:20px; grid-column:1; }
  .hp-sound-title br:last-child { display:none; }
  .hp-wave { grid-column:2; height:90px; margin:29px 0 0; padding:0; gap:3px; }
  .hp-sound-bottom { margin-top:10px; padding-top:11px; font-size:9px; }
  .hp-sound-bottom>span:last-child { font-size:7px; }
  .hp-transform { min-height:293px; }
  .hp-source-paper { width:44%; max-width:none; height:204px; padding:17px; top:43px; }
  .hp-source-paper strong { font-size:23px; }
  .hp-source-paper>span:first-child { font-size:7px; }
  .hp-paper-chart { margin:15px 0 12px; height:32px; }
  .hp-paper-bottom { font-size:5px; }
  .hp-phone { width:44%; max-width:none; height:257px; padding:35px 15px 18px; }
  .hp-phone-label { font-size:7px; }
  .homepage .hp-phone>p { font-size:25px; }
  .hp-phone .hp-wave { height:41px; margin-top:21px; }
  .hp-transform-arrow { width:45px; height:45px; top:139px; font-size:36px; }
  .hp-earbud-line { width:142px; height:80px; bottom:-5px; right:4px; }
  .homepage .hp-moments { padding:18px 0; gap:12px; }
  .hp-moments-label { gap:13px; }
  .hp-moments-label .hp-label { font-size:8px; letter-spacing:1px; }
  .homepage .hp-moments .moment-options button { font-size:10px; padding:10px 8px; min-height:51px; gap:7px; text-align:left; }
  .hp-choice-number { font-size:8px; }
  .homepage .hp-moments .moment-detail { display:block; min-height:56px; }
  .homepage .hp-moments .moment-title { font-size:10px; }
  .homepage .hp-moments .moment-description { font-size:10px; margin-top:4px; }
  .hp-section { padding:43px 0; }
  .hp-section-line { padding-bottom:12px; }
  .hp-section-line .hp-label { font-size:8px; }
  .hp-section-line .hp-label>span { margin-right:17px; }
  .homepage .hp-main h2 { font-size:40px; line-height:1.08; }
  .hp-how-layout { margin-top:26px; gap:27px; }
  .hp-how-intro { display:block; }
  .hp-how-intro>p { font-size:12px; margin-top:20px; max-width:420px; line-height:1.85; }
  .hp-how-intro .hp-text-link { margin-top:17px; }
  .hp-process article { grid-template-columns:22px 1fr; gap:15px; padding:21px 0; }
  .hp-process-icon { display:none; }
  .hp-process-number { font-size:17px; }
  .hp-process h3 { font-size:25px; }
  .hp-process p { font-size:11px; margin-top:11px; }
  .hp-process-caption { font-size:7px; letter-spacing:.9px; margin-top:12px; }
  .hp-discovery { padding-top:0; }
  .hp-discovery-heading { display:block; margin:26px 0 24px; }
  .hp-discovery-heading>p { margin-top:19px; width:auto; max-width:420px; font-size:12px; }
  .hp-context { padding:27px 0 23px; }
  .hp-context-layout { grid-template-columns:1fr; padding:28px 0 33px; gap:30px; }
  .homepage .hp-context h2 { font-size:43px; }
  .hp-context-copy>p { font-size:12px; margin-top:20px; }
  .hp-context-foot { gap:22px; padding-top:20px; margin-top:23px; }
  .hp-context-foot>p { font-size:10px; }
  .hp-brief { width:calc(100% - 17px); justify-self:center; max-width:420px; padding:23px 25px 17px; transform:rotate(1.5deg); }
  .hp-brief figcaption .hp-label { font-size:8px; }
  .homepage .hp-brief-title { font-size:35px; }
  .hp-brief dl>div { padding:14px 0; }
  .hp-brief dt { font-size:12px; }
  .hp-brief dd { font-size:11px; }
  .hp-brief-bottom { font-size:8px; padding-top:12px; }
  .homepage .hp-accuracy-note { font-size:9px; line-height:1.85; padding-top:17px; }
  .hp-audience { display:block; padding:32px 0 11px; }
  .homepage .hp-audience h2 { font-size:35px; margin-bottom:25px; }
  .hp-audience>div,.hp-audience>div:nth-of-type(2) { border:0; border-top:1px solid var(--line); padding:18px 0 20px; }
  .hp-audience .hp-label { font-size:8px; margin-bottom:8px; }
  .hp-audience>div>p:last-child { font-size:11px; max-width:370px; }
  .hp-pricing-heading { margin:26px 0 22px; gap:18px; }
  .homepage .hp-pricing h2 { font-size:37px; }
  .hp-pricing-heading>div>p { font-size:12px; }
  .homepage .hp-pricing-heading .hp-trial-note { font-size:11px; }
  .hp-pro-strip { display:block; padding:15px 0; }
  .hp-pro-strip>.hp-label { font-size:8px; max-width:none; }
  .hp-pro-strip ul { display:grid; grid-template-columns:1fr 1fr; gap:9px 15px; margin-top:12px; }
  .hp-pro-strip li { font-size:9px; }
  .hp-pro-strip li::before { font-size:12px; margin-right:6px; }
  .hp-plans { grid-template-columns:1fr; margin-top:22px; }
  .hp-plan { padding:24px 23px; }
  .hp-plan+.hp-plan { border-left:0; border-top:1px solid var(--line); }
  .hp-plan-heading { padding-bottom:20px; }
  .hp-plan h3 { font-size:29px; }
  .homepage .hp-plan .price { font-size:55px; }
  .homepage .hp-plan .currency-symbol { font-size:23px; margin-top:7px; }
  .homepage .hp-plan .price-period { display:inline; font-size:11px; padding:0; }
  .homepage .hp-plan .billing-label { font-size:9px; margin-top:10px; }
  .hp-plan-description { font-size:11px; line-height:1.8; margin:20px 0; }
  .hp-plan .hp-button { min-height:46px; font-size:11px; padding:12px 15px; }
  .hp-plan-note { font-size:9px; min-height:0; margin-top:11px; }
  .hp-plan-limits { font-size:10px; line-height:1.7; text-align:left; margin-top:17px; }
  .hp-billing-fineprint { grid-template-columns:1fr; gap:13px; margin-top:18px; padding-top:18px; }
  .hp-billing-fineprint p { font-size:9px; }
  .hp-faq { gap:23px; padding-bottom:43px; }
  .hp-faq-heading { display:block; }
  .hp-faq-heading>.hp-label { font-size:8px; }
  .homepage .hp-faq h2 { font-size:39px; margin-top:13px; }
  .hp-faq-heading>p:last-child { font-size:11px; margin-top:17px; }
  .hp-faq-list summary { font-size:11px; gap:12px; padding:17px 0; }
  .hp-faq-number { font-size:9px; }
  .hp-faq-plus { padding-left:9px; }
  .hp-faq-plus .icon { width:16px; height:16px; }
  .hp-faq-answer { padding:0 25px 20px; }
  .hp-faq-answer p { font-size:11px; }
  .hp-closing { padding:25px 0 21px; }
  .hp-closing-top { padding-bottom:14px; }
  .hp-closing-top>.hp-label { font-size:7px; letter-spacing:1px; }
  .hp-closing-main { display:block; padding:27px 0; }
  .homepage .hp-closing h2 { font-size:46px; }
  .hp-closing-main>div { margin-top:25px; padding:0; }
  .hp-closing-main .hp-button { font-size:11px; min-height:47px; min-width:190px; }
  .hp-closing-main p { font-size:10px; margin-top:13px; }
  .hp-closing-rule { gap:18px; }
  .hp-closing-rule .icon { width:22px; height:22px; }
  .homepage .site-footer { padding:30px 0 24px; }
  .homepage .footer-main { gap:26px; padding-bottom:25px; }
  .homepage .footer-main>div>p { font-size:11px; margin-top:13px; }
  .homepage .site-footer nav a { font-size:10px; }
  .homepage .footer-bottom { gap:18px; padding-top:21px; font-size:9px; }
}

@media(max-width:370px) {
  .homepage .container,.hp-wrap { width:calc(100% - 30px); }
  .homepage .wordmark { font-size:16px; gap:6px; }
  .homepage .brand-mark { width:23px; height:23px; }
  .homepage .header-actions { gap:9px; }
  .homepage .header-actions .button { font-size:12px; padding:9px; gap:6px; }
  .homepage .login-link { font-size:14px; }
  .hp-hero h1 { font-size:50px; }
  .hp-hero-actions { gap:14px; }
  .hp-hero-actions .hp-button { gap:12px; font-size:10px; padding:12px; }
  .hp-hero-actions .hp-text-link { font-size:9px; }
  .hp-listening-image { height:260px; }
  .hp-sound { gap:0 15px; padding:18px; }
  .homepage .hp-sound-title { font-size:35px; }
  .hp-wave { gap:2px; }
  .homepage .hp-main h2 { font-size:36px; }
  .homepage .hp-moments .moment-options button { font-size:9px; gap:5px; padding-inline:6px; }
  .homepage .hp-pricing h2 { font-size:33px; }
  .homepage .hp-closing h2 { font-size:41px; }
}

@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .hp-listening-image img { transition:transform 1.2s ease; }
  .hp-listening-image:hover img { transform:scale(1.025); }
  .hp-brief { transition:transform .4s; }
  .hp-brief:hover { transform:rotate(0); }
}

@media(prefers-reduced-motion:reduce) {
  .homepage *,.homepage *::before,.homepage *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
  .homepage .reveal-pending { opacity:1; transform:none; }
}

.homepage .hp-main :is(.hp-how-intro>p,.hp-process p,.hp-discovery-heading>p,.hp-context-copy>p,.hp-audience>div>p:last-child,.hp-pricing-heading>div>p,.hp-plan-description,.hp-faq-answer p) { font-size:14px; line-height:1.8; }
.homepage .hp-main :is(.hp-free-note,.hp-billing-fineprint p,.hp-plan-note,.hp-plan-limits,.hp-accuracy-note,.discovery-demo-note,.hp-context-foot>p,.hp-closing-main p) { font-size:12px; line-height:1.75; }
.homepage .hp-main .billing-label { font-size:12px; }
.homepage .hp-main .hp-trial-note { font-size:13px; }
.homepage .hp-main .hp-pro-strip li { font-size:12px; }
.homepage .hp-main .hp-faq-list summary { font-size:14px; }
.homepage .hp-main .hp-faq-heading>p:last-child { font-size:13px; }
.homepage .hp-main .hp-moments :is(.moment-title,.moment-description) { font-size:12px; }
.homepage .hp-main .hp-moments .moment-options button { font-size:12px; }
.homepage .hp-main .hp-plan .hp-button { font-size:13px; }
.homepage .hp-main .hp-label { font-size:10px; letter-spacing:1px; }
.homepage .hp-main .hp-process-caption { font-size:10px; letter-spacing:1px; }

@media(max-width:820px) {
  .homepage .hp-main .hp-hero-intro>p:first-child { font-size:14px; }
  .homepage .hp-main .hp-moments .moment-detail { display:block; min-height:45px; }
  .homepage .hp-main .hp-moments .moment-description { margin-top:4px; }
  .homepage .hp-main .hp-pro-strip ul { column-gap:20px; }
  .homepage .hp-main .hp-plan .hp-button { font-size:12px; }
}

@media(max-width:600px) {
  .homepage .site-header nav a { font-size:15px; }
  .homepage .login-link { font-size:14px; }
  .homepage .header-actions .button { font-size:13px; }
  .homepage .hp-main .hp-hero-actions .hp-button,.homepage .hp-main .hp-text-link { font-size:12px; }
  .homepage .hp-main .hp-free-note { font-size:12px; }
  .homepage .hp-main .hp-moments .moment-options button { font-size:12px; padding:10px 7px; min-height:63px; }
  .homepage .hp-main .hp-moments .moment-detail { min-height:67px; }
  .homepage .hp-main .hp-label { font-size:10px; letter-spacing:.8px; }
  .homepage .hp-main .hp-process-caption { font-size:9px; letter-spacing:.8px; }
  .homepage .hp-main .hp-pro-strip li { font-size:12px; }
  .homepage .hp-main .hp-plan-note { min-height:0; }
  .homepage .hp-main .hp-plan .hp-button { font-size:13px; }
  .homepage .hp-main .hp-faq-list summary { font-size:14px; }
  .homepage .hp-main .hp-closing-main .hp-button { font-size:13px; }
  .homepage .site-footer nav a { font-size:12px; }
  .homepage .footer-main>div>p { font-size:12px; }
  .homepage .footer-bottom { font-size:11px; }
}

@media(max-width:370px) {
  .homepage .wordmark { font-size:15px; }
  .homepage .brand-mark { width:21px; height:21px; }
  .homepage .header-actions { gap:8px; }
  .homepage .header-actions .button { font-size:12px; padding:9px 8px; }
  .homepage .login-link { font-size:14px; }
  .homepage .hp-main .hp-hero-actions .hp-button,.homepage .hp-main .hp-hero-actions .hp-text-link { font-size:11px; }
  .homepage .hp-main .hp-hero-kicker .hp-label { font-size:9px; }
  .homepage .hp-main .hp-sound-top .hp-label { font-size:9px; }
  .hp-source-paper { padding:13px; }
  .hp-source-paper strong { font-size:20px; }
  .hp-phone { padding-inline:11px; }
  .homepage .hp-phone>p { font-size:22px; }
}

.hp-discovery-heading>p strong { color:var(--ink); font-weight:550; }
.hp-source-routes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 55px; border-top:1px solid var(--ink); }
.hp-source-route { display:grid; grid-template-columns:164px minmax(0,1fr); gap:30px; align-items:center; padding:31px 0; border-bottom:1px solid var(--line); min-width:0; }
.hp-source-illustration { --source-paper:#e4e8d5; position:relative; min-width:0; padding:17px 9px 8px; background:var(--source-paper); color:#35543d; border:1px solid #bac4ab; box-shadow:3px 4px 0 #dadfcd,4px 5px 0 #b8c2a8; transform:rotate(-3deg); }
.hp-source-illustration::before { content:''; position:absolute; top:-7px; left:14px; width:57px; height:7px; background:var(--source-paper); border:1px solid #bac4ab; border-bottom:0; }
.hp-source-route[data-source-kind="pdf"] .hp-source-illustration { --source-paper:#dfe9e1; transform:rotate(2deg); color:#365949; }
.hp-source-route[data-source-kind="zotero"] .hp-source-illustration { --source-paper:#eee1c7; transform:rotate(2deg); color:#805037; border-color:#c6b799; box-shadow:3px 4px 0 #e6d7ba,4px 5px 0 #c6b799; }
.hp-source-route[data-source-kind="mendeley"] .hp-source-illustration { --source-paper:#2e503e; transform:rotate(-2deg); color:#e9edcd; border-color:#214532; box-shadow:3px 4px 0 #6a8264,4px 5px 0 #4f6747; }
.hp-source-route[data-source-kind="mendeley"] .hp-source-illustration::before { border-color:#214532; }
.hp-source-number { position:absolute; left:12px; top:9px; font-family:var(--hp-serif); font-size:12px; opacity:.65; }
.hp-source-art { display:block; width:100%; height:176px; }
.hp-source-instructions { min-width:0; }
.homepage .hp-source-instructions>.hp-label { font-size:9px; letter-spacing:1.1px; color:var(--hp-rust); }
.hp-source-instructions h3 { font-family:var(--hp-serif); font-size:29px; font-weight:400; line-height:1.1; letter-spacing:-.035em; margin-top:11px; }
.hp-source-instructions ol { list-style:none; counter-reset:source-step; margin:20px 0 0; padding:0; }
.hp-source-instructions li { counter-increment:source-step; position:relative; padding-left:22px; font-size:14px; line-height:1.8; color:var(--muted); }
.hp-source-instructions li+li { margin-top:8px; }
.hp-source-instructions li::before { content:counter(source-step) '.'; position:absolute; left:0; top:1px; font-family:var(--hp-serif); color:var(--ink); font-size:13px; }
.hp-source-bottom { display:flex; align-items:center; justify-content:space-between; gap:55px; padding-top:28px; }
.hp-source-bottom>p { max-width:670px; font-size:14px; line-height:1.8; }
.hp-source-bottom>p strong { color:var(--ink); font-weight:550; }
.hp-source-bottom>.hp-button { flex-shrink:0; font-size:12px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .hp-source-illustration { transition:transform .3s ease; }
  .hp-source-route:hover .hp-source-illustration { transform:rotate(0); }
}
@media(max-width:1100px) {
  .hp-source-routes { gap:0 35px; }
  .hp-source-route { grid-template-columns:133px minmax(0,1fr); gap:24px; padding-block:28px; }
  .hp-source-art { height:151px; }
  .hp-source-instructions h3 { font-size:27px; }
  .hp-source-instructions ol { margin-top:16px; }
  .hp-source-instructions li { font-size:13px; }
}
@media(max-width:820px) {
  .hp-source-routes { gap:0 33px; }
  .hp-source-route { grid-template-columns:1fr; gap:24px; padding:29px 3px; align-content:start; }
  .hp-source-illustration { width:153px; justify-self:start; margin-left:5px; }
  .hp-source-art { height:157px; }
  .hp-source-instructions h3 { font-size:29px; }
  .hp-source-instructions li { font-size:14px; }
  .hp-source-bottom { gap:30px; align-items:flex-start; }
  .hp-source-bottom>p { font-size:13px; }
}
@media(max-width:600px) {
  .hp-source-routes { grid-template-columns:1fr; gap:0; }
  .hp-source-route { grid-template-columns:116px minmax(0,1fr); align-items:center; gap:23px; padding:27px 3px; }
  .hp-source-illustration { width:100%; margin-left:0; padding:17px 5px 7px; }
  .hp-source-art { height:131px; }
  .hp-source-number { font-size:10px; left:10px; top:8px; }
  .homepage .hp-source-instructions>.hp-label { font-size:8px; letter-spacing:.8px; }
  .hp-source-instructions h3 { font-size:26px; line-height:1.12; margin-top:9px; }
  .hp-source-instructions ol { margin-top:15px; }
  .hp-source-instructions li { font-size:13px; line-height:1.8; padding-left:18px; }
  .hp-source-instructions li::before { font-size:12px; }
  .hp-source-instructions li+li { margin-top:7px; }
  .hp-source-bottom { flex-direction:column; align-items:flex-start; gap:21px; padding-top:23px; }
  .hp-source-bottom>p { font-size:14px; }
  .hp-source-bottom>.hp-button { font-size:13px; }
}
@media(max-width:370px) {
  .hp-source-route { grid-template-columns:95px minmax(0,1fr); gap:19px; }
  .hp-source-art { height:115px; }
  .hp-source-instructions h3 { font-size:24px; }
  .hp-source-instructions li { font-size:13px; }
}

/* Immersive listening cover. The art is a full-size layer, with reading contrast
   supplied by a directional ink wash rather than a separate content panel. */
.homepage .hp-hero {
  --hp-scene-fade-ms:1600;
  display:block;
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:none;
  padding:0;
  margin:0;
  overflow:hidden;
  background:#163526;
  color:#fbf6e8;
}
.hp-hero-scenes,.hp-hero-veil { position:absolute; inset:0; pointer-events:none; }
.hp-hero-scenes { z-index:-3; overflow:hidden; }
.homepage .hp-hero .hp-scene-image {
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 12%;
  opacity:0;
  visibility:hidden;
  transform:none;
  animation:none;
  transition:opacity calc(var(--hp-scene-fade-ms) * 1ms) ease-in-out,visibility calc(var(--hp-scene-fade-ms) * 1ms);
}
.homepage .hp-hero .hp-scene-image.is-active { opacity:1; visibility:visible; }
.hp-hero-veil {
  z-index:-2;
  background:linear-gradient(90deg,rgba(10,32,22,.96) 0%,rgba(12,34,24,.89) 28%,rgba(13,35,25,.65) 43%,rgba(13,35,25,.12) 65%,rgba(13,35,25,0) 85%),linear-gradient(0deg,rgba(9,29,20,.94),rgba(9,29,20,.22) 24%,transparent 49%);
}
.hp-hero-layout { display:flex; flex-direction:column; justify-content:space-between; min-height:740px; height:calc(100svh - 78px); max-height:920px; padding-top:61px; padding-bottom:30px; gap:45px; }
.hp-hero-copy { width:51%; max-width:640px; }
.homepage .hp-hero .hp-hero-kicker { padding:0; margin-bottom:25px; display:block; }
.homepage .hp-hero .hp-hero-kicker .hp-label { color:#e1e7c4; font-size:10px; line-height:1.6; letter-spacing:1.8px; }
.homepage .hp-hero .hp-ink-dot { background:var(--hp-lime); width:6px; height:6px; }
.homepage .hp-hero h1 { font-size:clamp(65px,7vw,106px); line-height:1.01; letter-spacing:-.065em; margin:0; color:#fbf6e8; }
.homepage .hp-hero h1 em { color:var(--hp-lime); }
.homepage .hp-hero .hp-title-last { display:flex; gap:.17em; margin-top:0; }
.homepage .hp-hero .hp-hero-intro { display:block; padding:0; border:0; margin:24px 0 0; }
.homepage .hp-hero .hp-hero-intro>p:first-child { max-width:425px; color:#e5e9dc; font-size:16px; line-height:1.8; }
.homepage .hp-hero .hp-hero-actions { display:flex; flex-direction:row; align-items:center; gap:24px; margin:26px 0 0; padding:0; }
.homepage .hp-hero .hp-hero-actions .hp-button { font-size:13px; min-height:53px; padding:16px 22px; }
.homepage .hp-hero .hp-text-link { color:#fbf6e8; font-size:12px; }
.homepage .hp-hero .hp-text-link:hover { color:var(--hp-lime); }
.homepage .hp-hero .hp-free-note { display:block; color:#cbd6c5; font-size:12px; line-height:1.75; margin:18px 0 0; padding:0; border:0; }
.homepage .hp-hero .hp-free-note strong { color:#e7ecdc; font-weight:500; margin-bottom:2px; }
.homepage .hp-hero :is(a,button):focus-visible { outline-color:var(--hp-lime); }
.hp-hero-lower { display:grid; grid-template-columns:.9fr 1.15fr; gap:85px; align-items:end; }
.homepage .hp-hero .hp-sound-compact { display:flex; flex-direction:row; align-items:center; gap:22px; min-height:0; padding:0 0 15px; background:none; overflow:visible; color:#e1e8c9; }
.hp-audio-emblem { display:flex; align-items:center; gap:9px; flex-shrink:0; }
.hp-emblem-paper { width:30px; height:40px; transform:rotate(-8deg); }
.hp-emblem-arrow { font-size:21px; color:var(--hp-lime); font-family:var(--hp-serif); }
.homepage .hp-hero .hp-sound-compact .hp-wave { width:67px; height:40px; gap:2px; padding:0; margin:0; }
.homepage .hp-hero .hp-sound-compact .wave-bar { color:var(--hp-lime); }
.hp-emblem-phone { width:27px; height:43px; margin-left:2px; transform:rotate(7deg); }
.homepage .hp-hero .hp-emblem-title { font-family:var(--hp-serif); font-size:19px; line-height:1.2; letter-spacing:-.02em; color:#fbf6e8; margin-bottom:7px; }
.homepage .hp-hero .hp-sound-compact .hp-label { font-size:8px; color:#c5d3b9; letter-spacing:1.2px; }
.homepage .hp-hero .hp-moments { display:block; margin:0; padding:0; border:0; max-width:none; }
.homepage .hp-hero .hp-moments-label { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:1px; }
.homepage .hp-hero .hp-moments-label .hp-label { max-width:none; font-size:12px; color:#d1dcc6; letter-spacing:1.3px; }
.hp-carousel-toggle { display:flex; align-items:center; justify-content:flex-end; gap:9px; min-height:44px; min-width:78px; flex-shrink:0; padding:8px 0 8px 10px; border:0; border-radius:0; background:none; color:#eff0dc; font-family:var(--sans); font-size:14px; line-height:1.2; }
.hp-carousel-toggle:enabled { cursor:pointer; }
.hp-carousel-toggle:enabled:hover { color:var(--hp-lime); }
.hp-carousel-toggle:disabled { visibility:hidden; }
.hp-carousel-toggle [data-carousel-icon] { width:14px; font-size:17px; text-align:center; }
.homepage .hp-hero .hp-moments .moment-options { display:flex; border-top:1px solid rgba(226,237,211,.42); border-bottom:1px solid rgba(226,237,211,.42); background:none; }
.homepage .hp-hero .hp-moments .moment-options button { display:flex; justify-content:flex-start; gap:11px; flex:1; min-width:0; color:#d6dfcd; background:none; padding:16px 8px 14px; min-height:68px; font-size:16px; line-height:1.5; text-align:left; border:0; border-radius:0; border-bottom:2px solid transparent; margin-bottom:-1px; box-shadow:none; }
.homepage .hp-hero .hp-moments .moment-options button+button { border-left:0; }
.homepage .hp-hero .hp-moments .moment-options button[aria-pressed="true"] { color:#fbf6e8; background:none; border-bottom-color:var(--hp-lime); }
.homepage .hp-hero .hp-moments .moment-options button:enabled:hover { background:rgba(224,234,147,.08); color:var(--hp-lime); }
.homepage .hp-hero .hp-choice-number { color:#b8cba6; font-size:11px; margin-top:2px; }
.homepage .hp-hero .hp-moments .moment-detail { display:block; min-height:60px; margin:11px 0 0; padding:0; border:0; }
.homepage .hp-hero .hp-moments .moment-title { color:#e7edd9; font-size:16px; font-weight:500; line-height:1.6; }
.homepage .hp-hero .hp-moments .moment-description { color:#c5d2ba; font-size:16px; line-height:1.7; margin:2px 0 0; }

@media(min-width:1600px) {
  .hp-hero-layout { padding-top:77px; padding-bottom:39px; }
  .homepage .hp-hero h1 { font-size:114px; }
  .homepage .hp-hero .hp-hero-intro>p:first-child { font-size:17px; max-width:465px; }
}
@media(max-width:1100px) {
  .hp-hero-layout { min-height:720px; height:auto; padding-top:53px; padding-bottom:28px; gap:47px; }
  .hp-hero-copy { width:56%; max-width:560px; }
  .homepage .hp-hero h1 { font-size:7.4vw; }
  .homepage .hp-hero .hp-hero-intro>p:first-child { max-width:370px; font-size:15px; }
  .homepage .hp-hero .hp-hero-actions { gap:20px; }
  .hp-hero-lower { grid-template-columns:.85fr 1.2fr; gap:38px; }
  .homepage .hp-hero .hp-sound-compact { gap:16px; flex-direction:column; align-items:flex-start; padding-bottom:21px; }
  .homepage .hp-hero .hp-moments .moment-options button { gap:8px; font-size:15px; padding-inline:7px; }
}
@media(max-width:820px) {
  .hp-hero-layout { min-height:735px; padding-top:43px; gap:40px; }
  .hp-hero-copy { width:60%; }
  .homepage .hp-hero h1 { font-size:8.1vw; }
  .homepage .hp-hero .hp-hero-kicker .hp-label { font-size:9px; letter-spacing:1.2px; }
  .homepage .hp-hero .hp-hero-intro>p:first-child { font-size:14px; max-width:320px; }
  .homepage .hp-hero .hp-hero-actions { align-items:flex-start; flex-direction:column; gap:16px; margin-top:21px; }
  .homepage .hp-hero .hp-free-note { max-width:330px; font-size:12px; }
  .hp-hero-lower { grid-template-columns:.7fr 1.25fr; gap:23px; }
  .homepage .hp-hero .hp-sound-compact { gap:14px; }
  .homepage .hp-hero .hp-emblem-title { font-size:17px; }
  .hp-audio-emblem { gap:7px; }
  .hp-emblem-paper { width:25px; height:35px; }
  .hp-emblem-phone { width:24px; height:39px; }
  .homepage .hp-hero .hp-sound-compact .hp-wave { width:57px; height:36px; gap:1.5px; }
  .homepage .hp-hero .hp-moments-label .hp-label { font-size:11px; letter-spacing:.85px; }
  .homepage .hp-hero .hp-moments .moment-options button { min-height:72px; font-size:15px; gap:7px; padding:13px 6px; }
  .homepage .hp-hero .hp-moments .moment-detail { min-height:61px; }
}
@media(max-width:600px) {
  .homepage .hp-hero { min-height:0; }
  .hp-hero-scenes { bottom:auto; height:570px; }
  .homepage .hp-hero .hp-scene-image { height:570px; object-position:75% top; }
  .hp-hero-veil { background:linear-gradient(0deg,#163526 0%,#163526 33%,rgba(22,53,38,.94) 46%,rgba(22,53,38,.63) 58%,rgba(22,53,38,.04) 77%,rgba(22,53,38,0) 100%); }
  .hp-hero-layout { display:block; min-height:0; height:auto; max-height:none; padding-top:318px; padding-bottom:27px; }
  .hp-hero-copy { width:100%; max-width:470px; }
  .homepage .hp-hero .hp-hero-kicker { margin-bottom:18px; }
  .homepage .hp-hero .hp-hero-kicker .hp-label { font-size:9px; letter-spacing:1.3px; }
  .homepage .hp-hero h1 { font-size:clamp(51px,12.9vw,76px); line-height:1.01; }
  .homepage .hp-hero .hp-hero-intro { margin-top:20px; }
  .homepage .hp-hero .hp-hero-intro>p:first-child { font-size:14px; line-height:1.8; max-width:420px; }
  .homepage .hp-hero .hp-hero-actions { flex-direction:row; align-items:center; gap:22px; margin-top:23px; }
  .homepage .hp-hero .hp-hero-actions .hp-button { min-height:49px; padding:14px 16px; font-size:12px; gap:22px; }
  .homepage .hp-hero .hp-text-link { font-size:12px; }
  .homepage .hp-hero .hp-free-note { max-width:none; font-size:12px; margin-top:18px; }
  .hp-hero-lower { display:flex; flex-direction:column; align-items:stretch; gap:25px; margin-top:32px; }
  .homepage .hp-hero .hp-sound-compact { flex-direction:row; align-items:center; justify-content:flex-start; gap:23px; padding:0; }
  .homepage .hp-hero .hp-emblem-title { font-size:17px; }
  .homepage .hp-hero .hp-sound-compact .hp-label { font-size:7px; letter-spacing:.9px; }
  .hp-audio-emblem { gap:6px; }
  .hp-emblem-paper { width:25px; height:33px; }
  .hp-emblem-phone { width:23px; height:36px; }
  .hp-emblem-arrow { font-size:18px; }
  .homepage .hp-hero .hp-sound-compact .hp-wave { width:52px; height:33px; }
  .homepage .hp-hero .hp-moments-label { margin-bottom:2px; }
  .homepage .hp-hero .hp-moments-label .hp-label { font-size:11px; letter-spacing:.9px; }
  .homepage .hp-hero .hp-moments .moment-options button { font-size:15px; gap:6px; min-height:78px; padding:13px 5px; align-items:flex-start; flex-direction:column; }
  .homepage .hp-hero .hp-choice-number { font-size:11px; }
  .homepage .hp-hero .hp-moments .moment-detail { min-height:86px; margin-top:12px; }
  .homepage .hp-hero .hp-moments .moment-title,.homepage .hp-hero .hp-moments .moment-description { font-size:15px; }
}
@media(max-width:370px) {
  .hp-hero-layout { padding-top:294px; }
  .hp-hero-scenes,.homepage .hp-hero .hp-scene-image { height:525px; }
  .homepage .hp-hero h1 { font-size:50px; }
  .homepage .hp-hero .hp-hero-actions { gap:16px; }
  .homepage .hp-hero .hp-hero-actions .hp-button { padding:13px; font-size:11px; gap:15px; }
  .homepage .hp-hero .hp-text-link { font-size:11px; }
  .homepage .hp-hero .hp-sound-compact { gap:17px; }
  .homepage .hp-hero .hp-emblem-title { font-size:15px; }
  .homepage .hp-hero .hp-moments-label .hp-label { font-size:11px; }
  .homepage .hp-hero .hp-moments .moment-options button { gap:6px; padding-inline:4px; font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .homepage .hp-hero .hp-scene-image { transition:none; animation:none; }
}

@media print {
  .homepage .container,.hp-wrap { width:100%; }
  .homepage .hp-main { overflow:visible; }
  .hp-hero h1 { font-size:66px; }
  .hp-hero-spread { height:300px; }
  .homepage .hp-moments { display:block; }
  .hp-moments .moment-options { display:none!important; }
  .hp-section { padding-block:30px; }
  .hp-sound,.hp-context,.hp-closing,.hp-plan-yearly { print-color-adjust:exact; }
  .hp-context-layout,.hp-how-layout { gap:30px; }
  .hp-brief { transform:none; box-shadow:none; }
  .hp-source-route,.hp-plan { break-inside:avoid; }
}
