[hidden]{display:none!important}.fair-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);padding-block:4rem;align-items:start}.fair-intro h1{font-size:clamp(2.6rem,5vw,4.3rem);margin-top:1rem}.fair-free{color:var(--success);font-weight:800}.fair-event{border-left:4px solid var(--gold);padding:1.4rem 1.5rem;background:var(--mist);margin-block:2rem}.fair-event h2{font-size:1.5rem}.fair-card{padding:clamp(1.3rem,3vw,2.4rem);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);background:#fff}.fair-card h2{font-size:1.8rem}.fair-notice{padding:1rem;background:#fff8e9;border:1px solid var(--gold);border-radius:10px}.fair-card fieldset{border:0;padding:0;margin:1.5rem 0 0;min-width:0}.fair-card .consent{font-size:.92rem;font-weight:500;line-height:1.55}.fair-card input[type=checkbox]{width:22px;height:22px;flex-shrink:0}.fair-card input{font-size:16px}.fair-card button:disabled{opacity:.6;cursor:wait;transform:none}.fair-success{background:#e6f6ed;color:#0d5033;padding:1.2rem;border-radius:12px}.fair-error{background:#fff0f0;color:#8d1d1d;padding:1.2rem;border-radius:12px;margin-top:1rem}.fair-footer{padding-block:2rem;font-size:.85rem;border-top:1px solid var(--line)}.trap,.sr-only{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.fair-phone{font-weight:700}.fair-card .form-note{font-size:.88rem}.fair-rules{max-width:760px;padding-block:3rem}.fair-rules h1{font-size:2.5rem}@media(max-width:760px){.fair-layout{grid-template-columns:1fr;padding-block:2rem;gap:1rem}.fair-intro h1{font-size:2.8rem}.fair-event{margin-block:1.5rem}.fair-card .form-grid{grid-template-columns:1fr}.fair-phone{font-size:.85rem}.nav-wrap{gap:.8rem}.brand strong{font-size:1.1rem}.brand span{font-size:.56rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Keep the entry form ahead of the detailed schedule on phones. */
.fair-layout{row-gap:1.25rem}
.fair-intro{grid-column:1;grid-row:1}
.fair-card{grid-column:2;grid-row:1/span 2}
.fair-details{grid-column:1;grid-row:2}
.fair-details .fair-event{margin-top:0}
.fair-card input,.fair-card button{min-height:48px}
.fair-card input[type=checkbox]{min-height:22px}
.fair-card .consent{padding-block:.5rem}
.fair-card input,.fair-success,.fair-error{scroll-margin-top:100px}
@media(max-width:760px){
 .fair-intro{grid-column:1;grid-row:1}
 .fair-card{grid-column:1;grid-row:2}
 .fair-details{grid-column:1;grid-row:3}
 .fair-intro h1{font-size:clamp(2rem,8.2vw,2.7rem);line-height:1.08}
 .fair-intro .lead{font-size:1.05rem}
 .fair-layout{padding-top:1.4rem}
 .fair-card{padding:1.2rem}
 .fair-card h2{font-size:1.5rem}
 .fair-notice{font-size:.95rem}
}
@media(max-width:360px){.fair-phone{display:none}}
