/* Shared, local partner profiles. Native dialog provides inert background and focus containment. */
.partner-card[data-partner-profile] { position:relative; isolation:isolate; transition:background-color 160ms ease,box-shadow 160ms ease; }
.partner-profile-trigger { position:absolute; inset:0; z-index:4; border:0; margin:0; padding:0; width:100%; height:100%; background:transparent; cursor:pointer; }
.partner-card[data-partner-profile]:focus-within { box-shadow:inset 0 0 0 3px #5141ff; }
.partner-profile-trigger:focus { outline:0; }
.partner-card[data-partner-profile]:active { background:#eee8ff; }
@media (hover:hover) and (pointer:fine) { .partner-card[data-partner-profile]:hover { background:#f4f1ff; box-shadow:inset 0 0 0 1px #5141ff; } }
html.partner-modal-open { overflow:hidden; scrollbar-gutter:stable; }
.partner-dialog { width:min(940px,calc(100vw - 40px)); max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:0; border:0; overflow:visible; background:transparent; color:#17191f; font-family:Outfit,Arial,sans-serif; }
.partner-dialog::backdrop { background:rgb(8 8 12 / .65); backdrop-filter:blur(5px); }
.partner-dialog-frame { --partner-step:12px; max-height:calc(100dvh - 40px); overflow:auto; overscroll-behavior:contain; background:#fff; clip-path:polygon(var(--partner-step) 0,calc(100% - var(--partner-step)) 0,calc(100% - var(--partner-step)) var(--partner-step),100% var(--partner-step),100% calc(100% - var(--partner-step)),calc(100% - var(--partner-step)) calc(100% - var(--partner-step)),calc(100% - var(--partner-step)) 100%,var(--partner-step) 100%,var(--partner-step) calc(100% - var(--partner-step)),0 calc(100% - var(--partner-step)),0 var(--partner-step),var(--partner-step) var(--partner-step)); }
.partner-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 28px 16px; background:#fff; position:sticky; top:0; z-index:2; border-bottom:1px solid #e8e8ec; }
.partner-dialog-kicker { margin:0; font-family:Inter,Arial,sans-serif; font-size:12px; line-height:1.5; letter-spacing:.04em; color:#565963; }
.partner-dialog-close { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; border:0; background:#f1eff7; color:#18171d; cursor:pointer; }
.partner-dialog-close:hover { background:#e7e0ff; }
.partner-dialog-close:focus-visible,.partner-dialog a:focus-visible { outline:3px solid #5141ff; outline-offset:3px; }
.partner-dialog-close:active { transform:scale(.96); }
.partner-dialog-content { display:grid; grid-template-columns:280px minmax(0,1fr); gap:40px; padding:36px; }
.partner-dialog-brand { min-height:290px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px 24px; background:#f5f5f5; position:relative; gap:28px; align-self:start; }
.partner-dialog-logo { display:block; width:100%; max-width:225px; height:110px; object-fit:contain; }
.partner-dialog-category { margin:0; max-width:200px; text-align:center; font-family:Inter,Arial,sans-serif; font-size:13px; line-height:1.5; color:#5d5b64; }
.partner-dialog-pixels { display:grid; grid-template:repeat(2,6px)/repeat(2,6px); gap:3px; }
.partner-dialog-pixels i { background:#00c9b2; }.partner-dialog-pixels i:nth-child(2) { background:#e8483f; grid-row:2;grid-column:2; }.partner-dialog-pixels i:nth-child(3) { background:#7752ff;grid-row:2;grid-column:1; }
.partner-dialog-role { margin:0 0 12px; color:#4834d7; font-size:15px; line-height:1.4; }
.partner-dialog-title { margin:0 0 20px; font-size:clamp(32px,4vw,48px); font-weight:500; line-height:1.05; letter-spacing:-.04em; overflow-wrap:anywhere; }
.partner-dialog-description { margin:0; font-family:Inter,Arial,sans-serif; font-size:16px; line-height:1.7; color:#4d5059; }
.partner-dialog-context { margin:26px 0; padding:20px 0; border-top:1px solid #e7e6ec; border-bottom:1px solid #e7e6ec; }
.partner-dialog-context h3 { margin:0 0 7px; font-size:18px; font-weight:500; }
.partner-dialog-context p { margin:0; font-family:Inter,Arial,sans-serif; font-size:13px; line-height:1.6; color:#64646d; }
.partner-dialog-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; }
.partner-dialog .partner-dialog-action,.partner-dialog .partner-dialog-enquire { --step:7px; display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:48px; padding:14px 22px; color:#fff; background:#5141ff; font:500 14px/1.4 Inter,Arial,sans-serif; text-decoration:none; border:0; clip-path:polygon(var(--step) 0,calc(100% - var(--step)) 0,calc(100% - var(--step)) var(--step),100% var(--step),100% calc(100% - var(--step)),calc(100% - var(--step)) calc(100% - var(--step)),calc(100% - var(--step)) 100%,var(--step) 100%,var(--step) calc(100% - var(--step)),0 calc(100% - var(--step)),0 var(--step),var(--step) var(--step)); }
.partner-dialog .partner-dialog-action[hidden] { display:none; }
.partner-dialog-enquire { min-height:44px; display:inline-flex; align-items:center; color:#3d35bb; font-size:14px; text-underline-offset:4px; }
.partner-dialog[open][data-pointer-open="true"] .partner-dialog-frame { animation:partner-enter 180ms cubic-bezier(.23,1,.32,1); }
@keyframes partner-enter { from { opacity:0; transform:translateY(10px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@media (max-width:650px) {
 .partner-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
 .partner-dialog-frame { max-height:calc(100dvh - 24px); --partner-step:8px; }
 .partner-dialog-header { padding:14px 18px 12px; }
 .partner-dialog-content { grid-template-columns:1fr; padding:20px; gap:24px; }
 .partner-dialog-brand { min-height:150px; padding:22px; gap:12px; }
 .partner-dialog-logo { width:210px; height:70px; }
 .partner-dialog-pixels { position:absolute; right:16px; bottom:16px; }
 .partner-dialog-category { font-size:12px; max-width:250px; }
 .partner-dialog-title { font-size:36px; }
 .partner-dialog-context { margin:22px 0; }
}
@media (prefers-reduced-motion:reduce) { .partner-dialog[open] .partner-dialog-frame { animation:none!important; }.partner-card[data-partner-profile] { transition:none; } }

.partner-dialog .partner-dialog-enquire { background:#eee8ff; color:#23134c; }
.partner-dialog .partner-dialog-action:focus-visible,.partner-dialog .partner-dialog-enquire:focus-visible { outline:3px solid #00e5cc; outline-offset:-5px; box-shadow:inset 0 0 0 2px #211857; }

/* Confirmed AACCI Gold Sponsor: Adelaide and Brisbane only. Preserve supplied colour artwork. */
.partner-grid .aacci-card > img { max-width:240px; height:auto; max-height:82px; filter:none; opacity:1; }
.partner-secondary.partner-secondary-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.partner-current { display:grid; grid-template-columns:263fr 939fr; gap:27px; align-items:center; margin-bottom:48px; }
.partner-current > p { margin:0; font-size:24px; line-height:1.35; }
.partner-current > .partner-card { grid-column:auto; }
.partner-history-title { margin:0 0 24px; font-size:26px; font-weight:500; line-height:1.2; }
@media(max-width:900px) {
 .partner-secondary.partner-secondary-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .partner-current { grid-template-columns:1fr 2fr; gap:18px; }
 .partner-current > p { font-size:20px; }
}
@media(max-width:700px) {
 .partner-secondary.partner-secondary-four > .partner-card:last-child { grid-column:auto; }
 .partner-current { grid-template-columns:1fr; gap:18px; margin-bottom:36px; }
 .partner-current > p { text-align:center; }
 .partner-history-title { font-size:22px; }
}
