/*
 * Warm, mobile-first visual system for the public Referral Partner page.
 * Shares the public OmNom site's Fredoka/DM Sans typography, coral/cream
 * palette, mascot lockup, and pill controls. Artwork remains CSS-only.
 */
:root{--ink:#26302b;--muted:#697169;--orange:#ec7026;--cream:#fff8ed;--peach:#ffe6cc;--line:#e6e2d9;--green:#304d3c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffdf9;color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Fraunces,serif;line-height:1.1;letter-spacing:-.035em}h1{font-size:clamp(3.2rem,6vw,6.6rem);max-width:780px}h2{font-size:clamp(2.5rem,4vw,4.5rem)}h3{font-size:1.35rem;line-height:1.2}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,20px);border-bottom:1px solid var(--line);background:#fffdf9}.brand{text-decoration:none;font-size:1.55rem;font-weight:800;letter-spacing:-.08em}.brand-mark{display:inline-grid;place-items:center;background:var(--orange);color:#fff;border-radius:50%;width:32px;height:32px;font-size:1.2rem;margin-right:7px}.brand-dot{color:var(--orange)}nav{display:flex;gap:34px;align-items:center}nav a{text-decoration:none;font-size:.92rem;font-weight:700}.nav-cta{color:var(--orange)}.hero{min-height:740px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px;padding:72px max(5vw,20px);overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:.73rem;letter-spacing:.18em;font-weight:800;color:var(--orange);margin-bottom:26px}.sparkle{font-size:1.2rem;margin-right:7px}.hero h1 em,.benefit h2 em{font-style:normal;color:var(--orange)}.hero-copy>p:not(.eyebrow):not(.hero-note){font-size:1.08rem;max-width:590px;color:#4e584f}.hero-sub{font-size:1.4rem!important;color:var(--ink)!important;line-height:1.45}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;border:0;border-radius:100px;padding:17px 27px;font:700 1rem "DM Sans",sans-serif;text-decoration:none;cursor:pointer}.button-primary{background:var(--orange);color:#fff;box-shadow:0 9px 20px #ec702635}.button-primary:hover{background:#d85e16}.hero-note{font-size:.78rem;color:var(--muted);margin:18px 0 0}.hero-art{height:560px;position:relative;isolation:isolate}.sun{width:410px;height:410px;border-radius:50%;background:#ffe0bb;position:absolute;right:5%;top:5%;z-index:-2}.arch{width:80%;height:95%;border-radius:260px 260px 0 0;background:#f7f0df;position:absolute;bottom:-80px;right:5%;z-index:-1}.shop{position:absolute;bottom:48px;right:10%;width:71%;height:310px;background:#fff9ef;border:7px solid var(--green);border-bottom:18px solid var(--green);border-radius:10px 10px 0 0;box-shadow:23px 20px 0 #304d3c1c}.awning{height:65px;background:#ed7441;display:flex;overflow:hidden;transform:translateY(-25px);border-radius:8px 8px 18px 18px}.awning i{flex:1;background:#f7eee0;border-radius:0 0 15px 15px}.awning i:nth-child(even){background:#ee7641}.shop-name{text-align:center;font:700 1.4rem Fraunces,serif;color:var(--green);margin-top:-7px}.shop-window{position:absolute;bottom:0;left:8%;height:140px;width:42%;background:#b5d5bc;border:6px solid var(--green);display:grid;place-items:center;font-size:3rem}.shop-door{position:absolute;bottom:0;right:11%;height:175px;width:25%;background:#a5c6ad;border:6px solid var(--green);border-bottom:0}.reward-bubble,.order-bubble{position:absolute;background:white;border-radius:22px;padding:15px 22px;box-shadow:0 16px 40px #304d3c25;font-size:.9rem;font-weight:700}.reward-bubble strong{display:block;font-size:1.65rem;color:var(--orange);line-height:1.1}.bubble-one{top:21%;left:0;transform:rotate(-8deg)}.bubble-two{top:12%;right:0;transform:rotate(7deg)}.order-bubble{bottom:20px;left:8%;background:var(--green);color:white;transform:rotate(-5deg)}.section-pad{padding:110px max(5vw,20px)}.equation{text-align:center;background:var(--cream)}.equation>p:not(.eyebrow){max-width:650px;margin:0 auto 45px;color:var(--muted)}.math-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1080px;margin:auto}.math-grid>div{background:#fff;border:1px solid #eadccb;border-radius:22px;padding:30px 18px;display:flex;flex-direction:column}.math-grid strong{font:700 3.2rem Fraunces,serif;line-height:1;color:var(--green)}.math-grid span{color:var(--muted);font-size:.8rem;margin-bottom:20px}.math-grid b{font-size:.95rem}.math-grid i{font-style:normal;color:var(--orange)}.steps{max-width:1400px;margin:auto}.section-heading{max-width:580px}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:54px}.step-grid article{border-top:2px solid var(--line);padding:24px 10px 0 0}.step-number{font:700 2rem Fraunces,serif;color:var(--orange)}.step-grid h3{margin-top:28px}.step-grid p{color:var(--muted);font-size:.94rem}.benefit{background:var(--green);color:#fff;display:grid;grid-template-columns:1.5fr .6fr;gap:80px;align-items:center}.benefit>div:first-child{max-width:760px}.benefit .eyebrow{color:#f6b478}.benefit h2 em{color:#f6b478}.benefit p{color:#e2eee2;font-size:1.05rem}.benefit a{color:#fff}.benefit-line{font-weight:800;margin-top:34px}.benefit-card{background:#fff7e9;color:var(--green);border-radius:24px;padding:40px;transform:rotate(3deg);box-shadow:13px 15px 0 #132d1d55}.benefit-card span{font-size:.7rem;letter-spacing:.15em;font-weight:800}.benefit-card strong{display:block;font:700 4.6rem Fraunces,serif;color:var(--orange);margin:10px 0}.benefit-card p{color:var(--green);margin:0}.signup{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;background:#fce7d3}.signup h2{max-width:420px}.signup form{padding:36px;background:#fffdf9;border-radius:24px;box-shadow:0 14px 35px #9a673225}.signup label{font-weight:800;display:block;margin-bottom:10px}.email-row{display:flex;gap:8px}.email-row input{min-width:0;flex:1;border:1px solid var(--line);border-radius:100px;padding:15px 20px;font:inherit}.email-row .button{white-space:nowrap}.signup small{display:block;color:var(--muted);margin-top:15px}.signup small a{font-weight:700}#signup-message{min-height:24px;color:var(--green);font-weight:700}.store-links a{margin-right:20px}footer{padding:50px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{color:var(--muted);margin:0}footer div{display:flex;gap:20px}footer a{text-decoration:none}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-art{height:430px;max-width:600px;width:100%;margin:auto}.step-grid{grid-template-columns:repeat(2,1fr)}.benefit,.signup{grid-template-columns:1fr}.benefit-card{max-width:350px}.email-row{flex-direction:column}.email-row .button{width:100%}}@media(max-width:600px){nav a:first-child{display:none}.site-header{height:70px}.hero{padding-top:55px}.hero-art{height:350px}.shop{height:215px}.shop-window{height:95px}.shop-door{height:110px}.sun{width:290px;height:290px}.reward-bubble{padding:10px 15px}.reward-bubble strong{font-size:1.15rem}.section-pad{padding:75px 20px}.math-grid,.step-grid{grid-template-columns:1fr}.step-grid{gap:30px}.math-grid strong{font-size:2.5rem}footer{align-items:flex-start;flex-direction:column}footer div{flex-wrap:wrap}}

/* Shared brand tokens and presentation from landing/style.css. These overrides
   keep the referral-specific layout while aligning every public entry point. */
@font-face{font-family:Fredoka;src:url('/assets/fonts/fredoka-latin-variable.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-latin-variable.woff2') format('woff2');font-style:normal;font-weight:300 500;font-display:swap}
:root{--ink:#1a1613;--muted:#4a4340;--orange:#ff6b4a;--cream:#fff8f0;--peach:#ffe8d6;--line:#e8ded5;--green:#2a8a5e}
body{background:var(--cream);color:var(--ink)}
h1,h2,h3{font-family:Fredoka,sans-serif;font-weight:700;letter-spacing:-.03em}
.site-header{background:var(--cream);border-bottom:0;max-width:1400px;margin:auto}
.site-header nav{margin-left:auto;justify-content:flex-end}
.brand{font-family:Fredoka,sans-serif;font-weight:700;font-size:1.5rem;letter-spacing:-.03em;display:inline-flex;align-items:center;gap:9px}
.brand img{width:36px;height:36px;object-fit:contain}
.nav-cta{background:#2c2826;color:white;border-radius:60px;padding:12px 23px;font-family:Fredoka,sans-serif}
.hero{background:radial-gradient(circle at 75% 25%,#ffe8d6 0,transparent 38%),var(--cream)}
.eyebrow{display:inline-block;background:#ffddd4;color:#e5553a;border-radius:60px;padding:8px 18px;letter-spacing:.03em;font-family:Fredoka,sans-serif;font-weight:600;margin-bottom:24px}
.sparkle{font-size:1rem}
.hero-copy>p:not(.eyebrow):not(.hero-note){color:var(--muted)}
.hero-sub{color:var(--ink)!important}
.button{font-family:Fredoka,sans-serif;font-weight:600}
.button-primary{box-shadow:0 4px 20px #ff6b4a4d}
.button-primary:hover{background:#e5553a}
.shop{border-color:var(--ink);border-bottom-color:var(--ink);box-shadow:23px 20px 0 #1a16131c}
.shop-window,.shop-door{border-color:var(--ink)}
.shop-name{font-family:Fredoka,sans-serif;color:var(--ink)}
.awning,.awning i:nth-child(even){background:var(--orange)}
.order-bubble{background:var(--ink)}
.math-grid strong,.step-number,.benefit-card strong{font-family:Fredoka,sans-serif}
.math-grid strong{color:var(--ink)}
.benefit{background:#2c2826}
.benefit .eyebrow{background:#ffddd4;color:#e5553a}
.benefit h2 em{color:#ff917a}
.benefit p{color:#f7ede8}
.benefit-card{background:#fff8f0;color:var(--ink);box-shadow:13px 15px 0 #1a161355}
.benefit-card p{color:var(--ink)}
.signup{background:var(--peach)}
.signup form{background:#fffcf9}
@media(max-width:600px){.nav-cta{padding:9px 16px}.eyebrow{font-size:.68rem}.hero h1{font-size:clamp(2.8rem,10vw,4rem)}}
