/* LEVELS Affiliate Program: isolated, flat Studio White presentation. */
.affiliate-page{--aff-ink:#111;--aff-muted:#737373;--aff-soft:#f5f3ee;--aff-warm:#ece8e0;background:#fff;color:var(--aff-ink)}
.affiliate-page .site-header{background:#fff!important;color:#111}
.affiliate-page .affiliate-btn,.affiliate-page button,.affiliate-page input,.affiliate-page select,.affiliate-page textarea{border-radius:0!important;box-shadow:none!important}
.affiliate-page .affiliate-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:0 20px;font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:transform .22s ease,opacity .22s ease,background .22s ease}
.affiliate-page .affiliate-btn:hover{transform:translateY(-2px)}
.affiliate-page .affiliate-btn:disabled{opacity:.4;transform:none;cursor:not-allowed}
.affiliate-btn--dark{background:#111;color:#fff}
.affiliate-btn--light{background:#f1eee7;color:#111}
.affiliate-btn--full{width:100%}
.affiliate-eyebrow{display:block;font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#777}
.affiliate-text-link{font-size:11px;color:#111;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.affiliate-back{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#666;text-decoration:none;margin-bottom:32px}
.affiliate-back:hover{color:#111}

/* Landing */
.affiliate-hero{min-height:calc(100vh - var(--header-h,72px));background:#f4f1eb;display:flex;align-items:center;overflow:hidden}
.affiliate-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:clamp(50px,8vw,120px);align-items:center;padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(70px,9vw,130px)}
.affiliate-hero__copy h1{font-size:clamp(54px,8vw,112px);line-height:.86;letter-spacing:-.065em;margin:18px 0 30px;font-weight:500}
.affiliate-hero__copy>p{font-size:15px;line-height:1.75;color:#5f5f5f;max-width:45ch}
.affiliate-actions{display:flex;align-items:center;gap:25px;margin-top:32px}
.affiliate-hero__visual{position:relative;min-height:440px;display:flex;align-items:center;justify-content:center}
.affiliate-hero__visual:before{content:"";position:absolute;width:min(470px,80vw);height:min(470px,80vw);background:#ebe7df;border-radius:50%!important;opacity:.65}
.affiliate-hero__mark{position:relative;z-index:2;font-size:clamp(30px,4vw,56px);letter-spacing:.3em;text-indent:.3em;font-weight:500}
.affiliate-hero__line{position:absolute;z-index:1;inset:70px 0 70px 0;opacity:.8}
.affiliate-hero__line svg{width:100%;height:100%;overflow:visible}
.affiliate-hero__line path{fill:none;stroke:#111;stroke-width:1.3;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;animation:affiliate-draw 2.1s .3s cubic-bezier(.2,.7,.2,1) forwards}
.affiliate-hero__metric{position:absolute;z-index:3;right:0;top:48px;background:#fff;padding:20px 24px;min-width:145px;animation:affiliate-float 4.5s ease-in-out infinite}
.affiliate-hero__metric span,.affiliate-hero__metric small{display:block;color:#666;font-size:11px}
.affiliate-hero__metric strong{display:block;font-family:var(--font-display);font-size:34px;line-height:1;margin:5px 0 4px;font-weight:600}
@keyframes affiliate-draw{to{stroke-dashoffset:0}}
@keyframes affiliate-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

.affiliate-steps{padding:clamp(80px,9vw,130px) 0;background:#fff}
.affiliate-section-intro{max-width:680px;margin-bottom:54px}
.affiliate-section-intro h2,.affiliate-estimator__head h2,.affiliate-faq h2,.affiliate-final h2{font-size:clamp(36px,5vw,66px);line-height:.98;letter-spacing:-.045em;font-weight:500;margin-top:14px}
.affiliate-steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ebe9e4}
.affiliate-steps__grid article{background:#fff;padding:34px 32px;min-height:280px;position:relative}
.affiliate-step-no{font-family:var(--font-display);font-size:10px;color:#888;letter-spacing:.12em}
.affiliate-icon{width:48px;height:48px;display:grid;place-items:center;margin:30px 0 25px;background:#f5f3ee}
.affiliate-icon svg{width:22px;height:22px;fill:none;stroke:#111;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.affiliate-steps h3,.affiliate-benefits h3{font-family:var(--font-display);font-size:17px;font-weight:600;margin-bottom:8px}
.affiliate-steps p,.affiliate-benefits p{font-size:12px;line-height:1.7;color:#707070;max-width:34ch}

.affiliate-estimator{background:#f5f3ee;padding:clamp(80px,9vw,125px) 0}
.affiliate-estimator__head{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:38px}
.affiliate-estimator__head>p{font-size:12px;line-height:1.8;color:#737373;max-width:45ch;margin-bottom:5px}
.affiliate-estimator__box{background:#fff;padding:clamp(26px,4vw,48px)}
.affiliate-estimator__top{display:flex;align-items:end;justify-content:space-between;gap:20px}
.affiliate-estimator__top span{display:block;font-size:11px;color:#777;margin-bottom:7px}
.affiliate-estimator__top strong{font-family:var(--font-display);font-size:clamp(25px,3vw,42px);font-weight:600;letter-spacing:-.025em}
.affiliate-estimator__earn{text-align:right}
.affiliate-estimator__earn strong{font-size:clamp(25px,3vw,42px)}
.affiliate-range{display:block;width:100%;margin:42px 0 11px;appearance:none;background:transparent;height:28px;cursor:pointer}
.affiliate-range::-webkit-slider-runnable-track{height:2px;background:#111}
.affiliate-range::-moz-range-track{height:2px;background:#111}
.affiliate-range::-webkit-slider-thumb{appearance:none;width:18px;height:18px;margin-top:-8px;background:#111;border:0;border-radius:50%!important}
.affiliate-range::-moz-range-thumb{width:18px;height:18px;background:#111;border:0;border-radius:50%!important}
.affiliate-range-labels{display:flex;justify-content:space-between;color:#999;font-size:9px;letter-spacing:.06em}
.affiliate-estimator__details{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ebe9e4;margin-top:36px}
.affiliate-estimator__details span{background:#fff;padding:18px;font-size:11px;color:#777}
.affiliate-estimator__details strong{display:block;font-family:var(--font-display);font-size:16px;color:#111;margin-bottom:4px}
.affiliate-estimator__note{font-size:10px;color:#999;line-height:1.6;margin-top:18px}

.affiliate-benefits{padding:80px 0;background:#fff}
.affiliate-benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ebe9e4}
.affiliate-benefits__grid article{background:#fff;padding:28px 24px;min-height:220px}
.affiliate-benefits__grid .affiliate-icon{margin:0 0 28px;width:42px;height:42px}

.affiliate-faq{padding:clamp(80px,9vw,125px) 0;background:#f4f1eb}
.affiliate-faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,10vw,140px)}
.affiliate-faq__list details{border-bottom:1px solid #d8d4cc}
.affiliate-faq__list details:first-child{border-top:1px solid #d8d4cc}
.affiliate-faq__list summary{list-style:none;cursor:pointer;padding:21px 34px 21px 0;font-family:var(--font-display);font-size:13px;font-weight:600;position:relative}
.affiliate-faq__list summary::-webkit-details-marker{display:none}
.affiliate-faq__list summary:after{content:'+';position:absolute;right:0;top:18px;font-size:20px;font-weight:300}
.affiliate-faq__list details[open] summary:after{content:'−'}
.affiliate-faq__list p{font-size:12px;line-height:1.75;color:#707070;padding:0 50px 22px 0;max-width:65ch}

.affiliate-final{padding:34px 0 90px;background:#f4f1eb}
.affiliate-final__inner{background:#ded9d0;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.affiliate-final h2{font-size:clamp(34px,4vw,50px);margin:9px 0 8px}
.affiliate-final p{font-size:12px;color:#666}

/* Auth */
.affiliate-auth-page{min-height:calc(100vh - var(--header-h,72px));background:#f5f3ee;padding:70px 0 100px}
.affiliate-auth-wrap{max-width:1120px}
.affiliate-auth-wrap--single{max-width:650px}
.affiliate-auth-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.affiliate-auth-intro h1{font-size:clamp(45px,6vw,75px);line-height:.95;letter-spacing:-.055em;font-weight:500;margin:18px 0 24px}
.affiliate-auth-intro>p{font-size:13px;line-height:1.8;color:#686868;max-width:42ch}
.affiliate-auth-facts{margin-top:38px;display:grid;gap:12px}
.affiliate-auth-facts span{font-size:11px;color:#555;padding-left:18px;position:relative}
.affiliate-auth-facts span:before{content:"";width:5px;height:5px;background:#111;position:absolute;left:0;top:5px}
.affiliate-form-panel{background:#fff;padding:clamp(26px,4vw,46px)}
.affiliate-form{display:grid;gap:18px}
.affiliate-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.affiliate-form label{display:block}
.affiliate-form label>span{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}
.affiliate-form label small{font-size:9px;font-weight:400;color:#999;text-transform:none;letter-spacing:0}
.affiliate-form input,.affiliate-form select,.affiliate-form textarea{display:block;width:100%;background:#fff;border:1px solid #dedbd5;min-height:44px;padding:11px 12px;font:inherit;font-size:12px;color:#111;outline:0}
.affiliate-form textarea{resize:vertical;min-height:115px;line-height:1.55}
.affiliate-form input:focus,.affiliate-form select:focus,.affiliate-form textarea:focus{border-color:#111}
.affiliate-form-error{background:#f7e5e2;color:#8d2c24;font-size:12px;padding:12px 14px;margin-bottom:18px}
.affiliate-form-note{font-size:10px;line-height:1.6;color:#999}
.affiliate-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.affiliate-success{text-align:center;padding:25px 0}
.affiliate-success__icon{width:56px;height:56px;background:#f2f0eb;display:grid;place-items:center;margin:0 auto 28px}
.affiliate-success__icon svg{width:25px;height:25px;fill:none;stroke:#111;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.affiliate-success h2,.affiliate-login-brand h1{font-size:clamp(34px,5vw,52px);line-height:1;letter-spacing:-.045em;font-weight:500;margin:12px 0}
.affiliate-success p,.affiliate-login-brand p{font-size:12px;line-height:1.75;color:#707070;max-width:44ch;margin:0 auto 28px}
.affiliate-login-panel{max-width:520px;margin:0 auto}
.affiliate-login-brand{text-align:center;margin-bottom:30px}
.affiliate-login-foot{display:flex;justify-content:center;gap:7px;margin-top:22px;font-size:10px;color:#888}
.affiliate-login-foot a{text-decoration:underline;color:#111;text-underline-offset:4px}

/* Portal */
.affiliate-portal{background:#f5f3ee;min-height:calc(100vh - var(--header-h,72px));padding:50px 0 100px}
.affiliate-portal__wrap{max-width:1220px}
.affiliate-portal__top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px}
.affiliate-portal__top h1{font-size:clamp(30px,4vw,50px);line-height:1;letter-spacing:-.045em;font-weight:500;margin-top:10px}
.affiliate-portal-message{padding:13px 16px;font-size:11px;margin-bottom:20px;background:#fff}
.affiliate-portal-message--error{color:#8d2c24;background:#f7e5e2}
.affiliate-portal-message--success{color:#2f6b42;background:#eaf3eb}
.affiliate-portal__layout{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:start}
.affiliate-portal__nav{position:sticky;top:100px;background:#fff;padding:8px 0}
.affiliate-portal__nav a{display:block;padding:12px 17px;font-size:11px;color:#777;text-decoration:none}
.affiliate-portal__nav a:hover,.affiliate-portal__nav a.is-active{color:#111;background:#f1eee7}
.affiliate-portal__content{min-width:0}
.affiliate-portal-section{background:#fff;padding:28px;margin-bottom:18px;scroll-margin-top:100px}
.affiliate-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ebe9e4}
.affiliate-kpi-grid article{background:#fff;padding:20px}
.affiliate-kpi-grid span,.affiliate-kpi-grid small{display:block;font-size:10px;color:#777}
.affiliate-kpi-grid strong{display:block;font-family:var(--font-display);font-size:27px;font-weight:600;letter-spacing:-.02em;margin:9px 0 5px}
.affiliate-panel-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.affiliate-panel-head h2{font-size:25px;font-weight:500;letter-spacing:-.025em;margin-top:8px}
.affiliate-code,.affiliate-muted{font-size:10px;color:#777}
.affiliate-copy-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.affiliate-copy-row input{width:100%;min-height:45px;border:1px solid #dedbd5;padding:0 12px;font:inherit;font-size:12px;background:#faf9f6}
.affiliate-share-row{display:flex;gap:18px;align-items:center;margin-top:14px;font-size:10px;color:#777}
.affiliate-share-row button,.affiliate-share-row a{border:0;background:transparent;padding:0;color:#111;text-decoration:underline;text-underline-offset:4px;font-size:10px;cursor:pointer}
.affiliate-chart-wrap{height:210px;background:#f7f5f1;padding:20px}
.affiliate-chart{width:100%;height:100%;overflow:visible}
.affiliate-chart__line{fill:none;stroke:#111;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:affiliate-chart-draw 1.8s .15s ease forwards}
.affiliate-chart__base{fill:none;stroke:#d9d5cd;stroke-width:1}
@keyframes affiliate-chart-draw{to{stroke-dashoffset:0}}
.affiliate-chart-labels{display:flex;justify-content:space-between;font-size:9px;color:#999;margin-top:9px}
.affiliate-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ebe9e4;margin-top:25px}
.affiliate-mini-stats span{background:#fff;padding:17px;font-size:10px;color:#777}
.affiliate-mini-stats strong{display:block;font-family:var(--font-display);font-size:16px;color:#111;margin-bottom:4px}
.affiliate-table-wrap{overflow-x:auto}
.affiliate-table{width:100%;border-collapse:collapse;font-size:11px}
.affiliate-table th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#888;font-weight:700;padding:11px 8px;background:#f7f5f1}
.affiliate-table td{padding:13px 8px;border-bottom:1px solid #ece9e3;white-space:nowrap}
.affiliate-status{display:inline-block;padding:4px 7px;background:#f1eee7;color:#555;font-size:9px;text-transform:capitalize}
.affiliate-status--approved,.affiliate-status--paid{background:#e7f0e8;color:#2f6b42}
.affiliate-status--pending{background:#f3ead8;color:#84651c}
.affiliate-status--reversed,.affiliate-status--rejected{background:#f5e3e0;color:#8d2c24}
.affiliate-empty{color:#999!important;text-align:center;padding:30px!important}
.affiliate-balance{font-family:var(--font-display);font-size:16px;font-weight:600}
.affiliate-payout-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:28px;align-items:start}
.affiliate-payout-form{display:grid;gap:16px}
.affiliate-payout-form .affiliate-field-row{margin:0}
.affiliate-payout-form input,.affiliate-payout-form select{width:100%;min-height:43px;background:#fff;border:1px solid #dedbd5;padding:10px 12px;font:inherit;font-size:11px}
.affiliate-payout-form label>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:7px}
.affiliate-payout-form label small{font-size:8px;color:#999;text-transform:none;letter-spacing:0;font-weight:400}
.affiliate-history-list{margin-top:16px}
.affiliate-history-list>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #ece9e3}
.affiliate-history-list strong{display:block;font-size:12px}
.affiliate-history-list small{display:block;font-size:9px;color:#999;margin-top:3px}
.affiliate-account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ebe9e4}
.affiliate-account-grid>div{background:#fff;padding:17px}
.affiliate-account-grid span{display:block;font-size:9px;color:#888;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}
.affiliate-account-grid strong{display:block;font-size:12px;font-weight:600;word-break:break-word}

.affiliate-js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.affiliate-js [data-reveal].is-visible{opacity:1;transform:none}
[data-delay="80"]{transition-delay:80ms}[data-delay="90"]{transition-delay:90ms}[data-delay="100"]{transition-delay:100ms}[data-delay="120"]{transition-delay:120ms}[data-delay="160"]{transition-delay:160ms}[data-delay="180"]{transition-delay:180ms}[data-delay="240"]{transition-delay:240ms}

@media(max-width:900px){
  .affiliate-hero__grid,.affiliate-estimator__head,.affiliate-faq__grid,.affiliate-auth-grid{grid-template-columns:1fr}
  .affiliate-hero__visual{min-height:350px}
  .affiliate-hero__metric{right:5%;top:20px}
  .affiliate-steps__grid,.affiliate-benefits__grid{grid-template-columns:1fr 1fr}
  .affiliate-portal__layout{grid-template-columns:1fr}
  .affiliate-portal__nav{position:static;display:flex;overflow-x:auto;padding:0;background:transparent}
  .affiliate-portal__nav a{white-space:nowrap;background:#fff;margin-right:1px}
  .affiliate-payout-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .affiliate-hero__grid{padding-top:55px;padding-bottom:55px;gap:20px}
  .affiliate-hero__copy h1{font-size:58px}
  .affiliate-actions{align-items:flex-start;flex-direction:column;gap:17px}
  .affiliate-hero__visual{min-height:270px}
  .affiliate-hero__visual:before{width:280px;height:280px}
  .affiliate-hero__line{inset:35px 0}
  .affiliate-hero__metric{top:5px;right:0;padding:15px 18px;min-width:125px}
  .affiliate-hero__metric strong{font-size:28px}
  .affiliate-steps__grid,.affiliate-benefits__grid,.affiliate-estimator__details,.affiliate-kpi-grid,.affiliate-mini-stats,.affiliate-account-grid{grid-template-columns:1fr}
  .affiliate-steps__grid article{min-height:220px}
  .affiliate-estimator__top{align-items:flex-start;flex-direction:column}
  .affiliate-estimator__earn{text-align:left}
  .affiliate-estimator__details{background:transparent;gap:1px}
  .affiliate-estimator__details span{padding:14px 0;background:transparent}
  .affiliate-field-row{grid-template-columns:1fr}
  .affiliate-auth-page{padding:42px 0 70px}
  .affiliate-auth-grid{gap:35px}
  .affiliate-form-panel{padding:24px 18px}
  .affiliate-final__inner{align-items:flex-start;flex-direction:column;padding:25px 22px}
  .affiliate-portal{padding-top:35px}
  .affiliate-portal-section{padding:20px 16px}
  .affiliate-copy-row{grid-template-columns:1fr}
  .affiliate-share-row{flex-wrap:wrap}
  .affiliate-chart-wrap{height:170px;padding:14px}
}
@media(prefers-reduced-motion:reduce){
  .affiliate-page *, .affiliate-page *::before, .affiliate-page *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  [data-reveal]{opacity:1;transform:none}
}

/* Flat presentation: avoid card outlines and decorative rules. */
.affiliate-steps__grid,.affiliate-benefits__grid,.affiliate-estimator__details,.affiliate-kpi-grid,.affiliate-mini-stats,.affiliate-account-grid{background:transparent;gap:clamp(24px,4vw,50px)}
.affiliate-steps__grid article,.affiliate-benefits__grid article,.affiliate-estimator__details span,.affiliate-kpi-grid article,.affiliate-mini-stats span,.affiliate-account-grid>div{background:transparent;padding-left:0;padding-right:0}
.affiliate-faq__list details,.affiliate-faq__list details:first-child{border:0;margin-bottom:10px;background:rgba(255,255,255,.48);padding:0 18px}
.affiliate-faq__list summary{padding-right:30px}
.affiliate-faq__list p{padding-right:20px}
.affiliate-form input,.affiliate-form select,.affiliate-form textarea,.affiliate-copy-row input,.affiliate-payout-form input,.affiliate-payout-form select{border:0;background:#f7f5f1}
.affiliate-form input:focus,.affiliate-form select:focus,.affiliate-form textarea:focus,.affiliate-copy-row input:focus,.affiliate-payout-form input:focus,.affiliate-payout-form select:focus{background:#efede8;outline:0}
.affiliate-table th{background:#f7f5f1}
.affiliate-table td{border:0}
.affiliate-table tbody tr:nth-child(even) td{background:#faf9f6}
.affiliate-history-list>div{border:0;padding:10px 0}
@media(max-width:620px){.affiliate-steps__grid,.affiliate-benefits__grid,.affiliate-estimator__details,.affiliate-kpi-grid,.affiliate-mini-stats,.affiliate-account-grid{gap:20px}.affiliate-estimator__details span{padding:10px 0}}
