/* Partner landing page: editorial mock-up implementation. */
body[data-partner-page="1"] .site-header { background:#0b1020!important; border-bottom-color:rgba(155,170,203,.16)!important; }
body[data-partner-page="1"] .landing-top-nav a[href="/partners.php"] { color:#fff!important; }
body[data-partner-page="1"] .landing-top-nav a[href="/partners.php"]:after { transform:scaleX(1); background:#bc8bec; }
body[data-partner-page="1"] .knox-partner-header-cta { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:46px; padding:0 20px; border:0; border-radius:10px; background:#f7f3ff; color:#261b46; font:inherit; font-size:13px; font-weight:800; white-space:nowrap; cursor:pointer; }
body[data-partner-page="1"] .knox-partner-header-cta:hover { background:#e9dcff; }
body[data-partner-page="1"] .knox-partner-header-cta:focus-visible { outline:2px solid #c69bf8; outline-offset:3px; }

.kp-page,.kp-page * { box-sizing:border-box; }
.kp-page { width:100%; overflow:hidden; background:#0b1020; color:#f7f7fd; font-family:inherit; }
.kp-page a { color:inherit; }
.kp-shell { width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
.kp-eyebrow { color:#c6a6f5; font-size:12px; font-weight:850; line-height:1.5; letter-spacing:.2em; text-transform:uppercase; }
.kp-btn { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:58px; padding:13px 24px; border:1px solid transparent; border-radius:11px; font:inherit; font-size:15px; font-weight:800; line-height:1.2; text-align:center; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.kp-btn:hover { transform:translateY(-2px); }
.kp-btn-primary { color:#fff; background:linear-gradient(125deg,#a267df,#783fc3); box-shadow:0 16px 36px rgba(105,49,183,.22); }
.kp-btn-primary:hover { box-shadow:0 19px 39px rgba(105,49,183,.34); }
.kp-btn-secondary { color:#f3e9ff; border-color:rgba(201,169,246,.32); background:rgba(57,47,90,.46); }
.kp-btn-light { color:#2c2053; background:#f8f5ff; }
.kp-btn-light:hover { background:#e9ddff; }
.kp-page button:focus-visible,.kp-page a:focus-visible,.partner-modal button:focus-visible,.partner-modal input:focus-visible,.partner-modal select:focus-visible,.partner-modal textarea:focus-visible { outline:2px solid #c69bf8; outline-offset:3px; }

/* Hero with a product preview based on the existing creator-page features. */
.kp-hero { position:relative; isolation:isolate; padding:68px 0 60px; border-bottom:1px solid rgba(140,157,196,.17); background:radial-gradient(circle at 78% 42%,rgba(119,75,190,.26),transparent 40%),linear-gradient(130deg,#0b1020 0%,#11162c 60%,#0b1120 100%); }
.kp-hero-grid { display:grid; grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr); align-items:center; gap:clamp(44px,5.1vw,80px); }
.kp-hero-copy h1 { margin:25px 0 22px; color:#f7f7fd; font-size:clamp(61px,5.5vw,80px); font-weight:830; line-height:1.035; letter-spacing:-.055em; }
.kp-hero-copy h1 em { color:#c49bfa; font-style:normal; }
.kp-hero-lead { max-width:565px; margin:0; color:#bdc9d8; font-size:18px; line-height:1.58; }
.kp-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; margin-top:34px; }
.kp-text-link { color:#d5c2ef!important; font-size:15px; font-weight:750; text-decoration:none; }
.kp-text-link:hover { color:#f3eaff!important; text-decoration:underline; }
.kp-hero-promise { display:flex; align-items:flex-start; gap:12px; max-width:600px; margin:55px 0 0; color:#9dacbf; font-size:13px; line-height:1.55; }
.kp-status-dot { flex:0 0 auto; width:8px; height:8px; margin-top:6px; border-radius:50%; background:#6ed2c1; }
.kp-product-wrap { min-width:0; }
.kp-product { overflow:hidden; border:1px solid rgba(169,143,211,.56); border-radius:22px; background:#111a2d; box-shadow:0 32px 90px rgba(0,0,0,.32),0 0 80px rgba(122,72,198,.12); }
.kp-product-top { display:flex; align-items:center; gap:18px; height:39px; padding:0 22px; color:#b5aec9; background:#151d30; font-size:12px; font-weight:700; }
.kp-browser-dots { display:inline-flex; gap:7px; }
.kp-browser-dots i { width:7px; height:7px; border-radius:50%; background:#69537f; }
.kp-browser-dots i:nth-child(2) { background:#5d536f; }
.kp-browser-dots i:nth-child(3) { background:#556078; }
.kp-product-inner { padding:16px 17px 20px; }
.kp-product-banner { position:relative; height:176px; overflow:hidden; border-radius:8px 8px 0 0; background:#252b3d; }
.kp-product-banner:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,15,28,.64),transparent 60%); pointer-events:none; }
.kp-product-banner img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 28%; }
.kp-product-profile { display:flex; align-items:center; gap:12px; min-height:76px; border-bottom:1px solid #31405b; }
.kp-product-avatar { display:grid; place-items:center; flex:0 0 auto; width:48px; height:48px; border-radius:50%; background:#8159b6; color:#fff; font-size:22px; font-weight:800; }
.kp-product-profile strong { display:block; color:#f5f7fd; font-size:16px; line-height:1.2; }
.kp-product-profile small { display:block; margin-top:4px; color:#92a2b8; font-size:10px; line-height:1.25; }
.kp-product-follow { margin-left:auto; padding:9px 18px; border-radius:7px; background:#7344bb; color:#fff; font-size:11px; font-weight:800; }
.kp-product-tabs { display:flex; gap:36px; border-bottom:1px solid #26334c; }
.kp-product-tabs span { padding:12px 7px 10px; color:#9baac0; font-size:11px; font-weight:700; }
.kp-product-tabs .is-active { color:#eadbff; border-bottom:2px solid #bd8bf0; }
.kp-product-content { display:grid; grid-template-columns:minmax(0,1.68fr) minmax(0,.95fr); gap:12px; padding-top:14px; }
.kp-product-feature,.kp-product-post { position:relative; min-height:119px; overflow:hidden; padding:18px 20px; border-radius:10px; }
.kp-product-feature { background:linear-gradient(118deg,#2f2854,#263d62 74%); }
.kp-product-feature:after { content:""; position:absolute; inset:0 0 0 auto; width:40%; background:rgba(85,61,143,.22); clip-path:polygon(45% 0,100% 0,100% 100%,0 100%); }
.kp-product-post { border:1px solid #35425c; background:#1b2a42; }
.kp-product-kicker { position:relative; z-index:1; display:block; color:#bfa9e4; font-size:10px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.kp-product-post .kp-product-kicker { color:#a7b5c8; }
.kp-product-feature strong,.kp-product-post strong { position:relative; z-index:1; display:block; margin-top:15px; color:#f5f6fc; font-size:19px; line-height:1.15; }
.kp-product-post strong { font-size:14px; }
.kp-product-feature small,.kp-product-post small { position:relative; z-index:1; display:block; margin-top:6px; color:#cbd5e2; font-size:11px; line-height:1.3; }
.kp-product-post small { color:#91a5bc; }
.kp-product-arrow { position:absolute; z-index:1; right:16px; bottom:12px; color:#d7c8f3; font-size:27px; }
.kp-product-caption { display:block; margin-top:13px; color:#8f9eb5; font-size:11px; font-weight:800; letter-spacing:.16em; text-align:right; text-transform:uppercase; }

/* One calm editorial section instead of feature cards. */
.kp-value { padding:78px 0 77px; background:#f4f5fa; color:#1a263c; }
.kp-value .kp-eyebrow { color:#764bb3; }
.kp-value-intro { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); align-items:end; gap:55px; }
.kp-value-intro h2 { margin:19px 0 0; font-size:clamp(48px,4.15vw,60px); font-weight:825; line-height:1.06; letter-spacing:-.052em; }
.kp-value-intro p { max-width:475px; margin:0 0 8px; color:#59677c; font-size:18px; line-height:1.58; }
.kp-value-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:55px; padding-top:30px; border-top:1px solid #d8dce7; }
.kp-value-grid article { min-width:0; min-height:180px; padding:0 35px 4px 0; }
.kp-value-grid article + article { padding-left:35px; border-left:1px solid #d8dce7; }
.kp-value-rule { display:block; width:43px; height:3px; margin:17px 0 29px; border-radius:4px; background:#8660bd; }
.kp-value-grid article:nth-child(3) .kp-value-rule { background:#639caf; }
.kp-value-grid h3 { margin:0 0 12px; color:#1c2840; font-size:26px; line-height:1.15; font-weight:800; letter-spacing:-.025em; }
.kp-value-grid p { max-width:370px; margin:0; color:#647087; font-size:16px; line-height:1.55; }

/* Human commercial guidance, expressed as short rows. */
.kp-guidance { padding:70px 0 67px; background:#10192b; }
.kp-guidance-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(460px,1fr); gap:clamp(55px,6vw,95px); }
.kp-guidance h2 { margin:17px 0 11px; font-size:clamp(39px,3.3vw,49px); font-weight:820; line-height:1.1; letter-spacing:-.04em; }
.kp-guidance-lead { margin:0; color:#b5c1d2; font-size:19px; line-height:1.5; }
.kp-guidance-detail { max-width:390px; margin:20px 0 0; color:#93a4bb; font-size:16px; line-height:1.55; }
.kp-guidance-list { border-top:1px solid #34415c; }
.kp-guidance-list>div { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:84px; border-bottom:1px solid #34415c; color:#edf1f8; font-size:21px; font-weight:750; }
.kp-guidance-list>div span:last-child { color:#9fb0c8; font-weight:500; }

.kp-close { padding:65px 0 25px; background:radial-gradient(circle at 90% 90%,rgba(113,100,202,.3),transparent 35%),linear-gradient(120deg,#56349e,#3d2e81 54%,#1d3c73); }
.kp-close-layout { display:flex; justify-content:space-between; align-items:center; gap:55px; }
.kp-close .kp-eyebrow { color:#d7c1f7; }
.kp-close h2 { margin:19px 0 0; font-size:clamp(42px,3.65vw,54px); font-weight:820; line-height:1.08; letter-spacing:-.045em; }
.kp-close .kp-btn { min-width:265px; }
.kp-investor { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:57px; padding-top:18px; border-top:1px solid rgba(232,220,255,.18); color:#c0b2df; font-size:13px; }
.kp-investor button { border:0; padding:6px 0; background:transparent; color:#f0e5ff; font:inherit; font-weight:800; cursor:pointer; }
.kp-investor button:hover { text-decoration:underline; }

/* Existing accessible enquiry form and modal. */
.partner-modal[hidden] { display:none!important; }
.partner-modal { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; padding:20px; color:#f5f7ff; }
.partner-modal-backdrop { position:absolute; inset:0; background:rgba(2,6,15,.82); backdrop-filter:blur(8px); }
.partner-modal-dialog { position:relative; width:min(720px,100%); max-height:min(90vh,860px); overflow:auto; border:1px solid rgba(168,129,239,.38); border-radius:20px; background:#101b2d; box-shadow:0 30px 100px rgba(0,0,0,.55); }
.partner-modal-head { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; gap:20px; padding:25px 30px; border-bottom:1px solid rgba(157,181,221,.15); background:#101b2d; }
.partner-modal-head h2 { margin:0 0 6px; font-size:27px; letter-spacing:-.035em; }
.partner-modal-head p { margin:0; color:#a7b5c9; font-size:14px; }
.partner-modal-close { flex:0 0 auto; width:38px; height:38px; border:1px solid rgba(176,194,221,.18); border-radius:9px; background:#17263a; color:#fff; font-size:24px; cursor:pointer; }
.partner-modal-body { padding:28px 30px 32px; }
.partner-intro { margin:0 0 25px; color:#b9c7d9; font-size:14px; line-height:1.6; }
.partner-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.partner-field.full { grid-column:1/-1; }
.partner-field label { display:block; margin-bottom:8px; color:#e8edf7; font-size:13px; font-weight:800; }
.partner-field input,.partner-field select,.partner-field textarea { display:block; width:100%; padding:12px 13px; border:1px solid rgba(176,193,219,.28); border-radius:9px; background:#0a1423; color:#fff; font:inherit; font-size:14px; }
.partner-field input::placeholder,.partner-field textarea::placeholder { color:#76869e; }
.partner-field textarea { min-height:112px; resize:vertical; }
.partner-form-actions { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:23px; }
.partner-form-actions p { max-width:330px; margin:0; color:#8fa0b8; font-size:12px; line-height:1.55; }
.partner-form-actions p a { color:#c7a1ff; }
.partner-alert { padding:17px 19px; border-radius:11px; margin-bottom:22px; line-height:1.55; }
.partner-alert.ok { background:rgba(18,151,119,.13); border:1px solid rgba(64,201,151,.35); }
.partner-alert.err { background:rgba(194,66,83,.13); border:1px solid rgba(225,111,128,.4); }
.partner-hp { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.partner-modal-open { overflow:hidden; }

@media (max-width:1180px) {
  .kp-hero-grid { grid-template-columns:minmax(0,1fr) minmax(465px,1fr); gap:38px; }
  .kp-hero-copy h1 { font-size:clamp(54px,5.3vw,70px); }
  .kp-product-banner { height:148px; }
  .kp-product-inner { padding:13px; }
}
@media (max-width:960px) {
  .kp-hero-grid { grid-template-columns:1fr; gap:43px; }
  .kp-hero-copy { max-width:740px; }
  .kp-hero-copy h1 { font-size:clamp(58px,7.1vw,74px); }
  .kp-hero-promise { margin-top:37px; }
  .kp-product-wrap { max-width:690px; }
  .kp-product-banner { height:176px; }
  .kp-value-intro { grid-template-columns:1fr; gap:24px; }
  .kp-value-intro p { max-width:720px; }
  .kp-guidance-grid { grid-template-columns:1fr; gap:35px; }
}
@media (max-width:720px) {
  body[data-partner-page="1"] .knox-partner-header-cta { min-height:38px; padding:0 12px; font-size:11px; }
  body[data-partner-page="1"] .top-actions { gap:7px!important; }
  .kp-shell { width:calc(100% - 36px); }
  .kp-hero { padding:51px 0 44px; }
  .kp-hero-grid { gap:41px; }
  .kp-eyebrow { font-size:11px; letter-spacing:.16em; }
  .kp-hero-copy h1 { margin:18px 0 20px; font-size:clamp(46px,9.3vw,66px); }
  .kp-hero-lead { font-size:16px; line-height:1.55; }
  .kp-hero-actions { gap:20px; margin-top:27px; }
  .kp-btn { min-height:53px; font-size:14px; }
  .kp-hero-promise { margin-top:31px; font-size:12px; }
  .kp-product-banner { height:145px; }
  .kp-value { padding:61px 0 48px; }
  .kp-value-intro h2 { font-size:clamp(40px,8vw,54px); }
  .kp-value-intro p { font-size:16px; }
  .kp-value-grid { grid-template-columns:1fr; margin-top:37px; padding-top:4px; }
  .kp-value-grid article,.kp-value-grid article + article { min-height:0; padding:20px 0 25px; border-left:0; }
  .kp-value-grid article + article { border-top:1px solid #d8dce7; }
  .kp-value-rule { margin:0 0 19px; }
  .kp-value-grid h3 { font-size:23px; }
  .kp-value-grid p { font-size:15px; }
  .kp-guidance { padding:59px 0 54px; }
  .kp-guidance h2 { font-size:clamp(36px,7vw,46px); }
  .kp-guidance-lead { font-size:17px; }
  .kp-guidance-detail { font-size:15px; }
  .kp-guidance-list>div { min-height:69px; font-size:17px; }
  .kp-close { padding:55px 0 24px; }
  .kp-close-layout { flex-direction:column; align-items:flex-start; gap:28px; }
  .kp-close h2 { font-size:clamp(39px,7.8vw,54px); }
  .kp-investor { margin-top:42px; }
}
@media (max-width:500px) {
  body[data-partner-page="1"][data-auth="1"] .knox-partner-header-cta { display:none; }
  .kp-hero-actions { align-items:stretch; flex-direction:column; gap:16px; }
  .kp-hero-actions .kp-btn { width:100%; }
  .kp-text-link { text-align:center; }
  .kp-product { border-radius:16px; }
  .kp-product-top { height:31px; padding:0 13px; font-size:10px; }
  .kp-product-inner { padding:8px 9px 12px; }
  .kp-product-banner { height:113px; }
  .kp-product-profile { min-height:68px; gap:9px; }
  .kp-product-avatar { width:38px; height:38px; font-size:18px; }
  .kp-product-profile strong { font-size:13px; }
  .kp-product-profile small { max-width:180px; font-size:9px; }
  .kp-product-follow { padding:7px 9px; font-size:9px; }
  .kp-product-tabs { gap:19px; }
  .kp-product-tabs span { padding:9px 2px; font-size:10px; }
  .kp-product-content { gap:7px; padding-top:9px; }
  .kp-product-feature,.kp-product-post { min-height:100px; padding:12px 10px; border-radius:7px; }
  .kp-product-kicker { font-size:8px; }
  .kp-product-feature strong { margin-top:15px; font-size:14px; }
  .kp-product-post strong { margin-top:15px; font-size:11px; }
  .kp-product-feature small,.kp-product-post small { font-size:8px; }
  .kp-product-arrow { right:7px; bottom:6px; font-size:18px; }
  .kp-product-caption { font-size:9px; }
  .kp-close-layout .kp-btn { width:100%; min-width:0; }
  .kp-investor { align-items:flex-start; flex-direction:column; }
  .partner-modal { padding:10px; }
  .partner-modal-head,.partner-modal-body { padding:20px; }
  .partner-fields { grid-template-columns:1fr; }
  .partner-form-actions { align-items:stretch; flex-direction:column; }
  .partner-form-actions .kp-btn { width:100%; }
}
@media (prefers-reduced-motion:reduce) { .kp-page *, .partner-modal * { scroll-behavior:auto!important; transition-duration:.01ms!important; } }
