/* Event Jersey Printing — "match programme" theme
   Printed programme stock: ruled column grids, fixture-list rows, perforated ticket stubs. */

:root{
  --paper:#f6f4ef;
  --paper-2:#efece3;
  --surface:#ffffff;
  --ink:#141a17;
  --ink-2:#3f4a44;
  --ink-3:#6c7671;
  --green:#1a4d3c;
  --green-d:#123529;
  --green-l:#eaf0ec;
  --gold:#c8a032;
  --gold-l:#f6eed8;
  --rule:#d7d1c2;
  --rule-2:#bfb8a5;
  --maxw:1180px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:400 17px/1.65 "Source Sans 3","Segoe UI",system-ui,sans-serif;
  /* faint programme paper grain */
  background-image:
    repeating-linear-gradient(90deg,rgba(20,26,23,.022) 0 1px,transparent 1px 5px),
    repeating-linear-gradient(0deg,rgba(20,26,23,.014) 0 1px,transparent 1px 5px);
}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-underline-offset:3px}
h1,h2,h3,h4,.display{font-family:"Bebas Neue","Source Sans 3",sans-serif;font-weight:400;letter-spacing:.012em;line-height:.98;margin:0}
h1{font-size:clamp(2.7rem,7.2vw,4.6rem)}
h2{font-size:clamp(2rem,4.4vw,3rem)}
h3{font-size:clamp(1.35rem,2.4vw,1.7rem);letter-spacing:.02em}
h4{font-size:1.12rem;letter-spacing:.05em}
p{margin:0 0 1.05rem}
ul,ol{margin:0 0 1.1rem;padding-left:1.15rem}
li{margin:0 0 .5rem}
strong{font-weight:700}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.progress{position:fixed;inset:0 0 auto 0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;z-index:60}

/* ---------- masthead ---------- */
.masthead{background:var(--paper);border-bottom:3px double var(--rule-2);position:relative;z-index:50}
.masthead-strip{background:var(--green);color:#f2efe6;font-size:.72rem;letter-spacing:.19em;text-transform:uppercase}
.masthead-strip .wrap{display:flex;gap:14px;justify-content:space-between;align-items:center;min-height:32px;flex-wrap:wrap;padding-top:5px;padding-bottom:5px}
.masthead-strip a{color:var(--gold);text-decoration:none;font-weight:700}
.masthead-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand-mark{
  width:46px;height:46px;flex:none;display:grid;place-items:center;
  background:var(--green);color:var(--gold);border:2px solid var(--green);
  font-family:"Bebas Neue",sans-serif;font-size:1.22rem;letter-spacing:.04em;
}
.brand b{display:block;font-family:"Bebas Neue",sans-serif;font-weight:400;font-size:1.6rem;letter-spacing:.035em;line-height:1}
.brand span{display:block;font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}
.nav-toggle{
  display:inline-block;background:transparent;border:1.5px solid var(--rule-2);color:var(--ink);
  font:700 .74rem/1 "Source Sans 3",sans-serif;letter-spacing:.16em;text-transform:uppercase;
  padding:11px 15px;cursor:pointer;border-radius:2px;
}
.nav{display:none;width:100%;flex-direction:column;border-top:1px solid var(--rule);margin-top:10px}
.nav.is-open{display:flex}
.nav a{
  text-decoration:none;color:var(--ink);font-size:.82rem;letter-spacing:.15em;text-transform:uppercase;
  font-weight:600;padding:13px 2px;border-bottom:1px dotted var(--rule);
}
.nav a.cta{color:var(--green);font-weight:800}

/* ---------- shared blocks ---------- */
.section{padding:58px 0;border-bottom:1px solid var(--rule)}
.section.tint{background:var(--paper-2)}
.section.green{background:var(--green);color:#eef1ee;border-bottom:none}
.section.green h2,.section.green h3{color:#fff}
.section.green a{color:var(--gold)}
.sec-head{display:flex;align-items:flex-end;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:26px}
.sec-num{font-family:"Bebas Neue",sans-serif;font-size:1.5rem;color:var(--gold);letter-spacing:.06em;line-height:1}
.sec-head h2{flex:1}
.sec-kicker{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);padding-bottom:5px}
.section.green .sec-head{border-bottom-color:rgba(255,255,255,.35)}
.section.green .sec-kicker{color:rgba(238,241,238,.7)}
.lede{font-size:1.14rem;color:var(--ink-2);max-width:62ch}
.section.green .lede{color:rgba(238,241,238,.86)}
.eyebrow{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green);font-weight:700;margin:0 0 14px}

/* ruled column grid — hairlines between columns like a printed programme */
.cols{display:grid;gap:0;border-top:1px solid var(--rule)}
.cols > *{padding:24px 0;border-bottom:1px solid var(--rule)}
@media(min-width:820px){
  .cols{grid-template-columns:repeat(var(--c,3),1fr)}
  .cols > *{padding:26px 26px;border-left:1px solid var(--rule)}
  .cols > *:first-child{border-left:none;padding-left:0}
}
.cols h3{margin-bottom:9px}
.cols p:last-child{margin-bottom:0}

/* fixture list rows: label ....... value */
.fixtures{list-style:none;margin:0 0 1.2rem;padding:0;border-top:2px solid var(--ink)}
.fixtures li{display:flex;align-items:baseline;gap:8px;margin:0;padding:11px 0;border-bottom:1px solid var(--rule)}
.fx-l{font-weight:700}
.fx-dot{flex:1;border-bottom:1px dotted var(--rule-2);transform:translateY(-4px)}
.fx-r{color:var(--ink-2);text-align:right;white-space:nowrap}
.section.green .fixtures{border-top-color:var(--gold)}
.section.green .fixtures li{border-bottom-color:rgba(255,255,255,.18)}
.section.green .fx-r{color:rgba(238,241,238,.8)}
.section.green .fx-dot{border-bottom-color:rgba(255,255,255,.28)}

/* perforated ticket stub card */
.stub{
  position:relative;background:var(--surface);border:1px solid var(--rule-2);
  padding:22px 22px 22px 34px;border-radius:2px;
}
.stub::before{content:"";position:absolute;left:20px;top:12px;bottom:12px;border-left:2px dashed var(--rule);}
.stub::after{
  content:"";position:absolute;left:-6px;top:0;bottom:0;width:12px;
  background-image:radial-gradient(circle at left center,var(--paper) 5px,transparent 5.5px);
  background-size:12px 15px;background-repeat:repeat-y;
}
.section.tint .stub::after{background-image:radial-gradient(circle at left center,var(--paper-2) 5px,transparent 5.5px)}
.stub h3{margin-bottom:8px}
.stub .stub-no{font-family:"Bebas Neue",sans-serif;font-size:.95rem;letter-spacing:.14em;color:var(--gold);display:block;margin-bottom:6px}
.stub p:last-child{margin-bottom:0}
.stub-grid{display:grid;gap:18px}
@media(min-width:760px){.stub-grid{grid-template-columns:repeat(var(--c,3),1fr)}}

/* stamp */
.stamp{
  display:inline-block;transform:rotate(-4deg);border:2.5px solid var(--gold);color:var(--green);
  font-family:"Bebas Neue",sans-serif;font-size:.95rem;letter-spacing:.16em;padding:6px 12px;
  background:rgba(255,255,255,.9);
}

/* buttons */
.btn{
  display:inline-block;text-decoration:none;font:700 .82rem/1 "Source Sans 3",sans-serif;
  letter-spacing:.16em;text-transform:uppercase;padding:16px 24px;border-radius:2px;
  background:var(--green);color:#fff;border:2px solid var(--green);
}
.btn:hover{background:var(--green-d);border-color:var(--green-d)}
.btn.ghost{background:transparent;color:var(--green);border-color:var(--green)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#221a05}
.section.green .btn.ghost{color:var(--gold);border-color:var(--gold)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0}

/* ---------- hero ---------- */
.hero{background:var(--paper);border-bottom:3px double var(--rule-2);padding:0}
.hero-grid{display:grid;gap:0}
.hero-copy{padding:38px 20px 40px}
.hero-copy .issue{
  display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule);padding-bottom:12px;margin-bottom:20px;
}
.hero-copy .issue b{color:var(--green)}
.hero h1{margin-bottom:16px}
.hero h1 em{font-style:normal;color:var(--green)}
.hero-note{font-size:.9rem;color:var(--ink-3);border-top:1px solid var(--rule);padding-top:14px;margin-top:26px}
.hero-photo{position:relative;min-height:280px}
.hero-photo img{width:100%;height:100%;object-fit:cover;min-height:280px}
.fixture-card{
  position:absolute;left:16px;right:16px;bottom:16px;background:rgba(255,255,255,.96);
  border:1px solid var(--green);border-left:6px solid var(--gold);padding:14px 16px;
}
.fixture-card b{display:block;font-family:"Bebas Neue",sans-serif;font-size:1.3rem;letter-spacing:.05em;color:var(--green)}
.fixture-card span{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}
@media(min-width:900px){
  .hero-grid{grid-template-columns:1.04fr .96fr;align-items:stretch;max-width:var(--maxw);margin:0 auto}
  .hero-copy{padding:64px 44px 64px 20px;border-right:1px solid var(--rule)}
  .hero-photo{min-height:540px}
}

/* trust strip */
.trust{background:var(--green-l);border-bottom:1px solid var(--rule);padding:18px 0;font-size:.83rem;letter-spacing:.03em;color:var(--ink-2)}
.trust b{color:var(--green)}

/* page header (interior) */
.pagehead{background:var(--paper);border-bottom:3px double var(--rule-2);padding:40px 0 36px}
.crumbs{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px}
.crumbs a{color:var(--ink-3);text-decoration:none;border-bottom:1px dotted var(--rule-2)}
.pagehead h1{margin-bottom:14px;max-width:20ch}
.pagehead .lede{max-width:66ch}

/* prose */
.prose{max-width:74ch}
.prose h2{margin:34px 0 12px}
.prose h3{margin:26px 0 8px}
.prose .callout{
  background:var(--gold-l);border-left:5px solid var(--gold);padding:16px 18px;margin:22px 0;
  font-size:.98rem;
}
.prose .callout p:last-child{margin-bottom:0}

/* photo figures */
figure{margin:0}
.fig{border:1px solid var(--rule-2);background:var(--surface);padding:9px}
.fig figcaption{font-size:.78rem;color:var(--ink-3);padding:9px 3px 2px;border-top:1px dotted var(--rule);margin-top:9px;letter-spacing:.02em}
.fig-grid{display:grid;gap:18px}
@media(min-width:700px){.fig-grid{grid-template-columns:repeat(var(--c,3),1fr)}}
.media-split{display:grid;gap:26px;align-items:center}
@media(min-width:860px){.media-split{grid-template-columns:1.05fr .95fr}.media-split.flip .m-txt{order:2}}

/* link rows */
.linkrows{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.linkrows li{margin:0;border-bottom:1px solid var(--rule)}
.linkrows a{display:flex;gap:14px;align-items:baseline;padding:15px 0;text-decoration:none;color:var(--ink)}
.linkrows a:hover{color:var(--green)}
.linkrows .n{font-family:"Bebas Neue",sans-serif;color:var(--gold);font-size:1.05rem;letter-spacing:.1em;flex:none;width:34px}
.linkrows .t{font-family:"Bebas Neue",sans-serif;font-size:1.28rem;letter-spacing:.03em}
.linkrows .d{flex:1;font-size:.92rem;color:var(--ink-3);border-left:1px solid var(--rule);padding-left:14px;display:none}
@media(min-width:820px){.linkrows .d{display:block}}

/* quote form */
.quote-wrap{display:grid;gap:30px}
@media(min-width:960px){.quote-wrap{grid-template-columns:.92fr 1.08fr}}
.lead-form{background:var(--surface);border:1px solid var(--rule-2);border-top:5px solid var(--gold);padding:24px}
.lead-form label{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--ink-2);margin-bottom:14px}
.lead-form input,.lead-form textarea,.lead-form select{
  display:block;width:100%;margin-top:6px;padding:12px 12px;background:var(--paper);
  border:1px solid var(--rule-2);border-radius:2px;color:var(--ink);
  font:400 16px/1.4 "Source Sans 3",sans-serif;letter-spacing:normal;text-transform:none;
}
.lead-form input:focus,.lead-form textarea:focus{outline:2px solid var(--green);outline-offset:1px}
.field-grid{display:grid;gap:0 16px}
@media(min-width:620px){.field-grid{grid-template-columns:1fr 1fr}}
.hp-wrap{position:absolute;left:-9999px;height:1px;overflow:hidden}
.form-submit{
  width:100%;margin-top:6px;background:var(--green);color:#fff;border:none;border-radius:2px;
  padding:17px;font:700 .86rem/1 "Source Sans 3",sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
}
.form-submit:hover{background:var(--green-d)}
.form-note{font-size:.83rem;color:var(--ink-3);margin:12px 0 0}
.lead-form.is-success{border-top-color:var(--green)}

/* footer */
.site-footer{background:var(--green-d);color:#dfe6e1;padding:46px 0 34px}
.site-footer a{color:var(--gold);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.foot-grid{display:grid;gap:26px}
@media(min-width:820px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr}}
.site-footer h4{color:#fff;font-size:1.05rem;letter-spacing:.13em;margin-bottom:12px;text-transform:uppercase}
.site-footer p{font-size:.92rem;color:#bcc9c2}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:0 0 8px;font-size:.93rem}
.foot-rule{border-top:1px solid rgba(255,255,255,.16);margin-top:28px;padding-top:18px;font-size:.8rem;color:#9fada6;display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between}
.foot-tel{font-family:"Bebas Neue",sans-serif;font-size:1.7rem;letter-spacing:.05em;color:#fff !important;text-decoration:none;display:inline-block;margin-bottom:6px}

@media(min-width:900px){
  .nav{display:flex;flex-direction:row;align-items:center;gap:22px;width:auto;border-top:none;margin-top:0}
  .nav a{border-bottom:none;padding:6px 0}
  .nav a:hover{color:var(--green)}
  .nav-toggle{display:none}
}
@media(max-width:768px){
  body{padding-bottom:74px}
  .sec-head{flex-wrap:wrap;gap:8px}
  .sec-kicker{width:100%;order:3}
}
