:root{
  --cream:#f7f3ec;
  --sand:#ebdfcb;
  --ink:#1d1f1c;
  --muted:#4a4d48;
  --forest:#2f3a32;
  --gold:#b08a4a;
  --gold-light:#dcc08f;
  --serif:Georgia,"Times New Roman",serif;
  --sans:"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--serif);line-height:1.5}
a{color:inherit}
.wrap{max-width:960px;margin:0 auto;padding:0 16px}
.center{text-align:center}

/* Header / logo */
header{padding:28px 0 8px;text-align:center}
.logo{display:inline-block;text-decoration:none}
.logo .name{display:block;font-size:56px;line-height:1;letter-spacing:-1px;font-weight:700}
.logo .sub{display:block;font-family:var(--sans);font-size:14px;letter-spacing:5px;font-weight:600;margin-top:4px}
.logo .rule{display:block;height:2px;background:var(--gold);margin:8px 0 6px}
.logo .tag{display:block;font-family:var(--sans);font-size:11px;letter-spacing:2px;font-weight:600}
.opening{font-size:40px;font-weight:700;color:var(--forest);margin:18px 0 16px;letter-spacing:1px}

.hero img{display:block;width:100%;height:auto;border-radius:4px}

h1{font-size:44px;line-height:1.15;margin:24px 0 8px}
.lead{font-size:20px;color:var(--muted);max-width:720px;margin:0 auto}

/* Event card */
.event{background:var(--sand);border-radius:6px;padding:28px 20px;margin:32px 0;text-align:center}
.eyebrow{font-family:var(--sans);font-size:14px;letter-spacing:3px;color:var(--gold);font-weight:700;text-transform:uppercase}
.event h2{font-size:38px;margin:6px 0 4px;line-height:1.15}
.event .when{font-size:28px;line-height:1.3}
.divider{width:60%;max-width:480px;height:2px;background:var(--gold);margin:18px auto;border:0}
.event .where{font-weight:700;font-size:20px}
.event address{font-style:normal;font-size:19px;color:var(--muted)}
.event p{color:var(--muted)}

.btn{display:inline-block;padding:13px 34px;border-radius:4px;font-family:var(--serif);font-size:18px;text-decoration:none;border:0;cursor:pointer}
.btn-dark{background:var(--forest);color:#fff}
.btn-gold{background:var(--gold-light);color:var(--ink);font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:16px}
.btn:hover{filter:brightness(1.08)}

.positions h2{font-size:34px;margin:8px 0 4px}
.positions p{font-size:20px;color:var(--muted);margin:0 0 32px}

/* Footer CTA */
.cta{background:var(--forest);color:#fff;text-align:center;padding:36px 16px 44px}
.cta h2{font-size:32px;margin:0 0 8px}
.cta p{margin:0 0 20px;font-size:18px}
.cta a.mail{color:var(--gold-light)}
.fine{background:#232b25;color:#b9bfb7;text-align:center;font-family:var(--sans);font-size:13px;padding:14px}

/* Application form */
.form-card{background:#fff;border:1px solid #e4dccd;border-radius:6px;padding:24px 20px;margin:20px 0 40px}
fieldset{border:0;padding:0;margin:0 0 26px}
legend{font-size:22px;font-weight:700;padding:0;margin-bottom:10px;color:var(--forest);border-bottom:2px solid var(--gold);width:100%}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.full{grid-column:1/-1}
label{display:block;font-family:var(--sans);font-size:14px;font-weight:600;margin-bottom:4px}
.req{color:#a33}
input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea{
  width:100%;padding:10px 11px;font-size:16px;border:1px solid #c9c0b0;border-radius:4px;background:#fffdf9;font-family:var(--sans)}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.checks{display:flex;flex-wrap:wrap;gap:8px 18px;font-family:var(--sans);font-size:15px}
.checks label{font-weight:400;display:flex;align-items:center;gap:6px;margin:0}
.checks input{width:18px;height:18px}
.hint{font-family:var(--sans);font-size:13px;color:var(--muted);margin:4px 0 0}
.hp{position:absolute;left:-9999px}
.job{border-top:1px dashed #d8cfbf;padding-top:14px;margin-top:6px}
.submit-row{text-align:center;margin-top:10px}

@media (max-width:640px){
  .logo .name{font-size:44px}
  .opening{font-size:30px}
  h1{font-size:32px}
  .lead{font-size:17px}
  .event h2{font-size:28px}
  .event .when{font-size:22px}
  .positions h2{font-size:26px}
  .positions p{font-size:17px}
  .grid{grid-template-columns:1fr}
}
@media print{
  .cta,.fine,.submit-row,.noprint{display:none}
  body{background:#fff}
  .form-card{border:0;padding:0}
}
