/* Ohanae Partnerships — scoped responsive design */
.partnerships-page{--partners-red:#BF2E1A;--partners-ink:#14253D;--partners-copy:#555b63;background:#fff;color:var(--partners-ink);overflow:hidden}
.partnerships-page,.partnerships-page *{box-sizing:border-box}
.partnerships-page .partners-shell{width:100%;max-width:1240px;padding:0 24px;margin:0 auto}
.partnerships-page h1,.partnerships-page h2,.partnerships-page h3{color:var(--partners-ink);text-transform:none!important;margin-top:0}
.partnerships-page p{font-size:20px;line-height:1.7;color:var(--partners-copy)}
.partnerships-page .partners-eyebrow{display:inline-block;color:var(--partners-red);font-size:12px;font-weight:750;letter-spacing:.17em;margin-bottom:20px}
.partnerships-page .partners-hero{position:relative;isolation:isolate;background:linear-gradient(112deg,#fff 22%,#f9fbfd 60%,#edf3f8);border-bottom:1px solid #e9eef3}
.partnerships-page .partners-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#b5c4d214 1px,transparent 1px),linear-gradient(90deg,#b5c4d214 1px,transparent 1px);background-size:70px 70px;pointer-events:none}
.partnerships-page .partners-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#ffffffef 31%,#ffffffac 53%,transparent 89%);pointer-events:none}
.partnerships-page .partners-hero-network{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.85}
.partnerships-page .partners-hero-content{position:relative;z-index:1;min-height:580px;padding-top:130px;padding-bottom:125px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.partnerships-page .partners-hero-content h1{margin-bottom:20px}
.partnerships-page .partners-hero-content h2{margin-bottom:23px;max-width:650px}
.partnerships-page .partners-hero-content p{max-width:720px;margin:0}
.partnerships-page .partners-traces{animation:partners-breathe 8s ease-in-out infinite alternate}
.partnerships-page .partners-pulse{transform-box:fill-box;transform-origin:center;animation:partners-node 3.8s ease-in-out infinite}
.partnerships-page .partners-delay{animation-delay:1.7s}
@keyframes partners-breathe{from{opacity:.52}to{opacity:1}}
@keyframes partners-node{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.45)}}
.partnerships-page .partners-categories{padding:100px 0 110px;background:linear-gradient(#fff,#f9fbfd)}
.partnerships-page .partners-section-head{margin-bottom:38px}
.partnerships-page .partners-section-head h2{margin-bottom:0}
.partnerships-page .partners-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.partnerships-page .partners-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 66%,#f3f7fa);border:1px solid #e0e7ef;border-radius:16px;padding:34px 34px 38px;box-shadow:0 12px 30px #14253d08;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.partnerships-page .partners-card:before{content:"";position:absolute;top:0;left:34px;right:34px;height:2px;background:linear-gradient(90deg,var(--partners-red),#bf2e1a33,transparent)}
.partnerships-page .partners-card:hover{transform:translateY(-4px);border-color:#cbd7e2;box-shadow:0 20px 40px #14253d12}
.partnerships-page .partners-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.partnerships-page .partners-index{color:var(--partners-red);font-size:19px;font-weight:750;letter-spacing:.06em}
.partnerships-page .partners-card-top svg{width:66px;height:66px;padding:13px;border:1px solid #dce5ed;border-radius:13px;stroke:var(--partners-red);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none;background:#f8fafc}
.partnerships-page .partners-card h3{font-size:28px;line-height:1.3;font-weight:680;margin-bottom:17px}
.partnerships-page .partners-card p{margin:0}
.partnerships-page .partners-card p a{color:var(--partners-red);text-decoration:underline;text-underline-offset:3px}
.partnerships-page .partners-conversation{padding:105px 0;background:linear-gradient(125deg,#f4f8fb,#fff 55%,#edf3f7);border-top:1px solid #e1e8ef}
.partnerships-page .partners-conversation-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center}
.partnerships-page .partners-conversation h2{margin-bottom:20px}
.partnerships-page .partners-conversation p{margin:0}
.partnerships-page .partners-contact-panel{position:relative;overflow:hidden;padding:55px 35px;background:#fff;border:1px solid #dce5ed;border-radius:18px;box-shadow:0 20px 50px #14253d0b}
.partnerships-page .partners-panel-decoration{position:absolute;right:-15px;top:-15px;display:flex;gap:12px;transform:rotate(-28deg);opacity:.28}
.partnerships-page .partners-panel-decoration span{height:110px;width:1px;background:#BF2E1A}
.partnerships-page .partners-actions{position:relative;display:flex;flex-wrap:wrap;gap:12px}
.partnerships-page .partners-related{position:relative;display:inline-flex;margin-top:25px;font-size:18px;color:var(--partners-red);text-decoration:none;gap:10px;align-items:center}
.partnerships-page .partners-related:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:991px){.partnerships-page .partners-hero-content{min-height:510px;padding-top:100px;padding-bottom:100px}.partnerships-page .partners-conversation-grid{grid-template-columns:1fr;gap:32px}.partnerships-page .partners-contact-panel{padding:36px}}
@media(max-width:767px){.partnerships-page .partners-shell{padding-left:20px;padding-right:20px}.partnerships-page .partners-hero-content{min-height:unset;padding-top:88px;padding-bottom:90px}.partnerships-page .partners-hero:after{background:linear-gradient(90deg,#fffffff5,#ffffffc7)}.partnerships-page .partners-grid{grid-template-columns:1fr}.partnerships-page .partners-categories,.partnerships-page .partners-conversation{padding:70px 0}.partnerships-page .partners-card{padding:28px 25px 32px}.partnerships-page .partners-card h3{font-size:28px}.partnerships-page .partners-contact-panel{padding:28px 22px}.partnerships-page .partners-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.partnerships-page .partners-traces,.partnerships-page .partners-pulse{animation:none}.partnerships-page .partners-card{transition:none}.partnerships-page .partners-card:hover{transform:none}}

/* V3: Partnerships has an editorial / architectural identity, distinct from the technology network. */
.partnerships-page .partners-hero{background:linear-gradient(116deg,#fff 8%,#fafbfd 50%,#e9eff5 100%)}
.partnerships-page .partners-hero:before{background-image:linear-gradient(115deg,transparent 47%,#d5e0e924 48%,transparent 49%);background-size:160px 160px}
.partnerships-page .partners-hero:after{background:linear-gradient(90deg,#fff 0%,#fffffffa 31%,#ffffffd9 50%,#ffffff18 90%)}
.partnerships-page .partners-hero-network{opacity:.92}
.partnerships-page .partners-architecture{transform-origin:75% 50%;animation:partners-glass-shift 13s ease-in-out infinite alternate}
.partnerships-page .partners-architecture-lines{animation:partners-architectural-glow 7s ease-in-out infinite alternate}
.partnerships-page .partners-architecture-highlight{animation:partners-architectural-glow 5s ease-in-out infinite alternate}
.partnerships-page .partners-architecture-spark{animation:partners-architectural-glow 3s ease-in-out infinite alternate}
@keyframes partners-glass-shift{from{transform:translate(0,0)}to{transform:translate(-14px,9px)}}
@keyframes partners-architectural-glow{from{opacity:.32}to{opacity:.9}}
/* Editorial collaboration rows: not a conventional 2x2 grid of cards. */
.partnerships-page .partners-categories{position:relative;background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%)}
.partnerships-page .partners-categories:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,#dce5ed,transparent);opacity:.5;pointer-events:none}
.partnerships-page .partners-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid #d9e3ec}
.partnerships-page .partners-card{display:grid;grid-template-columns:130px minmax(0,1fr);column-gap:28px;align-items:start;padding:38px 20px 42px 4px;border:0;border-bottom:1px solid #d9e3ec;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transition:background .3s ease,padding .3s ease}
.partnerships-page .partners-card:before{display:none}
.partnerships-page .partners-card:hover{transform:none;box-shadow:none;border-color:#d9e3ec;background:linear-gradient(90deg,#f1f5f9aa,transparent 85%);padding-left:14px}
.partnerships-page .partners-card-top{grid-row:1 / span 2;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:20px;margin:0;padding-top:2px}
.partnerships-page .partners-index{font-size:15px;letter-spacing:.13em;color:#9aaebf}
.partnerships-page .partners-card-top svg{width:74px;height:74px;padding:17px;background:#fff;border:1px solid #d7e2eb;border-radius:50%;stroke:#BF2E1A;box-shadow:0 12px 30px #14253d09}
.partnerships-page .partners-card h3{grid-column:2;max-width:860px;margin:0 0 12px;font-size:28px}
.partnerships-page .partners-card p{grid-column:2;max-width:950px;margin:0}
.partnerships-page .partners-section-head{margin-bottom:36px}
@media(min-width:1000px){.partnerships-page .partners-card:nth-child(even){grid-template-columns:170px minmax(0,1fr);padding-left:55px}.partnerships-page .partners-card:nth-child(even):hover{padding-left:65px}}
@media(max-width:767px){.partnerships-page .partners-hero:after{background:linear-gradient(90deg,#fffffffa 0%,#ffffffed 62%,#ffffffa8)}.partnerships-page .partners-hero-network{opacity:.52}.partnerships-page .partners-card{grid-template-columns:72px minmax(0,1fr);column-gap:15px;padding:27px 0 31px}.partnerships-page .partners-card:hover{padding-left:0}.partnerships-page .partners-card-top{gap:13px}.partnerships-page .partners-card-top svg{width:55px;height:55px;padding:12px}.partnerships-page .partners-card h3{font-size:28px}}
@media(prefers-reduced-motion:reduce){.partnerships-page .partners-architecture,.partnerships-page .partners-architecture-lines,.partnerships-page .partners-architecture-highlight,.partnerships-page .partners-architecture-spark{animation:none}}

/* V4 — calm editorial rows, more detailed icons and ambient architectural movement. */
.partnerships-page .partners-card,
.partnerships-page .partners-card:hover,
.partnerships-page .partners-card:focus-within{transform:none!important;background:transparent!important;box-shadow:none!important;border-color:#d9e3ec!important;transition:none!important;cursor:default}
.partnerships-page .partners-card:hover{padding-left:4px!important}
@media(min-width:1000px){.partnerships-page .partners-card:nth-child(even):hover{padding-left:55px!important}}
@media(max-width:767px){.partnerships-page .partners-card:hover{padding-left:0!important}}
.partnerships-page .partners-card-top svg{width:82px;height:82px;padding:15px;stroke:#BF2E1A;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;background:radial-gradient(circle at 28% 18%,#fff 10%,#f2f6fa 100%);border:1px solid #cbdbe6;box-shadow:0 10px 24px #14253d0b, inset 0 0 0 5px #ffffffaa;flex-shrink:0}
.partnerships-page .partners-icon-secondary{stroke:#849eb2;stroke-width:1.2}
.partnerships-page .partners-icon-node{fill:#BF2E1A;stroke:#fff;stroke-width:1.6}
.partnerships-page .partners-architecture{animation:partners-glass-shift 11s ease-in-out infinite alternate}
.partnerships-page .partners-architecture-lines{animation:partners-architectural-glow 6s ease-in-out infinite alternate}
.partnerships-page .partners-architecture-highlight{animation:partners-architectural-glow 4.5s ease-in-out infinite alternate}
.partnerships-page .partners-architecture-spark{animation:partners-spark-soft 3.6s ease-in-out infinite alternate}
@keyframes partners-spark-soft{0%,100%{opacity:.25}50%{opacity:1}}
.partnerships-page .partners-panel-decoration{animation:partners-decor-drift 9s ease-in-out infinite alternate}
@keyframes partners-decor-drift{from{transform:translateY(0) rotate(-28deg)}to{transform:translateY(12px) rotate(-28deg)}}
@media(max-width:767px){.partnerships-page .partners-card-top svg{width:60px;height:60px;padding:10px}}
@media(prefers-reduced-motion:reduce){.partnerships-page .partners-panel-decoration{animation:none}}

/* V5: visible but restrained ambient motion, editorial diagrams instead of icons. */
.partnerships-page .partners-hero-network{opacity:1}
.partnerships-page .partners-architecture{animation:partners-v5-pan 9s ease-in-out infinite alternate}
.partnerships-page .partners-architecture-lines{animation:partners-v5-lines 5.5s ease-in-out infinite alternate}
.partnerships-page .partners-architecture-highlight{stroke-dasharray:18 22;animation:partners-v5-flow 9s linear infinite}
.partnerships-page .partners-architecture-spark{animation:partners-v5-spark 2.8s ease-in-out infinite}
@keyframes partners-v5-pan{from{transform:translate(-15px,-7px)}to{transform:translate(16px,10px)}}
@keyframes partners-v5-lines{from{opacity:.32}to{opacity:.95}}
@keyframes partners-v5-flow{to{stroke-dashoffset:-160}}
@keyframes partners-v5-spark{0%,100%{opacity:.25}50%{opacity:1}}
.partnerships-page .partners-card-top .partners-graphic{box-sizing:border-box;width:180px;height:110px;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;stroke:none;fill:none}
.partnerships-page .partners-card{grid-template-columns:195px minmax(0,1fr)}
.partnerships-page .partners-card:nth-child(even){grid-template-columns:195px minmax(0,1fr)}
.partnerships-page .partners-card-top{gap:10px}
.partnerships-page .partners-card-top .partners-graphic .pg-float{animation:partners-v5-float 5s ease-in-out infinite alternate}
.partnerships-page .partners-card-top .partners-graphic .pg-signal{animation:partners-v5-spark 3.4s ease-in-out infinite}
.partnerships-page .partners-card-top .partners-graphic .pg-travel{animation:partners-v5-flow 10s linear infinite}
@keyframes partners-v5-float{from{transform:translateY(2px)}to{transform:translateY(-4px)}}
/* Informational rows do not suggest clicking. */
.partnerships-page .partners-card,.partnerships-page .partners-card:hover{cursor:default;transform:none!important;box-shadow:none!important;background:transparent!important}
@media(max-width:767px){
 .partnerships-page .partners-card,.partnerships-page .partners-card:nth-child(even){grid-template-columns:95px minmax(0,1fr);column-gap:14px}
 .partnerships-page .partners-card-top .partners-graphic{width:95px;height:68px}
}
@media(prefers-reduced-motion:reduce){
 .partnerships-page .partners-architecture,.partnerships-page .partners-architecture-lines,.partnerships-page .partners-architecture-highlight,.partnerships-page .partners-architecture-spark,.partnerships-page .partners-card-top .partners-graphic .pg-float,.partnerships-page .partners-card-top .partners-graphic .pg-signal,.partnerships-page .partners-card-top .partners-graphic .pg-travel{animation:none!important}
}

/* V6: continuous moving light on smooth, unbroken paths (not marching dots). */
.partnerships-page .partners-architecture-highlight path{stroke-dasharray:220 780;stroke-dashoffset:1000;animation:partners-solid-flow 8s linear infinite;filter:drop-shadow(0 0 3px #bf2e1a55)}
.partnerships-page .partners-architecture-highlight path:nth-child(2){animation-delay:-2.7s}
.partnerships-page .partners-architecture-highlight path:nth-child(3){animation-delay:-5.3s}
@keyframes partners-solid-flow{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
.partnerships-page .partners-card-top .partners-graphic{width:200px;height:128px;overflow:visible}
.partnerships-page .partners-card-top .partners-graphic .pg-travel{stroke-dasharray:180 820;stroke-dashoffset:1000;animation:partners-solid-flow 6.5s linear infinite}
.partnerships-page .partners-card:nth-child(2) .pg-travel{animation-duration:8s}
.partnerships-page .partners-card:nth-child(3) .pg-travel{animation-duration:7s}
.partnerships-page .partners-card:nth-child(4) .pg-travel{animation-duration:5.5s}
.partnerships-page .partners-card,.partnerships-page .partners-card:hover{border-color:#e0e7ef!important;cursor:default!important;transform:none!important}
@media(max-width:767px){.partnerships-page .partners-card-top .partners-graphic{width:95px;height:auto}}
@media(prefers-reduced-motion:reduce){.partnerships-page .partners-architecture-highlight path,.partnerships-page .partners-card-top .partners-graphic .pg-travel{animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important}}

/* V7: larger, bespoke isometric illustrations for Who We Work With. */
.partnerships-page .partners-card-top .partners-graphic{display:block;width:240px;height:150px;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;stroke:none;fill:none}
.partnerships-page .partners-card,.partnerships-page .partners-card:nth-child(even){grid-template-columns:minmax(0,245px) minmax(0,1fr);column-gap:32px}
.partnerships-page .partners-card-top .partners-graphic .pg-float{animation:partners-illustration-breathe 6s ease-in-out infinite alternate}
.partnerships-page .partners-card-top .partners-graphic .pg-flow{stroke-dasharray:28 72;stroke-dashoffset:100;animation:partners-illustration-flow 5s linear infinite}
@keyframes partners-illustration-breathe{from{transform:translateY(2px)}to{transform:translateY(-4px)}}
@keyframes partners-illustration-flow{to{stroke-dashoffset:0}}
.partnerships-page .partners-card:hover,.partnerships-page .partners-card:focus-within{transform:none!important;background:transparent!important;box-shadow:none!important;cursor:default!important}
@media(max-width:767px){.partnerships-page .partners-card,.partnerships-page .partners-card:nth-child(even){grid-template-columns:minmax(0,100px) minmax(0,1fr);column-gap:14px}.partnerships-page .partners-card-top .partners-graphic{width:100px;height:auto}}
@media(prefers-reduced-motion:reduce){.partnerships-page .partners-card-top .partners-graphic .pg-float,.partnerships-page .partners-card-top .partners-graphic .pg-flow{animation:none!important}}

/* V8: distinct glass architectural vignettes, no interaction affordance. */
.partnerships-page .partners-card-top .partners-graphic{width:240px;height:150px;overflow:visible;filter:drop-shadow(0 10px 14px rgba(34,67,94,.08))}
.partnerships-page .partners-card-top .partners-graphic .pg-float{animation:partners-v8-float 5.5s ease-in-out infinite alternate;transform-origin:center}
.partnerships-page .partners-card-top .partners-graphic .pg-light{stroke-dasharray:55 350;stroke-dashoffset:405;animation:partners-v8-light 6.5s linear infinite;filter:drop-shadow(0 0 3px rgba(191,46,26,.35))}
.partnerships-page .partners-card:nth-child(2) .pg-light{animation-delay:-2s}
.partnerships-page .partners-card:nth-child(3) .pg-light{animation-delay:-3.5s}
.partnerships-page .partners-card:nth-child(4) .pg-light{animation-delay:-1.5s}
@keyframes partners-v8-float{from{transform:translateY(2px)}to{transform:translateY(-5px)}}
@keyframes partners-v8-light{to{stroke-dashoffset:0}}
.partnerships-page .partners-card,.partnerships-page .partners-card:hover{background:transparent!important;transform:none!important;box-shadow:none!important;cursor:default!important}
@media(max-width:767px){.partnerships-page .partners-card-top .partners-graphic{width:100px;height:auto}}
@media(prefers-reduced-motion:reduce){.partnerships-page .partners-card-top .partners-graphic .pg-float,.partnerships-page .partners-card-top .partners-graphic .pg-light{animation:none!important;stroke-dasharray:none!important}}
