/* RVAClassic — Lavender / Obsidian. Portfolio-only brand layer. */
:root { --rva-lavender:#c3a1f2; --rva-purple:#8551bf; --rva-white:#f4f4f6; --rva-obsidian:#0a0a0c; --rva-graphite:#1f1f23; --rva-purple-on-light:#7239a8; }
html,body { background:var(--rva-obsidian); }
.p-body { --p-bg:var(--rva-obsidian); --p-ink:var(--rva-white); --p-muted:#aeb3bc; --p-line:#303238; --p-accent:var(--rva-lavender); }
.p-skip { background:var(--rva-white); color:var(--rva-obsidian); }
.p-identity { position:absolute; z-index:5; top:24px; left:24px; display:block; width:64px; height:64px; border-radius:50%; }
.p-identity img { display:block; width:100%; height:100%; }
.p-identity:focus-visible,.p-brand-kit-link:focus-visible { outline:3px solid var(--rva-lavender); outline-offset:5px; }
.p-brand-kit-link { position:absolute; z-index:5; top:30px; right:28px; color:var(--rva-white); font:400 12px/1.5 var(--p-sans); text-decoration:underline; text-underline-offset:4px; }
.p-brand-kit-link:hover { color:var(--rva-lavender); }
.p-video-one { background:#c4a5ed; color:#241235!important; }
.p-video-two { background:#ddd0f3; color:#29163f!important; }
.p-contact-button { border-color:var(--rva-lavender); background:var(--rva-purple); color:var(--rva-white)!important; }
.p-contact-button:hover { background:#733eaa; }
.p-services { background:var(--rva-white); color:var(--rva-obsidian); }
.p-services .p-contact-button { background:var(--rva-obsidian); border-color:var(--rva-obsidian); color:var(--rva-white)!important; }
.p-services .p-contact-button:hover { background:#3d2157; }
.p-services a:focus-visible { outline-color:var(--rva-purple-on-light); }
.p-grant-note { font-size:13px; }
.p-hackathon-catalog-sponsor { margin-top:5px; color:var(--p-accent); font-size:12px; line-height:1.5; }
.p-seasonal-ranks { margin-top:17px!important; color:#c6c9d0!important; font-size:15px!important; line-height:1.65; }
.p-brand-solana { border-left:0; padding-left:0; }
.p-press-image { width:100%; height:auto; aspect-ratio:2/1; object-fit:contain; padding:32px; background:#0a0a0c; border-bottom:1px solid var(--p-line); }
.p-creator-partners a,.p-experience-catalog li a { text-decoration-color:#7c688d; }
.p-interview-action,.p-build-visit { color:#d6c1f0; }
@media(max-width:1000px) {
  .p-press-image { padding:23px; }
}
@media(max-width:767px) {
  .p-identity { top:18px; left:16px; width:36px; height:36px; }
  .p-brand-kit-link { top:25px; right:18px; font-size:10px; }
  .p-press-image { padding:30px; }
}
@media(min-aspect-ratio:19/20) and (max-height:380px) {
  .p-identity { top:14px; left:14px; width:32px; height:32px; }
  .p-brand-kit-link { top:18px; right:18px; font-size:11px; }
}

/* Keep contact columns aligned instead of wrapping full labels arbitrarily. */
.p-contact-main { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:32px; }
.p-contact-main .p-display { min-width:0; }
.p-contact-main .p-contact-button { justify-self:end; }
.p-contact-actions { display:flex; flex-direction:column; gap:12px; align-items:stretch; }
.p-contact-actions .p-contact-button { width:100%; }
.p-contact-actions .p-contact-secondary { background:transparent; color:var(--rva-white)!important; border-color:var(--p-line); }
.p-contact-actions .p-contact-secondary:hover { background:#211b2b; }
.p-contact-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 32px; margin:34px 0 42px; }
.p-contact-links a { min-width:0; overflow-wrap:anywhere; text-decoration:none; }
.p-contact-links .p-contact-email { grid-column:1/-1; width:fit-content; max-width:100%; margin-bottom:6px; font-size:17px; }
.p-contact-label { display:block; margin-bottom:4px; color:var(--p-muted); font-size:11px; line-height:1.5; }
.p-contact-value { display:block; color:var(--p-ink); font-size:15px; line-height:1.5; }
.p-contact-links a:hover .p-contact-value { text-decoration:underline; text-underline-offset:4px; }
.p-footer-bottom { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:20px 32px; }
.p-footer-bottom>* { min-width:0; }
@media(max-width:767px) {
  .p-contact-main { grid-template-columns:1fr; gap:25px; }
  .p-contact-main .p-display { font-size:clamp(42px,11vw,78px); line-height:1; }
  .p-contact-main .p-contact-button { justify-self:start; }
  .p-contact-actions { max-width:100%; align-items:stretch; }
  .p-contact-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; margin:28px 0 36px; }
  .p-contact-links .p-contact-email { font-size:15px; }
  .p-contact-value { font-size:14px; }
  .p-footer-bottom { grid-template-columns:1fr 1fr; gap:16px; }
  .p-footer-bottom p { grid-column:1/-1; }
  .p-footer-bottom a:last-child { justify-self:end; }
}
