.partner-page{--navy:#0b1831;--navy2:#102746;--blue:#1766d8;--sky:#54a5ff;--ink:#12233f;--muted:#65758b;--border:#e5ebf3;--soft:#f5f8fc;--white:#fff;--radius:18px color:var(--ink)}
.partner-page h1,.partner-page h2,.partner-page h3,.partner-page h4,.partner-page h5,.partner-page h6,.partner-page .brand{font-family: Manrope,sans-serif; letter-spacing: -.035em;}
.partner-page .container{max-width: 1180px;}
.partner-page .section{padding: 110px 0;}
.partner-page .section-head{max-width: 740px; margin-bottom: 45px;}
.partner-page .eyebrow{color: var(--blue); font-size: .77rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px;}
.partner-page .eyebrow::before{content: ""; width: 23px; height: 2px; background: currentColor;}
.partner-page .section h2{font-size: clamp(2rem,3.9vw,3.2rem); font-weight: 800; line-height: 1.16;}
.partner-page .section-lead{font-size: 1.04rem; line-height: 1.8; color: var(--muted);}
.partner-page .btn{border-radius: 9px; padding: 13px 22px; font-weight: 700; font-size: .93rem;}
.partner-page .btn-primary{background: var(--blue); border-color: var(--blue); box-shadow: 0 9px 22px #1766d824;}
.partner-page .btn-primary:hover{background: #0954c0; border-color: #0954c0;}
.partner-page .btn-outline-light:hover{color: var(--navy);}
.partner-page .btn-outline-primary{border-color: #b8cdec; color: var(--blue);}
.partner-page .btn-outline-primary:hover{background: var(--blue);}
.partner-page .navbar{background: #fff; border-bottom: 1px solid #eaf0f5; min-height: 80px; box-shadow: 0 1px 13px #00152d05;}
.partner-page .navbar-brand{font-family: Manrope,sans-serif; font-size: 1.48rem; font-weight: 800; letter-spacing: -.075em; color: var(--navy) !important;}
.partner-page .brand-mark{display: inline-grid; place-items: center; width: 31px; height: 31px; border: 2px solid var(--blue); color: var(--blue); transform: rotate(-14deg); border-radius: 8px; margin-right: 10px; font-size: 17px;}
.partner-page .brand-mark i{transform: rotate(14deg);}
.partner-page .navbar .nav-link{font-weight: 700; color: #3e506a !important; font-size: .88rem; padding: 12px 15px !important;}
.partner-page .navbar .nav-link.active,.partner-page .navbar .nav-link:hover{color: var(--blue) !important;}
.partner-page .navbar-toggler{border: 0; box-shadow: none !important;}
.partner-page .hero{background: radial-gradient(ellipse at 83% 20%,#193b68 0,transparent 43%),linear-gradient(130deg,#071427,#102644 70%,#0b1b31); color: #fff; position: relative; overflow: hidden; padding: 115px 0 100px;}
.partner-page .hero:before{content: ""; position: absolute; inset: 0; opacity: .13; background-image: linear-gradient(#80b4ff22 1px,transparent 1px),linear-gradient(90deg,#80b4ff22 1px,transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(90deg,transparent,#000);}
.partner-page .hero:after{content: ""; position: absolute; width: 620px; height: 620px; border: 1px solid #83bbff1d; border-radius: 50%; right: -210px; top: -140px; box-shadow: 0 0 0 95px #80b4ff05,0 0 0 190px #80b4ff04;}
.partner-page .hero .container{position: relative; z-index: 1;}
.partner-page .hero .eyebrow{color: #7fb8ff;}
.partner-page .hero h1{font-size: clamp(2.65rem,5.4vw,5.25rem); font-weight: 800; line-height: 1.1; letter-spacing: -.062em; margin: 0 0 27px;}
.partner-page .hero h1 span{color: #74b6ff;}
.partner-page .hero p{color: #c3d0e1; font-size: 1.11rem; line-height: 1.85; max-width: 640px;}
.partner-page .hero .btn-outline-light{border-color: #647b9d;}
.partner-page .hero-micro{display: flex; flex-wrap: wrap; gap: 15px 27px; color: #bbcade; font-size: .83rem; margin-top: 41px;}
.partner-page .hero-micro i{color: #78baff; margin-right: 6px;}
.partner-page .hero-visual{position: relative; min-height: 450px; display: flex; align-items: center; justify-content: center;}
.partner-page .orbit{position: absolute; width: 390px; height: 390px; border: 1px dashed #77b7ff42; border-radius: 50%; transform: rotate(-25deg);}
.partner-page .orbit:after{content: ""; position: absolute; left: 12%; top: 13%; width: 8px; height: 8px; background: #61afff; border-radius: 50%; box-shadow: 0 0 20px #61afff;}
.partner-page .stack-card{position: absolute; background: linear-gradient(145deg,#213e63,#132a4a); border: 1px solid #5d8ac15e; border-radius: 17px; box-shadow: 0 25px 60px #0005; padding: 23px; backdrop-filter: blur(8px);}
.partner-page .stack-card .cap{font-size: .7rem; letter-spacing: .12em; font-weight: 800; color: #86baff; text-transform: uppercase;}
.partner-page .stack-card h5{font-size: 1rem; font-weight: 800; margin: 8px 0; color: #fff;}
.partner-page .stack-card small{color: #acbfd6;}
.partner-page .stack-main{width: 290px; min-height: 205px; left: 13%; top: 20%; transform: rotate(-6deg);}
.partner-page .stack-second{width: 253px; right: 0; top: 38%; transform: rotate(7deg);}
.partner-page .stack-third{width: 244px; left: 19%; bottom: 3%; transform: rotate(2deg);}
.partner-page .visual-ico{font-size: 2.45rem; color: #85bdff;}
.partner-page .visual-line{height: 5px; border-radius: 10px; background: #4f7da6; margin-top: 18px; width: 85%;}
.partner-page .visual-line.short{width: 58%; margin-top: 9px; opacity: .6;}
.partner-page .floating-chip{position: absolute; right: 5%; top: 12%; padding: 13px 17px; border-radius: 100px; background: #eaf5ff; color: #1c5cab; font-size: .72rem; font-weight: 800; box-shadow: 0 10px 25px #0003;}
.partner-page .intro-strip{border-bottom: 1px solid var(--border); background: #fff;}
.partner-page .strip-item{padding: 31px 12px; display: flex; gap: 15px; align-items: center;}
.partner-page .strip-item i{font-size: 1.7rem; color: var(--blue);}
.partner-page .strip-item strong{display: block; font-family: Manrope; font-size: .87rem;}
.partner-page .strip-item span{font-size: .75rem; color: var(--muted);}
.partner-page .bg-soft{background: var(--soft);}
.partner-page .opportunity-card,.partner-page .benefit-card,.partner-page .audience-card{border: 1px solid var(--border); background: #fff; border-radius: var(--radius); height: 100%; padding: 33px 29px; transition: transform .25s,box-shadow .25s;}
.partner-page .opportunity-card:hover,.partner-page .benefit-card:hover,.partner-page .audience-card:hover{transform: translateY(-5px); box-shadow: 0 20px 40px #08264a0e;}
.partner-page .icon-tile{width: 51px; height: 51px; border-radius: 13px; background: #eaf2ff; display: grid; place-items: center; color: var(--blue); font-size: 1.45rem; margin-bottom: 27px;}
.partner-page .opportunity-card h3,.partner-page .benefit-card h3,.partner-page .audience-card h3{font-size: 1.1rem; font-weight: 800; margin-bottom: 13px;}
.partner-page .opportunity-card p,.partner-page .benefit-card p,.partner-page .audience-card p{color: var(--muted); font-size: .91rem; line-height: 1.75; margin-bottom: 0;}
.partner-page .dark-panel{background: var(--navy); border-radius: 23px; padding: 40px 44px; color: #fff; position: relative; overflow: hidden;}
.partner-page .dark-panel:after{content: ""; position: absolute; width: 310px; height: 310px; right: -100px; top: -120px; border-radius: 50%; background: #277edf20;}
.partner-page .dark-panel h3{font-size: clamp(1.45rem,2.8vw,2.2rem); font-weight: 800;}
.partner-page .dark-panel p{color: #becce0;}
.partner-page .mini-label{font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; font-weight: 800; color: #8cbeff;}
.partner-page .product-card{border: 1px solid var(--border); border-radius: var(--radius); height: 100%; overflow: hidden; background: #fff; display: flex; flex-direction: column; transition: .25s;}
.partner-page .product-card:hover{box-shadow: 0 15px 45px #0d2d5914; transform: translateY(-4px);}
.partner-page .product-art{background: radial-gradient(circle at 75% 18%,#d6e8fd,#eef4fb 52%,#e9f1fb); height: 215px; display: grid; place-items: center; position: relative; overflow: hidden;}
.partner-page .product-art:before{content: ""; position: absolute; width: 245px; height: 245px; border: 1px solid #bad4f4; border-radius: 50%; left: 50%; top: 25%; transform: translateX(-50%);}
.partner-page .product-art:after{content: ""; position: absolute; width: 180px; height: 180px; border: 1px solid #d2e2f5; border-radius: 50%; left: 50%; top: 40%; transform: translateX(-50%);}
.partner-page .product-art i{font-size: 6rem; color: #336ca9; filter: drop-shadow(8px 14px 5px #5c8dbe24); z-index: 1;}
.partner-page .product-art .product-id{position: absolute; top: 17px; left: 20px; color: #5a7ba3; font-size: .68rem; font-weight: 800; letter-spacing: .14em;}
.partner-page .product-card-body{padding: 28px; display: flex; flex-direction: column; flex: 1;}
.partner-page .product-card h3{font-size: 1.22rem; font-weight: 800;}
.partner-page .product-card p{color: var(--muted); line-height: 1.75; font-size: .9rem; flex: 1;}
.partner-page .text-link{display: inline-flex; gap: 8px; align-items: center; color: var(--blue); font-size: .87rem; font-weight: 800;}
.partner-page .text-link:hover{gap: 13px; color: #073c9a;}
.partner-page .product-note{color: var(--muted); font-size: .77rem; margin-top: 22px;}
.partner-page .value-section{background: var(--navy); color: #fff;}
.partner-page .value-section .eyebrow{color: #84baff;}
.partner-page .value-section .section-lead{color: #bdcbe0;}
.partner-page .value-item{border-top: 1px solid #ffffff23; padding: 25px 0;}
.partner-page .value-num{color: #82baff; font-weight: 800; font-size: .77rem;}
.partner-page .value-item h3{font-size: 1.1rem; font-weight: 800;}
.partner-page .value-item p{font-size: .88rem; line-height: 1.75; color: #becce0; margin-bottom: 0;}
.partner-page .system-diagram{padding: 27px; background: #122b4b; border: 1px solid #ffffff20; border-radius: 20px;}
.partner-page .system-node{display: flex; align-items: center; gap: 13px; border: 1px solid #6e9ed046; border-radius: 12px; padding: 15px 17px; margin: 11px 0; color: #f4f8ff; font-weight: 700; font-size: .89rem; background: #203f6250;}
.partner-page .system-node i{color: #80b9ff; font-size: 1.4rem;}
.partner-page .system-arrow{text-align: center; color: #81baff;}
.partner-page .system-bottom{color: #b6cbe2; font-size: .75rem; text-align: center; margin-top: 18px;}
.partner-page .audience-card i{font-size: 1.8rem; color: var(--blue); display: block; margin-bottom: 24px;}
.partner-page .audience-card{padding: 30px;}
.partner-page .step{position: relative; padding: 24px 20px 20px 0;}
.partner-page .step .step-no{width: 47px; height: 47px; display: grid; place-items: center; border-radius: 50%; background: var(--blue); color: #fff; font-weight: 800; margin-bottom: 24px;}
.partner-page .step h3{font-size: 1.05rem; font-weight: 800;}
.partner-page .step p{color: var(--muted); font-size: .88rem; line-height: 1.7; max-width: 235px;}
.partner-page .step:not(.last):after{content: ""; position: absolute; width: calc(100% - 85px); height: 1px; background: #b4cdeb; left: 65px; top: 47px;}
.partner-page .contact{background: var(--soft);}
.partner-page .contact-info{background: var(--navy); color: white; border-radius: 22px; padding: 46px; height: 100%; position: relative; overflow: hidden;}
.partner-page .contact-info h2{font-size: clamp(1.8rem,3vw,2.65rem); font-weight: 800;}
.partner-page .contact-info p{color: #bdcce0; line-height: 1.8;}
.partner-page .contact-point{display: flex; align-items: center; gap: 14px; margin: 20px 0; color: #dce8f6; font-size: .91rem;}
.partner-page .contact-point i{color: #83bbff; font-size: 1.15rem;}
.partner-page .form-wrap{background: white; border-radius: 22px; padding: 42px; border: 1px solid var(--border); box-shadow: 0 15px 40px #0d2c5108;}
.partner-page .form-label{font-size: .81rem; color: #304564; font-weight: 800;}
.partner-page .form-control,.partner-page .form-select{border: 1px solid #dce5f0; border-radius: 9px; min-height: 48px; font-size: .91rem; padding: 11px 14px;}
.partner-page .form-control:focus,.partner-page .form-select:focus{box-shadow: 0 0 0 .22rem #1766d817; border-color: #7fabeb;}
.partner-page .form-control::placeholder{color: #9cacbf;}
.partner-page .form-wrap h3{font-size: 1.45rem; font-weight: 800;}
.partner-page .form-disclaimer{color: #8a98aa; font-size: .73rem; line-height: 1.6;}
.partner-page footer{background: #08162a; color: #bdcbe0; padding: 63px 0 30px;}
.partner-page footer .brand{font-size: 1.55rem; letter-spacing: -.06em; font-weight: 800; color: white;}
.partner-page footer p{font-size: .87rem; color: #a3b2c6; line-height: 1.8;}
.partner-page footer h6{color: white; font-weight: 800; margin-bottom: 17px;}
.partner-page footer a{display: block; color: #a8bbd3; font-size: .87rem; padding: 5px 0;}
.partner-page footer a:hover{color: #fff;}
.partner-page .footer-bottom{border-top: 1px solid #ffffff20; margin-top: 48px; padding-top: 22px; font-size: .76rem; color: #8ea2bc;}
.partner-page .reveal{opacity: 0; transform: translateY(17px); transition: .65s ease;}
.partner-page .reveal.visible{opacity: 1; transform: none;}
@media (max-width:991px){.partner-page .hero{padding: 90px 0 70px;}
.partner-page .hero-visual{min-height: 400px; max-width: 470px; margin: 20px auto 0;}
.partner-page .section{padding: 80px 0;}
.partner-page .navbar-collapse{padding: 12px 0 20px;}
.partner-page .navbar .btn{margin-top: 10px;}
.partner-page .step:not(.last):after{display: none;}
.partner-page .contact-info{padding: 34px;}
}@media (max-width:575px){.partner-page .hero h1{font-size: 2.6rem;}
.partner-page .hero p{font-size: 1rem;}
.partner-page .hero-visual{transform: scale(.86); margin: -20px -30px; min-height: 365px;}
.partner-page .stack-main{left: 12%;}
.partner-page .stack-second{right: -5%;}
.partner-page .stack-third{left: 18%;}
.partner-page .section{padding: 65px 0;}
.partner-page .section-head{margin-bottom: 30px;}
.partner-page .section h2{font-size: 2rem;}
.partner-page .dark-panel,.partner-page .form-wrap,.partner-page .contact-info{padding: 27px;}
.partner-page .strip-item{padding: 18px 5px;}
.partner-page .hero-micro{gap: 12px;}
.partner-page .btn{padding: 12px 17px;}
}@media (prefers-reduced-motion:reduce){.partner-page .reveal{opacity: 1; transform: none; transition: none;}
}
.partner-page .reveal{opacity:1;transform:none}
/* Balance the partner hero on wide screens. */
@media (min-width:992px) {
  .partner-page .hero .row { align-items:stretch !important; }
  .partner-page .hero .row > .col-lg-7 { display:flex; flex-direction:column; justify-content:center; }
  .partner-page .hero .row > .col-lg-5 { display:flex; align-items:center; }
  .partner-page .hero-visual { width:100%; min-height:430px; }
  .partner-page .hero h1 { font-size:clamp(2.8rem,4.6vw,4.5rem); }
}
