:root { --paper:#fbfaf7; --ink:#141414; --muted:#66635f; --line:#dcd8d1; --cream:#f1ebe3; --sage:#dfe7df; --navy:#182437; --success:#315b42; }
* { box-sizing:border-box; }
body.partner-page { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",sans-serif; }
.partner-shell { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.partner-nav { display:flex; min-height:86px; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.partner-nav .wordmark { color:inherit; font-size:19px; letter-spacing:.06em; text-decoration:none; }
.partner-nav .wordmark em { display:block; font:italic 13px Georgia,serif; letter-spacing:.16em; }
.partner-links { display:flex; align-items:center; gap:24px; }
.partner-links a { color:inherit; font-size:13px; text-decoration:none; }
.partner-links .partner-button { color:#fff; }
.partner-links .partner-button.light { color:var(--ink); }
.partner-button,button.partner-button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:12px 22px; border:1px solid var(--ink); background:var(--ink); color:#fff; font:600 12px "DM Sans"; letter-spacing:.07em; text-decoration:none; cursor:pointer; }
.partner-button.light { background:transparent; color:var(--ink); }
.affiliate-hero { display:grid; min-height:690px; grid-template-columns:1.05fr .95fr; }
.affiliate-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:90px 8vw 90px 0; }
.kicker { margin:0 0 18px; font-size:12px; letter-spacing:.15em; }
.affiliate-hero h1 { max-width:720px; margin:0; font:400 clamp(58px,7vw,105px)/.9 Georgia,serif; letter-spacing:-.055em; }
.affiliate-hero-copy>p:not(.kicker) { max-width:650px; margin:30px 0; color:var(--muted); font-size:18px; line-height:1.75; }
.hero-buttons { display:flex; flex-wrap:wrap; gap:12px; }
.affiliate-visual { position:relative; overflow:hidden; background:var(--cream); }
.affiliate-visual img { width:100%; height:100%; object-fit:cover; }
.visual-note { position:absolute; right:20px; bottom:18px; padding:8px 10px; background:#ffffffd9; font-size:10px; letter-spacing:.08em; }
.metric-strip { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-width:1px 0; }
.metric-strip div { padding:30px; border-right:1px solid var(--line); }
.metric-strip div:last-child { border:0; }.metric-strip b { display:block; margin-bottom:8px; font:400 30px Georgia,serif; }.metric-strip span { color:var(--muted); font-size:13px; }
.partner-section { display:grid; grid-template-columns:.72fr 1.28fr; gap:9vw; padding:110px 0; }
.partner-section h2 { margin:0; font:400 clamp(44px,5vw,72px)/.95 Georgia,serif; letter-spacing:-.04em; }
.partner-copy>p { margin:0 0 28px; color:var(--muted); font-size:17px; line-height:1.75; }
.feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.feature-grid article { min-height:180px; padding:25px; border:1px solid var(--line); background:#fff; }.feature-grid b { display:block; margin-bottom:12px; font-size:17px; }.feature-grid p { margin:0; color:var(--muted); line-height:1.65; }
.dark-section { padding:100px 0; background:var(--navy); color:#fff; }.dark-section .partner-shell>header { display:grid; grid-template-columns:.72fr 1.28fr; gap:9vw; }.dark-section h2 { margin:0; font:400 clamp(44px,5vw,72px)/.95 Georgia,serif; }.dark-section header p { color:#dce2eb; line-height:1.7; }.numbered { display:grid; grid-template-columns:repeat(4,1fr); margin-top:52px; border-top:1px solid #ffffff45; }.numbered article { min-height:235px; padding:28px 25px; border-right:1px solid #ffffff45; }.numbered small { display:block; margin-bottom:48px; }.numbered p { color:#dce2eb; line-height:1.65; }
.terms-note { padding:75px 0; text-align:center; }.terms-note p { max-width:760px; margin:20px auto 28px; color:var(--muted); line-height:1.7; }
.account-layout { display:grid; grid-template-columns:310px 1fr; gap:30px; padding:55px 0 100px; }.account-side,.panel { padding:28px; border:1px solid var(--line); background:#fff; }.account-side { align-self:start; position:sticky; top:20px; }.account-side h1 { margin:0 0 12px; font:400 34px Georgia,serif; }.account-side p { color:var(--muted); line-height:1.6; }.side-nav { display:grid; gap:8px; margin-top:25px; }.side-nav button { padding:12px 0; border:0; border-bottom:1px solid var(--line); background:none; text-align:left; cursor:pointer; }.panel { margin-bottom:20px; }.panel h2 { margin:0 0 8px; font:400 34px Georgia,serif; }.panel-lead { margin:0 0 24px; color:var(--muted); line-height:1.6; }
.auth-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }.field { display:grid; min-width:0; gap:7px; }.field.full { grid-column:1/-1; }.field label { font-size:13px; font-weight:600; }.field input,.field textarea,.field select { width:100%; min-width:0; min-height:48px; padding:11px 13px; border:1px solid var(--line); background:#fff; color:inherit; font:inherit; }.field textarea { min-height:100px; resize:vertical; }.check { display:flex; gap:9px; align-items:flex-start; margin:15px 0; color:var(--muted); font-size:13px; line-height:1.5; }.check input { margin-top:3px; }
.message { margin:14px 0; padding:12px 14px; background:#f4e6e4; color:#7b2c25; }.message.success { background:#e7f0e9; color:var(--success); }.hidden { display:none!important; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:22px 0; }.stat { padding:20px; background:var(--cream); }.stat b { display:block; margin-bottom:5px; font:400 28px Georgia,serif; }.stat span { color:var(--muted); font-size:12px; }.share-link { display:flex; gap:10px; }.share-link input { flex:1; min-width:0; padding:12px; border:1px solid var(--line); }.status { display:inline-block; padding:5px 9px; border-radius:20px; background:var(--cream); font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.data-table { width:100%; border-collapse:collapse; font-size:13px; }.data-table th,.data-table td { padding:12px 9px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }.table-wrap { overflow-x:auto; }.admin-block { margin-top:24px; }.admin-block h3 { font:400 25px Georgia,serif; }.mini-action { padding:7px 9px; border:1px solid var(--line); background:#fff; cursor:pointer; }
.checkout-grid { display:grid; grid-template-columns:1fr 420px; gap:50px; padding:60px 0 100px; }.checkout-grid h1 { margin:0 0 12px; font:400 clamp(48px,6vw,76px)/.95 Georgia,serif; }.checkout-summary { align-self:start; padding:28px; background:var(--cream); }.checkout-line,.total-line { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); }.total-line { font-weight:600; }.order-success { padding:30px; background:var(--sage); }
.consent-banner { position:fixed; z-index:50; right:20px; bottom:20px; width:min(430px,calc(100% - 40px)); padding:22px; border:1px solid var(--line); background:#fff; box-shadow:0 18px 60px #0002; }.consent-banner p { margin:0 0 15px; color:var(--muted); line-height:1.55; }.consent-actions { display:flex; gap:9px; }
.legal-copy { max-width:850px; padding:65px 0 110px; }.legal-copy h1 { font:400 clamp(48px,7vw,84px)/.95 Georgia,serif; }.legal-copy h2 { margin-top:38px; font:400 28px Georgia,serif; }.legal-copy p,.legal-copy li { color:var(--muted); line-height:1.75; }
@media(max-width:850px){.affiliate-hero,.partner-section,.account-layout,.checkout-grid,.dark-section .partner-shell>header{grid-template-columns:1fr}.affiliate-hero-copy{padding-right:0}.affiliate-visual{min-height:520px}.metric-strip,.numbered{grid-template-columns:1fr 1fr}.account-side{position:static}.stats{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.partner-shell{width:min(100% - 28px,1180px)}.partner-links a:not(.partner-button){display:none}.affiliate-hero{min-height:auto}.affiliate-hero-copy{padding:70px 0}.affiliate-visual{min-height:410px}.metric-strip,.numbered,.feature-grid,.auth-grid,.field-grid{grid-template-columns:1fr}.numbered article{border-bottom:1px solid #ffffff45}.stats{grid-template-columns:1fr 1fr}.share-link{flex-direction:column}.panel{padding:20px}}
.account-auth{padding:55px 0 100px}.register-panel{border-top:3px solid #b88a3b}.account-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.account-choice{display:flex;gap:10px;align-items:flex-start;padding:16px;border:1px solid #d8d3c8;background:#fff;cursor:pointer}.account-choice.active{border-color:#a77a30;background:#fffaf0;box-shadow:inset 0 0 0 1px #a77a30}.account-choice input{margin-top:4px;accent-color:#846123}.account-choice span{display:grid;gap:5px}.account-choice b{font-size:15px}.account-choice small{font-size:12px;line-height:1.45;color:#687069}.account-badges{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.account-badges span{padding:6px 9px;border:1px solid #b89657;background:#fffaf0;color:#715523;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.field select{width:100%;min-height:46px;padding:11px;border:1px solid #cfcfc9;background:#fff;color:#222;font:inherit}.message .mini-action{margin-left:8px}@media(max-width:900px){.account-choices{grid-template-columns:1fr}}
