.nzgl {
  --nzgl-accent: #1e73be;
  --nzgl-ink: #111111;
  --nzgl-muted: #666666;
  --nzgl-soft: #f7f7f7;
  --nzgl-line: #d7d7d7;
  width: 100%;
  max-width: 1400px;
  margin: 2rem auto;
  color: var(--nzgl-ink);
  background: #fff;
  border: 1px solid var(--nzgl-line);
  border-radius: 0;
  box-shadow: none;
  font-family: Montserrat, Verdana, BlinkMacSystemFont, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  overflow: hidden;
}
.nzgl *, .nzgl *::before, .nzgl *::after { box-sizing: border-box; }
.nzgl button, .nzgl a { font-family: inherit; }
.nzgl__brand { display:flex; justify-content:center; padding:30px 28px 22px; background:#fff; }
.nzgl__brand img { display:block; width:min(320px,75vw); height:auto; }
.nzgl__heading { padding:0 28px 28px; text-align:center; background:#fff; }
.nzgl__heading h2 { margin:0; color:var(--nzgl-ink); font-size:clamp(18px,2vw,26px); font-weight:500; line-height:1.2; letter-spacing:.25em; text-transform:uppercase; }
.nzgl__heading p { margin:10px 0 0; color:var(--nzgl-muted); font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.nzgl__tabs { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--nzgl-line); border-bottom:1px solid var(--nzgl-line); }
.nzgl__tabs button { min-height:54px; padding:12px; color:var(--nzgl-ink); background:#fff; border:0; border-right:1px solid var(--nzgl-line); font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.nzgl__tabs button:last-child { border-right:0; }
.nzgl__tabs button:hover, .nzgl__tabs button:focus-visible, .nzgl__tabs button.is-active { color:#fff; background:var(--nzgl-accent); }
.nzgl button:focus-visible, .nzgl a:focus-visible { outline:2px solid var(--nzgl-accent); outline-offset:2px; }
.nzgl__content { min-height:200px; }
.nzgl__loading, .nzgl__error, .nzgl__empty { padding:42px 24px; color:var(--nzgl-muted); text-align:center; }
.nzgl__spinner { display:inline-block; width:16px; height:16px; margin-right:8px; vertical-align:-3px; border:2px solid #ddd; border-top-color:var(--nzgl-accent); border-radius:50%; animation:nzgl-spin .8s linear infinite; }
@keyframes nzgl-spin { to { transform:rotate(360deg); } }
.nzgl__panel { padding:26px; }
.nzgl__event-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.nzgl__eyebrow { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:var(--nzgl-muted); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.nzgl__dot { width:9px; height:9px; border-radius:50%; background:var(--nzgl-accent); }
.nzgl__demo { padding:3px 6px; color:#fff; background:#111; font-size:9px; letter-spacing:.08em; }
.nzgl__event-title, .nzgl__section-title { margin:6px 0 0; color:var(--nzgl-ink); font-family:Georgia,"Times New Roman",serif; font-size:clamp(24px,2.7vw,34px); font-weight:500; line-height:1.13; }
.nzgl__section-title { margin:0 0 18px; font-size:28px; }
.nzgl__meta { margin:7px 0 0; color:var(--nzgl-muted); font-size:12px; }
.nzgl__updated { color:var(--nzgl-muted); font-size:10px; line-height:1.5; text-align:right; white-space:nowrap; }
.nzgl__event-switcher-wrap { margin:0 0 20px; padding:12px; background:var(--nzgl-soft); border:1px solid var(--nzgl-line); }
.nzgl__event-switcher-label { margin:0 0 8px; color:var(--nzgl-muted); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.nzgl__event-switcher { display:flex; flex-wrap:wrap; gap:7px; margin:0; }
.nzgl__event-switcher button { padding:8px 10px; color:#555; background:#fff; border:1px solid #c9c9c9; font-size:10px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; }
.nzgl__event-switcher button.is-active { color:#fff; background:var(--nzgl-accent); border-color:var(--nzgl-accent); }
.nzgl__featured-tag { display:inline-block; margin-left:6px; padding:2px 4px; color:inherit; border:1px solid currentColor; font-size:8px; line-height:1; letter-spacing:.05em; vertical-align:1px; }
.nzgl__table-wrap { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.nzgl__table { width:100%; border-collapse:collapse; border-spacing:0; }
.nzgl__table th { padding:10px 12px; color:#333; background:var(--nzgl-soft); border-top:1px solid var(--nzgl-line); border-bottom:1px solid var(--nzgl-line); font-size:9px; font-weight:700; letter-spacing:.08em; text-align:left; text-transform:uppercase; white-space:nowrap; }
.nzgl__table td { padding:11px 12px; border-bottom:1px solid #e6e6e6; color:#333; font-size:12px; vertical-align:middle; }
.nzgl__table tr.nzgl__kiwi { background:#eef5fb; box-shadow:inset 3px 0 0 var(--nzgl-accent); }
.nzgl__rank { color:#111!important; font-weight:700; white-space:nowrap; }
.nzgl__player { color:#111!important; font-weight:500; min-width:150px; }
.nzgl__kiwi .nzgl__player { font-weight:700; }
.nzgl__flag { display:inline-block; min-width:24px; margin-right:7px; font-size:17px; line-height:1; vertical-align:-2px; }
.nzgl__score { font-variant-numeric:tabular-nums; font-weight:700; white-space:nowrap; }
.nzgl__score--under { color:#c62020!important; }
.nzgl__score--over { color:#555!important; }
.nzgl__move { white-space:nowrap; font-weight:600; }
.nzgl__move--up { color:#188a4a; }
.nzgl__move--down { color:#c62020; }
.nzgl__actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.nzgl__button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:11px 14px; color:#666!important; background:#fff; border:1px solid #c9c9c9; border-radius:0; font-size:10px; font-weight:600; line-height:1; letter-spacing:.06em; text-decoration:none!important; text-transform:uppercase; cursor:pointer; }
.nzgl__button:hover, .nzgl__button:focus-visible, .nzgl__button--primary { color:#fff!important; background:var(--nzgl-accent); border-color:var(--nzgl-accent); }
.nzgl__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }
.nzgl__card { border:1px solid var(--nzgl-line); background:#fff; }
.nzgl__card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 18px 13px; border-bottom:1px solid var(--nzgl-line); }
.nzgl__card-head h3 { margin:0; color:#111; font-family:Georgia,"Times New Roman",serif; font-size:20px; font-weight:500; }
.nzgl__card-head a { color:var(--nzgl-accent); font-size:9px; font-weight:700; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.nzgl__event-list { margin:0; padding:0; list-style:none; }
.nzgl__event { display:grid; grid-template-columns:105px minmax(0,1fr) auto; gap:16px; align-items:center; padding:15px 0; border-bottom:1px solid #e5e5e5; }
.nzgl__event:last-child { border-bottom:0; }
.nzgl__event-date { font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.nzgl__event-name { color:#111; font-size:13px; font-weight:600; }
.nzgl__event-venue { margin-top:3px; color:var(--nzgl-muted); font-size:11px; }
.nzgl__event-tour { color:var(--nzgl-muted); font-size:9px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.nzgl__kiwi-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.nzgl__kiwi-card { padding:17px; border:1px solid var(--nzgl-line); border-top:3px solid var(--nzgl-accent); }
.nzgl__kiwi-card h3 { margin:0; font-size:15px; font-weight:600; }
.nzgl__kiwi-card dl { display:grid; grid-template-columns:1fr auto; gap:5px 12px; margin:13px 0 0; font-size:11px; }
.nzgl__kiwi-card dt { color:var(--nzgl-muted); }
.nzgl__kiwi-card dd { margin:0; font-weight:600; }
.nzgl__player-card { display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center; padding:24px; }
.nzgl__player-mark { display:grid; place-items:center; width:70px; height:70px; background:var(--nzgl-soft); border:1px solid var(--nzgl-line); font-size:32px; }
.nzgl__player-card h3 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:500; }
.nzgl__player-stats { display:flex; flex-wrap:wrap; gap:18px; margin-top:10px; }
.nzgl__stat { color:var(--nzgl-muted); font-size:10px; letter-spacing:.05em; text-transform:uppercase; }
.nzgl__stat strong { display:block; margin-top:3px; color:#111; font-size:15px; letter-spacing:0; text-transform:none; }

/* Compact homepage widget */
.nzgl--widget { max-width:420px; margin:0; }
.nzgl--widget .nzgl__brand { padding:20px 18px 16px; border-bottom:1px solid var(--nzgl-line); }
.nzgl--widget .nzgl__brand img { width:min(220px,72vw); }
.nzgl--widget .nzgl__content { min-height:120px; }
.nzgl--widget .nzgl__panel { padding:0; }
.nzgl--widget .nzgl__widget-title { margin:0; padding:18px 16px 8px; max-width:100%; font-family:Georgia,"Times New Roman",serif; font-size:21px; font-weight:500; line-height:1.15; white-space:normal; overflow-wrap:anywhere; }
.nzgl--widget .nzgl__widget-sub { padding:0 16px 12px; color:var(--nzgl-muted); font-size:10px; }
.nzgl--widget .nzgl__table-wrap { overflow-x:hidden; }
.nzgl--widget .nzgl__table { table-layout:fixed; }
.nzgl--widget .nzgl__table th, .nzgl--widget .nzgl__table td { padding:9px 9px; }
.nzgl--widget .nzgl__widget-ranking-table th:first-child, .nzgl--widget .nzgl__widget-ranking-table td:first-child { width:46px; }
.nzgl--widget .nzgl__widget-ranking-table th:last-child, .nzgl--widget .nzgl__widget-ranking-table td:last-child { width:auto; }
.nzgl--widget .nzgl__table .nzgl__player { min-width:0; }
.nzgl--widget .nzgl__top-kiwi { padding:12px 15px; background:#eef5fb; border-top:1px solid #d9e7f2; border-bottom:1px solid #d9e7f2; font-size:11px; line-height:1.45; overflow-wrap:anywhere; }
.nzgl--widget .nzgl__top-kiwi-rank { display:block; margin-top:2px; color:var(--nzgl-muted); font-size:10px; }
.nzgl--widget .nzgl__top-kiwi strong { color:#111; }
.nzgl--widget .nzgl__actions { margin:0; padding:16px; }
.nzgl--widget .nzgl__button { width:100%; }
.nzgl--widget .nzgl__widget-live { padding:16px 18px; border-top:1px solid var(--nzgl-line); }
.nzgl--widget .nzgl__widget-live strong { color:#111; font-size:12px; }
.nzgl--widget .nzgl__widget-live p { margin:5px 0 0; color:var(--nzgl-muted); font-size:11px; }

/* Standalone modes */
.nzgl--rankings .nzgl__content, .nzgl--leaderboard .nzgl__content, .nzgl--player .nzgl__content { min-height:120px; }
.nzgl--rankings .nzgl__panel, .nzgl--leaderboard .nzgl__panel { padding:22px; }
.nzgl--player { max-width:700px; }

@media (max-width: 760px) {
  .nzgl { margin:1rem 0; border-right:0; border-left:0; }
  .nzgl__brand { padding:24px 18px 18px; }
  .nzgl__brand img { width:min(260px,76vw); }
  .nzgl__heading { padding:0 18px 22px; }
  .nzgl__heading h2 { font-size:17px; letter-spacing:.2em; }
  .nzgl__heading p { font-size:9px; }
  .nzgl__tabs button { min-height:47px; padding:8px 4px; font-size:8px; letter-spacing:.03em; }
  .nzgl__panel { padding:18px 14px; }
  .nzgl__event-head { display:block; }
  .nzgl__updated { margin-top:10px; text-align:left; }
  .nzgl__event-title { font-size:24px; }
  .nzgl__table th, .nzgl__table td { padding:9px 7px; font-size:10px; }
  .nzgl__table th { font-size:8px; }
  .nzgl__player { min-width:115px; }
  .nzgl__flag { min-width:19px; margin-right:4px; font-size:14px; }
  .nzgl__grid, .nzgl__kiwi-cards { grid-template-columns:1fr; }
  .nzgl__event { grid-template-columns:82px minmax(0,1fr); gap:10px; }
  .nzgl__event-tour { display:none; }
  .nzgl__player-card { grid-template-columns:1fr; }
}

/* Men / Women category switch */
.nzgl__division-toggle { display:grid; grid-template-columns:1fr 1fr; max-width:420px; margin:0 auto 18px; border:1px solid var(--nzgl-line); background:#fff; }
.nzgl__division-toggle button { min-height:42px; padding:9px 18px; color:#555; background:#fff; border:0; border-right:1px solid var(--nzgl-line); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.nzgl__division-toggle button:last-child { border-right:0; }
.nzgl__division-toggle button:hover, .nzgl__division-toggle button:focus-visible, .nzgl__division-toggle button.is-active { color:#fff; background:var(--nzgl-accent); }
.nzgl__division-toggle--widget { max-width:none; margin:0; border-width:0 0 1px; }
.nzgl__division-toggle--widget button { min-height:38px; font-size:9px; }
.nzgl__rank-source { margin:-10px 0 16px; color:var(--nzgl-muted); font-size:10px; letter-spacing:.04em; text-transform:uppercase; }

@media (max-width:760px) {
  .nzgl__division-toggle { width:calc(100% - 28px); margin-bottom:14px; }
  .nzgl__division-toggle--widget { width:100%; margin:0; }
  .nzgl__division-toggle button { min-height:39px; font-size:9px; }
}

/* Rankings-only category switch and cleaner ranking table */
.nzgl__division-toggle--rankings { max-width:360px; margin:0 0 18px; }
.nzgl__table--rankings th:first-child, .nzgl__table--rankings td:first-child { width:76px; }
.nzgl__table--rankings th:last-child, .nzgl__table--rankings td:last-child { width:32%; }
.nzgl__kiwi-division { margin:0 0 6px; color:var(--nzgl-muted); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }


/* v1.4.4 mobile layout hardening */
.nzgl, .nzgl__content, .nzgl__panel, .nzgl__table-wrap, .nzgl__event, .nzgl__event > *, .nzgl__event-head > * { min-width:0; max-width:100%; }
.nzgl__heading p { white-space:normal !important; overflow-wrap:anywhere; word-break:normal; }
.nzgl__heading-mobile { display:none; }
.nzgl__country-code { display:none; }
.nzgl__event-name, .nzgl__event-title, .nzgl__section-title, .nzgl__widget-title { overflow-wrap:anywhere; word-break:normal; hyphens:auto; }
.nzgl__event-name { line-height:1.3; }
.nzgl__event-date { white-space:nowrap; }
.nzgl__event-tour { white-space:nowrap; }

@media (max-width:760px) {
  .nzgl { width:100% !important; max-width:100% !important; margin:0 !important; overflow:hidden !important; }
  .nzgl--full .nzgl__brand { display:flex; padding:18px 14px 14px; border-bottom:0; }
  .nzgl--full .nzgl__brand img { width:min(205px,64vw) !important; max-width:205px !important; }
  .nzgl__brand img { width:min(220px,68vw) !important; max-width:220px !important; height:auto !important; }
  .nzgl__heading { padding:0 14px 22px; }
  .nzgl__heading h2 { font-size:clamp(18px,5.3vw,22px); line-height:1.2; letter-spacing:.18em; white-space:normal; }
  .nzgl__heading-desktop { display:none; }
  .nzgl__heading-mobile { display:inline; }
  .nzgl__heading p { max-width:290px; margin:10px auto 0; font-size:9px; line-height:1.6; letter-spacing:.09em; }

  .nzgl__tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nzgl__tabs button { min-height:48px; padding:10px 6px; border-bottom:1px solid var(--nzgl-line); font-size:9px; line-height:1.2; }
  .nzgl__tabs button:nth-child(2n) { border-right:0; }
  .nzgl__tabs button:nth-last-child(-n+2) { border-bottom:0; }

  .nzgl__panel { padding:22px 16px; overflow:hidden; }
  .nzgl__section-title { max-width:100%; margin-bottom:16px; font-size:clamp(25px,8vw,32px); line-height:1.06; white-space:normal !important; }
  .nzgl__event-title { font-size:clamp(22px,7vw,28px); line-height:1.08; }
  .nzgl__rank-source { margin:-5px 0 14px; font-size:9px; line-height:1.45; white-space:normal; }

  .nzgl__division-toggle--rankings { width:100%; max-width:none; margin:0 0 14px; }
  .nzgl__division-toggle { width:100%; }

  .nzgl__table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .nzgl__table--rankings { width:100%; table-layout:fixed; }
  .nzgl__table--rankings th:first-child, .nzgl__table--rankings td:first-child { width:52px; }
  .nzgl__table--rankings th:nth-child(2), .nzgl__table--rankings td:nth-child(2) { width:51%; }
  .nzgl__table--rankings th:last-child, .nzgl__table--rankings td:last-child { width:auto; }
  .nzgl__table--rankings .nzgl__player { min-width:0; overflow-wrap:anywhere; }
  .nzgl__table--rankings .nzgl__country-name { display:none; }
  .nzgl__table--rankings .nzgl__country-code { display:inline; color:var(--nzgl-muted); font-size:9px; font-weight:600; letter-spacing:.03em; }
  .nzgl__table--rankings .nzgl__flag { min-width:16px; margin-right:3px; font-size:13px; }
  .nzgl__table:not(.nzgl__table--rankings):not(.nzgl__widget-ranking-table) { min-width:520px; }

  .nzgl__event-list { width:100%; }
  .nzgl__event { grid-template-columns:1fr; gap:3px; align-items:start; padding:16px 0; }
  .nzgl__event-date { color:var(--nzgl-accent); font-size:9px; line-height:1.2; letter-spacing:.07em; }
  .nzgl__event-name { font-size:15px; line-height:1.25; }
  .nzgl__event-tour { display:block; margin-top:2px; font-size:8px; line-height:1.3; letter-spacing:.08em; }

  .nzgl__event-switcher-wrap { padding:10px; }
  .nzgl__event-switcher { display:grid; grid-template-columns:1fr; gap:6px; }
  .nzgl__event-switcher button { width:100%; text-align:left; line-height:1.3; white-space:normal; overflow-wrap:anywhere; }
  .nzgl__featured-tag { float:right; margin-top:1px; }

  .nzgl__event-head { margin-bottom:16px; }
  .nzgl__meta { font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
  .nzgl__updated { font-size:9px; white-space:normal; }

  .nzgl--widget .nzgl__widget-title { font-size:19px; line-height:1.08; }
  .nzgl--widget .nzgl__brand img { width:min(190px,62vw) !important; max-width:190px !important; }
}

@media (max-width:420px) {
  .nzgl__panel { padding:20px 13px; }
  .nzgl__section-title { font-size:27px; }
  .nzgl__heading { padding-left:12px; padding-right:12px; }
  .nzgl__table th, .nzgl__table td { padding:9px 6px; }
  .nzgl__table--rankings th:nth-child(2), .nzgl__table--rankings td:nth-child(2) { width:54%; }
}

/* v1.5.0 — official Summerset Charles Tour live scoring */
.nzgl__source-note{margin:10px 0 0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#777}
.nzgl__official-live{width:100%;max-width:100%;min-width:0;padding:24px;border:1px solid #d9e5ef;background:#f4f9fd;text-align:left;overflow:hidden}
.nzgl__official-live strong{display:block;max-width:100%;font-size:18px;margin-bottom:8px;color:#111;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
.nzgl__official-live p{display:block;width:100%;max-width:100%;margin:0 0 18px;color:#555;line-height:1.55;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;hyphens:auto}
.nzgl__button--secondary{background:#fff!important;color:#111!important;border:1px solid #bbb!important}
@media(max-width:767px){.nzgl__official-live{padding:16px}.nzgl__official-live strong{font-size:17px}.nzgl__official-live p{font-size:12px;line-height:1.5}.nzgl__official-live .nzgl__button{width:100%;min-height:44px;padding:11px 10px;text-align:center;white-space:normal;line-height:1.25}.nzgl__source-note{font-size:10px}}


/* v1.5.3 — Charles Tour copy structure, working navigation and mobile branding */
.nzgl__official-live{display:block}
.nzgl__official-kicker{margin:0 0 6px;color:var(--nzgl-accent);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.nzgl__official-live h4{margin:0 0 12px;color:#111;font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:500;line-height:1.15}
.nzgl__official-live .nzgl__official-lead{margin-bottom:8px;color:#222;font-weight:500}
.nzgl__official-live p{max-width:850px}
.nzgl__official-live .nzgl__button{margin-top:2px}
@media(max-width:760px){
  .nzgl--full .nzgl__brand{display:flex!important}
  .nzgl__official-live h4{font-size:21px}
  .nzgl__official-live p{max-width:100%;font-size:12px;line-height:1.55}
  .nzgl__official-kicker{font-size:8px}
}
