@charset "utf-8";

/* Lightweight hero: no image request, no dependency on the shared visual-box sizing */
.partner-page #container { margin-bottom:136px; }
.partner-page #wrap.fix #container,
.partner-page #wrap.top-scrolled #container { margin-bottom:90px; }
.partner-hero {
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 82% 18%, rgba(5,105,255,0.14), transparent 26%),
        linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
}
.partner-hero:before {
    content:'';
    position:absolute;
    width:420px;
    height:420px;
    right:-180px;
    bottom:-240px;
    border:1px solid rgba(5,105,255,0.16);
    border-radius:50%;
}
.partner-hero__inner {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0, 1.15fr) minmax(360px, 0.85fr);
    align-items:center;
    gap:clamp(50px, 7vw, 110px);
    width:min(100% - 80px, 1440px);
    min-height:520px;
    margin:0 auto;
    padding:70px 0;
}
.partner-hero__copy { max-width:760px; }
.partner-hero__eyebrow { color:var(--mainColor); font-size:18px; font-weight:700; letter-spacing:0.01em; }
.partner-hero h1 { margin-top:18px; color:#172231; font-size:clamp(38px, 3.4vw, 54px); font-weight:700; line-height:1.22; letter-spacing:-0.045em; }
.partner-hero__lead { max-width:680px; margin-top:24px; color:#3f4b59; font-size:19px; line-height:1.65; word-break:keep-all; }
.partner-hero__point { margin-top:18px; color:#075fcf; font-size:17px; font-weight:700; line-height:1.55; word-break:keep-all; }
.partner-hero__actions { display:flex; gap:12px; margin-top:32px; }
.partner-hero__action {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:210px;
    min-height:54px;
    padding:12px 24px;
    border:1px solid var(--mainColor);
    border-radius:50px;
    color:var(--mainColor);
    font-size:16px;
    font-weight:700;
    transition:background 0.2s ease, color 0.2s ease;
}
.partner-hero__action:hover { color:#fff; background:var(--mainColor); }
.partner-hero__action--primary { color:#fff; background:var(--mainColor); }
.partner-hero__action--primary:hover { background:#045de0; }
.partner-hero__summary {
    position:relative;
    overflow:hidden;
    padding:36px;
    border:1px solid rgba(5,105,255,0.16);
    border-radius:24px;
    background:rgba(255,255,255,0.88);
    box-shadow:0 22px 60px rgba(26,78,138,0.12);
}
.partner-hero__summary > p { position:relative; color:#587089; font-size:14px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; }
.partner-hero__orbit { position:absolute; width:230px; height:230px; right:-92px; top:-105px; border:1px solid rgba(5,105,255,0.15); border-radius:50%; }
.partner-hero__orbit:before,
.partner-hero__orbit:after { content:''; position:absolute; border:1px solid rgba(5,105,255,0.12); border-radius:50%; }
.partner-hero__orbit:before { inset:34px; }
.partner-hero__orbit:after { inset:70px; background:rgba(5,105,255,0.05); }
.partner-hero__metrics { position:relative; display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-top:28px; }
.partner-hero__metrics > div { padding:20px 14px; border-radius:14px; background:#f3f7fc; text-align:center; }
.partner-hero__metrics span { display:block; color:#68798a; font-size:13px; }
.partner-hero__metrics strong { display:block; margin-top:7px; color:var(--mainColor); font-size:28px; line-height:1; }
.partner-hero__flow { position:relative; display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:24px; color:#35485c; font-size:13px; font-weight:700; }
.partner-hero__flow span { white-space:nowrap; }
.partner-hero__flow i { flex:1; height:1px; background:#b9cce1; }
.partner-page .partner-fit,
.partner-page .partner-flow,
.partner-page .partner-benefits { padding:120px 0; }
.partner-page .partner-flow { background:#f5f5f5; }
.partner-page .partner-fit .subTitle,
.partner-page .partner-flow .subTitle,
.partner-page .partner-benefits .subTitle,
.partner-page .partner-commission .subTitle { text-align:center; }
.partner-page .partner-fit .listbox > ul > li,
.partner-page .partner-benefits .listbox > ul > li { height:auto; min-height:310px; }
.partner-flow__layout {
    display:grid;
    grid-template-columns:minmax(0, 1.25fr) minmax(360px, 0.75fr);
    align-items:stretch;
    gap:32px;
    margin-top:50px;
}
.partner-flow__screen {
    overflow:hidden;
    margin:0;
    border:1px solid #dce5ef;
    border-radius:20px;
    background:#fff;
    box-shadow:0 18px 45px rgba(28,65,108,0.1);
}
.partner-flow__screen img { display:block; width:100%; height:auto; }
.partner-flow__screen figcaption { padding:18px 22px; border-top:1px solid #e5eaf1; color:#566474; font-size:15px; line-height:1.55; }
.partner-flow__steps { display:grid; gap:16px; margin:0; padding:0; list-style:none; }
.partner-flow__steps li {
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:20px;
    padding:26px 28px;
    border:1px solid #e1e8f0;
    border-radius:18px;
    background:#fff;
}
.partner-flow__steps strong { display:block; color:#222; font-size:21px; line-height:1.35; }
.partner-flow__steps p { margin-top:9px; color:#5a6673; font-size:16px; line-height:1.6; word-break:keep-all; }
.partner-page .partner-card-number {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:58px;
    height:32px;
    padding:0 14px;
    border-radius:32px;
    background:var(--mainColor);
    color:#fff;
    font-size:14px;
    font-weight:700;
    letter-spacing:0.02em;
}
.partner-page .partner-commission { padding:120px 0; background:#fff; }
.partner-page .partner-commission .data-table { max-width:980px; margin-left:auto; margin-right:auto; }
.partner-page .partner-commission .data-table tbody td strong { font-size:24px; }
.partner-page .partner-faq { margin-bottom:0; }
.partner-page .partner-faq > .inner { padding-bottom:0; }

@media screen and (max-width:1110px) {
    .partner-page #container,
    .partner-page #wrap.fix #container,
    .partner-page #wrap.top-scrolled #container { margin-bottom:0; }
}

@media screen and (max-width:1280px) {
    .partner-hero__inner { grid-template-columns:minmax(0, 1fr) minmax(330px, 0.72fr); width:min(100% - 60px, 1180px); gap:48px; }
    .partner-page .partner-fit,
    .partner-page .partner-flow,
    .partner-page .partner-benefits,
    .partner-page .partner-commission { padding:100px 0; }
}

@media screen and (max-width:1024px) {
    .partner-hero__inner { grid-template-columns:1fr; min-height:auto; padding:64px 0; }
    .partner-hero__copy { max-width:760px; }
    .partner-hero__summary { max-width:640px; }
    .partner-page .partner-fit .listbox > ul > li,
    .partner-page .partner-benefits .listbox > ul > li { min-height:280px; padding:36px 30px; }
    .partner-flow__layout { grid-template-columns:1fr; }
    .partner-flow__steps { grid-template-columns:repeat(3, 1fr); }
    .partner-flow__steps li { grid-template-columns:1fr; gap:16px; padding:24px; }
}

@media screen and (max-width:760px) {
    .partner-hero__inner { width:calc(100% - 40px); padding:52px 0; }
    .partner-hero h1 { font-size:34px; }
    .partner-hero h1 br { display:none; }
    .partner-hero__lead { font-size:17px; }
    .partner-hero__actions { flex-direction:column; }
    .partner-hero__action { width:100%; }
    .partner-hero__summary { padding:26px 20px; border-radius:18px; }
    .partner-hero__metrics strong { font-size:24px; }
    .partner-page .partner-fit,
    .partner-page .partner-flow,
    .partner-page .partner-benefits,
    .partner-page .partner-commission { padding:80px 0; }
    .partner-page .partner-fit .listbox > ul > li,
    .partner-page .partner-benefits .listbox > ul > li { min-height:0; }
    .partner-flow__layout { margin-top:36px; }
    .partner-flow__steps { grid-template-columns:1fr; }
    .partner-flow__steps li { grid-template-columns:auto 1fr; padding:22px 20px; }
    .partner-page .partner-commission .data-table { overflow-x:auto; }
    .partner-page .partner-commission .data-table table { min-width:620px; }
}

@media screen and (max-width:480px) {
    .partner-hero__inner { width:calc(100% - 32px); gap:36px; }
    .partner-hero h1 { font-size:30px; }
    .partner-hero__eyebrow { font-size:15px; }
    .partner-hero__point { font-size:15px; }
    .partner-hero__summary { padding:24px 16px; }
    .partner-hero__metrics { gap:6px; }
    .partner-hero__metrics > div { padding:16px 8px; }
    .partner-hero__flow { font-size:12px; }
}
