:root {
	--body-font-family: 'Manrope', Arial, sans-serif;
	--alt-heading-font-family: 'Lora', sans-serif;
	--alt2-heading-font-family: 'Yuji Syuku', sans-serif;
	--heading-font-family: 'Archivo Black', Arial, sans-serif;
	--base-body-font-size: 1.2rem;
	--base-heading-font-size: 1.5rem;
	--base-subheading-font-size: 1.3rem;
	--base-line-height: 1.5;
	--color9:#ffffff;
	--color0:#000000;
	--color1:#004F85; /* dark blue */
	--color2:#3f88c5; /* blue */
	--color3:#e2754a; /* rust */
	--color4:#d00000; /* red */
	--color5:#8CC084; /* green */
	--color6:#ffba08; /* yellow */
	--color7:#fdf0d5; /* tan */
	--color8:#792359; /* purple */
	--aba-ink:#171714;
	--aba-paper:#f2ecdf;
	--aba-cream:#fffaf0;
	--aba-red:#a53d34;
	--aba-blue:#173f63;
	--aba-gold:#d8a43b;
	--aba-line:rgba(23,23,20,.18);
}
html {scroll-behavior:smooth;}
body {-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;font-family:var(--body-font-family);margin:0;padding:0;overflow-x:hidden;background:var(--aba-paper);color:var(--aba-ink);}
h1,h2,h3,h4,h5,h6 {font-family:var(--heading-font-family);}
:focus-visible {outline:3px solid var(--aba-gold);outline-offset:3px;}
.skip-link {position:fixed;left:16px;top:-60px;z-index:1001;background:var(--aba-ink);color:#fff;padding:12px 18px;text-decoration:none;font-weight:800;}
.skip-link:focus {top:16px;}
.site-nav {box-sizing:border-box;width:100%;height:92px;padding:0 clamp(22px,5vw,78px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.22);background:var(--aba-blue);color:#fff;position:relative;z-index:10;}
.brand {display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;text-transform:uppercase;font-family:var(--heading-font-family);font-size:.82rem;line-height:1;letter-spacing:.1em;}
.brand img {width:58px;height:58px;border-radius:50%;mix-blend-mode:multiply;}
.brand strong {display:block;font-size:1.28rem;letter-spacing:.04em;}
.brand:visited {color:#fff;}
.nav-links {display:flex;align-items:center;gap:clamp(20px,3vw,48px);}
.nav-links a {color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.15em;text-decoration:none;text-transform:uppercase;}
.nav-links a:visited {color:#fff;}
.nav-links a:not(.nav-discord):hover {color:#efc968;}
.nav-links .nav-discord {border:1px solid #fff;padding:13px 18px;box-shadow:none;transition:background .15s,color .15s;}
.nav-links .nav-discord:hover {background:#fff;color:var(--aba-blue);}
.nav-links .nav-login {border:1px solid rgba(255,255,255,.55);padding:13px 18px;}

.hero {min-height:calc(100vh - 92px);box-sizing:border-box;display:grid;grid-template-columns:.82fr 1.18fr;align-items:stretch;padding:0;position:relative;overflow:hidden;border-bottom:3px solid var(--aba-ink);background:var(--aba-cream);}
.hero-copy {grid-column:2;grid-row:1;position:relative;z-index:2;max-width:none;padding:clamp(70px,7vw,120px);display:flex;flex-direction:column;justify-content:center;background-image:linear-gradient(rgba(23,23,21,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(23,23,21,.07) 1px,transparent 1px);background-size:46px 46px;}
.eyebrow {display:flex;align-items:center;gap:11px;margin:0 0 24px;text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.16em;}
.eyebrow > span {display:inline-block;width:30px;height:3px;background:var(--aba-red);}
.hero h1,.section-heading h2,.randomizer-copy h2,.community-section h2 {font-weight:400;text-transform:uppercase;letter-spacing:.025em;line-height:.9;margin:0;}
.hero h1,.section-heading h2,.randomizer-copy h2,.community-section h2,.format-body h3 {max-width:100%;overflow-wrap:break-word;text-wrap:balance;}
.hero h1 {font-size:clamp(3.6rem,5.4vw,6.5rem);}
.hero h1 em,.community-section h2 em {color:var(--aba-red);font-style:normal;white-space:normal;}
.hero-intro {max-width:640px;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.7;margin:36px 0 32px;color:#494740;background:var(--aba-cream);padding:10px 12px;margin-left:-12px;}
.hero-actions,.community-actions {display:flex;gap:14px;flex-wrap:wrap;}
.aba-button {box-sizing:border-box;display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:24px;padding:15px 22px;border:1px solid var(--aba-ink);border-radius:0;background:transparent;color:var(--aba-ink);font-family:var(--body-font-family);font-size:.79rem;font-weight:800;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.aba-button-primary,.aba-button-primary:visited {background:var(--aba-ink);color:#fff;box-shadow:none;}
.aba-button-primary:hover {background:var(--aba-blue);border-color:var(--aba-blue);color:#fff;}
.aba-button-secondary:hover {background:#fff;}
.hero-note {margin:26px 0 0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.hero-note span {color:var(--aba-red);margin-right:6px;}
.hero-visual {grid-column:1;grid-row:1;display:flex;justify-content:center;align-items:center;padding:clamp(40px,5vw,80px);position:relative;z-index:1;background:var(--aba-paper);border-right:3px solid var(--aba-ink);}
.hero-logo-frame {width:100%;display:flex;align-items:center;justify-content:center;}
.hero-logo-frame img {width:min(100%,620px);height:auto;object-fit:contain;mix-blend-mode:multiply;}
.court-mark {position:absolute;border:1px solid var(--aba-line);border-radius:50%;pointer-events:none;}
.court-mark-one {width:400px;height:400px;left:-260px;top:18%;}
.court-mark-two {width:780px;height:780px;right:-570px;bottom:-390px;}

.principles {display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--aba-line);background:var(--aba-cream);}
.principles > div {padding:36px clamp(22px,4vw,62px);display:flex;align-items:flex-start;gap:20px;border-right:1px solid var(--aba-line);}
.principles > div:last-child {border-right:0;}
.principles strong {font-family:var(--heading-font-family);color:var(--aba-red);font-size:1rem;}
.principles span {font-size:.8rem;line-height:1.45;color:#625f58;}
.principles b {display:block;margin-bottom:4px;color:var(--aba-ink);text-transform:uppercase;letter-spacing:.06em;}

.formats-section {padding:clamp(80px,9vw,150px) clamp(22px,6vw,96px);}
.section-heading {display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:60px;}
.section-heading h2 {font-size:clamp(3.5rem,7vw,7.4rem);}
.section-heading > p {max-width:520px;margin:0 0 8px;font-size:1rem;line-height:1.7;color:#5d5a53;}
.format-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.format-card {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);min-height:390px;background:var(--aba-cream);border:1px solid var(--aba-ink);overflow:hidden;}
.format-image {min-height:300px;position:relative;overflow:hidden;background:var(--aba-blue);}
.format-image img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.format-image:hover img {transform:scale(1.025);}
.format-number {position:absolute;top:14px;left:14px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--aba-paper);border:1px solid var(--aba-ink);color:var(--aba-ink);font-family:var(--heading-font-family);font-size:.8rem;}
.format-body {display:flex;flex-direction:column;align-items:flex-start;padding:32px 28px;}
.format-tags {display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px;}
.format-tags span {border:1px solid var(--aba-line);padding:5px 8px;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.format-body h3 {margin:0 0 14px;font-size:clamp(1.7rem,2.4vw,2.5rem);line-height:1;text-transform:uppercase;letter-spacing:.02em;}
.format-body p {margin:0 0 28px;color:#5d5a53;font-size:.88rem;line-height:1.58;}
.text-link {margin-top:auto;border-bottom:1px solid var(--aba-ink);padding-bottom:4px;color:var(--aba-ink);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;}
.text-link:visited {color:var(--aba-ink);}
.text-link span {display:inline-block;margin-left:8px;transition:transform .15s;}
.text-link:hover span {transform:translateX(4px);}

.randomizer-section {background:var(--aba-blue);color:#fff;padding:clamp(70px,9vw,140px) clamp(22px,8vw,130px);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,9vw,150px);align-items:center;position:relative;overflow:hidden;}
.randomizer-section:after {content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(255,255,255,.14);border-radius:50%;left:-300px;bottom:-250px;}
.eyebrow-light > span {background:var(--aba-gold);}
.randomizer-copy h2 {font-size:clamp(3.8rem,6.5vw,7rem);}
.randomizer-copy > p:not(.eyebrow) {max-width:560px;margin:30px 0;color:rgba(255,255,255,.72);line-height:1.7;}
.aba-button-light {border-color:#fff;background:#fff;color:var(--aba-blue);}
.aba-button-light:hover {background:var(--aba-gold);border-color:var(--aba-gold);color:var(--aba-ink);}
.randomizer-demo {background:var(--aba-paper);color:var(--aba-ink);border:1px solid #fff;box-shadow:none;}
.randomizer-topline {padding:16px 20px;display:flex;justify-content:space-between;border-bottom:1px solid var(--aba-ink);font-size:.68rem;font-weight:800;letter-spacing:.14em;}
.live-dot:before {content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--aba-red);margin-right:7px;}
.randomizer-demo ol {list-style:none;margin:0;padding:0;}
.randomizer-demo li {display:grid;grid-template-columns:72px 1fr;align-items:center;border-bottom:1px solid var(--aba-line);padding:24px 28px;}
.randomizer-demo li > span {font-family:var(--heading-font-family);font-size:1.5rem;color:var(--aba-red);}
.randomizer-demo li strong {display:block;font-family:var(--heading-font-family);font-size:1rem;text-transform:uppercase;letter-spacing:.04em;}
.randomizer-demo li small {display:block;margin-top:4px;color:#67645d;font-size:.78rem;}
.proof-strip {margin:20px;background:var(--aba-ink);color:#fff;padding:15px 18px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.proof-strip span {color:var(--aba-gold);margin-right:8px;}

.community-section {padding:clamp(90px,10vw,170px) 22px;text-align:center;position:relative;}
.community-logo {width:110px;height:110px;margin:0 auto 28px;border:1px solid var(--aba-ink);border-radius:50%;overflow:hidden;background:#fff;}
.community-logo img {width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;}
.community-section .eyebrow {justify-content:center;}
.community-section h2 {font-size:clamp(4.1rem,8.4vw,9rem);}
.community-section > p:not(.eyebrow) {max-width:570px;margin:34px auto 30px;color:#5d5a53;line-height:1.65;}
.community-actions {justify-content:center;}

@media (max-width: 1180px) {
	.format-card {grid-template-columns:1fr;}
	.format-image {aspect-ratio:16/9;min-height:0;}
	.format-body {min-height:250px;}
}

@media (max-width: 900px) {
	.hero {grid-template-columns:1fr;gap:0;min-height:auto;}
	.hero-copy {max-width:none;}
	.hero-copy {grid-column:1;grid-row:1;padding:80px clamp(24px,8vw,70px);}
	.hero-visual {grid-column:1;grid-row:2;padding:60px 12vw;border-right:0;border-top:3px solid var(--aba-ink);}
	.hero-logo-frame {max-width:560px;}
	.principles {grid-template-columns:1fr;}
	.principles > div {border-right:0;border-bottom:1px solid var(--aba-line);}
	.principles > div:last-child {border-bottom:0;}
	.section-heading {grid-template-columns:1fr;gap:24px;}
	.format-grid {grid-template-columns:1fr;}
	.randomizer-section {grid-template-columns:1fr;}
}

@media (max-width: 680px) {
	.site-nav {height:76px;padding:0 16px;}
	.brand {font-size:.8rem;gap:8px;}
	.brand strong {font-size:1.15rem;}
	.brand img {width:46px;height:46px;}
	.nav-links > a:not(.nav-discord):not(.nav-login) {display:none;}
	.nav-links {gap:10px;}
	.nav-links .nav-login {padding:10px 12px;font-size:.68rem;letter-spacing:.08em;}
	.nav-links .nav-discord {padding:10px 12px;font-size:.68rem;box-shadow:none;}
	.hero {padding:0;gap:0;}
	.hero-copy {padding:74px 20px 68px;}
	.hero h1 {font-size:clamp(2.85rem,12vw,3.65rem);line-height:.98;letter-spacing:.015em;}
	.hero h1 em,.community-section h2 em {white-space:normal;}
	.hero-intro {margin-top:26px;}
	.hero-actions,.community-actions {flex-direction:column;}
	.aba-button {width:100%;}
	.hero-visual {padding:46px 9vw;}
	.hero-logo-frame {width:100%;}
	.formats-section {padding-left:16px;padding-right:16px;}
	.section-heading h2 {font-size:clamp(2.7rem,11vw,3.35rem);line-height:.96;}
	.format-grid {gap:18px;}
	.format-body {min-height:0;padding:26px 22px 30px;}
	.format-body h3 {font-size:2.35rem;}
	.randomizer-section {padding-left:20px;padding-right:20px;gap:50px;}
	.randomizer-copy h2 {font-size:clamp(2.65rem,11vw,3.3rem);line-height:.96;}
	.randomizer-demo {box-shadow:none;}
	.randomizer-demo li {grid-template-columns:54px 1fr;padding:20px 16px;}
	.randomizer-demo li small {line-height:1.35;}
	.community-section h2 {font-size:clamp(2.65rem,11vw,3.35rem);line-height:.96;}
}

@media (max-width: 420px) {
	.site-nav {padding:0 12px;}
	.brand strong {font-size:1rem;}
	.nav-links .nav-discord {padding:9px 10px;font-size:.61rem;letter-spacing:.1em;}
	.hero-copy {padding:64px 16px 58px;}
	.hero h1 {font-size:clamp(2.55rem,12vw,3rem);}
	.hero-intro {font-size:.92rem;margin-left:0;padding:8px 0;}
	.formats-section {padding-left:12px;padding-right:12px;}
	.format-body {padding-left:18px;padding-right:18px;}
	.randomizer-section {padding-left:14px;padding-right:14px;}
	.randomizer-demo li {grid-template-columns:44px minmax(0,1fr);padding:18px 12px;}
	.randomizer-demo li > span {font-size:1.15rem;}
	.randomizer-demo li strong {font-size:.85rem;}
	.proof-strip {margin:12px;padding:13px 12px;font-size:.58rem;line-height:1.45;}
	.community-section {padding-left:16px;padding-right:16px;}
	.community-section h2 {font-size:clamp(2.35rem,11vw,2.8rem);}
}
.button {font-weight:700;display:block;border:2px solid var(--color3);padding:10px;color:var(--color3);text-decoration:none;text-transform:uppercase;text-align:center;border-radius:0px;}
.button:hover {background-color:var(--color3);color:#fff;}
footer {text-align:center;padding:20px 0;}

.contest-email-cta {padding:36px 20px;background:#f7f9fb;border-top:1px solid #e1e7ec;border-bottom:1px solid #e1e7ec;}
.contest-email-cta-inner {max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;}
.contest-email-cta h2 {margin:0;font-size:1.4rem;line-height:1.25;color:#17212b;}
.contest-email-open {width:auto;min-width:220px;background:#fff;cursor:pointer;font-family:var(--body-font-family);}
.contest-email-modal {position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;}
.contest-email-modal[aria-hidden="false"] {display:flex;}
.contest-email-modal-backdrop {position:absolute;inset:0;background:rgba(0,0,0,0.58);}
.contest-email-dialog {position:relative;z-index:1;width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;padding:26px;border-radius:6px;box-shadow:none;}
.contest-email-dialog h2 {margin:0 38px 20px 0;font-size:1.45rem;color:#17212b;}
.contest-email-close {position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:2rem;line-height:1;cursor:pointer;color:#555;}
.contest-email-form {display:grid;gap:16px;}
.contest-email-form label {display:grid;gap:6px;font-weight:700;color:#17212b;}
.contest-email-form input[type="text"],
.contest-email-form input[type="email"],
.contest-email-form select {box-sizing:border-box;width:100%;min-height:44px;border:1px solid #b7c3cc;border-radius:4px;padding:9px 10px;font:inherit;background:#fff;}
.contest-email-form fieldset {border:1px solid #d8e0e6;border-radius:6px;margin:0;padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;}
.contest-email-form legend {font-weight:700;color:#17212b;padding:0 6px;}
.contest-email-check {display:flex !important;grid-template-columns:none !important;align-items:center;gap:8px;font-weight:500 !important;}
.contest-email-check input {width:18px;height:18px;margin:0;}
.contest-email-actions {display:flex;justify-content:flex-start;}
.contest-email-actions .button {width:auto;background:#fff;cursor:pointer;font-family:var(--body-font-family);}
.contest-email-message {min-height:1.5em;margin:0;font-weight:700;color:#1f6f3d;}
.contest-email-message.is-error {color:var(--color4);}
.contest-email-modal-open {overflow:hidden;}
.contest-confirmation-page {min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:#f7f9fb;box-sizing:border-box;}
.contest-confirmation-panel {max-width:560px;background:#fff;border:1px solid #e1e7ec;border-radius:6px;padding:30px;text-align:center;box-shadow:none;}
.contest-confirmation-panel h1 {margin:0 0 12px;font-size:1.8rem;color:#17212b;}
.contest-confirmation-panel p {margin:0 0 18px;}
.contest-confirmation-panel .button {display:inline-block;width:auto;}

@media (max-width: 680px) {
	.contest-email-cta-inner {align-items:stretch;flex-direction:column;}
	.contest-email-open {width:100%;min-width:0;}
	.contest-email-form fieldset {grid-template-columns:1fr;}
}

/* ABA marketing theme overrides for the shared signup component. */
.contest-email-cta {padding:34px clamp(22px,6vw,96px);background:var(--aba-red);border:0;color:#fff;}
.contest-email-cta-inner {max-width:1400px;}
.contest-email-cta h2 {font-family:var(--heading-font-family);color:#fff;text-transform:uppercase;font-size:clamp(1.35rem,2.4vw,2rem);letter-spacing:.03em;}
.contest-email-open {background:#fff;border-color:#fff;color:var(--aba-ink);}
.contest-email-open:hover {background:var(--aba-paper);color:var(--aba-ink);}
.contest-email-dialog {border-radius:0;background:var(--aba-paper);border:1px solid var(--aba-ink);box-shadow:none;}
.contest-email-dialog h2 {font-family:var(--heading-font-family);font-size:1.65rem;line-height:1.1;text-transform:uppercase;letter-spacing:.025em;}
.contest-email-form input[type="text"],.contest-email-form input[type="email"],.contest-email-form select,.contest-email-form fieldset {border-radius:0;border-color:rgba(23,23,20,.32);}
.contest-email-actions .button {border-color:var(--aba-ink);background:var(--aba-ink);color:#fff;}
.contest-email-actions .button:hover {background:var(--aba-blue);}
footer {margin:0!important;padding:32px 22px;background:var(--aba-ink);color:rgba(255,255,255,.66);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;}
footer p {margin:0;}
