/* Sponsor signature: the company's identity leads; warm gold marks the partnership. */
/* Sponsor signature: gold surface, navy typography, original GNS brand. */
.cp-page .cp-sponsor-intro{border:0;padding:0;margin:0 0 18px;display:block;max-width:100%}
.cp-page .cp-hero--sponsor{background:radial-gradient(ellipse at 95% 35%,#d2aa571a,transparent 52%),linear-gradient(120deg,#0b2444 12%,#153b63 65%,#102e4f)}
.cp-hero--sponsor .cp-identity{margin-bottom:25px}
.cp-hero--sponsor .cp-media-stage::before{border-color:#d2aa5770;background:#d2aa5705}
.cp-hero--sponsor .cp-feature-video{border-color:#d8b060b3;box-shadow:0 22px 55px #020d2040,0 0 0 5px #d2aa570a}
.cp-hero--sponsor .cp-media-top{color:#efd394}
.cp-hero--sponsor .cp-play{border-color:#efd394b3}
.gns-sponsor-label{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:5px 9px;border:1px solid #c59b49;border-radius:4px;background:linear-gradient(112deg,#d1a654,#f5dfa0 52%,#d9b263);color:#092346;font:700 10px/1.35 Ubuntu,Arial,sans-serif;letter-spacing:.65px;text-transform:uppercase;box-sizing:border-box}
.gns-sponsor-label>span{width:4px;height:12px;background:#092346;border-radius:1px;flex:none}
.gns-company-card__body>.gns-sponsor-label,.gns-city-company__body>.gns-sponsor-label,.gns-card__body>.gns-sponsor-label{margin-bottom:10px}
.gns-sponsors .gns-sponsors__carousel{max-width:1040px}
.gns-sponsors .gns-sponsors__slide{max-width:none}
.gns-sponsors .gns-sponsors__item{height:auto;min-height:275px;display:grid;grid-template-columns:minmax(130px,.9fr) minmax(0,1.1fr);align-items:center;gap:25px;padding:25px;text-decoration:none;text-align:left}
.gns-sponsors .gns-sponsors__neutral-plate{width:100%;height:158px;max-width:none;max-height:none;padding:14px;border-radius:10px;box-sizing:border-box}
.gns-sponsors .gns-sponsors__neutral-plate>.gns-sponsors__logo{max-width:none;transform:none}
.gns-sponsors__company-copy{display:flex;flex-direction:column;gap:12px;min-width:0;align-items:flex-start}
.gns-sponsors__company-copy .gns-sponsor-label{font-size:9px}
.gns-sponsors__company-copy h3{color:#fff;font-size:20px;line-height:1.3;letter-spacing:-.4px;margin:0;overflow-wrap:anywhere}
.gns-sponsors__company-copy p{color:#c7d4e6;font-size:14px;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gns-sponsors__company-link{color:#f4dfaf;font-size:12px;font-weight:700;display:inline-flex;gap:16px;align-items:center;padding-top:4px}
.gns-sponsors__company-link>span{font-size:18px;transition:transform .25s ease}
.gns-sponsors__item:hover .gns-sponsors__company-link>span{transform:translateX(4px)}
.cp-page .cp-sponsor-message{padding-top:0}
.cp-sponsor-message__panel{display:grid;grid-template-columns:1fr 1.05fr;gap:0;overflow:hidden;border:1px solid #d6bc7a;border-radius:18px;background:#f8f4e9;color:#092346;box-shadow:0 18px 40px #0923460b}
.cp-sponsor-message__panel--text{grid-template-columns:1fr;max-width:900px}
.cp-sponsor-message__media{min-width:0;min-height:300px;display:grid;background:#071b35;align-items:stretch}
.cp-sponsor-message__media>img{width:100%;height:100%;max-height:520px;object-fit:cover;display:block}
.cp-sponsor-message__media .cp-feature-video{height:100%;width:100%;aspect-ratio:auto;border-radius:0;border:0;min-height:300px}
.cp-sponsor-message__copy{padding:44px;align-self:center;min-width:0}
.cp-page .cp-sponsor-message .cp-eyebrow{color:#785416;font-size:10px;letter-spacing:1.7px}
.cp-page .cp-sponsor-message h2{font-size:clamp(26px,2.7vw,36px);letter-spacing:-1px;margin-bottom:20px}
.cp-sponsor-message__text{color:#314761;font-size:16px;line-height:1.8}
.cp-sponsor-message__text p:last-child{margin-bottom:0}
@media(max-width:1100px){.gns-sponsors .gns-sponsors__item{grid-template-columns:1fr;gap:20px;padding:22px}.gns-sponsors .gns-sponsors__neutral-plate{height:160px}.gns-sponsors__company-copy{width:100%}.gns-sponsors__company-copy h3{font-size:19px}}
@media(max-width:800px){.cp-sponsor-message__panel{grid-template-columns:1fr}.cp-sponsor-message__copy{padding:28px}.cp-sponsor-message__media{min-height:0}.cp-sponsor-message__media>img{height:auto;max-height:340px}.cp-sponsor-message__media .cp-feature-video{aspect-ratio:16/9;min-height:0}.gns-sponsors .gns-sponsors__item{min-height:355px}}
.cp-page .cp-gallery--sponsor{display:grid;grid-template-columns:1.4fr 1fr;grid-auto-rows:210px;gap:18px}
.cp-gallery--sponsor figure{margin:0;position:relative;border-radius:12px;overflow:hidden;background:#092346}
.cp-gallery--sponsor figure:first-child{grid-row:span 2}
.cp-gallery--sponsor figure:only-child{grid-column:1/-1}
.cp-gallery--sponsor figure:nth-child(2):last-child{grid-row:span 2}
.cp-gallery--sponsor figure>a{display:block;height:100%}
.cp-page .cp-gallery--sponsor img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.cp-gallery--sponsor figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 17px;background:linear-gradient(transparent,#071b35e6);color:#fff;pointer-events:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.cp-gallery--sponsor a:hover img{transform:scale(1.025)}}
@media(max-width:800px){.cp-page .cp-gallery--sponsor{grid-template-columns:1fr;grid-auto-rows:auto}.cp-gallery--sponsor figure:first-child,.cp-gallery--sponsor figure:nth-child(2):last-child{grid-row:auto}.cp-gallery--sponsor figure>a{aspect-ratio:4/3}.cp-hero--sponsor .cp-media-stage{padding-top:6px}}

@media(prefers-reduced-motion:reduce){.cp-page .cp-gallery--sponsor img{transition:none;transform:none}}
@media(max-width:420px){.cp-hero--sponsor .cp-identity{gap:16px}.cp-hero--sponsor .cp-logo{width:clamp(140px,41vw,160px);height:clamp(112px,32.5vw,128px)}.cp-hero--sponsor .cp-identity-detail{min-width:0;flex:1}.cp-hero--sponsor .cp-category{font-size:9px;letter-spacing:.6px}.cp-hero--sponsor .cp-location{font-size:11px;line-height:1.55}}
.cp-page .cp-hero--sponsor h1{color:#ecd28b}
.cp-page .cp-hero--sponsor .cp-lead{color:#e6ddc9}
.cp-hero--sponsor .cp-logo{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);border:2px solid #d8b060;box-shadow:0 18px 34px #03122833,0 0 0 5px #d2aa5708}
.cp-hero--sponsor .cp-logo img{min-width:0;min-height:0}
.gns-sponsor-label--profile{font-size:9px;letter-spacing:.65px;padding:6px 9px;line-height:1.5}
/* One light sweep on deliberate hover; the label remains non-interactive. */
.gns-sponsor-label{position:relative;overflow:hidden;isolation:isolate}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .gns-sponsor-label::after{content:"";position:absolute;top:-30%;left:0;width:42%;height:160%;pointer-events:none;background:linear-gradient(90deg,transparent,#fff9de85,transparent);transform:translateX(-180%) skewX(-18deg)}
 .gns-sponsor-label:hover::after{animation:gns-sponsor-light-sweep 2.4s cubic-bezier(.45,0,.55,1) 1 both}
}
@keyframes gns-sponsor-light-sweep{from{transform:translateX(-180%) skewX(-18deg)}to{transform:translateX(340%) skewX(-18deg)}}
.cp-hero--sponsor .cp-button{--cp-shine:#f4dfaf;border-color:#d8b06073}
.cp-hero--sponsor .cp-button-icon{border-color:#efd39473}
.cp-hero--sponsor .cp-button:focus-visible{outline-color:#f4dfaf;box-shadow:0 12px 28px #020d2038,0 0 0 2px #d8b06073}
.cp-page .cp-sponsor-document{display:flex;align-items:center;justify-content:space-between;gap:20px;width:fit-content;max-width:100%;min-height:44px;margin-top:14px;padding:6px 0;border-bottom:1px solid #d8b06059;color:#f4dfaf;font-size:13px;font-weight:500}
.cp-sponsor-document>span:not(.screen-reader-text){display:inline-flex;gap:10px;font-size:11px;letter-spacing:.5px}
@media(min-width:1101px){.cp-hero--sponsor .cp-logo{width:300px;height:238px}}
@media(hover:hover){.cp-hero--sponsor .cp-button:hover{box-shadow:0 12px 28px #020d2038,0 0 0 2px #d8b06073}.cp-page .cp-sponsor-document:hover{color:#fff4d4;border-color:#efd394}}
@media(max-width:420px){.gns-sponsors .gns-sponsors__item{padding:18px}.cp-sponsor-message__copy{padding:24px}.gns-sponsor-label--profile{font-size:8px;letter-spacing:.25px}}
@media(prefers-reduced-motion:reduce){.gns-sponsors__company-link>span{transition:none;transform:none}}
