:root{
  --white:#ffffff;
  --black:#000000;
  --gold:#D4AF37;
  --muted:#f4f4f4;
  --card-shadow: 0 6px 22px rgba(0,0,0,0.08);
  --radius:14px;
  --maxWidth:1100px;
  --fontMain: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:var(--fontMain);background:var(--muted);color:var(--black);-webkit-font-smoothing:antialiased}
a{color:var(--black);text-decoration:none}
.container{max-width:var(--maxWidth);margin:28px auto;padding:0 18px}
.nav{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:var(--white);border-bottom:4px solid var(--gold)}
.nav .brand{font-weight:700;letter-spacing:0.4px}
.nav .nav-links a{margin-left:18px}
.nav .cta{background:var(--gold);padding:8px 12px;border-radius:8px;color:var(--black);font-weight:600}

.hero{padding:34px 18px;text-align:center;background:linear-gradient(180deg,var(--white),#fff);border-radius:var(--radius);margin:18px}
.hero-inner h1{font-size:28px;margin:0}
.subtitle{color:#222;opacity:.9;margin-top:6px}
.eyebrow{margin-top:10px;color:var(--gold);font-weight:700}

.card{background:var(--white);padding:20px;border-radius:var(--radius);box-shadow:var(--card-shadow);margin-bottom:18px}
.small{padding:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.button{background:var(--gold);border:0;padding:12px 14px;border-radius:12px;font-weight:700;cursor:pointer}
.button.large{padding:16px 22px;font-size:18px}
input,button,textarea{font-size:16px}
label{display:block;margin-bottom:12px;font-weight:700}
input[type="file"]{padding:8px}
.alert{background:#fff3cd;border-left:6px solid var(--gold);padding:10px;border-radius:8px;margin-bottom:12px}

.qr{width:220px;display:block;margin:8px auto;border-radius:10px}
.qr-large{width:320px;display:block;margin:6px auto;border-radius:10px}

.groups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.group-card{background:#fff;padding:10px;border-radius:10px;min-height:100px;box-shadow:0 6px 12px rgba(0,0,0,0.04)}
.example-bracket{padding:12px;background:#fff;border-radius:10px}

.footer{text-align:center;padding:18px;color:#444;margin-top:18px}

/* Morph (subtle) — elder friendly & reduced motion */
.morph{border-radius:18px;transition:box-shadow .35s ease,transform .25s ease}
.morph:hover{box-shadow:0 18px 44px rgba(0,0,0,0.09);transform:translateY(-6px)}

/* Accessibility: enlarge clickable items on small screens */
@media (max-width:600px){
  .nav .nav-links a{display:none}
  .hero-inner h1{font-size:22px}
  .button.large{width:100%}
}

/* Reduced-motion preference respect */
@media (prefers-reduced-motion: reduce){
  .morph{transition:none}
}
