/* CPUC 2026 event page. Loads after site.css. The CPUC mark leads; Camelback edition accents (mesa, sun, saguaro) are allowed here only. */

.cpuc-head .nav { padding-left: 10px; }
.cpuc-head .brand-link img.icon { width: 42px; height: 42px; }
.cpuc-head .brand-link .event-name { font-family: var(--font-display); font-size: 18px; line-height: 1; }
.cpuc-head .brand-link .event-name small { display: block; font-family: var(--font-sans); font-weight: 700; font-size: 12px; letter-spacing: .06em; color: var(--ink-muted); margin-top: 4px; text-transform: uppercase; }
@media (max-width: 980px) { .cpuc-head .nav__links .nav__hide-md { display: none; } }
@media (max-width: 720px) { .cpuc-head .brand-link .event-name small { display: none; } }
@media (max-width: 400px) { .cpuc-head .nav__links .nav__hide-xs { display: none; } }

/* Hero */
.chero { position: relative; }
.chero__art { position: relative; height: clamp(220px, 34vw, 420px); background: var(--blue) url("../brand/cpuc26-camelback-hero.webp") 50% 100% / cover no-repeat; border-top: var(--stroke) solid var(--navy); border-bottom: var(--stroke) solid var(--navy); }
.chero__fountain { position: absolute; left: var(--gutter); top: clamp(16px, 3vw, 32px); height: clamp(16px, 2vw, 22px); width: auto; }
.chero__mark { position: absolute; right: max(var(--gutter), calc((100% - var(--wrap)) / 2)); bottom: calc(clamp(200px, 30vw, 380px) * -0.42); width: clamp(200px, 30vw, 380px); transform: rotate(-3deg); z-index: 2; }
.chero__body { padding-top: clamp(28px, 4vw, 48px); padding-bottom: clamp(40px, 6vw, 72px); }
.chero__body > * { max-width: min(100%, 720px); }
.chero__body .fl-eyebrow { margin-bottom: 14px; }
.chero h1 { font-size: clamp(42px, 7vw, 96px); line-height: .92; max-width: 11ch; }
.chero__sub { margin-top: 18px; font-size: clamp(19px, 1.8vw, 23px); font-weight: 600; line-height: 1.4; max-width: 34em; }
.chero__when { margin-top: 16px; font-family: var(--font-display); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.chero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; align-items: center; }
@media (max-width: 760px) { .chero__mark { width: 240px; bottom: -96px; } .chero__body { padding-top: 116px; } }

.status-pill { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 16px 0 12px; border: var(--stroke) solid var(--navy); border-radius: var(--radius-pill); background: var(--surface-raised); font-weight: 700; font-size: 15px; box-shadow: var(--shadow-sticker-sm); }
.status-pill .dot { width: 12px; height: 12px; border-radius: 50%; background: var(--cpuc26-saguaro); border: 2px solid var(--navy); }
.status-pill[data-state="live"] .dot { background: var(--cpuc26-mesa); animation: pulse 1.6s ease-in-out infinite; }
@keyframes pulse { 50% { transform: scale(1.35); } }

/* Quick facts */
.facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 24px); }
.fact { background: var(--surface-raised); border: var(--stroke) solid var(--navy); border-radius: var(--radius-md); box-shadow: var(--shadow-sticker); padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.fact h3 { font-size: 22px; line-height: 1.1; }
.fact p { font-size: 15px; color: var(--ink-muted); line-height: 1.45; }
.fact .fl-tag { align-self: start; }
@media (max-width: 960px) { .facts { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .facts { grid-template-columns: 1fr; } }

/* Agenda */
.agenda-grid { display: grid; grid-template-columns: .85fr 1.1fr 1.1fr; gap: clamp(16px, 2vw, 24px); align-items: start; }
.agenda-grid .fl-agenda__head { background: var(--navy); }
.agenda-grid .day--arrive .fl-agenda__head { background: var(--cpuc26-saguaro); }
.agenda-grid .day--build .fl-agenda__head { background: var(--shade); }
.agenda-grid .day--show .fl-agenda__head { background: var(--navy); }
.fl-agenda__row .what { display: flex; flex-direction: column; gap: 6px; align-items: start; }
.fl-agenda__row .who { font-weight: 500; font-size: 14px; color: var(--ink-muted); }
.fl-agenda__row.is-now { background: var(--cpuc26-sun); }
.fl-agenda__row.is-now .fl-agenda__time { color: var(--navy); }
.now-badge { display: inline-block; font-family: var(--font-display); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; background: var(--navy); color: var(--cream); padding: 3px 8px; border-radius: var(--radius-pill); }
.mat-link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; padding: 3px 10px; border: 2px solid var(--navy); border-radius: var(--radius-pill); background: var(--cpuc26-sun); color: var(--navy); text-decoration: none; }
.mat-link:hover { background: var(--navy); color: var(--cream); }
.agenda-note { margin-top: 18px; font-style: italic; color: var(--ink-muted); font-size: 15px; }
.bring { margin-top: clamp(16px, 2vw, 24px); }
.bring ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; }
.bring li { position: relative; padding-left: 30px; font-size: 16px; line-height: 1.4; }
.bring li::before { content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border: var(--stroke) solid var(--navy); border-radius: 5px; background: var(--cream); }
@media (max-width: 1000px) { .agenda-grid { grid-template-columns: 1fr 1fr; } .agenda-grid .day--arrive-wrap { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; } .agenda-grid .day--arrive-wrap .bring { margin-top: 0; } }
@media (max-width: 680px) { .agenda-grid, .agenda-grid .day--arrive-wrap { grid-template-columns: 1fr; } .fl-agenda__row { grid-template-columns: 76px 1fr; padding: 11px 16px; } .fl-agenda__head { padding: 14px 16px; } }

/* Materials */
.mat-empty { display: grid; grid-template-columns: auto 1fr; gap: clamp(20px, 3vw, 36px); align-items: center; padding: clamp(24px, 4vw, 40px); }
.mat-empty img { width: clamp(90px, 12vw, 150px); }
.mat-empty h3 { font-size: clamp(24px, 2.8vw, 34px); }
.mat-empty p { margin-top: 10px; font-size: 17px; max-width: 46em; }
@media (max-width: 640px) { .mat-empty { grid-template-columns: 1fr; } }
.mat-sessions { display: grid; gap: 20px; margin-top: 28px; }
.mat-session { display: grid; grid-template-columns: 240px 1fr; gap: 0; background: var(--surface-raised); border: var(--stroke) solid var(--navy); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sticker-sm); }
.mat-session__when { padding: 18px 20px; background: var(--surface-sunken); border-right: var(--stroke) solid var(--navy); display: flex; flex-direction: column; gap: 6px; }
.mat-session__when .d { font-family: var(--font-display); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-muted); }
.mat-session__when h3 { font-size: 20px; line-height: 1.15; }
.mat-session__items { padding: 10px 20px; display: grid; }
.mat-item { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line-soft); }
.mat-item:first-child { border-top: 0; }
.mat-item .t { font-weight: 700; font-size: 16px; }
.mat-item .d { font-size: 14px; color: var(--ink-muted); }
.mat-item .fl-tag { font-size: 10px; padding: 5px 9px; box-shadow: none; border-width: 2px; }
.mat-pending { font-size: 15px; color: var(--ink-muted); font-weight: 600; padding: 12px 0; }
@media (max-width: 760px) { .mat-session { grid-template-columns: 1fr; } .mat-session__when { border-right: 0; border-bottom: var(--stroke) solid var(--navy); } .mat-item { grid-template-columns: 1fr auto; } .mat-item .fl-tag { grid-column: 1 / -1; justify-self: start; } }

/* Place */
.place { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(24px, 4vw, 56px); align-items: start; }
.place__body p { font-size: 18px; max-width: 38em; }
.place__body p + p { margin-top: 14px; }
.place__card { display: flex; flex-direction: column; gap: 14px; }
.place__card .fl-tag { align-self: start; }
.place__card .addr { font-family: var(--font-display); font-size: 22px; line-height: 1.2; }
.place__card .btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.travel { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 12px; }
.travel li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; font-size: 17px; align-items: start; }
.travel li .ic { width: 30px; height: 30px; border: var(--stroke) solid var(--navy); border-radius: 8px; background: var(--cpuc26-sun); display: grid; place-items: center; font-family: var(--font-display); font-size: 14px; }
@media (max-width: 860px) { .place { grid-template-columns: 1fr; } }

/* Team */
.team { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
@media (max-width: 560px) { .team { grid-template-columns: 1fr; } }
.person { display: flex; flex-direction: column; gap: 12px; padding: 22px; }
.person__top { display: flex; align-items: center; gap: 14px; }
.person__top .fl-host__mark { width: 56px; height: 56px; font-size: 19px; }
.person__photo { flex: none; width: 64px; height: 64px; border-radius: 50%; border: var(--stroke) solid var(--navy); object-fit: cover; background: var(--surface-sunken); box-shadow: 3px 3px 0 0 var(--navy); }
.person__top { align-items: center; }
.person:nth-child(4n+2) .fl-host__mark { background: var(--cpuc26-sun); }
.person:nth-child(4n+3) .fl-host__mark { background: var(--cream); }
.person:nth-child(4n+4) .fl-host__mark { background: var(--cpuc26-mesa); }
.person h3 { font-size: 22px; line-height: 1.1; }
.person .role { font-size: 15px; color: var(--ink-muted); font-weight: 600; margin-top: 4px; }
.person .ask { font-size: 15px; line-height: 1.45; }
.person a.mail { margin-top: auto; font-weight: 700; font-size: 15px; word-break: break-all; }
.team-note { margin-top: 22px; font-size: 16px; color: var(--ink-muted); }

/* FAQ */
.faq { display: grid; gap: 14px; max-width: 880px; }
.faq details { background: var(--surface-raised); border: var(--stroke) solid var(--navy); border-radius: var(--radius-md); box-shadow: var(--shadow-sticker-sm); }
.faq summary { cursor: pointer; list-style: none; padding: 18px 56px 18px 20px; font-family: var(--font-display); font-size: 19px; line-height: 1.2; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border: var(--stroke) solid var(--navy); border-radius: 50%; display: grid; place-items: center; font-size: 18px; line-height: 1; background: var(--cpuc26-sun); }
.faq details[open] summary::after { content: "\2013"; }
.faq details > div { padding: 0 20px 20px; font-size: 17px; }
.faq details > div p + p { margin-top: 10px; }

/* Footer variant */
.site-foot--cpuc .foot__brand img { width: 240px; }
