.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.bar{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line-2)}
.bar .brand{display:block;width:min(1120px,100% - 32px);margin:0 auto;padding:16px 0}
.bar img{width:96px;height:auto}

.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(36px,7vw,88px) 0 clamp(40px,6vw,72px)}
.hero__copy > *{animation:rise 520ms var(--ease-out) both}
.hero__copy > *:nth-child(2){animation-delay:50ms}.hero__copy > *:nth-child(3){animation-delay:100ms}.hero__copy > *:nth-child(n+4){animation-delay:150ms}
.sent{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:.92rem;margin-bottom:20px}
.sent__dot{width:22px;height:22px;border-radius:50%;background:var(--accent);box-shadow:inset 0 0 0 6px var(--accent-soft)}
h1{font-size:clamp(2.2rem,1.3rem + 3.6vw,4rem);line-height:1.02;letter-spacing:-.035em;font-weight:700;text-wrap:balance}
.lede{font-size:clamp(1.06rem,1rem + .35vw,1.25rem);color:var(--ink-2);margin-top:18px;max-width:56ch}
.offer{display:grid;gap:2px;margin-top:24px;padding:16px 18px;border-radius:var(--r);background:var(--good-soft);color:#0b5034;max-width:520px}
.offer b{font-size:1.02rem}
.offer span{font-size:.94rem}
.hero .btn{margin-top:26px}
.price{margin-top:14px;color:var(--ink-3);font-size:.95rem}
.price b{color:var(--ink)}

.hero__phone{justify-self:center;width:min(100%,330px);animation:phone 900ms 120ms var(--ease-out) both}
.hero__phone img{width:100%;height:auto;border-radius:38px;box-shadow:0 0 0 10px #1d1d1f,0 0 0 11px #3a3a3c,var(--shadow-2)}
.hero__phone figcaption{text-align:center;color:var(--ink-3);font-size:.88rem;margin-top:24px}
@keyframes phone{from{opacity:0;transform:translateY(24px) rotate(1.5deg)}}

.gets{padding:clamp(28px,5vw,56px) 0;border-top:1px solid var(--line-2)}
.gets h2,.form-card h2{font-size:clamp(1.6rem,1.2rem + 1.5vw,2.3rem);letter-spacing:-.03em;line-height:1.08;font-weight:700}
.gets ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.gets li{padding:20px;border-radius:var(--r-lg);background:var(--soft);display:grid;gap:4px}
.gets li b{font-size:1.04rem}
.gets li span{color:var(--ink-2);font-size:.96rem}

.form-sec{padding:clamp(28px,5vw,56px) 0 clamp(48px,8vw,96px)}
.form-card{max-width:640px;margin:0 auto;padding:clamp(22px,4vw,36px);border-radius:var(--r-lg);background:#fff;box-shadow:0 0 0 1px var(--line-2),var(--shadow-2)}
.form-card > .muted{margin-top:8px}
#refer{display:grid;gap:14px;margin-top:22px}
.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.f{display:grid;gap:6px}
.f span{font-weight:600;font-size:.92rem}
.f i{font-style:normal;font-weight:400;color:var(--ink-3)}
.f input,.f select,.f textarea{width:100%;min-height:50px;border-radius:12px;border:1.5px solid var(--line);background:#fff;padding:12px 14px;font-size:1rem;transition:border-color 200ms ease,box-shadow 200ms ease}
.f textarea{resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--ink-2)}
.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--ink);flex:none}
.err{min-height:1.3em;color:var(--bad);font-size:.92rem;text-align:center}
.hp{position:absolute;left:-9999px}
.done{text-align:center;padding:20px 0 8px;animation:rise 420ms var(--ease-out) both}
.done__tick{width:64px;height:64px;border-radius:50%;background:var(--good);display:grid;place-items:center;margin:0 auto 16px;animation:pop 520ms var(--ease-out) both}
.done__tick svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;animation:draw 420ms 220ms var(--ease-out) forwards}
.done h3{font-size:1.4rem;letter-spacing:-.02em}
.done p{margin-top:6px}
@keyframes pop{from{transform:scale(.8);opacity:0}}
@keyframes draw{to{stroke-dashoffset:0}}

.foot{display:flex;justify-content:space-between;gap:12px;padding:24px 0 40px;border-top:1px solid var(--line-2);color:var(--ink-3);font-size:.9rem}
.foot a{text-decoration:none}

@media (max-width:860px){
  .hero{grid-template-columns:minmax(0,1fr)}
  .hero__phone{width:min(78%,300px)}
  .gets ul,.row{grid-template-columns:minmax(0,1fr)}
}
.terms{max-width:720px;padding-top:24px;padding-bottom:48px}
.terms h1{font-size:clamp(2rem,5vw,2.8rem);letter-spacing:-.03em;line-height:1.05;margin:0 0 12px}
.terms h2{font-size:1.15rem;margin:32px 0 8px}
.terms ul{margin:0;padding-left:1.2em;display:grid;gap:8px}
.terms li{line-height:1.55}

/* the £150, everywhere */
.big{color:var(--good);white-space:nowrap}
.eyebrow{font-weight:600;color:var(--accent);font-size:.95rem;margin-bottom:10px}
.reward{display:grid;gap:8px;margin-top:22px;padding:16px 18px;border-radius:var(--r);background:var(--good-soft);color:#0b5034;max-width:560px;font-size:.98rem}
.reward b{color:#063d27}
.btn--ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.ticks{list-style:none;padding:0;margin-top:20px;display:grid;gap:8px;color:var(--ink-2)}
.ticks li{padding-left:28px;position:relative}
.ticks li::before{content:"";position:absolute;left:4px;top:.45em;width:12px;height:7px;border-left:2.5px solid var(--good);border-bottom:2.5px solid var(--good);transform:rotate(-45deg)}
.hero--join{grid-template-columns:minmax(0,1fr);max-width:760px}
.earn{padding:clamp(28px,5vw,56px) 0;border-top:1px solid var(--line-2)}
.earn h2{font-size:clamp(1.6rem,1.2rem + 1.5vw,2.3rem);letter-spacing:-.03em;line-height:1.08}
.earn__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 14px}
.earn__grid div{padding:20px;border-radius:var(--r-lg);background:var(--soft)}
.earn__grid b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--good);color:#fff;margin-bottom:10px}
.earn__grid p{color:var(--ink-2)}
.done__pay{margin-top:22px;padding:18px;border-radius:var(--r);background:var(--soft);display:grid;gap:12px;justify-items:center}
#join,#start,#payout{display:grid;gap:14px;margin-top:22px}
.copyrow{display:flex;margin-top:12px}
.copyrow code{flex:1;min-width:0;padding:12px 14px;border-radius:12px;background:var(--soft);font-size:1rem;font-weight:600;overflow-wrap:anywhere}
.ok{min-height:1.3em;color:var(--good);font-size:.94rem}

/* payment page */
.pay{max-width:720px;padding:clamp(24px,5vw,48px) 0 64px}
.pay h1,.me h1,.start h1{font-size:clamp(1.9rem,1.4rem + 2vw,2.9rem);letter-spacing:-.035em;line-height:1.05}
.steps{list-style:none;padding:0;display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}
.steps li{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;background:var(--soft);color:var(--ink-3);font-weight:600;font-size:.92rem}
.steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:var(--ink-2);font-size:.85rem}
.steps li[aria-current]{background:var(--ink);color:#fff}
.steps li[aria-current] b{color:var(--ink)}
.steps li.ok b{background:var(--good);color:#fff}
.pay .muted{margin-top:16px}
.checkout{margin-top:18px;min-height:360px}
.pay .done{text-align:left}
.pay .done ul{margin-top:10px;padding-left:1.2em;display:grid;gap:8px}
.pay .done h2{font-size:1.6rem;letter-spacing:-.02em}

/* a referrer's page */
.me,.start{max-width:760px;padding:clamp(24px,5vw,48px) 0 64px;display:grid;gap:18px}
.me > div{display:grid;gap:18px}
.me__hero .lede{margin-top:12px}
.me__money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.me__money div{padding:18px;border-radius:var(--r-lg);background:var(--soft);display:grid;gap:2px}
.me__money b{font-size:clamp(1.4rem,1.1rem + 1.4vw,2rem);letter-spacing:-.02em}
.me__money div:first-child{background:var(--good-soft)}
.me__money div:first-child b{color:var(--good)}
.me__money span{color:var(--ink-3);font-size:.9rem}
.card{padding:clamp(18px,3vw,26px);border-radius:var(--r-lg);background:#fff;box-shadow:0 0 0 1px var(--line-2),var(--shadow-1)}
.card h2,.how h2{font-size:1.2rem;letter-spacing:-.01em;margin-bottom:6px}
.acts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 10px}
.prog{height:10px;border-radius:999px;background:var(--soft);overflow:hidden;margin:10px 0 8px}
.prog i{display:block;height:100%;background:var(--good);transform-origin:left;transform:scaleX(0);transition:transform 700ms var(--ease-out)}
.pill{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--soft);color:var(--ink-2);font-size:.82rem;font-weight:600;white-space:nowrap}
.pill.good{background:var(--good-soft);color:var(--good)}
.me__row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line-2)}
.me__row:first-child{border-top:0}
.me__row div{display:grid}
.me__row small{color:var(--ink-3)}
.how ol{padding-left:1.2em;display:grid;gap:8px;color:var(--ink-2);margin-bottom:10px}

/* onboarding */
.start .form-card{max-width:none;display:grid;gap:14px}
.files{list-style:none;padding:0;display:grid;gap:4px;font-size:.92rem;color:var(--good)}
.files .bad{color:var(--bad)}

@media (max-width:860px){
  .earn__grid,.me__money{grid-template-columns:minmax(0,1fr)}
}
