/* GD Teams : Hong Kong Sixes brand. All classes prefixed gdt-.
   Font size variables are unitless desktop px values from Display settings.
   Each scales down with the screen to 60% at the smallest. */
.gdt{
  --gdt-blue:#0950B7;
  --gdt-red:#CA2036;
  --gdt-gold:#FFC522;
  --gdt-navy:#123457;
  --gdt-card-bg:#0E2A48;
  --gdt-cream:#FFED97;
  --gdt-white:#FFFFFF;
  --gdt-line:rgba(255,197,34,.45);
  --gdt-gold-grad:linear-gradient(180deg,#FFF6CF 0%,#FFED97 22%,#FFC522 55%,#E59E12 80%,#B06F08 100%);
  --gdt-f-display:'Rebona','Bebas Neue',Impact,sans-serif;
  --gdt-f-cond:'Gazzetta','Bebas Neue','Arial Narrow',sans-serif;
  --gdt-f-body:'proxima-nova','Proxima Nova','Montserrat',system-ui,sans-serif;
  --gdt-rs:1;

  position:relative;overflow:hidden;isolation:isolate;
  color:var(--gdt-white);font-family:var(--gdt-f-body);
}
.gdt *,.gdt *::before,.gdt *::after{box-sizing:border-box}
.gdt--full{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.gdt a,.gdt a:visited{text-decoration:none !important}
.gdt a:focus-visible{outline:2px solid var(--gdt-cream);outline-offset:3px}
.gdt img{max-width:none}

/* Decoration */
.gdt-decor-ring{position:absolute;right:-12%;top:-16%;width:min(760px,70vw);aspect-ratio:1;opacity:.09;z-index:-1;pointer-events:none;animation:gdt-spin 200s linear infinite}
.gdt-decor-waves,.gdt-hero-waves{position:absolute;left:0;bottom:-1px;width:100%;height:clamp(60px,9vw,140px);z-index:-1;pointer-events:none}
.gdt-nospin .gdt-decor-ring,.gdt-nospin .gdt-stage-ring{animation:none}

/* Shared */
.gdt-flag{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:3px;background:#EEF2F8}
.gdt-flag img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.gdt-flag--contain{background:var(--gdt-white)}
.gdt-flag--contain img{object-fit:contain;padding:6px}
.gdt-code{flex:none;font-family:var(--gdt-f-cond);font-size:24px;line-height:1;padding:6px 9px 4px;border-radius:3px;background:var(--gdt-navy);color:var(--gdt-gold) !important}
.gdt svg{fill:none}

/* =================== All Teams grid =================== */
.gdt-grid-sec{background:var(--gdt-grid-bg) var(--gdt-grid-img) center top / cover no-repeat;padding:var(--gdt-pt) clamp(16px,4vw,56px) var(--gdt-pb)}
.gdt-grid-sec.gdt-has-hero{padding-top:0}
.gdt-grid-sec.gdt-has-finale{padding-bottom:0}
.gdt-grid-hero{position:relative;padding:clamp(40px,5vw,72px) 0 clamp(36px,4vw,60px)}
.gdt-grid-hero .gdt-inner{position:relative;z-index:1}
.gdt-grid-hero-art{position:absolute;right:max(0px,calc(50% - 620px));top:clamp(8px,1vw,16px);width:clamp(110px,14vw,200px);height:auto;pointer-events:none;filter:drop-shadow(0 24px 34px rgba(5,20,60,.55));z-index:0}
.gdt .gdt-grid-hero .gdt-grid-title--hero{margin:0;line-height:.85}
.gdt .gdt-grid-intro{
  margin:clamp(12px,1.4vw,18px) 0 0;padding:0;max-width:460px;font-weight:600;line-height:1.5;color:var(--gdt-cream);
  font-size:clamp(calc(var(--gdt-fs-intro) * .85px),calc(var(--gdt-fs-intro) * .0735vw),calc(var(--gdt-fs-intro) * 1px));
}

/* Closing scene */
.gdt-finale{position:relative;isolation:isolate;margin:clamp(8px,1.5vw,24px) calc(clamp(16px,4vw,56px) * -1) 0;min-height:clamp(360px,33vw,480px)}
.gdt-finale-waves{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.gdt-finale-dance{position:absolute;left:50%;top:clamp(56px,5.5vw,80px);width:clamp(300px,30vw,430px);height:auto;transform:translateX(-50%);pointer-events:none}
.gdt-finale-lion{position:absolute;bottom:32px;width:clamp(70px,13vw,190px);height:auto;pointer-events:none}
.gdt-finale-lion--l{left:clamp(10px,4vw,60px)}
.gdt-finale-lion--r{right:clamp(10px,4vw,60px);transform:scaleX(-1)}
.gdt-finale-actions{position:absolute;left:0;right:0;bottom:clamp(32px,4vw,56px);display:flex;justify-content:center;gap:14px;padding:0 16px}
.gdt .gdt-finale-actions .gdt-btn{margin:0}
.gdt .gdt-btn--ghost,.gdt .gdt-btn--ghost:visited{background:rgba(18,52,87,.55) !important;color:var(--gdt-white) !important}
.gdt-inner{max-width:var(--gdt-max);margin:0 auto}
.gdt .gdt-grid-title{
  margin:0 0 clamp(28px,4vw,56px);padding:0;font-family:var(--gdt-f-display);font-weight:400;
  font-size:clamp(calc(var(--gdt-fs-grid-title) * .6px),calc(var(--gdt-fs-grid-title) * .0735vw),calc(var(--gdt-fs-grid-title) * 1px));
  line-height:.85;letter-spacing:.01em;text-transform:none;
  background:var(--gdt-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 4px 0 #7A4A06);
}
.gdt-grid{
  list-style:none;margin:0;padding:0;display:grid;gap:var(--gdt-gap);
  grid-template-columns:repeat(auto-fill,minmax(max(220px,calc((100% - (var(--gdt-cols) - 1) * var(--gdt-gap)) / var(--gdt-cols))),1fr));
}
.gdt-grid > li{margin:0;padding:0}
.gdt .gdt-card,.gdt .gdt-card:visited{
  height:100%;display:flex;flex-direction:column;
  background:var(--gdt-white) !important;border:2px solid var(--gdt-white);border-radius:6px;overflow:hidden;
  color:var(--gdt-navy) !important;box-shadow:0 18px 30px -18px rgba(5,20,60,.7);
  transition:background-color .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease;
}
.gdt-card .gdt-flag{margin:10px 10px 0;box-shadow:0 0 0 1px rgba(18,52,87,.12)}
.gdt-card .gdt-flag img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.gdt-card-body{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:var(--gdt-card-pad) var(--gdt-card-pad) var(--gdt-card-pad) calc(var(--gdt-card-pad) + 2px)}
.gdt-card-text{display:flex;flex-direction:column;gap:6px;min-width:0}
.gdt .gdt-card-name{
  font-family:var(--gdt-f-cond);
  font-size:clamp(calc(var(--gdt-fs-card) * .7px),calc(var(--gdt-fs-card) * .0735vw),calc(var(--gdt-fs-card) * 1px));
  line-height:.95;letter-spacing:.01em;text-transform:uppercase;color:var(--gdt-navy) !important;transition:color .3s ease;
}
.gdt .gdt-card-more{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gdt-blue) !important;transition:color .3s ease}
.gdt-card-more svg{width:12px;height:12px;stroke:currentColor;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease}
.gdt-card .gdt-code{transition:background-color .3s ease,color .3s ease}

.gdt .gdt-card:hover,.gdt .gdt-card:focus-visible{background:var(--gdt-red) !important;border-color:var(--gdt-gold);transform:translateY(-6px);box-shadow:0 22px 36px -16px rgba(5,20,60,.8)}
.gdt .gdt-card:hover .gdt-card-name,.gdt .gdt-card:focus-visible .gdt-card-name{color:var(--gdt-white) !important}
.gdt .gdt-card:hover .gdt-card-more,.gdt .gdt-card:focus-visible .gdt-card-more{color:var(--gdt-cream) !important}
.gdt .gdt-card:hover .gdt-card-more svg{transform:translateX(3px)}
.gdt .gdt-card:hover .gdt-code,.gdt .gdt-card:focus-visible .gdt-code{background:var(--gdt-gold);color:var(--gdt-navy) !important}
.gdt .gdt-card:hover .gdt-flag img{transform:scale(1.04)}

/* =================== All Teams: festival banners =================== */
.gdt-rails{display:flex;flex-direction:column;gap:clamp(48px,5vw,72px);padding-top:8px}
.gdt-rail{
  position:relative;list-style:none;margin:0;padding:6px 0 0;
  display:flex;justify-content:center;gap:clamp(14px,2.4vw,36px);
}
/* The rail and its two round finials */
.gdt-rail::before{content:"";position:absolute;left:-10px;right:-10px;top:0;height:6px;border-radius:3px;background:var(--gdt-bn-trim);box-shadow:0 4px 10px rgba(0,0,0,.35)}
.gdt-rail::after{
  content:"";position:absolute;left:-24px;right:-24px;top:-6px;height:18px;pointer-events:none;
  background:
    radial-gradient(circle 9px at 9px 9px,var(--gdt-bn-trim) 98%,transparent 100%),
    radial-gradient(circle 9px at calc(100% - 9px) 9px,var(--gdt-bn-trim) 98%,transparent 100%);
}
.gdt-bn{flex:1 1 0;min-width:0;max-width:190px;margin:0;padding:0}
.gdt .gdt-bn-link,.gdt .gdt-bn-link:visited{
  position:relative;display:block;aspect-ratio:170/300;container-type:inline-size;
  color:var(--gdt-white) !important;transform-origin:50% 0;
}
.gdt-bn-ring{position:absolute;top:-8px;width:14px;height:14px;border:3px solid var(--gdt-bn-trim);border-radius:50%;z-index:2}
.gdt-bn-ring--l{left:22%}
.gdt-bn-ring--r{right:22%}
.gdt-bn-trim,.gdt-bn-body{position:absolute;clip-path:polygon(0 0,100% 0,100% 100%,50% 88%,0 100%)}
.gdt-bn-trim{left:0;right:0;top:4%;bottom:0;background:var(--gdt-bn-trim)}
.gdt-bn-body{left:3px;right:3px;top:calc(4% + 3px);bottom:5px;background:var(--gdt-bn-bg);display:flex;flex-direction:column;align-items:center;transition:background-color .3s ease}
.gdt-bn-hem{align-self:stretch;flex:none;height:7cqi;background:rgba(0,0,0,.22);transition:background-color .3s ease}
.gdt-bn-mat{display:block;flex:none;width:82%;margin-top:9cqi;padding:3cqi;background:var(--gdt-white);border-radius:3px}
.gdt-bn-mat .gdt-flag{border-radius:2px}
.gdt-bn-code{margin-top:9cqi;font-family:var(--gdt-f-cond);font-size:10.5cqi;line-height:1;letter-spacing:.12em;color:var(--gdt-cream);transition:color .3s ease}
.gdt .gdt-bn-name{
  margin-top:2cqi;padding:0 6cqi;font-family:var(--gdt-f-cond);
  font-size:calc(var(--gdt-fs-banner) / 1.7 * 1cqi);
  line-height:.92;text-align:center;color:var(--gdt-white) !important;overflow-wrap:normal;hyphens:manual;transition:color .3s ease;
}
.gdt-bn-mat + .gdt-bn-name{margin-top:9cqi}

/* Hover: the banner swings and settles slightly lower */
.gdt .gdt-bn-link:hover,.gdt .gdt-bn-link:focus-visible{animation:gdt-swing .9s cubic-bezier(.3,.6,.3,1) forwards}
.gdt .gdt-bn-link:hover .gdt-bn-body,.gdt .gdt-bn-link:focus-visible .gdt-bn-body{background:var(--gdt-bn-hover)}
.gdt .gdt-bn-link:hover .gdt-bn-hem,.gdt .gdt-bn-link:focus-visible .gdt-bn-hem{background:var(--gdt-bn-trim)}
.gdt .gdt-bn-link:hover .gdt-bn-code,.gdt .gdt-bn-link:focus-visible .gdt-bn-code,
.gdt .gdt-bn-link:hover .gdt-bn-name,.gdt .gdt-bn-link:focus-visible .gdt-bn-name{color:var(--gdt-gold) !important}
.gdt .gdt-bn-link:focus-visible{outline:2px solid var(--gdt-cream);outline-offset:6px}
@keyframes gdt-swing{
  0%{transform:translateY(0) rotate(0)}
  30%{transform:translateY(10px) rotate(-4deg)}
  55%{transform:translateY(10px) rotate(2.5deg)}
  78%{transform:translateY(10px) rotate(-1deg)}
  100%{transform:translateY(10px) rotate(0)}
}

/* =================== Team page =================== */
.gdt-page{background:var(--gdt-page-bg)}
.gdt-wrap{max-width:var(--gdt-max);margin-left:auto;margin-right:auto;padding-left:clamp(16px,4vw,40px);padding-right:clamp(16px,4vw,40px)}

.gdt-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--gdt-hero-bg) var(--gdt-hero-img) center bottom / cover no-repeat;padding:clamp(24px,3vw,40px) 0 clamp(110px,12vw,170px)}
.gdt-hero .gdt-wrap{position:relative;z-index:1}
.gdt-hero--art{min-height:clamp(460px,44vw,640px)}
.gdt-hero--art .gdt-id{flex-direction:column;align-items:flex-start;gap:clamp(20px,2.5vw,32px)}
.gdt .gdt-hero--art .gdt-btn{margin-bottom:0}
.gdt-hero-art{position:absolute;right:max(16px,calc(50% - 560px));bottom:clamp(16px,2vw,30px);height:clamp(240px,37vw,540px);width:auto;pointer-events:none;filter:drop-shadow(0 24px 30px rgba(5,20,60,.55));z-index:0}
.gdt-hero .gdt-decor-ring{top:-38%;right:-10%;width:min(700px,70vw)}
.gdt .gdt-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--gdt-cream) !important}
.gdt-back svg{width:14px;height:14px;stroke:var(--gdt-gold);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}
.gdt .gdt-back:hover{color:var(--gdt-white) !important}
.gdt .gdt-back:hover svg{transform:translateX(-3px)}

.gdt-id{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-top:clamp(20px,3vw,40px)}
.gdt-id-main{display:flex;align-items:center;gap:clamp(20px,3vw,40px)}
.gdt-id .gdt-flag{flex:none;width:clamp(150px,17vw,240px);padding:clamp(5px,.6vw,8px);background:var(--gdt-white);border-radius:6px;box-shadow:0 20px 34px -18px rgba(5,20,60,.8)}
.gdt-id .gdt-flag img{border-radius:3px}
.gdt-id .gdt-flag--contain img{padding:4px}
.gdt-name-block{display:flex;flex-direction:column;gap:10px}
.gdt-name-block .gdt-code{align-self:flex-start;font-size:clamp(20px,2vw,26px);padding:6px 10px 4px}
.gdt .gdt-country{
  margin:0;padding:0;font-family:var(--gdt-f-display);font-weight:400;
  font-size:clamp(calc(var(--gdt-fs-country) * .5px),calc(var(--gdt-fs-country) * .0735vw),calc(var(--gdt-fs-country) * 1px));
  line-height:.8;letter-spacing:.01em;text-transform:none;
  background:var(--gdt-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 5px 0 #7A4A06);
}
.gdt .gdt-btn,.gdt .gdt-btn:visited{
  flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:200px;height:52px;padding:0 26px;margin-bottom:10px;
  border-radius:4px;border:2px solid var(--gdt-gold);background:var(--gdt-gold) !important;color:var(--gdt-navy) !important;
  font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;
  transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;
}
.gdt .gdt-btn:hover,.gdt .gdt-btn:focus-visible{background:var(--gdt-red) !important;border-color:var(--gdt-red);color:var(--gdt-white) !important;transform:translateY(-2px)}

/* Squad: Sixes ring */
.gdt-squad-band{background:var(--gdt-page-bg) var(--gdt-squad-img) center top / cover no-repeat;padding-bottom:var(--gdt-sq-pb);overflow:hidden}
.gdt-squad{padding-top:var(--gdt-sq-pt)}
.gdt .gdt-squad-title{
  margin:0;padding:0;font-family:var(--gdt-f-cond);font-weight:400;
  font-size:clamp(calc(var(--gdt-fs-squad-title) * .75px),calc(var(--gdt-fs-squad-title) * .0735vw),calc(var(--gdt-fs-squad-title) * 1px));
  line-height:1;letter-spacing:.02em;color:var(--gdt-white);text-transform:none;
}
.gdt-stage{
  /* Sizes come from Display settings, scaled down for narrower screens (--gdt-rs)
     and capped by the window height so the whole squad fits one screen. */
  --r:max(calc(var(--gdt-sq-o) * .55px),min(calc(var(--gdt-sq-o) * var(--gdt-rs) * 1px),calc((100vh - 140px) * var(--gdt-sq-fr))));
  --p:max(calc(var(--gdt-sq-p) * .55px),min(calc(var(--gdt-sq-p) * var(--gdt-rs) * 1px),calc((100vh - 140px) * var(--gdt-sq-fp))));
  --cp:max(calc(var(--gdt-sq-cp) * .55px),min(calc(var(--gdt-sq-cp) * var(--gdt-rs) * 1px),calc((100vh - 140px) * var(--gdt-sq-fcp))));
  position:relative;width:calc(var(--r) * 2 + var(--p));height:calc(var(--r) * 1.732 + var(--p));margin:var(--gdt-sq-gap) auto 0;
}
.gdt-orbit-line{position:absolute;left:50%;top:50%;width:calc(var(--r) * 2);height:calc(var(--r) * 2);transform:translate(-50%,-50%);pointer-events:none;overflow:visible}

.gdt-portrait{position:relative;display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;background:#1A3FB0;border:3px solid rgba(255,197,34,.7);transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .3s ease}
.gdt-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;border-radius:0}
.gdt-portrait--empty{display:flex;align-items:flex-end;justify-content:center}
.gdt-portrait--empty svg{width:78%;height:auto;fill:#0E2A48}

.gdt-pname{display:flex;flex-direction:column;gap:3px}
.gdt-first{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gdt-cream)}
.gdt-last{
  font-family:var(--gdt-f-cond);
  font-size:clamp(calc(var(--gdt-fs-player) * .7px),calc(var(--gdt-fs-player) * .0735vw),calc(var(--gdt-fs-player) * 1px));
  line-height:.9;letter-spacing:.01em;color:var(--gdt-white);transition:color .3s ease;
}

.gdt-cap{position:absolute;left:50%;top:calc(50% - var(--cp) / 2);width:max(220px,calc(var(--cp) * 1.3));transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;z-index:2}
.gdt-cap-photo{position:relative;width:var(--cp);height:var(--cp)}
.gdt-cap .gdt-portrait{border:6px solid var(--gdt-gold);box-shadow:0 0 0 8px rgba(255,197,34,.18),0 22px 40px -14px rgba(0,0,0,.8)}
.gdt-captain{position:absolute;left:50%;top:-14px;transform:translateX(-50%);font-family:var(--gdt-f-cond);font-size:20px;line-height:1;letter-spacing:.06em;padding:6px 11px 4px;border-radius:3px;background:var(--gdt-red);color:var(--gdt-white);box-shadow:0 6px 14px -6px rgba(0,0,0,.6);white-space:nowrap}
.gdt-cap .gdt-pname{margin-top:16px;align-items:center}
.gdt-cap-ring{position:absolute;left:50%;top:50%;width:calc(var(--cp) * 1.99);height:auto;transform:translate(-50%,-50%);pointer-events:none;z-index:1;filter:drop-shadow(0 18px 30px rgba(5,20,60,.6))}
.gdt-has-ring .gdt-cap .gdt-portrait{border:0;box-shadow:none}
.gdt-has-ring .gdt-captain{top:calc(var(--cp) * -.5 - 16px);z-index:2}
.gdt-has-ring .gdt-cap .gdt-pname{margin-top:calc(var(--cp) * .5 + 14px)}
.gdt-cap .gdt-first{font-size:13px}
.gdt-cap .gdt-last{
  font-size:clamp(calc(var(--gdt-fs-captain) * .6px),min(calc(var(--gdt-fs-captain) * .0735vw),calc(var(--gdt-fs-captain) * .0045 * var(--cp))),calc(var(--gdt-fs-captain) * 1px));
  line-height:.88;background:var(--gdt-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #7A4A06);
}

.gdt-orbit{list-style:none;margin:0;padding:0}
.gdt-orbit > li{
  position:absolute;left:50%;top:50%;width:var(--p);height:var(--p);margin:calc(var(--p) / -2) 0 0 calc(var(--p) / -2);padding:0;
  transform:rotate(var(--a)) translate(var(--r)) rotate(calc(var(--a) * -1));
}
.gdt-orbit .gdt-pname{position:absolute;top:50%;transform:translateY(-50%);width:200px}
/* Player surnames follow the photo size too, so on short laptop screens (where the
   ring shrinks to fit the height) the names shrink with it instead of crowding it. */
.gdt-orbit .gdt-last{font-size:clamp(calc(var(--gdt-fs-player) * .6px),min(calc(var(--gdt-fs-player) * .0735vw),calc(var(--gdt-fs-player) * var(--p) / 140)),calc(var(--gdt-fs-player) * 1px))}
.gdt-orbit .gdt-lab-r .gdt-pname{left:calc(100% + max(12px, var(--p) * .14));text-align:left}
.gdt-orbit .gdt-lab-l .gdt-pname{right:calc(100% + max(12px, var(--p) * .14));text-align:right;align-items:flex-end}
.gdt-orbit > li:hover .gdt-portrait{transform:scale(1.07);border-color:var(--gdt-gold);box-shadow:0 16px 30px -12px rgba(0,0,0,.8)}
.gdt-orbit > li:hover .gdt-last{color:var(--gdt-gold)}

/* Click a portrait to see the photo larger */
.gdt .gdt-zoom{position:relative;display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:50%;background:none;cursor:zoom-in;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.gdt .gdt-zoom:focus-visible{outline:3px solid var(--gdt-cream);outline-offset:4px}
.gdt-zoom-icon{position:absolute;right:4%;bottom:4%;width:34px;height:34px;border-radius:50%;background:var(--gdt-gold);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px -6px rgba(0,0,0,.6);opacity:0;transform:scale(.7);transition:opacity .25s ease,transform .25s ease;z-index:3}
.gdt-zoom-icon svg{width:18px;height:18px;fill:none;stroke:var(--gdt-navy);stroke-width:2.4;stroke-linecap:round}
.gdt .gdt-zoom:hover .gdt-zoom-icon,.gdt .gdt-zoom:focus-visible .gdt-zoom-icon{opacity:1;transform:scale(1)}
.gdt-cap .gdt-zoom-icon{right:12%;bottom:12%}
@media (hover:none){.gdt-zoom-icon{opacity:.95;transform:scale(.85)}}

/* Photo viewer */
.gdt-lb{
  --gdt-gold:#FFC522;--gdt-cream:#FFED97;--gdt-red:#CA2036;--gdt-navy:#123457;
  position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;
  background:rgba(8,24,48,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  font-family:'proxima-nova','Proxima Nova','Montserrat',system-ui,sans-serif;color:#fff;
  opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s;
}
.gdt-lb.is-open{opacity:1;visibility:visible;transition:opacity .25s ease}
.gdt-lb-figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:18px;max-width:100%}
.gdt-lb-frame{position:relative;width:min(560px,82vw,calc(100vh - 230px));aspect-ratio:1;border-radius:8px;overflow:hidden;background:#1A3FB0;border:4px solid var(--gdt-gold);box-shadow:0 30px 60px -20px rgba(0,0,0,.8);transform:scale(.94);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.gdt-lb.is-open .gdt-lb-frame{transform:none}
.gdt-lb-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:opacity .2s ease}
.gdt-lb-frame img.is-loading{opacity:.2}
.gdt-lb-tag{position:absolute;left:14px;top:14px;font-family:'Gazzetta','Bebas Neue',sans-serif;font-size:20px;line-height:1;letter-spacing:.06em;padding:6px 11px 4px;border-radius:3px;background:var(--gdt-red);color:#fff}
.gdt-lb-cap{text-align:center}
.gdt-lb-first{display:block;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gdt-cream)}
.gdt-lb-last{display:block;font-family:'Gazzetta','Bebas Neue',sans-serif;font-size:clamp(36px,5vw,56px);line-height:.9;text-transform:uppercase;background:linear-gradient(180deg,#FFF6CF 0%,#FFED97 22%,#FFC522 55%,#E59E12 80%,#B06F08 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.gdt-lb-count{display:block;margin-top:8px;font-size:12px;font-weight:700;letter-spacing:.1em;color:rgba(255,237,151,.7)}
.gdt-lb-btn{position:absolute;display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border-radius:4px;border:2px solid rgba(255,197,34,.6);background:rgba(18,52,87,.7);cursor:pointer;color:var(--gdt-gold);transition:background-color .2s ease,border-color .2s ease}
.gdt-lb-btn:hover,.gdt-lb-btn:focus-visible{background:var(--gdt-red);border-color:var(--gdt-red);color:#fff;outline:none}
.gdt-lb-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.gdt-lb-close{top:20px;right:20px}
.gdt-lb-prev{left:max(16px,calc(50% - 400px));top:50%;transform:translateY(-50%)}
.gdt-lb-next{right:max(16px,calc(50% - 400px));top:50%;transform:translateY(-50%)}
@media (max-width:640px){
  .gdt-lb{padding:16px}
  .gdt-lb-frame{width:min(92vw,calc(100vh - 260px))}
  .gdt-lb-prev,.gdt-lb-next{top:auto;bottom:20px;transform:none}
  .gdt-lb-prev{left:20px}.gdt-lb-next{right:20px}
}
@media (prefers-reduced-motion:reduce){.gdt-lb,.gdt-lb-frame,.gdt-lb-frame img{transition:none}}

/* Previous and next */
.gdt-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:var(--gdt-sq-pb);padding-top:32px;border-top:1px solid rgba(255,237,151,.25)}
.gdt .gdt-step,.gdt .gdt-step:visited{display:flex;align-items:center;gap:16px;color:var(--gdt-white) !important}
.gdt-step--next{text-align:right}
.gdt-step-text{display:flex;flex-direction:column;gap:4px}
.gdt-step-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gdt-cream)}
.gdt-step-team{font-family:var(--gdt-f-cond);font-size:32px;line-height:1;transition:color .25s ease}
.gdt-step-icon{flex:none;width:52px;height:52px;border-radius:4px;border:2px solid var(--gdt-line);display:flex;align-items:center;justify-content:center;transition:background-color .25s ease,border-color .25s ease}
.gdt-step-icon svg{width:20px;height:20px;stroke:var(--gdt-gold);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.gdt-step--next .gdt-step-icon{background:var(--gdt-gold);border-color:var(--gdt-gold)}
.gdt-step--next .gdt-step-icon svg{stroke:var(--gdt-navy)}
.gdt .gdt-step:hover .gdt-step-icon,.gdt .gdt-step:focus-visible .gdt-step-icon{background:var(--gdt-red);border-color:var(--gdt-red)}
.gdt .gdt-step:hover .gdt-step-icon svg,.gdt .gdt-step:focus-visible .gdt-step-icon svg{stroke:var(--gdt-white)}
.gdt .gdt-step:hover .gdt-step-team{color:var(--gdt-cream)}

/* =================== Entrance =================== */
.gdt-anim.is-ready:not(.is-in) .gdt-grid-title,
.gdt-anim.is-ready:not(.is-in) .gdt-grid > li,
.gdt-anim.is-ready:not(.is-in) .gdt-id,
.gdt-anim.is-ready:not(.is-in) .gdt-cap,
.gdt-anim.is-ready:not(.is-in) .gdt-orbit > li,
.gdt-anim.is-ready:not(.is-in) .gdt-bn,
.gdt-anim.is-ready:not(.is-in) .gdt-grid-intro,
.gdt-anim.is-ready:not(.is-in) .gdt-grid-hero-art,
.gdt-anim.is-ready:not(.is-in) .gdt-hero-art{opacity:0}
.gdt-anim.is-in .gdt-grid-intro{animation:gdt-up .8s cubic-bezier(.2,.7,.2,1) .1s backwards}
.gdt-anim.is-in .gdt-grid-hero-art,.gdt-anim.is-in .gdt-hero-art{animation:gdt-fade 1.2s ease .1s backwards}
.gdt-anim.is-in .gdt-bn{animation:gdt-drop .8s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--i) * 60ms + 150ms)}
@keyframes gdt-drop{from{opacity:0;transform:translateY(-36px)}}
.gdt-anim.is-in .gdt-grid-title,.gdt-anim.is-in .gdt-id{animation:gdt-up .8s cubic-bezier(.2,.7,.2,1) backwards}
.gdt-anim.is-in .gdt-grid > li{animation:gdt-up .7s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--i) * 50ms + 150ms)}
.gdt-anim.is-in .gdt-cap{animation:gdt-fade .9s ease .2s backwards}
.gdt-anim.is-in .gdt-orbit > li{animation:gdt-fade .6s ease backwards;animation-delay:calc(var(--i) * 90ms + 500ms)}
@keyframes gdt-up{from{opacity:0;transform:translateY(18px)}}
@keyframes gdt-fade{from{opacity:0}}
@keyframes gdt-spin{to{transform:rotate(360deg)}}

/* =================== Responsive =================== */
@media (max-width:1280px){
  .gdt{--gdt-rs:.84}
  .gdt-orbit .gdt-pname{width:180px}
}
@media (max-width:1180px){
  .gdt{--gdt-rs:.74}
  .gdt-orbit .gdt-pname{width:165px}
}
@media (max-width:1050px){
  .gdt{--gdt-rs:.64}
  .gdt-orbit .gdt-pname{width:150px}
}
@media (max-width:1000px){
  .gdt-id{flex-direction:column;align-items:flex-start}
  .gdt .gdt-btn{margin-bottom:0}
}
/* Captain framed by the ring, the rest in a grid below */
@media (max-width:900px){
  .gdt-stage{--cp:var(--gdt-sq-cpm);width:auto;height:auto;margin:var(--gdt-sq-gap) 0 0}
  .gdt-cap{width:auto}
  .gdt-orbit-line{display:none}
  .gdt-cap{position:relative;left:auto;top:auto;width:auto;transform:none;padding-top:20px}
  .gdt-has-ring .gdt-cap{padding-top:calc(var(--cp) * .5 + 20px)}
  .gdt-cap-photo{width:var(--cp);height:var(--cp)}
  .gdt-cap .gdt-portrait{border-width:5px}
  .gdt-captain{font-size:17px;padding:5px 9px 3px}
  .gdt-orbit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 8px;margin-top:36px}
  .gdt-orbit > li{position:static;width:auto;height:auto;margin:0;transform:none;display:flex;flex-direction:column;align-items:center}
  .gdt-orbit .gdt-portrait,
  .gdt-orbit .gdt-zoom{width:var(--gdt-sq-pm);height:var(--gdt-sq-pm)}
  .gdt-orbit .gdt-pname,
  .gdt-orbit .gdt-lab-r .gdt-pname,
  .gdt-orbit .gdt-lab-l .gdt-pname{position:static;transform:none;width:auto;margin-top:10px;text-align:center;align-items:center}
  .gdt-first{font-size:10px}
  .gdt-orbit .gdt-last{font-size:24px}
}
@media (max-width:700px){
  .gdt-layout-banners .gdt-inner{max-width:none}
  .gdt-rails{
    flex-direction:row;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
    margin-right:calc(clamp(16px,4vw,56px) * -1);padding:8px clamp(16px,4vw,56px) 24px 4px;
    background:linear-gradient(var(--gdt-bn-trim),var(--gdt-bn-trim)) 0 8px / 100% 6px no-repeat;background-attachment:local;
    scrollbar-width:none;
  }
  .gdt-rails::-webkit-scrollbar{display:none}
  .gdt-rail{display:contents}
  .gdt-rail::before,.gdt-rail::after{display:none}
  .gdt-bn{flex:0 0 150px;max-width:none;scroll-snap-align:start;padding-top:4px}
}
@media (max-width:800px){
  .gdt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .gdt-card .gdt-flag{margin:7px 7px 0}
  .gdt-card-body{padding:12px 10px 12px 12px;gap:8px}
  .gdt .gdt-card-more{display:none}
  .gdt .gdt-card-name{font-size:24px}
  .gdt-card .gdt-code{font-size:17px;padding:4px 6px 3px}
}
@media (max-width:640px){
  .gdt-id-main{flex-direction:column;align-items:flex-start;gap:20px}
  .gdt .gdt-btn{width:100%}
  .gdt .gdt-hero--art .gdt-btn{width:auto;min-width:180px}
  .gdt-hero-art{right:-6px;height:260px}
  .gdt-hero--art{min-height:0}
  .gdt-grid-hero-art{right:-18px;top:14px;width:118px;opacity:.9}
  .gdt .gdt-grid-intro{max-width:64%}
  .gdt-finale{min-height:440px}
  .gdt-finale-dance{top:80px;width:320px}
  .gdt-finale-lion{width:66px;bottom:auto;top:270px}
  .gdt-finale-actions{flex-direction:column;align-items:center;bottom:32px}
  .gdt .gdt-finale-actions .gdt-btn{width:min(206px,100%);min-width:0;height:48px;font-size:13px}
  .gdt-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .gdt-step-icon{display:none}
  .gdt .gdt-step{padding:12px;border:2px solid var(--gdt-line);border-radius:4px}
  .gdt .gdt-step--next{justify-content:flex-end;background:var(--gdt-gold);border-color:var(--gdt-gold);color:var(--gdt-navy) !important}
  .gdt-step--next .gdt-step-label{color:var(--gdt-navy)}
  .gdt-step-team{font-size:24px}
}
@media (prefers-reduced-motion:reduce){
  .gdt *,.gdt *::before,.gdt *::after{animation:none !important;transition:none !important}
  .gdt-anim.is-ready .gdt-grid-title,.gdt-anim.is-ready .gdt-grid > li,.gdt-anim.is-ready .gdt-id,.gdt-anim.is-ready .gdt-cap,.gdt-anim.is-ready .gdt-orbit > li,.gdt-anim.is-ready .gdt-bn,.gdt-anim.is-ready .gdt-grid-intro,.gdt-anim.is-ready .gdt-grid-hero-art,.gdt-anim.is-ready .gdt-hero-art{opacity:1}
}

/* 1.4.1: italic overhang fix. Gradient text (background-clip:text) only paints inside the
   element box, so the slanted last letter of Gazzetta was clipped. Padding widens the paint
   area; equal negative margin keeps the visual position and centering unchanged. */
.gdt .gdt-grid-title,
.gdt .gdt-country,
.gdt-cap .gdt-last{padding-left:.12em;padding-right:.18em;margin-left:-.12em;margin-right:-.18em}
.gdt-lb-cap{max-width:min(92vw,760px);padding:0 .25em}
.gdt-lb-last{display:inline-block;padding:0 .16em .04em;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
.gdt-lb-first,.gdt-lb-count{display:block}

/* 1.5.0: team description under the team name */
.gdt-id-col{display:flex;flex-direction:column;gap:clamp(16px,2vw,24px);min-width:0}
.gdt .gdt-desc{
  max-width:600px;margin:0;padding:0;font-weight:600;line-height:1.6;color:var(--gdt-cream);
  font-size:clamp(calc(var(--gdt-fs-desc) * .85px),calc(var(--gdt-fs-desc) * .0735vw),calc(var(--gdt-fs-desc) * 1px));
}
.gdt .gdt-desc p{margin:0 0 .8em;padding:0;font:inherit;color:inherit}
.gdt .gdt-desc p:last-child{margin-bottom:0}
.gdt .gdt-desc strong,.gdt .gdt-desc b{font-weight:800;color:var(--gdt-white)}
.gdt .gdt-desc a,.gdt .gdt-desc a:visited{color:var(--gdt-gold) !important;border-bottom:1px solid rgba(255,197,34,.5);transition:border-color .2s ease,color .2s ease}
.gdt .gdt-desc a:hover{color:var(--gdt-white) !important;border-color:var(--gdt-white)}
/* Keep the text clear of the header illustration on the right */
.gdt-hero--art .gdt-desc{max-width:min(600px,calc(100% - clamp(160px,30vw,400px)))}
@media (max-width:640px){
  .gdt-hero--art .gdt-desc{max-width:62%}
}
