:root{--black:#07030d;--panel:rgba(10,7,25,.86);--gold:#ffd86b;--pink:#ff3ec8;--purple:#9b5cff;--blue:#37d7ff;--green:#6dff65;--orange:#ff8a00;--red:#ff304f;--text:#fff7df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:"EB Garamond",Georgia,serif;font-size:18px;background:radial-gradient(circle at 20% 15%,rgba(255,62,200,.24),transparent 28%),radial-gradient(circle at 80% 25%,rgba(55,215,255,.24),transparent 28%),radial-gradient(circle at 50% 95%,rgba(255,138,0,.25),transparent 30%),linear-gradient(135deg,#07030d 0%,#15002a 38%,#001b2f 72%,#08010e 100%);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background:repeating-linear-gradient(90deg,rgba(255,0,0,.08) 0 12px,rgba(255,154,0,.08) 12px 24px,rgba(255,255,0,.08) 24px 36px,rgba(0,255,0,.08) 36px 48px,rgba(0,120,255,.08) 48px 60px,rgba(160,0,255,.08) 60px 72px);mix-blend-mode:screen;opacity:.55;pointer-events:none;z-index:-3}body:after{content:"";position:fixed;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.75) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(255,215,0,.55) 0 1px,transparent 1.5px);background-size:90px 90px,130px 130px;animation:glitterDrift 12s linear infinite;pointer-events:none;opacity:.35;z-index:-2}@keyframes glitterDrift{from{background-position:0 0,0 0}to{background-position:180px 180px,-260px 260px}}.sparkle-layer{position:fixed;inset:0;pointer-events:none;z-index:4;background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.9) 0 1px,transparent 2px),radial-gradient(circle at 25% 70%,rgba(255,255,255,.8) 0 1px,transparent 2px),radial-gradient(circle at 70% 28%,rgba(255,255,255,.9) 0 1px,transparent 2px),radial-gradient(circle at 88% 82%,rgba(255,255,255,.8) 0 1px,transparent 2px);animation:sparklePulse 1.7s ease-in-out infinite alternate}@keyframes sparklePulse{from{opacity:.18;filter:drop-shadow(0 0 1px white)}to{opacity:.7;filter:drop-shadow(0 0 8px white)}}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto auto;gap:1.25rem;align-items:center;padding:.85rem clamp(1rem,3vw,3rem);background:rgba(0,0,0,.82);border-bottom:2px solid var(--gold);box-shadow:0 0 22px rgba(255,62,200,.55);backdrop-filter:blur(8px)}.brand-title{font-family:Cinzel,serif;font-size:clamp(2rem,4vw,3.6rem);font-weight:900;line-height:.9;background:linear-gradient(90deg,red,orange,yellow,lime,cyan,#6e73ff,violet);-webkit-background-clip:text;color:transparent;text-shadow:0 0 12px rgba(255,210,75,.55);letter-spacing:.02em}.brand-subtitle{color:var(--gold);font-family:Cinzel,serif;font-size:.9rem;letter-spacing:.12em}.nav{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.nav a{color:#fff;font-family:Cinzel,serif;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 0 8px currentColor}.nav a:nth-child(1){color:#ff9d00}.nav a:nth-child(2){color:#ff45d4}.nav a:nth-child(3){color:#76ff5b}.nav a:nth-child(4){color:#37d7ff}.crest{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;font-size:2rem;background:linear-gradient(#0008,#0008),linear-gradient(to bottom,#e40303 0 16.6%,#ff8c00 16.6% 33.2%,#ffed00 33.2% 49.8%,#008026 49.8% 66.4%,#24408e 66.4% 83%,#732982 83% 100%);border:3px solid var(--gold);box-shadow:0 0 18px var(--pink),inset 0 0 16px #000}.hero{position:relative;min-height:740px;display:grid;place-items:center;padding:6rem 1rem 4rem;text-align:center;background:radial-gradient(circle at 50% 60%,rgba(255,216,107,.22),transparent 24%),radial-gradient(circle at 50% 35%,rgba(155,92,255,.38),transparent 42%);overflow:hidden}.hero:before{content:"";position:absolute;inset:8% -10% auto -10%;height:310px;background:conic-gradient(from 270deg,red,orange,yellow,lime,cyan,blue,violet,red);opacity:.62;filter:blur(3px) drop-shadow(0 0 22px #fff);border-radius:50%;transform:rotate(-10deg);mask-image:linear-gradient(to bottom,transparent 0,#000 22%,#000 64%,transparent 100%)}.hero:after{content:"";position:absolute;bottom:0;width:100%;height:180px;background:radial-gradient(ellipse at 50% 100%,rgba(255,80,0,.55),transparent 68%),linear-gradient(to top,rgba(0,0,0,.75),transparent)}.pride-ribbon{position:absolute;top:5rem;width:130px;height:470px;border:3px solid var(--gold);box-shadow:0 0 22px rgba(255,216,107,.35);background:linear-gradient(to bottom,#e40303 0 16.6%,#ff8c00 16.6% 33.2%,#ffed00 33.2% 49.8%,#008026 49.8% 66.4%,#24408e 66.4% 83%,#732982 83% 100%);opacity:.86}.ribbon-left{left:clamp(1rem,5vw,5rem);transform:rotate(-4deg)}.ribbon-right{right:clamp(1rem,5vw,5rem);transform:rotate(4deg)}.hero-card{position:relative;z-index:1;width:min(960px,94vw);padding:clamp(2rem,4vw,4rem);background:linear-gradient(180deg,rgba(0,0,0,.58),rgba(22,2,40,.78));border:2px solid rgba(255,216,107,.72);box-shadow:0 0 40px rgba(255,62,200,.45),0 0 80px rgba(55,215,255,.22),inset 0 0 28px rgba(255,216,107,.12)}.eyebrow{font-family:Cinzel,serif;color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-weight:900}h1,h2,h3{font-family:Cinzel,serif;margin:0}h1{margin-top:.5rem;font-size:clamp(3rem,8vw,7.5rem);line-height:.88;text-transform:uppercase;text-shadow:0 0 14px rgba(255,255,255,.55),0 0 34px rgba(255,62,200,.55)}h1 span,.home-banner h2 span{background:linear-gradient(90deg,#ff3333,#ff9d00,#fff200,#45ff61,#31cfff,#7068ff,#ff4de3);-webkit-background-clip:text;color:transparent}.hero-subtitle{font-family:Cinzel,serif;color:var(--gold);font-size:clamp(1.2rem,2vw,1.7rem);font-weight:900;text-transform:uppercase}.hero-copy{font-size:clamp(1.25rem,2vw,1.65rem);max-width:700px;margin:1.5rem auto 0}.battlecry{color:#fff200;font-family:Cinzel,serif;font-weight:900;text-transform:uppercase;text-shadow:0 0 10px #ff4de3}.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem}.big-button,.secondary-button{display:inline-block;font-family:Cinzel,serif;font-weight:900;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;border-radius:8px}.big-button{color:#fff8cf;padding:.9rem 2.1rem;background:linear-gradient(90deg,#e40303,#ff8c00,#ffed00,#008026,#24408e,#732982);border:2px solid var(--gold);box-shadow:0 0 22px rgba(255,255,255,.45),inset 0 0 18px rgba(0,0,0,.45);text-shadow:0 2px 2px #000,0 0 8px #000;animation:buttonPulse 1.6s ease-in-out infinite alternate}.secondary-button{color:#fff;padding:.9rem 1.6rem;border:2px solid #ff4de3;background:rgba(0,0,0,.45);box-shadow:0 0 16px rgba(255,77,227,.4)}@keyframes buttonPulse{from{transform:scale(1);filter:saturate(1)}to{transform:scale(1.035);filter:saturate(1.35)}}.three-panels,.standards-grid{width:min(1180px,94vw);margin:2rem auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.panel,.home-banner,.join-box,.standards-grid article{background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(26,3,42,.9)),radial-gradient(circle at 50% 0,rgba(255,255,255,.16),transparent 30%);border:2px solid rgba(255,216,107,.7);box-shadow:0 0 22px rgba(255,62,200,.24),inset 0 0 20px rgba(255,255,255,.06)}.rainbow-frame{position:relative}.rainbow-frame:before{content:"";position:absolute;inset:-3px;z-index:-1;background:linear-gradient(120deg,red,orange,yellow,lime,cyan,blue,violet,red);filter:blur(6px);opacity:.65}.panel{padding:2rem;min-height:330px}.panel h2,.section-heading h2,.join-box h2{font-size:clamp(1.8rem,3vw,2.5rem);color:var(--gold);text-align:center;text-shadow:0 0 12px rgba(255,216,107,.55)}.heart-list,.star-list,.activity-list{list-style:none;padding:0;margin:1.3rem 0 0;font-size:1.35rem}.heart-list li,.activity-list li{margin:.65rem 0}.heart{display:inline-block;width:1.9rem;text-shadow:0 0 10px currentColor}.red{color:#ff304f}.orange{color:#ff8a00}.yellow{color:#ffed00}.green{color:#44ff55}.blue{color:#37d7ff}.purple{color:#d25cff}.promise-panel{text-align:center}.pride-medallion{width:110px;height:110px;margin:1.2rem auto;display:grid;place-items:center;font-size:3rem;border-radius:50%;border:3px solid var(--gold);background:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.25)),linear-gradient(to bottom,#e40303 0 16.6%,#ff8c00 16.6% 33.2%,#ffed00 33.2% 49.8%,#008026 49.8% 66.4%,#24408e 66.4% 83%,#732982 83% 100%);box-shadow:0 0 22px rgba(255,255,255,.4),inset 0 0 18px #000}.star-list{text-align:left;font-size:1.1rem}.star-list li{margin:.7rem 0}.star-list li:before{content:"✦";color:var(--gold);margin-right:.5rem;text-shadow:0 0 8px var(--gold)}.activity-list span{display:inline-block;width:2rem;color:var(--gold);text-shadow:0 0 8px var(--gold)}.home-banner{width:min(1180px,94vw);margin:2.25rem auto;padding:2.2rem;display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;text-align:center}.home-banner h2{font-size:clamp(2rem,4vw,4.5rem);line-height:1}.home-banner p,.join-box p{font-size:1.3rem;max-width:720px;margin:1rem auto 0}.neon-heart{font-size:clamp(3rem,6vw,5rem);color:#ff4de3;text-shadow:0 0 12px #ff4de3,0 0 28px #ff9d00;animation:heartBeat 1.2s ease-in-out infinite alternate}@keyframes heartBeat{from{transform:scale(1)}to{transform:scale(1.14)}}.standards{width:min(1180px,94vw);margin:3rem auto}.section-heading{text-align:center;margin-bottom:1.4rem}.standards-grid{width:100%;grid-template-columns:repeat(4,1fr)}.standards-grid article{padding:1.4rem}.standards-grid h3{color:#37d7ff;font-size:1.4rem}.join-box{width:min(900px,94vw);margin:3rem auto;padding:2.4rem;text-align:center}.big-button.huge{margin-top:1.4rem;font-size:1.3rem}footer{padding:1.4rem;text-align:center;border-top:2px solid var(--gold);background:rgba(0,0,0,.85);color:var(--gold);font-family:Cinzel,serif;letter-spacing:.12em;display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}@media(max-width:900px){.topbar{grid-template-columns:1fr;text-align:center}.crest{margin:0 auto}.hero{min-height:auto;padding-top:3rem}.pride-ribbon{opacity:.25}.three-panels,.standards-grid,.home-banner{grid-template-columns:1fr}.neon-heart{display:none}}

/* Submission / secondary page additions */
.submission-card {
  max-width: 900px;
}

.submission-image-wrap {
  width: min(560px, 90%);
  margin: 2rem auto;
  padding: 1rem;
  border-radius: 22px;
  background: rgba(0, 0, 0, 0.35);
  box-shadow: 0 0 35px rgba(255, 255, 255, 0.18);
}

.submission-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
  object-fit: contain;
}
