/* Approved hero: wide backdrop on desktop, full-height mascot below copy on small screens. */
.hero.hero-background{position:relative;display:block;width:100%;max-width:none;min-height:0;height:clamp(500px,40vw,720px);padding:0;margin:0;isolation:isolate;overflow:hidden}
.hero-background .hero-backdrop{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:right center;z-index:-1}
.hero-background .hero-inner{height:100%;display:flex;align-items:center}
.hero-background .hero-copy{width:57%;padding:0}
.hero-background h1{font-size:clamp(54px,5.4vw,82px);line-height:1.04;margin-bottom:38px}
.hero-background .hero-copy>p{color:#555550;max-width:100%;font-size:clamp(17px,1.4vw,20px)}
.hero-background .hero-buttons{margin-top:32px;margin-bottom:0}
@media(max-width:900px){
 .hero.hero-background{height:auto;display:flex;flex-direction:column;background:var(--paper)}
 .hero-background .hero-inner{order:0;height:auto;padding-top:40px;padding-bottom:32px}
 .hero-background .hero-copy{width:100%;max-width:620px}
 .hero-background h1{font-size:clamp(44px,7.5vw,64px);margin-bottom:30px}
 .hero-background .hero-backdrop{position:relative;inset:auto;order:1;z-index:0;height:clamp(280px,45vw,400px);object-position:right center}
 .hero-background .hero-copy>p{font-size:17px;max-width:460px}
 .hero-background .hero-buttons{margin-top:24px}
}
@media(max-width:650px){
 .hero-background .hero-inner{padding-top:30px;padding-bottom:28px}
 .hero-background h1{font-size:clamp(42px,11.5vw,60px)}
 .hero-background .hero-copy>p{font-size:16px;max-width:390px}
 .hero-background .hero-backdrop{height:300px}
 .hero-background .hero-buttons .button{font-size:15px;padding:15px 20px;max-width:100%}
}
/* September content revision: preserve the approved monochrome palette. */
.menu-button,.menu-button:hover,.menu-button:focus-visible{color:var(--ink)}
.menu-button .icon{color:inherit;stroke:currentColor}
.one-step-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;background:var(--surface);border-radius:24px;padding:54px 52px;margin-top:20px;margin-bottom:50px}
.one-step-heading h2{font-size:clamp(32px,3.4vw,46px);line-height:1.15}
.one-step-copy>p{font-size:17px;line-height:1.85;color:var(--ink)}
.one-step-reminder{display:flex;align-items:flex-start;gap:16px;border-top:1px solid var(--line);padding-top:26px;margin-top:30px}
.one-step-reminder>.icon{color:var(--ink);width:23px;height:23px}
.one-step-reminder h3{font-size:21px;line-height:1.3;margin-bottom:12px}
.one-step-reminder p{font-size:15px;line-height:1.7}
@media(max-width:900px){.one-step-section{gap:35px;padding:40px 30px}.one-step-copy>p{font-size:16px}}
@media(max-width:650px){.one-step-section{grid-template-columns:1fr;gap:25px;padding:30px 24px;border-radius:18px;margin-top:0;margin-bottom:5px}.one-step-heading h2{font-size:34px}.one-step-reminder{gap:13px}.one-step-reminder h3{font-size:20px}.one-step-reminder p{font-size:15px}}
/* New supplied phone screens are displayed whole, including their own frames. */
.updated-screen{width:100%;mix-blend-mode:multiply}
.updated-screen img{position:static;display:block;width:100%;height:auto;max-width:100%}
.hero-phone .updated-screen{mix-blend-mode:normal}
.hero-mascot,.cta-mascot{border-radius:45% 45% 24px 24px;overflow:hidden;mix-blend-mode:multiply}
.hero-mascot{width:230px;bottom:22px;right:0}
.download-band .cta-mascot{width:195px;bottom:-12px}
.step-screen:not(:has(.screen-wrap)){display:none}
.step-screen{margin-top:35px;max-width:240px}
.step-screen .screen-wrap{width:240px}
.screen-examples{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.screen-examples>div>p{margin-top:24px;max-width:390px;font-size:17px}
.screen-examples-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.screen-examples figure{margin:0;min-width:0}
.screen-examples .screen-wrap{width:240px}
.screen-examples figcaption{text-align:center;font-size:14px;color:var(--muted);margin-top:18px}
.primary,.primary:hover,.primary:focus-visible{color:#FCFAF7}
.footer-brand{margin-top:-6px}
.feature-section-heading>div{max-width:590px}
.feature-section-heading>p{text-align:right;max-width:365px}
.hero-copy>.hero-buttons{margin-bottom:0}
.download-band>div:first-child{max-width:620px}
.download-band h2{font-size:clamp(34px,3.7vw,48px)}
.download-band p{max-width:480px}
.download-band .cta-mascot{right:70px}
.business-teaser>div{display:block}
.business-teaser h3{font-size:20px}
.catalog-title{max-width:1000px}
.referral-overview .section-heading{margin-bottom:38px}
.referral-options{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.referral-options article{border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column;align-items:flex-start}
.referral-number{font-size:13px;color:var(--muted);margin-bottom:24px}
.referral-options h3{font-size:30px;margin-bottom:22px}
.referral-options article>p{font-size:16px;line-height:1.8;margin-bottom:20px}
.referral-options .reward-timing{margin-top:auto;margin-bottom:25px}
.reward-timing{border-left:2px solid var(--accent);padding:0 0 0 18px;margin-top:28px;max-width:430px}
.reward-timing>span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}
.reward-timing>strong{display:block;font-size:17px;line-height:1.5;font-weight:500}
.referral-options .text-link{font-size:14px;gap:16px}
.sharing-methods{padding-top:10px;padding-bottom:90px}
.sharing-methods h2{font-size:36px;margin-bottom:38px}
.sharing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.sharing-grid>div{border-top:1px solid var(--line);padding-top:24px}
.sharing-grid h3{font-size:23px;margin:22px 0 16px}
.sharing-grid p{font-size:16px}
.feature-referrals+.steps-layout{padding-top:70px}
#company-referral{padding-top:15px}
.feature-bonuses .page-title{font-size:clamp(42px,4.5vw,64px)}
.feature-bonuses{gap:55px;min-height:440px;padding-bottom:25px}
.balance-focus{background:var(--surface);padding:38px 26px 28px;border-radius:24px;min-width:0}
.balance-shot{position:relative;overflow:hidden;width:100%;aspect-ratio:440/205;border-radius:19px;background:#353634}
.balance-shot>img{position:absolute;max-width:none;width:115.5%;height:auto;left:-8%;top:-84%}
.balance-callouts{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:20px}
.balance-callouts>div:last-child{text-align:right}
.balance-callouts .icon{width:20px;height:20px;transform:rotate(-90deg);margin-bottom:9px}
.balance-callouts p{font-size:14px;line-height:1.6;color:var(--ink)}
.feature-benefits{padding-top:70px}
.business-tools{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:start}
.business-tools-intro>p{font-size:17px;line-height:1.8;margin-top:26px;max-width:420px}
.business-tool-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.business-tool-list>li{display:grid;grid-template-columns:30px 1fr 26px;gap:18px;padding:27px 0;border-bottom:1px solid var(--line)}
.business-tool-list .tool-number{font-size:12px;color:var(--muted);padding-top:3px}
.business-tool-list h3{font-size:25px;margin-bottom:12px}
.business-tool-list p{font-size:16px}
.business-tool-list .icon{width:23px;height:23px;margin-top:2px}
@media(max-width:1150px){
 .download-band>div:first-child{max-width:530px}
 .download-band p{max-width:380px}
 .download-band .cta-mascot{right:25px;width:210px}
 .business-tools{gap:50px}
 .feature-section-heading>div{max-width:480px}
 .referral-options{gap:40px}
 .referral-options h3{font-size:27px}
}
@media(max-width:900px){
 .feature-section-heading>div{max-width:390px}
 .feature-section-heading>p{max-width:280px}
 .referral-options{gap:28px}
 .referral-options .text-link{gap:8px;font-size:13px}
 .referral-options h3{font-size:25px}
 .download-band>div:first-child{max-width:440px}
 .download-band .cta-mascot{width:190px;right:12px}
 .download-band p{max-width:330px}
 .feature-bonuses{gap:25px;grid-template-columns:1.1fr .9fr}
 .feature-bonuses .page-title{font-size:46px}
 .balance-focus{padding:28px 16px 22px}
 .balance-callouts p{font-size:12px}
 .business-tools{gap:35px;grid-template-columns:.8fr 1.2fr}
 .business-tool-list>li{gap:12px}
 .sharing-grid{gap:22px}
 .sharing-grid h3{font-size:21px}
}
@media(max-width:650px){
 .feature-section-heading>div{max-width:100%}
 .feature-section-heading>p{max-width:100%;text-align:right}
 .footer-brand{margin-top:-4px}
 .download-band>div:first-child{max-width:none}
 .download-band h2{font-size:34px}
 .download-band p{max-width:none}
 .download-band .cta-mascot{width:167px;right:17px;bottom:-72px}
 .referral-options{grid-template-columns:1fr;gap:42px}
 .referral-options h3{font-size:29px}
 .referral-options article>p{font-size:16px}
 .referral-options .text-link{font-size:14px;gap:12px}
 .referral-number{margin-bottom:18px}
 .reward-timing>strong{font-size:16px}
 .sharing-methods{padding-top:0;padding-bottom:60px}
 .sharing-methods h2{font-size:32px;margin-bottom:28px}
 .sharing-grid{grid-template-columns:1fr;gap:30px}
 .sharing-grid h3{font-size:24px;margin-top:18px}
 .feature-bonuses{grid-template-columns:1fr;gap:30px;min-height:0}
 .feature-bonuses .page-title{font-size:43px}
 .balance-focus{padding:30px 22px 24px}
 .balance-callouts p{font-size:14px}
 .feature-benefits{padding-top:55px}
 .business-tools{grid-template-columns:1fr;gap:35px}
 .business-tools-intro>p{font-size:16px}
 .business-tool-list>li{grid-template-columns:24px 1fr 24px;gap:12px;padding:24px 0}
 .business-tool-list h3{font-size:24px}
 .business-tool-list p{font-size:16px}
 .business-teaser h3{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.balance-callouts .icon{transition:none}}

/* September 28 revisions */
.desktop-nav a:hover,.desktop-nav a[aria-current],.mobile-nav a:hover,.header-actions .login:hover,.footer-main>div>a:hover{color:#74746e}
.value-strip h3{font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-.025em}
.value-strip p{font-size:18px;line-height:1.6;margin-top:16px}
.footer-main{grid-template-columns:1.5fr 1fr 1fr}
body:has(.hero) .news-photo{height:auto;aspect-ratio:2.7/1}
body:has(.hero) .news-photo>img{top:-32%}
.login-panel{max-width:520px;width:100%}
.login-panel h1{font-size:clamp(34px,4vw,48px);margin-bottom:32px}
#login-form{display:grid;gap:20px;text-align:left;margin-bottom:24px}
#login-form label{display:grid;gap:8px;font-size:15px}
#login-form input{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:14px 16px;color:var(--ink);min-width:0}
#login-form .button{width:100%}
#login-result:empty{display:none}
#login-result{font-size:14px;line-height:1.6}
.login-panel>.button{width:100%;margin-top:0}
button[data-download-pending]:not(.button){border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}
.footer-main button[data-download-pending]{font-size:14px;display:block;margin:10px 0;color:var(--muted)}
.download-feedback{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;background:var(--ink);color:var(--paper);padding:16px 24px;border-radius:12px;max-width:calc(100% - 32px);width:max-content;box-shadow:0 8px 30px #0002}
@media(max-width:650px){.value-strip p{font-size:17px}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.login-panel{padding:28px 20px}.download-feedback{bottom:16px}}
@media(max-width:650px){.value-strip>div,.value-strip>div:first-child{grid-template-columns:1fr;gap:10px;padding:24px 0}.value-strip p{margin:0}}
/* Profile selector and explicit application consents */
.profile-picker{position:relative;flex-shrink:0}
.profile-trigger{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--ink);padding:4px;border-radius:28px}
.profile-trigger>svg{width:17px;height:17px}
.profile-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#eae6e1;border:1px solid var(--line);font-size:14px;color:#55564f}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-menu{position:absolute;top:calc(100% + 18px);right:0;width:310px;max-width:calc(100vw - 40px);padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 45px #30312f12;z-index:40}
.profile-menu[hidden]{display:none}
.profile-menu-label{display:block;font-size:12px;color:var(--muted);padding:13px 14px 15px;border-bottom:1px solid var(--line);margin-bottom:5px}
.profile-menu>button{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;width:100%;text-align:left;font-size:15px;line-height:1.4;padding:17px 14px;border-radius:8px;color:var(--ink)}
.profile-menu>button.active,.profile-menu>button:hover{background:var(--surface)}
.profile-menu>button>span{width:18px;flex-shrink:0}
.form-consents{display:grid;gap:18px;margin:26px 0 30px}
.consent-row{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.6}
.consent-row input[type=checkbox]{appearance:auto;accent-color:var(--ink);width:19px;height:19px;min-width:19px;padding:0;margin:2px 0 0;flex-shrink:0;cursor:pointer}
.consent-row label{display:inline;font-size:inherit;cursor:pointer}
.consent-document{display:inline;border:0;padding:0;background:transparent;color:var(--ink);font-size:inherit;line-height:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#89877f;cursor:pointer;text-align:left}
.document-dialog{max-width:560px;width:calc(100% - 40px);border:1px solid var(--line);border-radius:20px;padding:32px;background:var(--paper);color:var(--ink)}
.document-dialog::backdrop{background:#30312f66}
.document-dialog h2{font-size:27px;line-height:1.2;margin-bottom:20px}
.document-dialog p{font-size:16px;margin-bottom:24px}
@media(max-width:900px){.header-actions>.login{display:flex}.header-actions{gap:12px}}
@media(max-width:650px){.header-actions{gap:6px}.header-actions>.login{font-size:14px}.header-actions>.login .icon{display:none}.profile-avatar{width:34px;height:34px}.profile-trigger{gap:4px;padding:0}.header-inner{gap:10px}.header .brand{width:120px}.header .button.small{padding:10px 12px}.menu-button{padding:7px}.profile-menu{position:fixed;top:83px;right:20px;width:310px}.consent-row{font-size:14px}}
@media(max-width:370px){.header .brand{width:100px}.header-inner{gap:6px}.header-actions{gap:4px}}
@media(max-width:900px){.screen-examples{gap:35px;grid-template-columns:1fr 1.2fr}.screen-examples-grid{gap:16px}}
@media(max-width:650px){.hero-mascot{width:180px}.download-band .cta-mascot{width:150px;bottom:-40px}.step-screen{max-width:220px;margin:30px auto 0}.screen-examples{grid-template-columns:1fr;gap:32px}.screen-examples-grid{gap:18px}.screen-examples figcaption{font-size:13px}.screen-examples>div>p{font-size:16px}}

/* October typography and illustrated stories. Fonts are served locally. */
body{font-family:'Onest',Arial,sans-serif;font-weight:300}
h1,h2,h3,h4,h5,h6{font-family:'Montserrat',Arial,sans-serif;font-weight:800;letter-spacing:-.035em;line-height:1.16;overflow-wrap:break-word}
h1{font-weight:900}
.hero-background h1{font-size:clamp(42px,4.5vw,68px);line-height:1.12;margin-bottom:26px}
.hero-background .hero-copy{width:62%;max-width:740px}
.hero-background .hero-copy>p{max-width:490px;font-weight:300}
.value-strip p,.value-strip p strong{color:var(--muted);font-weight:300}
.referral-overview .section-heading h2{max-width:1000px;font-size:clamp(30px,3.3vw,46px)}
.mascot-story{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:72px;padding-top:50px;padding-bottom:50px}
.mascot-story h2{font-size:clamp(30px,3.2vw,44px);max-width:630px}
.mascot-story p{font-size:18px;line-height:1.8;margin-top:26px;max-width:620px}
.mascot-story .button{margin-top:28px}
.story-art{height:440px;display:flex;justify-content:center;align-items:center}
.story-art img{height:100%;width:auto;object-fit:contain}
.reminder-story{grid-template-columns:.8fr 1.2fr;border-top:1px solid var(--line);margin-bottom:50px}
.download-band{display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:30px;padding:50px 56px;min-height:420px}
.download-band>div:first-child{max-width:700px}
.download-band .cta-mascot{position:static;width:100%;height:350px;border-radius:0;overflow:visible;mix-blend-mode:normal}
.cta-mascot img{height:100%;width:100%;object-fit:contain}
.download-band h2{font-size:clamp(30px,3.2vw,44px)}
.referral-company-story{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px}
.referral-company-story h2{font-size:clamp(30px,3.3vw,46px)}
.referral-company-story p,.referral-app-grid p{font-size:18px;line-height:1.8;margin-top:24px}
.company-share-screen .screen-wrap{width:min(100%,300px);margin:auto}
.company-share-screen .share-hint{text-align:center;font-size:14px;max-width:300px;margin:20px auto 0}
.referral-app-story{border-top:1px solid var(--line)}
.referral-app-story>h2{margin-bottom:42px}
.referral-app-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:64px}
.referral-phone-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.referral-phone-pair .screen-wrap,.screen-examples-grid .screen-wrap{width:100%;min-width:0}
.updated-screen{mix-blend-mode:normal}
@media(max-width:1000px){.mascot-story,.referral-company-story,.referral-app-grid{gap:35px}.story-art{height:360px}.download-band{padding:36px}.download-band .cta-mascot{height:300px}.hero-background .hero-copy{width:100%}}
@media(max-width:650px){
 h2{font-size:30px}h3{font-size:22px}
 .hero-background h1{font-size:clamp(34px,9.3vw,52px)}
 .hero-background .hero-copy{max-width:100%}
 .mascot-story,.reminder-story,.referral-company-story,.referral-app-grid{grid-template-columns:1fr;gap:28px}
 .mascot-story{padding:40px 0}.mascot-story p,.referral-company-story p,.referral-app-grid p{font-size:16px}
 .story-art{height:310px}.reminder-story .story-art{order:2}
 .download-band{grid-template-columns:1fr;padding:30px 24px;gap:26px}
 .download-band h2{font-size:30px}.download-band .cta-mascot{height:280px;width:100%}
 .referral-phone-pair{gap:12px}.referral-app-story>h2{margin-bottom:28px}
 .company-share-screen .screen-wrap{width:260px;max-width:100%}
 .value-strip>div,.value-strip>div:first-child{grid-template-columns:1fr;gap:10px}
 .value-strip p{font-size:15px}.one-step-heading h2{font-size:30px}
}
/* October 5: consistent headings, image proportions and catalogue controls */
main h1.page-title,main .feature-hero-grid h1.page-title,main .business-hero h1.page-title,main .hero-copy h1{font-size:clamp(34px,4.5vw,68px);line-height:1.12;font-weight:900}
main .news-photo,body:has(.hero) .news-photo,main .article-image{height:auto;aspect-ratio:16/9}
main .news-photo>img,body:has(.hero) .news-photo>img,main .article-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;max-width:100%}
main .screen-wrap{width:270px;max-width:100%;transform:none}
main .updated-screen{width:100%;aspect-ratio:1/2.12}
main .updated-screen img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
main .real-screen{width:100%;height:auto;aspect-ratio:1/2.12}
main .screen-examples-grid,main .referral-phone-pair{align-items:end;grid-template-columns:repeat(2,minmax(0,1fr))}
main .screen-examples-grid .screen-wrap,main .referral-phone-pair .screen-wrap{width:100%;max-width:270px;margin:auto}
main .feature-screen,main .business-art{min-height:0;height:auto;padding:32px;display:flex;align-items:center;justify-content:center}
main .company-share-screen>img{display:block;width:100%;height:auto;object-fit:contain}
main .referral-company-story{grid-template-columns:1fr 1fr}
.catalog-controls .select-field{min-width:0}
@media(max-width:650px){
 main h1.page-title,main .feature-hero-grid h1.page-title,main .business-hero h1.page-title,main .hero-copy h1{font-size:clamp(32px,8.7vw,48px)}
 main .referral-company-story{grid-template-columns:1fr}
 main .feature-screen,main .business-art{padding:24px}
 .catalog-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .catalog-controls .search-field{grid-column:1/-1}
 .catalog-controls .select-field{width:100%}
}
/* Business pricing and refreshed company card */
.company-card .company-photo>img{inset:0;width:100%;height:100%;max-width:100%;transform:none;object-fit:cover;object-position:center}
.business-teaser .text-link:hover,.business-teaser .text-link:focus-visible{color:#74746e}
.free-business{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.free-business-intro{display:grid;grid-template-columns:.45fr 1fr;gap:60px;align-items:center;margin-bottom:52px}
.free-price{font-family:Montserrat,Arial,sans-serif;font-size:clamp(70px,9vw,128px);font-weight:900;line-height:1;letter-spacing:-.06em}
.free-business-intro h2{font-size:clamp(30px,3.3vw,46px);max-width:750px}
.free-business-intro p{font-size:18px;line-height:1.8;margin-top:24px;max-width:700px}
.free-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 40px}
.free-business-grid>div{border-top:1px solid var(--line);padding-top:24px}
.free-business-grid h3{font-size:22px;margin-bottom:14px}
.free-business-grid p{font-size:16px;line-height:1.8}
@media(max-width:900px){.free-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.free-business-intro{gap:30px}}
@media(max-width:650px){.free-business-intro{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.free-business-grid{grid-template-columns:1fr;gap:24px}.free-business-intro p{font-size:16px}.free-price{font-size:76px}}
