/* Individual-partner edition. Earlier page and stylesheet snapshots stay intact. */
.partner-site { --ink:#23304c; --muted:#65728d; --blue:#2458ec; --line:#e0e7f6; background:#f8faff; }
.partner-site .wrap { width:min(1180px,calc(100% - 64px)); }
.partner-site .header { height:76px; }
.partner-site .header nav { gap:30px; }
.partner-site .header .nav-contact { display:inline-flex; align-items:center; gap:20px; border:1px solid #d6e1ff; background:#edf2ff; border-radius:7px; padding:10px 16px; }
.partner-site .nav-contact span { margin:0; }
.partner-site :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #2458ec; outline-offset:4px; }
.partner-site .brand-mark { border-radius:12px; }
.section-kicker { color:#52658c; font-size:12px; letter-spacing:.12em; font-weight:500; }
.partner-hero { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:70px; padding-block:16px; }
.partner-hero h1 { font-size:clamp(36px,3.6vw,46px); line-height:1.24; letter-spacing:-1.8px; font-weight:650; margin:12px 0; }
.partner-hero h1 span { color:var(--blue); }
.hero-line { font-size:14px; color:var(--muted); }
.partner-art { justify-self:end; width:min(100%,290px); overflow:hidden; border-radius:52px 12px 52px 12px; }
.partner-art img { width:100%; height:auto; display:block; aspect-ratio:1.5; object-fit:cover; }
.partner-catalog { padding-top:8px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:16px; }
.section-heading h2 { font-size:25px; font-weight:550; letter-spacing:-.5px; margin-top:7px; }
.quiet-link { color:var(--blue); font-size:14px; display:inline-flex; gap:20px; align-items:center; min-height:44px; white-space:nowrap; }
.quiet-link:hover { text-decoration:underline; text-underline-offset:5px; }
.catalog-tools { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; }
.path-filters { display:flex; gap:5px; padding:4px; border:1px solid var(--line); border-radius:9px; background:#edf2fc; }
.path-filters button { padding:9px 17px; min-height:42px; font-size:14px; line-height:1.3; border:0; border-radius:6px; color:#526381; background:transparent; }
.path-filters button[aria-pressed=true] { color:var(--blue); background:#fff; box-shadow:0 2px 8px #254e9410; }
.sector-select select { font-size:13px; color:var(--muted); background:transparent; border:0; border-bottom:1px solid var(--line); min-height:44px; padding:8px 24px 8px 6px; max-width:100%; }
.catalog-feedback { font-size:13px; color:var(--muted); }
.catalog-feedback:not(:empty) { margin-bottom:14px; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.catalog-card { min-width:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff; transition:border-color .18s,box-shadow .18s,transform .18s; }
.catalog-card:hover { border-color:#9bb3f8; box-shadow:0 10px 28px #1b4b9810; transform:translateY(-3px); }
.catalog-visual { position:relative; background:#edf3ff; aspect-ratio:2.25; overflow:hidden; border-bottom:1px solid var(--line); }
.catalog-visual img { display:block; width:100%; height:100%; object-fit:contain; padding:12px 20px; }
.visual-label { position:absolute; right:10px; bottom:8px; padding:2px 6px; background:#fffffff0; color:#66748f; border-radius:3px; font-size:10px; }
.catalog-copy { padding:19px 20px 22px; }
.catalog-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--muted); font-size:11px; margin-bottom:10px; }
.catalog-meta>span:last-child { color:#536ca2; }
.catalog-copy h3 { display:flex; justify-content:space-between; gap:12px; font-size:20px; font-weight:600; }
.catalog-copy h3>span { color:var(--blue); font-size:22px; font-weight:400; }
.catalog-copy p { font-size:13px; color:var(--muted); line-height:1.8; margin-top:9px; }
.concept-visual { display:flex; align-items:center; justify-content:center; gap:16px; background:linear-gradient(125deg,#f3f7ff,#eaf0fd); }
.concept-icon { width:66px; height:66px; border-radius:17px; border:1px solid #d5e0fa; background:#fff9; display:grid; place-items:center; color:var(--blue); box-shadow:0 10px 20px #2458ec05; }
.concept-icon svg { width:33px; height:33px; }
.concept-name { color:#4b638c; letter-spacing:.1em; font-size:18px; }
.concept-code { position:absolute; right:14px; bottom:10px; font-size:11px; letter-spacing:.15em; color:#5f76a2; }
.catalog-empty { padding:45px 20px; text-align:center; border:1px dashed var(--line); border-radius:12px; color:var(--muted); }
.catalog-empty button { margin-top:14px; }
.partner-start { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid var(--line); padding-top:34px; margin-top:46px; }
.partner-start h2 { font-size:24px; font-weight:500; margin-top:8px; }
.industry-links { display:flex; flex-wrap:wrap; gap:12px 28px; padding-block:22px 0; }
.industry-links a { display:inline-flex; align-items:center; min-height:44px; gap:10px; color:var(--muted); font-size:13px; }
.industry-links a:hover { color:var(--blue); }
.industry-links svg { width:19px; height:19px; vertical-align:middle; }
.industry-links a>span:last-child { color:#7e94bf; }
.partner-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:12px 18px; min-height:46px; border:1px solid var(--blue); border-radius:7px; background:var(--blue); color:#fff; font-size:14px; font-weight:500; line-height:1.4; }
.partner-button:hover { background:#1647d7; border-color:#1647d7; }
.partner-button.secondary { background:#fff; color:var(--blue); border-color:#d6e1ff; }
.partner-button.secondary:hover { background:#edf2ff; }
.partner-contact { display:flex; align-items:center; justify-content:space-between; gap:24px; background:#edf2ff; border:1px solid #e5ecfc; border-radius:12px; padding:25px 28px; margin-top:40px; }
.partner-contact h2 { font-size:21px; font-weight:500; }
.partner-contact p { color:var(--muted); font-size:12px; margin-top:6px; }
.partner-contact-actions { display:flex; align-items:center; gap:28px; }
.partner-phone { font-size:21px; font-variant-numeric:tabular-nums; letter-spacing:.05em; }
.partner-phone small { display:block; color:var(--muted); font-size:11px; letter-spacing:0; }
.partner-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; padding-block:25px 30px; color:var(--muted); font-size:11px; }
.partner-footer a { min-height:32px; }
.inquiry { width:min(500px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:25px 28px 22px; border:1px solid var(--line); border-radius:16px; color:var(--ink); background:#fbfcff; box-shadow:0 28px 100px #10285733; }
.inquiry::backdrop { background:#17264066; backdrop-filter:blur(4px); }
.inquiry-top { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:10px; }
.inquiry-close { flex-shrink:0; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; color:var(--muted); background:#fff; font-size:24px; line-height:1; }
.inquiry h2 { font-size:25px; font-weight:550; letter-spacing:-.5px; }
.inquiry-lead { font-size:13px; color:var(--muted); margin-top:8px; }
.inquiry-fields { display:grid; gap:14px; margin-block:22px; }
.inquiry-fields label,.inquiry-message-label { font-size:12px; color:var(--muted); }
.inquiry-fields select { width:100%; display:block; margin-top:6px; border:1px solid #d3ddf2; border-radius:6px; background:#fff; padding:11px 12px; font-size:14px; color:var(--ink); }
.inquiry-number { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-block:18px; border-top:1px solid var(--line); }
.inquiry-number small { display:block; font-size:11px; color:var(--muted); }
.inquiry-number a { font-size:23px; letter-spacing:.04em; }
.inquiry-number button { font-size:12px; padding-inline:12px; }
.inquiry textarea { font:inherit; font-size:13px; line-height:1.8; color:var(--ink); width:100%; display:block; margin:8px 0 14px; padding:12px; border:1px solid var(--line); border-radius:7px; background:#f0f4ff; resize:vertical; }
.inquiry-copy { width:100%; }
.inquiry-status { font-size:12px; color:#2346a2; margin-top:12px; }
.inquiry-status:empty { margin:0; }
.inquiry-note { color:var(--muted); font-size:11px; margin-top:12px; text-align:center; }
.versions-page { padding-block:35px 60px; }
.versions-page h1 { font-size:32px; margin:15px 0 30px; }
.version-list { display:grid; gap:12px; }
.version-list>a { border:1px solid var(--line); padding:22px; border-radius:10px; background:white; }
.version-list h2 { font-size:20px; }
.version-list p { font-size:14px; color:var(--muted); margin-top:7px; }
.partner-directory { padding-block:25px 12px; }
.partner-directory .section-heading { margin:20px 0 28px; }
.partner-directory h1 { font-size:36px; font-weight:550; margin-top:8px; letter-spacing:-1px; }
.partner-directory .path-filters { margin-right:auto; }
.inquiry-open { overflow:hidden; }
.product-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding-top:23px; font-size:12px; color:var(--muted); }
.product-breadcrumb a { padding-block:10px; }
.product-breadcrumb a:hover { color:var(--blue); }
.product-lead { display:grid; grid-template-columns:1fr 1fr; gap:55px; align-items:center; padding-block:25px 34px; }
.product-lead h1 { font-size:clamp(32px,3.3vw,45px); letter-spacing:-1.5px; margin:14px 0; font-weight:600; }
.product-value { font-size:17px; color:var(--muted); line-height:1.9; max-width:400px; }
.product-lead-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.product-stage { font-size:12px; color:var(--muted); margin-top:14px; }
.product-lead-visual { border:1px solid var(--line); border-radius:15px; overflow:hidden; background:#edf2ff; }
.product-lead-visual .catalog-visual { aspect-ratio:1.75; border:0; }
.product-lead-visual .catalog-visual img { padding:22px; }
.customer-fit { display:grid; grid-template-columns:1fr 1.1fr; gap:48px; padding:25px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.customer-fit h2 { font-size:19px; font-weight:550; margin-top:10px; }
.customer-fit p { font-size:14px; margin-top:9px; max-width:480px; color:#4a5976; }
.partner-demo { margin-top:28px; }
.partner-demo .experience { border-radius:12px; background:#eef3ff; }
.partner-demo summary,.product-expand summary,.partner-faq summary { display:flex; justify-content:space-between; align-items:center; gap:18px; cursor:pointer; list-style:none; }
.partner-demo summary::-webkit-details-marker,.product-expand summary::-webkit-details-marker,.partner-faq summary::-webkit-details-marker { display:none; }
.partner-demo summary { padding:20px 24px; font-size:18px; font-weight:550; }
.partner-demo summary small { font-size:12px; font-weight:400; color:var(--muted); margin-left:20px; }
.partner-demo summary .demo-disclosure { margin-left:auto; color:var(--blue); font-size:26px; }
.partner-demo details[open] .demo-disclosure,.product-expand details[open] summary>span:last-child,.partner-faq details[open] summary>span { transform:rotate(45deg); }
.partner-demo .demo-context { font-size:12px; color:var(--muted); margin:0; padding:0 24px; }
.partner-demo .demo-panel { padding-top:22px; }
.partner-demo .demo-intro { max-width:220px; }
.product-problems { margin-top:42px; }
.product-problems .section-heading h2 { margin-top:0; font-size:24px; }
.problem-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.problem-grid article { padding:25px; background:#fff; border:1px solid var(--line); border-radius:10px; }
.problem-number { font-size:12px; color:var(--blue); letter-spacing:.12em; }
.problem-grid h3 { font-size:19px; margin:11px 0; font-weight:550; }
.problem-grid p { color:var(--muted); font-size:14px; line-height:1.9; }
.first-conversation { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; margin-block:32px; padding:27px 30px; border-left:3px solid var(--blue); background:#eff4ff; border-radius:0 10px 10px 0; }
.first-conversation h2 { font-size:20px; font-weight:500; line-height:1.7; margin-top:9px; }
.first-conversation>p { font-size:14px; line-height:1.9; color:var(--muted); }
.product-expand>details { border-top:1px solid var(--line); }
.product-expand>details:last-child { border-bottom:1px solid var(--line); }
.product-expand summary { padding:22px 0; font-size:19px; }
.product-expand summary small { color:var(--muted); margin-left:16px; font-size:12px; }
.product-expand summary>span:last-child { color:var(--blue); font-size:24px; }
.product-expand .capabilities,.product-expand .workflow { padding:5px 0 28px; }
.product-expand .workflow { margin:0; list-style:none; }
.product-expand .workflow li { margin:0; }
.product-availability { padding-top:30px; max-width:760px; }
.product-availability h2 { font-size:18px; font-weight:550; margin-bottom:12px; }
.product-availability p { color:var(--muted); font-size:13px; margin-top:7px; }
.product-availability .quiet-link { margin-top:10px; }
.mobile-product-actions { display:none; }
.cooperation-page { padding-top:22px; }
.cooperation-intro { padding-block:27px 33px; }
.cooperation-intro h1 { font-size:clamp(36px,4vw,50px); font-weight:550; letter-spacing:-1px; line-height:1.3; margin:16px 0; }
.cooperation-intro>p:last-child { font-size:15px; color:var(--muted); }
.partner-paths { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.partner-paths>a { position:relative; padding:28px; background:#fff; border:1px solid var(--line); border-radius:12px; }
.partner-paths>a:hover { border-color:#9ab2f5; }
.path-icon { display:grid; place-items:center; width:43px; height:43px; border-radius:12px; background:#edf2ff; color:var(--blue); margin-bottom:20px; }
.path-icon svg { width:24px; height:24px; }
.partner-paths h2 { font-size:25px; font-weight:550; display:flex; justify-content:space-between; gap:18px; }
.partner-paths h2>span { color:var(--blue); font-weight:400; }
.partner-paths p { color:var(--muted); font-size:14px; margin:13px 0 20px; }
.partner-paths small { color:#4d68a0; font-size:12px; }
.cooperation-steps { padding-block:42px 35px; }
.cooperation-steps h2,.partner-roles>h2,.partner-faq>h2 { font-size:24px; font-weight:550; margin-bottom:25px; }
.cooperation-steps ol { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.cooperation-steps li { border-top:1px solid var(--line); padding-top:19px; }
.cooperation-steps li>span { color:var(--blue); font-size:12px; letter-spacing:.12em; }
.cooperation-steps h3 { font-size:19px; font-weight:500; margin-block:11px 7px; }
.cooperation-steps p { color:var(--muted); font-size:13px; }
.partner-roles { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-block:30px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:28px; }
.partner-roles>h2 { font-size:21px; }
.partner-roles h3 { font-size:18px; font-weight:500; margin-bottom:12px; }
.partner-roles p { font-size:13px; color:var(--muted); line-height:1.9; }
.partner-faq { padding-top:36px; }
.partner-faq details { border-top:1px solid var(--line); }
.partner-faq details:last-child { border-bottom:1px solid var(--line); }
.partner-faq summary { font-size:16px; padding-block:19px; }
.partner-faq summary>span { color:var(--blue); font-size:22px; }
.partner-faq details>p { max-width:760px; color:var(--muted); font-size:14px; padding-bottom:22px; }
@media(min-width:1500px) { .partner-hero { padding-block:28px; } }
@media(max-width:1000px) { .partner-hero { gap:35px; } .catalog-grid { gap:16px; } .catalog-copy { padding:16px; } .catalog-meta { flex-wrap:wrap; } .catalog-copy h3 { font-size:18px; } .partner-contact { gap:20px; } .partner-contact-actions { gap:18px; } }
@media(max-width:800px) { .partner-site .wrap { width:calc(100% - 40px); } .partner-hero { gap:25px; } .partner-art { border-radius:46px 10px; } .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .partner-contact h2 { font-size:18px; } .partner-phone { font-size:18px; } .partner-start h2 { font-size:21px; } }
@media(max-width:800px) { .product-lead { gap:25px; } .product-lead-actions { gap:10px; } .product-lead-actions .partner-button { padding-inline:12px; font-size:13px; } .customer-fit { gap:25px; } .first-conversation { gap:30px; } .partner-paths { gap:16px; } .partner-paths>a { padding:22px; } .partner-paths h2 { font-size:23px; } }
@media(max-width:600px) {
  .partner-site .wrap { width:calc(100% - 32px); }
  .partner-site .header { height:76px; gap:10px; }
  .partner-site .header nav { gap:13px; font-size:12px; }
  .partner-site .header .nav-contact { display:none; }
  .partner-hero { padding:27px 0 30px; gap:16px; grid-template-columns:1.3fr .8fr; }
  .partner-hero h1 { font-size:clamp(30px,7.5vw,42px); letter-spacing:-1px; margin:12px 0; }
  .partner-hero .section-kicker { font-size:10px; letter-spacing:.06em; }
  .hero-line { font-size:12px; max-width:205px; }
  .partner-art { border-radius:32px 8px; }
  .partner-art img { aspect-ratio:.95; object-fit:cover; }
  .section-heading { margin-bottom:16px; gap:12px; }
  .section-heading h2 { font-size:21px; }
  .section-kicker { font-size:11px; }
  .quiet-link { font-size:12px; gap:10px; }
  .catalog-tools { flex-wrap:wrap; gap:7px; margin-bottom:15px; }
  .path-filters { width:100%; justify-content:space-between; }
  .path-filters button { flex:1; padding:9px 8px; font-size:13px; }
  .sector-select { margin-left:auto; }
  .sector-select select { min-height:36px; font-size:12px; padding-block:4px; }
  .catalog-grid { grid-template-columns:1fr; gap:18px; }
  .catalog-visual { aspect-ratio:1.95; }
  .catalog-meta { flex-wrap:nowrap; }
  .catalog-copy { padding:17px 18px 20px; }
  .catalog-copy h3 { font-size:21px; }
  .catalog-copy p { font-size:13px; }
  .partner-start { display:block; margin-top:30px; padding-top:27px; }
  .partner-start .quiet-link { margin-top:8px; }
  .industry-links { gap:5px 18px; padding-top:8px; }
  .partner-contact { display:block; padding:22px; margin-top:28px; }
  .partner-contact-actions { justify-content:space-between; gap:12px; margin-top:17px; }
  .partner-phone { font-size:19px; }
  .partner-contact-actions .partner-button { padding:10px 14px; gap:10px; font-size:13px; }
  .partner-footer { font-size:10px; padding-bottom:24px; gap:8px; }
  .partner-footer>span:first-child { width:100%; }
  .inquiry { padding:18px; }
  .inquiry h2 { font-size:23px; }
  .inquiry-number a { font-size:21px; }
  .partner-directory h1 { font-size:29px; }
  .partner-directory .section-heading { align-items:center; }
  .partner-directory .catalog-tools .sector-select { margin-left:0; }
  .partner-directory .catalog-tools .sector-select:last-child { margin-left:auto; }
  .product-breadcrumb { padding-top:12px; font-size:11px; gap:8px; }
  .product-lead { grid-template-columns:1fr; gap:20px; padding-block:20px 25px; }
  .product-lead h1 { font-size:33px; letter-spacing:-1px; margin:12px 0; }
  .product-value { font-size:15px; }
  .product-lead-actions { margin-top:20px; }
  .product-lead-actions .partner-button { flex:1; padding:12px 10px; font-size:13px; gap:10px; }
  .product-stage { margin-top:10px; }
  .product-lead-visual .catalog-visual { aspect-ratio:1.9; }
  .product-lead-visual .catalog-visual img { padding:13px; }
  .customer-fit { grid-template-columns:1fr; gap:20px; padding-block:23px; }
  .customer-fit h2 { font-size:18px; margin-top:7px; }
  .customer-fit p { font-size:13px; margin-top:7px; }
  .partner-demo { margin-top:22px; }
  .partner-demo summary { padding:17px; font-size:17px; }
  .partner-demo summary small { display:block; margin:5px 0 0; font-size:11px; }
  .partner-demo .demo-context { padding-inline:17px; font-size:11px; }
  .partner-demo .demo-intro { max-width:none; }
  .partner-demo .demo-intro h2 { font-size:22px; }
  .product-problems { margin-top:30px; }
  .product-problems .section-heading h2 { font-size:21px; }
  .problem-grid { grid-template-columns:1fr; gap:12px; }
  .problem-grid article { padding:20px; }
  .problem-grid h3 { font-size:18px; }
  .problem-grid p { font-size:13px; }
  .first-conversation { grid-template-columns:1fr; padding:21px; gap:15px; margin-block:24px; }
  .first-conversation h2 { font-size:19px; }
  .first-conversation>p { font-size:13px; }
  .product-expand summary { font-size:17px; padding-block:18px; }
  .product-expand .capabilities { grid-template-columns:1fr; gap:15px; }
  .mobile-product-actions { position:fixed; bottom:0; left:0; right:0; display:flex; align-items:center; gap:20px; padding:11px 16px calc(11px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:#fffffff5; backdrop-filter:blur(10px); z-index:5; }
  .mobile-product-actions>a:first-child { flex:1; text-align:center; font-size:14px; color:var(--blue); padding:10px 0; }
  .mobile-product-actions .partner-button { flex:1.4; min-height:42px; }
  .partner-site:has(.mobile-product-actions) .partner-footer { padding-bottom:105px; }
  .cooperation-intro { padding-block:20px 28px; }
  .cooperation-intro>p:last-child { font-size:14px; }
  .partner-paths { grid-template-columns:1fr; }
  .partner-paths>a { padding:23px; }
  .cooperation-steps { padding-block:32px; }
  .cooperation-steps h2,.partner-faq>h2 { font-size:22px; }
  .cooperation-steps ol { grid-template-columns:1fr; gap:20px; }
  .cooperation-steps li { display:grid; grid-template-columns:32px 1fr; gap:7px 14px; }
  .cooperation-steps li>span { grid-row:1/3; padding-top:2px; }
  .cooperation-steps h3 { margin:0; font-size:18px; }
  .cooperation-steps p { grid-column:2; }
  .partner-roles { grid-template-columns:1fr; gap:20px; }
  .partner-roles>h2 { margin:0; }
  .partner-roles h3 { margin-bottom:8px; }
  .partner-faq { padding-top:28px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .catalog-card { transition:none; } }
