@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root {
  --green-950: #0b2820;
  --green-900: #12392e;
  --green-800: #1f4d3a;
  --green-700: #2e604c;
  --green-500: #5c806d;
  --cream: #f5efe3;
  --paper: #fffaf0;
  --gold: #b99a5b;
  --gold-light: #d8c28f;
  --ink: #10271f;
  --muted: #65736d;
  --line: rgba(31, 77, 58, 0.16);
  --shadow: 0 22px 60px rgba(16, 39, 31, 0.09);
}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}
.site-header{position:sticky;top:0;z-index:50;min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(22px,5vw,72px);background:rgba(245,239,227,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand img{display:block;width:82px;max-height:52px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,32px)}.site-nav a{position:relative;padding:8px 0;color:var(--green-900);font-size:.78rem;font-weight:600}.site-nav a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .25s}.site-nav a:hover:after,.site-nav a.active:after{transform:scaleX(1)}
.menu-toggle{display:none;border:0;background:transparent;cursor:pointer;padding:8px}.menu-toggle span{display:block;width:24px;height:2px;margin:5px;background:var(--green-900)}
.hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;background:var(--green-950);color:var(--paper);padding:90px clamp(22px,8vw,120px)}.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(216,194,143,.2);border-radius:50%}.hero:before{width:580px;height:580px;right:-160px;top:-220px}.hero:after{width:420px;height:420px;right:-80px;bottom:-260px}.hero-inner{position:relative;z-index:2;max-width:800px}.eyebrow{margin:0 0 18px;color:var(--gold-light);font-size:.68rem;font-weight:700;letter-spacing:.2em}.hero h1{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(4rem,8.5vw,8rem);line-height:.92;font-weight:500;letter-spacing:-.045em}.hero h1 em,.join-section h2 em{color:var(--gold-light);font-weight:500}.hero-copy{max-width:610px;margin:34px 0 28px;color:rgba(255,250,240,.76);font-size:1.05rem}.hero-link{display:inline-flex;gap:12px;align-items:center;color:var(--paper);border-bottom:1px solid var(--gold);padding-bottom:7px;font-size:.82rem;font-weight:600}.hero-link span{color:var(--gold-light)}

.hero-mark {
  position: absolute;
  z-index: 1;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
  width: 300px;
  height: 300px;
  border: 1px solid rgba(216, 194, 143, 0.28);
  border-radius: 50%;
  display: grid;
  place-items: center;
  padding: 55px;
}

.hero-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.recognition-section{padding:110px clamp(22px,7vw,100px);max-width:1500px;margin:auto}.section-heading{display:grid;grid-template-columns:1fr 420px;gap:50px;align-items:end;margin-bottom:55px}.section-heading h2,.personalised-section h2{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2.6rem,5vw,4.8rem);line-height:1;font-weight:500;letter-spacing:-.035em}.section-intro{margin:0;color:var(--muted);font-size:.94rem}.seasons{display:grid;gap:16px}.season{background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 30px rgba(16,39,31,.035)}.season summary{list-style:none;cursor:pointer;padding:27px 32px;display:flex;justify-content:space-between;align-items:center;gap:25px}.season summary::-webkit-details-marker{display:none}.season-title{display:flex;align-items:center;gap:24px}.season-number{color:var(--gold);font-family:"Playfair Display",Georgia,serif;font-size:2rem}.season-label{margin:0 0 3px;color:var(--muted);font-size:.63rem;font-weight:700;letter-spacing:.16em}.season h3{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.3rem,2.5vw,2rem);font-weight:500}.season-meta{display:flex;align-items:center;gap:22px;color:var(--muted);font-size:.72rem;white-space:nowrap}.expand-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--green-800);font-size:1.25rem;transition:transform .25s,background .25s}.season[open] .expand-icon{transform:rotate(45deg);background:var(--cream)}.season-content{border-top:1px solid var(--line)}
.award-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(40px,7vw,100px);padding:70px clamp(28px,5vw,80px);border-bottom:1px solid var(--line);align-items:center}.award-card:last-child{border-bottom:0}.award-copy{max-width:650px}.award-number{display:block;margin-bottom:20px;color:var(--gold);font-family:"Playfair Display",Georgia,serif;font-size:2.2rem}.award-eyebrow{margin:0 0 12px;color:var(--green-700);font-size:.65rem;font-weight:700;letter-spacing:.18em}.award-card h4{margin:0 0 20px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1;font-weight:500;letter-spacing:-.025em}.award-description{margin:0;max-width:580px;color:var(--muted);font-size:.94rem}.winner-line{display:flex;align-items:center;gap:14px;margin-top:32px;padding-top:18px;border-top:1px solid var(--line);font-size:.8rem}.winner-line span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-weight:700}.winner-line strong{color:var(--green-900);font-weight:600}.certificate-column{width:100%}.certificate-frame{overflow:hidden;padding:10px;background:#e9dfcc;box-shadow:var(--shadow);transform:rotate(1deg);transition:transform .3s}.certificate-frame:hover{transform:rotate(0) translateY(-4px)}.certificate-frame img{display:block;width:100%;aspect-ratio:1.414/1;object-fit:cover;background:var(--paper)}.personalised-note{margin:22px 0 0;padding:15px 18px;border-left:2px solid var(--gold);color:var(--muted);font-size:.76rem}.personalised-note strong{display:block;margin-bottom:3px;color:var(--green-900);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.future-content{padding:35px 40px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.personalised-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:90px clamp(22px,7vw,100px);background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.personalised-copy{align-self:end;max-width:560px}.personalised-copy p{margin:0 0 15px;color:var(--muted);font-size:1rem}.small-note{color:var(--green-700);font-size:.72rem}
.join-section{padding:120px clamp(22px,7vw,100px);background:var(--green-900);color:var(--paper)}.join-inner{max-width:1100px;margin:auto}.join-section h2{margin:0;max-width:760px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(3.5rem,7vw,7rem);line-height:.92;font-weight:500;letter-spacing:-.045em}.join-section p:not(.eyebrow){max-width:540px;margin:30px 0;color:rgba(255,250,240,.7)}.button{display:inline-flex;align-items:center;gap:18px;padding:14px 21px;font-size:.78rem;font-weight:700;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--paper);color:var(--green-900)}.button-light span{color:var(--gold);font-size:1rem}
.site-footer{display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:center;padding:30px clamp(22px,5vw,72px);background:var(--green-950);color:rgba(255,250,240,.58);border-top:1px solid rgba(255,255,255,.08)}.footer-brand{display:flex;align-items:center;gap:15px}.footer-brand img{width:55px;max-height:38px;object-fit:contain}.footer-brand p,.copyright{margin:0;font-size:.7rem}.footer-links{display:flex;gap:22px}.footer-links a{font-size:.68rem}
@media(max-width:900px){.menu-toggle{display:block}.site-nav{position:absolute;left:0;right:0;top:70px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 22px 18px;background:var(--cream);border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.site-nav a{padding:13px 0}.hero-mark{right:-90px;opacity:.5}.section-heading,.personalised-section{grid-template-columns:1fr;gap:25px}.award-card{grid-template-columns:1fr}.certificate-column{max-width:650px}.site-footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}}

@media(max-width:600px){
  .hero{min-height:580px;padding-top:70px;padding-bottom:70px}
  .hero h1{font-size:clamp(3.5rem,18vw,5.5rem)}
  .hero-mark{width:230px;height:230px;right:-100px}
  .recognition-section{padding-top:75px;padding-bottom:75px}
  .season summary{padding:22px 20px}
  .season-title{gap:14px}
  .season-number{font-size:1.5rem}
  .season-meta>span:first-child{display:none}
  .award-card{padding:50px 22px}
  .award-card h4{font-size:2.5rem}
  .personalised-section{padding-top:70px;padding-bottom:70px}
  .join-section{padding-top:85px;padding-bottom:85px}
}
.season-team-photo {
  margin-top: 80px;
  padding-top: 60px;
  border-top: 1px solid var(--line);
}

.season-team-heading {
  max-width: 620px;
  margin-bottom: 28px;
}

.season-team-heading h3 {
  margin: 8px 0 10px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 500;
  color: var(--green-950);
}

.season-team-heading p:last-child {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.team-photo-frame {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 6px;
  background: var(--green-900);
  border: 1px solid var(--line);
}

.team-photo-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  pointer-events: none;
}

.team-photo-frame img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

@media (max-width: 600px) {
  .season-team-photo {
    margin-top: 55px;
    padding-top: 45px;
  }

  .team-photo-frame img {
    aspect-ratio: 4 / 3;
  }
}
