/* Shared signup and button finish; existing page imagery stays unchanged. */
.header-play{order:2;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:5px 10px 5px 14px;border:1px solid #b89953;border-radius:8px;background:#214c3b;color:white;font-size:.875rem;font-weight:600;white-space:nowrap}.header-play img{width:30px;height:34px;object-fit:contain;image-rendering:pixelated}.header-play:hover{background:#2b5f43}.header-play+button.header-signup{margin-left:0}header>nav#navigation{order:1}
.button{border-color:#b49a5c;box-shadow:0 3px 10px #163b2814,inset 0 1px 0 #ffffff21}.button.primary{background:linear-gradient(155deg,#285541,#1b4233);border:1px solid #bba06a;box-shadow:0 6px 16px #163b2826,inset 0 1px 0 #ffffff20}.button.secondary,.button.light{border-color:#b49a5c;box-shadow:0 3px 10px #163b2810,inset 0 0 0 2px #b49a5c0b}.button:hover{box-shadow:0 7px 18px #163b2828;border-color:#d0b77b}.sleek-arrow{display:inline-block;position:relative;width:17px;height:17px;flex:0 0 17px;vertical-align:middle;margin-left:.25em;color:inherit}.button.primary .sleek-arrow{color:#fff}.header-signup{order:3;white-space:nowrap;min-height:44px;padding:10px 19px;background:#fff;border:1px solid #b89a5f;border-radius:7px;color:#214c3b;font-size:.875rem;font-weight:600;box-shadow:0 2px 7px #163b2810}header>nav{order:2}header>.brand{order:0}header>.menu-toggle{order:4}.signup-dialog{padding:0;width:min(850px,calc(100vw - 40px));max-height:calc(100dvh - 40px);border:1px solid #d7c9a9;border-radius:13px;background:#faf9f3;color:#173a2d;box-shadow:0 24px 80px #071c2266;overflow:auto}.signup-dialog::backdrop{background:#071d16a8;backdrop-filter:blur(3px)}.signup-layout{display:grid;grid-template-columns:44% 56%;min-height:570px}.signup-art{background:#0d251f;margin:0;min-height:100%;position:relative;overflow:hidden}.signup-art img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.signup-panel{padding:46px 36px 30px;position:relative}.signup-close{position:absolute;right:13px;top:10px;border:0;background:transparent;width:44px;height:44px;font:1.7rem Arial;color:#193a2f;z-index:2}.signup-panel h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:2.65rem;line-height:1.03;letter-spacing:-.035em;margin-bottom:18px}.signup-intro{font-size:1rem;line-height:1.5;margin-bottom:26px;color:#243e30}.signup-form label,.signup-form legend{font-size:.875rem;color:#193a2f;font-weight:500}.signup-form input[type=email]{display:block;width:100%;min-height:46px;border:1px solid #bfc6b7;border-radius:7px;background:#fffefa;padding:12px;font:1rem 'DM Sans',sans-serif;margin:7px 0 20px;color:#193a2f}.signup-form fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}.signup-form legend{padding:0;margin-bottom:10px}.signup-grades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.signup-chip{position:relative;display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 4px;border:1px solid #bcc5b5;border-radius:7px;background:#fffdf6;cursor:pointer}.signup-chip input{position:absolute;opacity:0;width:1px;height:1px}.signup-chip:has(input:checked){background:#214c3b;color:#fff;border-color:#bba06a}.signup-chip:has(input:focus-visible){outline:3px solid #bb944a;outline-offset:3px}.signup-chip span{font-size:.875rem}.signup-submit{width:100%;gap:10px;font-family:Georgia,serif;font-size:1rem}.signup-privacy{font-size:.75rem;text-align:center;line-height:1.5;margin-top:12px}.signup-availability{font-size:.8125rem;line-height:1.5;margin-top:15px;color:#52644f}.signup-availability a{text-decoration:underline;text-underline-offset:3px}.signup-status{font-size:.875rem;line-height:1.5;margin-top:12px;color:#734c18}.signup-status:empty{display:none}body.signup-open{overflow:hidden}
@media(max-width:1100px){header{gap:14px}.header-signup{order:2;margin-left:auto;padding:9px 14px}header>.menu-toggle{order:3}header>nav{order:4}.signup-dialog{width:min(800px,calc(100vw - 32px))}}
@media(max-width:600px){header{gap:10px;padding-inline:18px}.header-signup{font-size:.8125rem;padding:8px 12px}.signup-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:12px}.signup-layout{grid-template-columns:1fr;min-height:0}.signup-art{min-height:0;height:190px}.signup-art img{object-position:center 39%;height:100%;width:100%}.signup-panel{padding:26px 24px 24px}.signup-panel h2{font-size:2.45rem;max-width:320px;margin-bottom:14px}.signup-intro{margin-bottom:20px}.signup-close{position:fixed;position:absolute;top:10px;right:10px;color:#173a2d;background:#fff9efec;border:1px solid #c6b68d;border-radius:50%}.signup-panel{position:static}.signup-form input[type=email]{margin-bottom:18px}.signup-form fieldset{margin-bottom:18px}}
@media(max-width:380px){header>.brand{font-size:1.25rem}header>.brand small{font-size:.43rem}.header-signup{padding-inline:9px}.signup-panel{padding-inline:20px}.signup-art{height:155px}}
.signup-art picture{position:absolute;inset:0;display:block}.signup-art img{object-fit:cover;object-position:center}.menu-toggle{flex-shrink:0}.signup-mobile-note{display:none}
.signup-dialog .signup-art img{inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border-radius:0;object-fit:cover;object-position:center}
.signup-dialog.signup-art-safe-fit .signup-art{background:url('/assets/signup-duo-desktop.webp') center/100% 100% no-repeat}
.signup-dialog.signup-art-safe-fit .signup-art img{object-fit:contain}
.signup-dialog[open]{animation:signup-fade-in .32s ease-out both}.signup-dialog[open]::backdrop{animation:signup-backdrop-in .32s ease-out both}
@keyframes signup-fade-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes signup-backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-width:600px){
 .signup-dialog{margin:auto;max-height:calc(var(--signup-viewport,100dvh) - 24px);overflow:hidden}
 .signup-layout{min-height:0;grid-template-rows:auto auto}
 .signup-art{height:auto;aspect-ratio:2.6/1;min-height:0}
 .signup-dialog .signup-art img{object-fit:cover;object-position:center}
 .signup-panel{padding:20px 22px 21px}
 .signup-panel h2{font-size:2rem;line-height:1;max-width:none;margin-bottom:8px}
 .signup-intro{font-size:.875rem;line-height:1.4;margin-bottom:12px}
 .signup-form input[type=email]{min-height:42px;height:42px;padding:9px 11px;margin:5px 0 12px}
 .signup-form legend{margin-bottom:7px;font-size:.8125rem}
 .signup-form fieldset{margin-bottom:12px}
 .signup-grades{gap:6px}
 .signup-chip{min-height:38px;padding:6px 3px}
 .signup-chip span{font-size:.8125rem}
 .signup-submit{min-height:44px;padding:10px 12px;font-size:1rem}
 .signup-privacy{font-size:.6875rem;line-height:1.35;margin-top:7px}
 .signup-availability{font-size:.75rem;line-height:1.35;margin-top:7px}
 .signup-desktop-note{display:none}.signup-mobile-note{display:inline}
 .signup-status{font-size:.75rem;line-height:1.35;margin-top:7px}
 .signup-close{position:absolute;width:36px;height:36px;top:8px;right:8px}
 .signup-dialog.signup-needs-room{overflow:auto}
 .signup-dialog.signup-compact .signup-intro{display:none}
 .signup-dialog.signup-compact .signup-panel{padding:12px 20px}
 .signup-dialog.signup-compact .signup-panel h2{font-size:1.8rem;margin-bottom:8px}
 .signup-dialog.signup-compact .signup-form fieldset{margin-bottom:8px}
 .signup-dialog.signup-compact .signup-form input[type=email]{margin-bottom:8px}
}
@media(min-width:601px){.signup-panel{padding-top:50px;padding-bottom:36px}.signup-intro{margin-bottom:30px}.signup-form input[type=email]{margin-bottom:26px}.signup-form fieldset{margin-bottom:28px}.signup-grades{gap:10px}.signup-chip{min-height:46px}.signup-privacy{margin-top:16px}}
@media(max-width:1100px){.header-play{order:1;margin-left:auto}header>nav#navigation{order:4}.header-play+button.header-signup{order:2;margin-left:0}header>.menu-toggle{order:3}}
@media(max-width:600px){header{padding-inline:10px;gap:6px}header>.brand{font-size:1.2rem}header>.brand small{font-size:.38rem;letter-spacing:.16em}.header-play{padding:5px 5px 5px 9px;gap:1px;font-size:.75rem}.header-play img{width:24px;height:32px}.header-play+button.header-signup{font-size:.75rem;padding:8px}.menu-toggle{width:38px;min-width:38px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}.signup-dialog[open],.signup-dialog[open]::backdrop{animation:none}}
.signup-submit:disabled{opacity:.65;cursor:not-allowed}.signup-form input:disabled{background:#eeeee8;color:#5b665f}.signup-keep{display:block;margin:10px auto 0;background:none;border:0;text-decoration:underline;font:inherit;color:#244a38;cursor:pointer}.signup-form #signup-browse{display:block;text-align:center}.signup-dialog.signup-compact .signup-privacy{display:block;font-size:14px}.signup-dialog.signup-needs-room .signup-panel{overflow:visible}
.signup-dialog .signup-privacy{font-size:14px}.signup-dialog{overflow-y:auto}

.signup-consent{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;line-height:1.5}.signup-consent input{flex:0 0 22px;width:22px;height:22px;margin-top:2px}.signup-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.signup-privacy{font-size:.875rem}.signup-privacy a{text-decoration:underline}
