.psm-affiliate-portal,
.psm-affiliate-portal * { box-sizing: border-box; }
.psm-affiliate-portal { --psm-red:#b80818; --psm-deep:#171313; --psm-cream:#f7f0e4; --psm-gold:#d9aa58; width:min(100%,1480px); max-width:100%; margin:0 auto; color:#211d1b; font-family:Arial,Helvetica,sans-serif; overflow:hidden; }
.psm-affiliate-portal h1,
.psm-affiliate-portal h2,
.psm-affiliate-portal h3,
.psm-affiliate-portal p { margin-top:0; }
.psm-affiliate-portal h1,
.psm-affiliate-portal h2 { font-family:Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
.psm-affiliate-kicker { margin:0 0 18px; color:var(--psm-red); font-size:12px; font-weight:900; letter-spacing:.22em; text-transform:uppercase; }
.psm-affiliate-button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 25px; border:1px solid transparent; border-radius:4px; font-size:12px; font-weight:900; letter-spacing:.12em; line-height:1; text-decoration:none!important; text-transform:uppercase; cursor:pointer; }
.psm-affiliate-button.is-primary { background:var(--psm-red); color:#fff!important; box-shadow:0 12px 28px rgba(184,8,24,.22); }
.psm-affiliate-button.is-primary:hover { background:#920712; transform:translateY(-1px); }
.psm-affiliate-button.is-light { background:#fff; color:var(--psm-red)!important; }
.psm-affiliate-text-link { color:inherit!important; font-size:12px; font-weight:800; letter-spacing:.08em; text-decoration:underline!important; text-underline-offset:5px; text-transform:uppercase; }

.psm-affiliate-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); min-height:690px; background:radial-gradient(circle at 22% 15%,#5a1118,transparent 32%),linear-gradient(135deg,#210f12,#760813 58%,#a10a17); color:#fff; isolation:isolate; }
.psm-affiliate-hero::after { position:absolute; inset:0; z-index:-1; content:''; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,#000,transparent 78%); }
.psm-affiliate-hero-copy { align-self:center; max-width:830px; padding:100px 8vw; }
.psm-affiliate-hero-copy .psm-affiliate-kicker { color:#efbd9e; }
.psm-affiliate-hero h1 { max-width:780px; margin-bottom:28px; color:#fff; font-size:clamp(55px,6.2vw,103px); line-height:.94; }
.psm-affiliate-hero-copy > p:not(.psm-affiliate-kicker) { max-width:680px; margin-bottom:35px; color:#e9dedd; font-size:18px; line-height:1.75; }
.psm-affiliate-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; }
.psm-affiliate-hero .psm-affiliate-button { background:#fff; color:#7e0712!important; box-shadow:none; }
.psm-affiliate-hero .psm-affiliate-text-link { color:#fff!important; }
.psm-affiliate-hero-art { position:relative; display:grid; align-content:center; justify-items:center; min-width:0; overflow:hidden; background:linear-gradient(155deg,rgba(255,255,255,.07),rgba(0,0,0,.16)); }
.psm-affiliate-hero-art::before { position:absolute; width:440px; height:440px; border:1px solid rgba(255,255,255,.18); border-radius:50%; content:''; box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018); }
.psm-affiliate-hero-art > span { position:relative; z-index:1; display:grid; place-items:center; width:190px; height:190px; border:2px solid rgba(255,255,255,.6); border-radius:50%; color:#fff; font:700 72px Georgia,serif; }
.psm-affiliate-hero-art i { position:relative; z-index:1; width:1px; height:75px; background:rgba(255,255,255,.45); }
.psm-affiliate-hero-art b { position:relative; z-index:1; color:#fff; font-size:12px; letter-spacing:.3em; line-height:1.7; text-align:center; }

.psm-affiliate-proof { display:grid; grid-template-columns:1fr 1.5fr; align-items:center; gap:45px; padding:45px 7vw; background:#f1e6d4; }
.psm-affiliate-proof > p { max-width:440px; margin:0; font:700 22px/1.4 Georgia,serif; }
.psm-affiliate-proof > div { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.psm-affiliate-proof span { display:grid; color:#8e0914; font:700 27px Georgia,serif; }
.psm-affiliate-proof small { margin-top:7px; color:#6c625b; font:800 9px Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }

.psm-affiliate-story { padding:105px 7vw; background:#fff; }
.psm-affiliate-story > div { display:grid; grid-template-columns:1fr 1.5fr; gap:45px; align-items:end; margin-bottom:70px; }
.psm-affiliate-story h2 { max-width:800px; margin:0; font-size:clamp(48px,5vw,78px); line-height:1.02; }
.psm-affiliate-story ol { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:0; padding:0; background:#e6ded4; list-style:none; }
.psm-affiliate-story li { min-height:300px; padding:45px; background:#faf7f1; }
.psm-affiliate-story li > span { display:block; margin-bottom:65px; color:var(--psm-red); font-size:11px; font-weight:900; letter-spacing:.16em; }
.psm-affiliate-story h3 { margin-bottom:15px; font:700 28px Georgia,serif; }
.psm-affiliate-story li p { margin:0; color:#6f6660; font-size:15px; line-height:1.7; }

.psm-affiliate-standard { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding:110px 8vw; background:#181414; color:#fff; }
.psm-affiliate-standard .psm-affiliate-kicker { color:#e35c66; }
.psm-affiliate-standard h2 { margin-bottom:25px; color:#fff; font-size:clamp(48px,5vw,76px); line-height:1; }
.psm-affiliate-standard > div > p:last-child { max-width:650px; color:#bdb3b0; font-size:17px; line-height:1.75; }
.psm-affiliate-standard ul { display:grid; align-content:center; margin:0; padding:0; list-style:none; }
.psm-affiliate-standard li { position:relative; padding:25px 25px 25px 45px; border-bottom:1px solid #3b3333; color:#f1e9e6; font-size:16px; font-weight:700; }
.psm-affiliate-standard li::before { position:absolute; top:27px; left:4px; width:20px; height:20px; border:1px solid #b63b45; border-radius:50%; color:#f05a66; content:'✓'; font-size:11px; line-height:18px; text-align:center; }
.psm-affiliate-final { padding:105px 7vw; background:linear-gradient(135deg,#9e0815,var(--psm-red)); color:#fff; text-align:center; }
.psm-affiliate-final .psm-affiliate-kicker { color:#f3c5b0; }
.psm-affiliate-final h2 { margin-bottom:34px; color:#fff; font-size:clamp(52px,6vw,90px); }

.psm-affiliate-application { padding:70px clamp(20px,6vw,95px); background:#f5f1ec; }
.psm-affiliate-application > header { max-width:880px; margin:0 auto 50px; text-align:center; }
.psm-affiliate-application > header h1 { margin-bottom:18px; font-size:clamp(48px,6vw,80px); }
.psm-affiliate-application > header > p:last-child { color:#6d645f; font-size:17px; line-height:1.7; }
.psm-affiliate-form { max-width:1050px; margin:0 auto; padding:55px; border:1px solid #e1d9d0; border-radius:16px; background:#fff; box-shadow:0 25px 65px rgba(63,48,39,.08); }
.psm-affiliate-form-section { display:grid; grid-template-columns:55px 1fr; gap:22px; align-items:start; margin:15px 0 28px; padding-top:35px; border-top:1px solid #eee7df; }
.psm-affiliate-form-section:first-of-type { padding-top:0; border-top:0; }
.psm-affiliate-form-section > span { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#f6e8e7; color:var(--psm-red); font-size:10px; font-weight:900; }
.psm-affiliate-form-section h2 { margin:0 0 6px; font-size:31px; }
.psm-affiliate-form-section p { margin:0; color:#817771; font-size:13px; }
.psm-affiliate-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:38px; }
.psm-affiliate-form label { display:grid; gap:8px; color:#5f5651; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.psm-affiliate-form label.is-wide { margin-bottom:24px; }
.psm-affiliate-form input:not([type=checkbox]),
.psm-affiliate-form select,
.psm-affiliate-form textarea { width:100%; min-height:52px; margin:0; padding:12px 15px; border:1px solid #d9d0c7; border-radius:6px; background:#fcfaf7; color:#201d1b; font:400 15px Arial,sans-serif; letter-spacing:0; text-transform:none; box-shadow:none; }
.psm-affiliate-form textarea { min-height:160px; resize:vertical; }
.psm-affiliate-form input:focus,
.psm-affiliate-form select:focus,
.psm-affiliate-form textarea:focus { border-color:#c7323e; outline:2px solid rgba(184,8,24,.1); }
.psm-affiliate-consent { display:grid!important; grid-template-columns:22px 1fr; gap:12px!important; align-items:start; margin:30px 0; color:#5e5651!important; font-size:12px!important; font-weight:500!important; letter-spacing:0!important; line-height:1.6; text-transform:none!important; }
.psm-affiliate-consent input { width:19px; height:19px; margin:1px 0 0; accent-color:var(--psm-red); }
.psm-affiliate-alert { max-width:1050px; margin:0 auto 20px; padding:14px 18px; border-left:4px solid #c42634; background:#fff0f1; color:#82131d; font-size:13px; }

.psm-affiliate-gate { min-height:650px; padding:100px 25px; background:radial-gradient(circle at 50% 35%,#fff,#f1e8dc); text-align:center; }
.psm-affiliate-gate > span { display:grid; place-items:center; width:105px; height:105px; margin:0 auto 35px; border:1px solid #c9b8a7; border-radius:50%; color:var(--psm-red); font:700 37px Georgia,serif; }
.psm-affiliate-gate h1 { max-width:850px; margin:0 auto 20px; font-size:clamp(48px,6vw,78px); line-height:1; }
.psm-affiliate-gate > p:not(.psm-affiliate-kicker) { max-width:650px; margin:0 auto 28px; color:#716760; font-size:16px; line-height:1.7; }
.psm-affiliate-gate .psm-affiliate-text-link { display:inline-block; margin-top:10px; }

.psm-affiliate-dashboard { padding:55px clamp(18px,5vw,75px) 90px; background:#f5f1eb; }
.psm-affiliate-dashboard-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:38px; }
.psm-affiliate-dashboard-head h1 { margin-bottom:12px; font-size:clamp(44px,5vw,72px); }
.psm-affiliate-dashboard-head > div > p:last-child { margin:0; color:#716862; }
.psm-affiliate-level { flex:0 0 auto; padding:10px 14px; border:1px solid #b9d2bf; border-radius:999px; background:#eef8f0; color:#347146; font-size:10px; font-weight:900; letter-spacing:.12em; }
.psm-affiliate-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-bottom:20px; }
.psm-affiliate-metrics article { display:grid; min-height:175px; padding:25px; border:1px solid #e4dcd3; border-radius:12px; background:#fff; }
.psm-affiliate-metrics article > span { color:#827873; font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.psm-affiliate-metrics strong { align-self:end; margin:20px 0 6px; font:700 39px Georgia,serif; }
.psm-affiliate-metrics small { color:#8d837d; font-size:10px; }
.psm-affiliate-metrics article.is-dark { border-color:#201a1a; background:#1d1818; color:#fff; }
.psm-affiliate-metrics article.is-dark > span,
.psm-affiliate-metrics article.is-dark small { color:#a99f9b; }
.psm-affiliate-link-card { display:grid; grid-template-columns:1fr 1.15fr; gap:40px; align-items:center; margin-bottom:20px; padding:34px; border-radius:13px; background:linear-gradient(135deg,#760812,var(--psm-red)); color:#fff; }
.psm-affiliate-link-card .psm-affiliate-kicker { color:#f1b8a9; }
.psm-affiliate-link-card h2 { margin-bottom:8px; color:#fff; font-size:34px; }
.psm-affiliate-link-card p:last-child { margin:0; color:#edd8d6; font-size:12px; }
.psm-affiliate-copy-row { display:grid; grid-template-columns:1fr auto; padding:7px; border:1px solid rgba(255,255,255,.25); border-radius:8px; background:rgba(0,0,0,.16); }
.psm-affiliate-copy-row input { min-width:0; margin:0; padding:10px; border:0; background:transparent; color:#fff; font-size:12px; box-shadow:none; }
.psm-affiliate-copy-row button { padding:0 18px; border:0; border-radius:5px; background:#fff; color:#9c0915; font-size:10px; font-weight:900; text-transform:uppercase; cursor:pointer; }
.psm-affiliate-resources { margin-bottom:20px; padding:38px; border:1px solid #e2dad2; border-radius:13px; background:#fff; }
.psm-affiliate-section-head { display:flex; justify-content:space-between; gap:20px; margin-bottom:28px; }
.psm-affiliate-section-head h2 { margin:0; font-size:36px; }
.psm-affiliate-section-head > span { color:#887e78; font-size:10px; font-weight:800; text-transform:uppercase; }
.psm-affiliate-asset-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.psm-affiliate-asset-grid article { overflow:hidden; border:1px solid #e5ddd5; border-radius:9px; }
.psm-affiliate-asset-media { position:relative; min-height:210px; background:#2a2222 center/cover no-repeat; }
.psm-affiliate-asset-media span { position:absolute; top:12px; left:12px; padding:6px 8px; border-radius:4px; background:#fff; color:#91101a; font-size:8px; font-weight:900; letter-spacing:.1em; }
.psm-affiliate-asset-grid article > div:last-child { padding:18px; }
.psm-affiliate-asset-grid h3 { margin-bottom:8px; font-size:17px; }
.psm-affiliate-asset-grid p { min-height:38px; color:#776e68; font-size:11px; line-height:1.5; }
.psm-affiliate-asset-grid a { color:var(--psm-red)!important; font-size:10px; font-weight:900; text-transform:uppercase; }
.psm-affiliate-empty { display:grid; justify-items:center; padding:55px 25px; border:1px dashed #d8cec5; border-radius:9px; background:#faf7f3; text-align:center; }
.psm-affiliate-empty > span { display:grid; place-items:center; width:72px; height:72px; margin-bottom:20px; border:1px solid #d0bfb2; border-radius:50%; color:var(--psm-red); font:700 25px Georgia,serif; }
.psm-affiliate-empty h3 { margin-bottom:8px; font:700 24px Georgia,serif; }
.psm-affiliate-empty p { max-width:540px; margin:0; color:#786f69; font-size:13px; line-height:1.6; }
.psm-affiliate-payout-preview { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:38px; border:1px solid #e1d8ce; border-radius:13px; background:#eee5da; }
.psm-affiliate-payout-preview h2 { margin-bottom:8px; font-size:34px; }
.psm-affiliate-payout-preview p:last-child { max-width:700px; margin:0; color:#726861; font-size:13px; line-height:1.6; }
.psm-affiliate-locked { flex:0 0 auto; padding:11px 14px; border:1px solid #c9bda9; border-radius:999px; color:#776747; font-size:9px; font-weight:900; letter-spacing:.1em; }

@media (max-width:900px) {
	.psm-affiliate-hero { grid-template-columns:1fr; }
	.psm-affiliate-hero-copy { padding:80px 7vw; }
	.psm-affiliate-hero-art { min-height:440px; }
	.psm-affiliate-proof,
	.psm-affiliate-story > div,
	.psm-affiliate-standard,
	.psm-affiliate-link-card { grid-template-columns:1fr; }
	.psm-affiliate-story ol { grid-template-columns:1fr; }
	.psm-affiliate-story li { min-height:auto; }
	.psm-affiliate-story li > span { margin-bottom:35px; }
	.psm-affiliate-metrics { grid-template-columns:1fr 1fr; }
	.psm-affiliate-asset-grid { grid-template-columns:1fr 1fr; }
}

.psm-affiliate-notice{margin:0 0 18px;padding:14px 18px;border:1px solid #b9ddc2;border-radius:12px;background:#edf8f0;color:#245a31;font-weight:700}.psm-affiliate-payout-preview form{display:grid;gap:10px;min-width:min(100%,320px)}.psm-affiliate-payout-preview form select,.psm-affiliate-payout-preview form input{min-height:46px;padding:0 12px;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:#fff;color:#211d1b}

@media (max-width:600px) {
	.psm-affiliate-portal { width:100%; max-width:100%; overflow-x:hidden; }
	.psm-affiliate-hero { min-height:0; }
	.psm-affiliate-hero-copy { padding:65px 24px; }
	.psm-affiliate-hero h1 { font-size:50px; }
	.psm-affiliate-hero-copy > p:not(.psm-affiliate-kicker) { font-size:15px; }
	.psm-affiliate-hero-art { min-height:350px; }
	.psm-affiliate-hero-art::before { width:280px; height:280px; }
	.psm-affiliate-hero-art > span { width:135px; height:135px; font-size:48px; }
	.psm-affiliate-proof { padding:35px 24px; }
	.psm-affiliate-proof > div { grid-template-columns:1fr; }
	.psm-affiliate-proof span { padding:12px 0; border-top:1px solid #d7c9b4; }
	.psm-affiliate-story,
	.psm-affiliate-standard,
	.psm-affiliate-final { padding:70px 24px; }
	.psm-affiliate-story h2,
	.psm-affiliate-standard h2 { font-size:45px; }
	.psm-affiliate-story li { padding:32px; }
	.psm-affiliate-application { padding:55px 14px; }
	.psm-affiliate-application > header h1 { font-size:48px; }
	.psm-affiliate-form { padding:28px 18px; }
	.psm-affiliate-fields { grid-template-columns:1fr; }
	.psm-affiliate-form-section { grid-template-columns:42px 1fr; gap:12px; }
	.psm-affiliate-form-section > span { width:36px; height:36px; }
	.psm-affiliate-dashboard { padding:40px 12px 65px; }
	.psm-affiliate-dashboard-head { align-items:flex-start; flex-direction:column; }
	.psm-affiliate-dashboard-head h1 { font-size:45px; }
	.psm-affiliate-metrics { grid-template-columns:1fr; }
	.psm-affiliate-metrics article { min-height:145px; }
	.psm-affiliate-link-card,
	.psm-affiliate-resources,
	.psm-affiliate-payout-preview { padding:24px 18px; }
	.psm-affiliate-copy-row { grid-template-columns:1fr; gap:7px; }
	.psm-affiliate-copy-row button { min-height:42px; }
	.psm-affiliate-asset-grid { grid-template-columns:1fr; }
	.psm-affiliate-payout-preview { align-items:flex-start; flex-direction:column; }
	.psm-affiliate-locked { white-space:normal; }
}
