/* Affiliate program page layouts. Shared tokens and components come from clearwave.css. */
.affiliate-page main{position:relative;z-index:1}
.affiliate-page input{font:inherit}

.affiliate-hero{position:relative;min-height:620px;padding:140px 0 56px;display:flex;align-items:center;overflow:hidden;text-align:center}
.affiliate-hero::before{content:"";position:absolute;top:-22%;right:-8%;width:min(680px,60vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(0,122,255,.13),rgba(0,122,255,.035) 48%,transparent 72%);pointer-events:none}
.affiliate-hero-inner{position:relative;z-index:1;width:100%;max-width:1040px}
.affiliate-hero h1{max-width:920px;margin:0 auto 26px;font-size:clamp(3rem,6.4vw,6.2rem);font-weight:700;line-height:.98;letter-spacing:-.055em}
.affiliate-hero h1 span{color:#007aff}
.affiliate-page .hero-copy{max-width:800px;margin:0 auto 38px;color:var(--text-2);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:500;line-height:1.48;letter-spacing:-.018em;text-wrap:balance}
.affiliate-types{padding:112px 0}
.affiliate-types{padding-top:48px}
.affiliate-page .section-heading h2{margin:0;font-size:clamp(2.25rem,4vw,3.5rem);font-weight:700;line-height:1.08;letter-spacing:-.04em}
.affiliate-page .section-heading>p,.affiliate-page .section-heading--split>p{color:var(--text-2);font-size:1.0625rem;line-height:1.75}
.affiliate-page .section-heading--center{max-width:760px;margin:0 auto 58px;text-align:center}
.affiliate-page .section-heading--center>p:last-child{max-width:600px;margin:18px auto 0}
.affiliate-page .section-heading--split{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:70px;margin-bottom:58px}
.affiliate-page .section-heading--split>p{max-width:460px;margin:0}

.type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.type-card{position:relative;min-height:520px;aspect-ratio:5/7.3;padding:32px;border-radius:30px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#18202a;color:#fff;box-shadow:var(--shadow-sm);isolation:isolate;transition:transform .45s var(--silk),box-shadow .45s var(--silk)}
.type-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.type-card::before{content:"";position:absolute;z-index:1;inset:0;border:1px solid rgba(255,255,255,.18);border-radius:inherit;pointer-events:none}
.type-card::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(9,14,20,.02) 28%,rgba(9,14,20,.18) 53%,rgba(9,14,20,.9) 100%);pointer-events:none}
.type-card img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--silk)}
.type-card:hover img{transform:scale(1.025)}
.type-card h3{position:relative;z-index:2;margin:0 0 10px;font-size:clamp(1.65rem,2.5vw,2.25rem);line-height:1.04;letter-spacing:-.04em;text-wrap:balance}
.type-card p{position:relative;z-index:2;margin:0;color:rgba(255,255,255,.78);font-size:.95rem;font-weight:500;line-height:1.5}

.earnings{padding:28px 0;background:var(--text-1);color:#fff}
.estimator{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:72px;align-items:center;padding:78px 0}
.estimator-intro h2{margin:0;font-size:clamp(2.4rem,4.6vw,4rem);font-weight:700;line-height:1.05;letter-spacing:-.045em}
.estimator-intro>p:not(.eyebrow):not(.no-cap){max-width:470px;margin:25px 0 0;color:rgba(255,255,255,.62);font-size:1.0625rem;line-height:1.7}
.no-cap{display:flex;align-items:center;gap:12px;margin:38px 0 0;padding-top:23px;border-top:1px solid rgba(255,255,255,.15);font-weight:600}
.no-cap span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--text-1);font-size:1.25rem}
.calculator{min-width:0;padding:38px;border-radius:var(--radius-lg);background:var(--surface-2);color:var(--text-1);box-shadow:var(--shadow-lg)}
.calculator-topline{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.calculator-topline label{font-size:1rem;font-weight:600}
.calculator-topline output{min-width:5ch;text-align:right;font-size:2.15rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}
.affiliate-page input[type="range"]{--range-progress:0%;width:100%;height:36px;margin:25px 0 0;appearance:none;background:transparent;cursor:pointer}
.affiliate-page input[type="range"]::-webkit-slider-runnable-track{height:5px;border-radius:999px;background:linear-gradient(90deg,var(--accent) var(--range-progress),var(--bg-alt) var(--range-progress))}
.affiliate-page input[type="range"]::-moz-range-track{height:5px;border-radius:999px;background:var(--bg-alt)}
.affiliate-page input[type="range"]::-moz-range-progress{height:5px;border-radius:999px;background:var(--accent)}
.affiliate-page input[type="range"]::-webkit-slider-thumb{appearance:none;width:24px;height:24px;margin-top:-9.5px;border:6px solid var(--accent);border-radius:50%;background:#fff;box-shadow:var(--shadow-sm)}
.affiliate-page input[type="range"]::-moz-range-thumb{width:12px;height:12px;border:6px solid var(--accent);border-radius:50%;background:#fff}
.affiliate-page input[type="range"]:focus-visible{outline:3px solid #007aff;outline-offset:6px;border-radius:10px}
.range-labels{display:flex;justify-content:space-between;color:var(--text-3);font-size:.72rem}
.estimate-result{margin-top:34px;padding:28px;border-radius:var(--radius);background:var(--bg)}
.estimate-main,.estimate-annual{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:20px}
.estimate-main span,.estimate-annual span{color:var(--text-2)}
.estimate-main span{white-space:nowrap}
.estimate-main strong{width:4em;text-align:right;font-size:clamp(2.65rem,4vw,3.5rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.055em;line-height:1}
.estimate-annual{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}
.estimate-annual strong{min-width:8ch;text-align:right;font-size:1.25rem;font-variant-numeric:tabular-nums}
.fine-print{margin:24px 0 0;color:var(--text-3);font-size:.7rem;line-height:1.5}

.success-section{padding:104px 0 152px;background:var(--surface);color:var(--text-1)}
.success-section h2,.referral-fit h2,.earning-steps h2{margin:0;font-size:clamp(2.75rem,5.5vw,5rem);font-weight:700;line-height:1;letter-spacing:-.055em}
.success-section h2{max-width:800px;margin-bottom:50px}
.success-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.success-card{overflow:hidden;border-radius:30px;background:var(--surface-2);color:var(--text-1)}
.success-card-visual{position:relative;height:360px;overflow:hidden;background:#dfe8e5}
.success-card-visual--share{background:#ebe6df}
.success-card-visual--product{background:#e6ece8}
.success-card-visual--support{background:#e9edf0}
.success-card-visual img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s var(--silk)}
.success-card:hover .success-card-visual img{transform:scale(1.025)}
.success-card-copy{padding:30px 32px 34px}
.success-card h3{margin:0 0 10px;font-size:1.55rem;line-height:1.15;letter-spacing:-.03em}
.success-card p{max-width:540px;margin:0;color:var(--text-2);font-size:1rem;line-height:1.6}

.referral-fit{position:relative;z-index:2;margin-top:-48px;padding:120px 0 126px;border-radius:48px 48px 0 0;background:var(--bg)}
.referral-fit> .container>h2:first-child{max-width:850px;margin-bottom:48px}
.referral-checklist{padding:0 34px;border-radius:24px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.referral-row{display:grid;grid-template-columns:5fr 7fr;align-items:center;gap:40px;min-height:122px;padding:28px 0;border-top:1px solid var(--border)}
.referral-row:first-child{border-top:0}
.referral-row-title{display:flex;align-items:center;gap:16px}
.referral-row-title svg{flex:0 0 auto;width:30px;height:30px;fill:none;stroke:#007aff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.referral-row h3{margin:0;font-size:1.55rem;line-height:1.2;letter-spacing:-.03em}
.referral-row p{max-width:580px;margin:0;color:var(--text-2);font-size:1.05rem;line-height:1.55}
.referral-fit .scale-heading{max-width:900px;margin:108px 0 46px;font-size:clamp(2.25rem,4.2vw,3.8rem);line-height:1.06}
.scale-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.scale-grid article{min-height:190px;padding:32px;border-radius:24px;background:#fff;display:flex;flex-direction:column;justify-content:center}
.scale-grid strong{display:block;margin-bottom:10px;font-size:clamp(2.8rem,5vw,4.7rem);font-weight:500;line-height:.95;letter-spacing:-.06em}
.scale-grid span{max-width:280px;color:var(--text-2);font-size:1rem;line-height:1.45}

.earning-steps{padding:92px 0 94px;background:var(--text-1);color:#fff}
.earning-steps-header{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:58px}
.earning-steps-header h2{max-width:760px}
.earning-step-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0}
.earning-step-grid li{min-height:184px;padding:42px 44px;border-radius:24px;background:rgba(255,255,255,.07);display:flex;align-items:flex-start;gap:24px}
.earning-step-grid span{flex:0 0 auto;color:#68b6ff;font-size:1.05rem;font-weight:700;line-height:1.45;letter-spacing:.035em}
.earning-step-grid p{margin:0;font-size:clamp(1.35rem,2vw,2rem);font-weight:400;line-height:1.16;letter-spacing:-.035em;text-wrap:balance}
.affiliate-faq{background:var(--surface)}
.affiliate-faq .section-sub a{text-decoration:underline;text-underline-offset:3px}

@media (max-width:1060px){
  .type-grid{grid-template-columns:repeat(2,1fr)}
  .type-card{min-height:500px}
  .affiliate-page .section-heading--split,.estimator{grid-template-columns:1fr}
  .affiliate-page .section-heading--split{gap:24px}.estimator{gap:48px}
  .estimator-intro>p:not(.eyebrow):not(.no-cap){max-width:700px}
}
@media (max-width:760px){
  .affiliate-hero{min-height:580px;padding:118px 0 48px}.affiliate-hero h1{font-size:clamp(3rem,13vw,4.8rem)}.affiliate-page .hero-copy{font-size:1.15rem;line-height:1.5}
  .affiliate-types{padding:84px 0}
  .affiliate-types{padding-top:36px}
  .type-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:clamp(260px,78vw,360px);gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 2px 16px}
  .type-grid::-webkit-scrollbar{display:none}
  .type-card{min-height:0;aspect-ratio:5/7.3;scroll-snap-align:start}
  .success-grid,.scale-grid,.earning-step-grid{grid-template-columns:1fr}
  .earnings{padding:0}.estimator{padding:78px 0}.calculator{padding:24px}.estimate-result{padding:22px}.estimate-main{display:block}.estimate-main span{white-space:normal}.estimate-main strong{display:block;width:auto;margin-top:10px;text-align:left}.estimate-annual strong{min-width:0}
  .success-section{padding:82px 0 118px}.success-section h2{margin-bottom:38px}.success-card-visual{height:285px}.success-card-copy{padding:26px}
  .referral-fit{margin-top:-36px;padding:88px 0 92px;border-radius:36px 36px 0 0}.referral-fit> .container>h2:first-child{margin-bottom:36px}.referral-checklist{padding:0 24px}.referral-row{grid-template-columns:1fr;gap:12px;min-height:0;padding:28px 0}.referral-row p{padding-left:46px;font-size:1rem}.referral-fit .scale-heading{margin:76px 0 36px}.scale-grid article{min-height:165px}.earning-steps{padding:70px 0}.earning-steps-header{display:block;margin-bottom:38px}.earning-steps-header .btn-primary{margin-top:28px}.earning-step-grid li{min-height:140px;padding:32px}
}
@media (max-width:480px){
  .type-card{min-height:0;padding:26px}
  .calculator-topline{display:block}.calculator-topline output{display:block;margin-top:8px;text-align:left}.estimate-result{margin-top:25px}.estimate-annual{display:block}.estimate-annual strong{display:block;margin-top:6px;text-align:left}
  .success-card-visual{height:240px}.success-card-copy{padding:24px 22px 26px}.success-card h3{font-size:1.35rem}
  .referral-checklist{padding:0 20px}.referral-row p{padding-left:0}.scale-grid article{padding:26px}.earning-step-grid li{padding:24px}.earning-step-grid p{font-size:1.2rem}
}
@media (prefers-reduced-motion:reduce){.affiliate-page *,.affiliate-page *::before,.affiliate-page *::after{scroll-behavior:auto!important;transition:none!important}}
