@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700;800;900&display=swap");

:root{
  --charcoal:#101820;
  --charcoal-deep:#050b10;
  --panel:#08141c;
  --panel-2:#0c1922;
  --gold:#d7b56d;
  --gold-deep:#aa7725;
  --teal:#00a7b5;
  --white:#f7f8fa;
  --muted:#a9b2b9;
  --line:rgba(215,181,109,.34);
  --shell:1510px;
  --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--charcoal-deep);color:var(--white);font-family:Inter,Arial,sans-serif;line-height:1.5}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.shell{width:min(calc(100% - 48px),var(--shell));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-70px;z-index:200;background:var(--gold);color:#111;padding:10px 14px;font-weight:800}
.skip-link:focus{top:16px}
.dynamic-logo{height:var(--logo-height,58px);width:auto;object-fit:contain}

.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(3,9,13,.92);border-bottom:1px solid rgba(215,181,109,.22);backdrop-filter:blur(16px)}
.header-inner{min-height:82px;display:flex;align-items:center;gap:26px}
.brand-lockup{display:inline-flex;align-items:center;gap:13px;flex:0 0 auto}
.brand-lockup span{display:grid;line-height:1}
.brand-lockup strong{font-size:18px;letter-spacing:.07em;text-transform:uppercase}
.brand-lockup small{margin-top:7px;color:var(--gold);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(16px,1.75vw,31px);margin-left:auto}
.main-nav a{position:relative;padding:31px 0 27px;color:#e8ecef;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:19px;height:2px;background:var(--gold);transition:right .2s ease}
.main-nav a:hover::after,.main-nav a.active::after{right:0}
.header-cta{padding:13px 23px;border-radius:4px;background:linear-gradient(135deg,#e7c478,#b88932);color:#0a0d10;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;padding:8px}
.menu-toggle span{display:block;width:27px;height:2px;margin:6px 0;background:white}

.hero{position:relative;min-height:620px;padding-top:82px;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-photo{position:absolute;inset:82px 0 0 31%;background:url("/assets/v4/images/hero-athletes.webp") center/cover no-repeat}
.hero-overlay{position:absolute;inset:82px 0 0;background:linear-gradient(90deg,#07131b 0%,rgba(7,19,27,.98) 24%,rgba(7,19,27,.78) 39%,rgba(7,19,27,.08) 72%),linear-gradient(0deg,rgba(4,10,14,.75),transparent 50%)}
.hero-content{position:relative;z-index:2;min-height:538px;display:flex;align-items:center}
.hero-copy{width:min(700px,55%);padding-block:52px}
.hero-logo{margin:0 0 20px;max-width:150px}
.hero h1{margin:0;text-transform:uppercase;letter-spacing:-.045em;line-height:.92}
.hero h1 span{display:block;font-size:clamp(42px,4.3vw,67px)}
.hero h1 strong{display:block;margin-top:9px;color:var(--gold);font-size:clamp(62px,6vw,96px)}
.hero-copy>p{margin:22px 0 0;font-size:20px}
.actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:27px}
.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:0 23px;border:1px solid transparent;border-radius:4px;font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;transition:.2s ease}
.button:hover{transform:translateY(-2px)}
.button.gold{background:linear-gradient(135deg,#e7c478,#b88932);color:#0d1114}
.button.outline{border-color:var(--teal);color:var(--teal);background:rgba(4,13,18,.55)}
.button.teal{background:linear-gradient(135deg,#00b6c5,#007b87)}

.event-strip{position:relative;z-index:4;margin-top:-1px;background:#050d13;border-block:1px solid var(--line)}
.event-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.event-grid article{display:flex;align-items:center;gap:18px;min-height:112px;padding:20px 28px;border-right:1px solid rgba(255,255,255,.12)}
.event-grid article:last-child{border-right:0}
.event-icon{color:var(--gold);font-size:40px;line-height:1}
.event-grid small{display:block;color:var(--teal);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.event-grid strong{display:block;margin-top:3px;font-size:15px;text-transform:uppercase}
.event-grid p{margin:2px 0 0;color:#c1c8cd;font-size:12px;text-transform:uppercase}

.section{padding:54px 0}
.ecosystem{background:linear-gradient(180deg,#061018,#040a0f)}
.section-title{text-align:center;margin-bottom:26px}
.section-title p{margin:0;color:#fff;font-size:23px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.section-title h2{margin:5px 0 0;color:var(--gold);font-size:13px;letter-spacing:.24em;text-transform:uppercase}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.feature-card{position:relative;min-height:365px;border:1px solid var(--teal);border-radius:var(--radius);overflow:hidden;background:#07121a}
.feature-card:nth-child(even){border-color:#9d722b}
.feature-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,10,15,.98) 0%,rgba(3,10,15,.75) 45%,rgba(3,10,15,.08) 100%)}
.card-copy{position:absolute;inset:auto 20px 18px;z-index:2}
.mini-icon{color:var(--teal);font-size:34px}
.card-crown{height:48px;margin-bottom:5px}
.card-copy h3{margin:2px 0 8px;color:var(--teal);font-size:21px;text-transform:uppercase}
.card-copy p{min-height:62px;margin:0;color:#edf1f4;font-size:14px}
.card-copy a{margin-top:15px;min-height:42px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#00a7b5,#00727d);font-size:11px;font-weight:900;text-transform:uppercase}
.card-copy a.gold-link{background:linear-gradient(135deg,#e4bf6e,#a87220);color:#101216}
.gold-text{color:var(--gold)!important}

.partners{padding-top:16px;background:#040a0f}
.partner-heading{display:flex;align-items:center;gap:18px;justify-content:center;margin-bottom:16px}
.partner-heading span{width:120px;height:1px;background:var(--line)}
.partner-heading h2{margin:0;color:var(--teal);font-size:14px;letter-spacing:.24em;text-transform:uppercase}
.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;background:#07121a;overflow:hidden}
.partner{min-height:112px;display:flex;align-items:center;justify-content:center;gap:14px;padding:18px;border-right:1px solid rgba(255,255,255,.13)}
.partner:last-child{border-right:0}
.partner-symbol{color:var(--gold);font-style:normal;font-size:42px}
.partner strong{display:block;font-size:23px;letter-spacing:.05em;text-transform:uppercase}
.partner small{display:block;margin-top:3px;color:#d0d6da;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.partner-air strong span{color:var(--teal)}
.partner-cambridge strong{font-family:Georgia,serif;font-size:20px}
.partner-paradise .palm{color:#55bd86}

.bermuda{padding-top:12px;background:#040a0f}
.bermuda-panel{display:grid;grid-template-columns:38% 62%;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#07121a}
.bermuda-image{position:relative;min-height:245px}
.bermuda-image>img{width:100%;height:100%;object-fit:cover}
.bermuda-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,11,16,.15),rgba(4,11,16,.45))}
.bermuda-image>div{position:absolute;z-index:2;inset:auto 25px 25px}
.bermuda-image strong{display:block;font-size:40px;text-transform:uppercase}
.bermuda-image strong span{color:var(--gold)}
.bermuda-image small{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.bermuda-copy{padding:30px 34px;display:flex;flex-direction:column;justify-content:center}
.bermuda-copy>p{margin:0;max-width:830px;font-size:18px}
.bermuda-facts{display:flex;flex-wrap:wrap;gap:19px;margin-top:22px;color:#d8dde0;font-size:10px;font-weight:700;text-transform:uppercase}

.site-footer{border-top:1px solid var(--line);background:#03080c}
.footer-grid{display:grid;grid-template-columns:1.25fr 1fr .75fr 1.2fr;gap:38px;padding-block:39px}
.footer-brand{align-self:start}
.site-footer h3{margin:0 0 12px;color:var(--teal);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px}
.footer-links a,.site-footer p{color:#aeb7bd;font-size:12px}
.social{color:#c8d0d5;font-size:22px;word-spacing:12px}
.newsletter{display:flex;margin-top:10px}
.newsletter input{min-width:0;flex:1;background:#07121a;border:1px solid #31414a;color:white;padding:12px}
.newsletter button{width:48px;border:0;background:var(--teal);color:white}
.footer-bottom{min-height:55px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.07);color:#78848c;font-size:10px;text-transform:uppercase}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}

@media(max-width:1220px){
  .main-nav{gap:14px}.main-nav a{font-size:9px}
  .brand-lockup strong{font-size:15px}
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .partner strong{font-size:18px}
}
@media(max-width:960px){
  .header-inner{min-height:72px}.site-header{background:rgba(3,9,13,.98)}
  .menu-toggle{display:block}
  .main-nav{position:fixed;inset:72px 0 auto;height:calc(100dvh - 72px);padding:22px 25px 100px;display:grid;align-content:start;background:#050c11;transform:translateX(100%);transition:.25s ease;overflow:auto}
  .main-nav.open{transform:none}.main-nav a{padding:14px 0;font-size:14px;border-bottom:1px solid rgba(255,255,255,.08)}.main-nav a::after{display:none}
  .header-cta{margin-left:0}
  .hero{padding-top:72px}.hero-photo{inset:72px 0 0 8%;opacity:.78}.hero-overlay{inset:72px 0 0;background:linear-gradient(0deg,#07131b 0%,rgba(7,19,27,.54) 75%),linear-gradient(90deg,rgba(7,19,27,.88),rgba(7,19,27,.05))}
  .hero-copy{width:80%}
  .event-grid{grid-template-columns:repeat(2,1fr)}.event-grid article:nth-child(2){border-right:0}
  .partner-grid{grid-template-columns:repeat(2,1fr)}.partner:nth-child(2){border-right:0}.partner:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
  .bermuda-panel{grid-template-columns:1fr}.bermuda-image{min-height:280px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .shell{width:min(calc(100% - 28px),var(--shell))}
  .brand-lockup span{display:none}.header-cta{padding:11px 14px}
  .hero{min-height:690px}.hero-photo{left:0;background-position:57% center}.hero-content{min-height:618px;align-items:flex-end}.hero-copy{width:100%;padding-bottom:55px}
  .hero h1 span{font-size:39px}.hero h1 strong{font-size:60px}.hero-copy>p{font-size:17px}
  .actions .button{width:100%}
  .event-grid{grid-template-columns:1fr}.event-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .card-grid{grid-template-columns:1fr}.feature-card{min-height:345px}
  .partner-heading span{display:none}.partner-heading h2{text-align:center}
  .partner-grid{grid-template-columns:1fr}.partner{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.partner:last-child{border-bottom:0}
  .bermuda-copy{padding:25px 20px}.bermuda-image strong{font-size:32px}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;justify-content:center;text-align:center;padding-block:17px;gap:7px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}


/* FLT homepage ticket-card repair */
.feature-card .ticket-card-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
  transform:scale(1.01);
  background:#07121a;
}
.feature-card:nth-child(2) .card-shade{
  background:linear-gradient(0deg,rgba(3,10,15,.98) 0%,rgba(3,10,15,.72) 48%,rgba(3,10,15,.12) 100%);
}

/* FLT ACTIVE HOMEPAGE HERO START */

/*
 * Approved Freestyle Legends homepage hero.
 * This overrides only the public homepage .hero-photo layer.
 */
.hero-photo {
  background-image:
    url("/assets/v4/images/home-hero-flt-legends-1600.webp?v=20260802-010047") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

@media (min-width: 1900px) {
  .hero-photo {
    background-image:
      url("/assets/v4/images/home-hero-flt-legends-ultrawide-3440.webp?v=20260802-010047") !important;
    background-position: center right !important;
  }
}

@media (max-width: 900px) {
  .hero-photo {
    background-image:
      url("/assets/v4/images/home-hero-flt-legends-mobile-1005.webp?v=20260802-010047") !important;
    background-position: center top !important;
  }
}

@media (max-width: 600px) {
  .hero-photo {
    background-image:
      url("/assets/v4/images/home-hero-flt-legends-mobile-720.webp?v=20260802-010047") !important;
    background-position: center top !important;
  }
}

/* FLT ACTIVE HOMEPAGE HERO END */

/* FLT JAMES QC BATCH1 V13 START */

/*
 * James QC public homepage foundation.
 * This deliberately extends the existing V4 public stylesheet
 * instead of adding another stylesheet link to the document head.
 */

:root{
  --flt-public-font:"Noto Sans",Arial,Helvetica,sans-serif;
  --flt-public-radius:6px;
}

/* ---------------------------------------------------------
   TYPOGRAPHY
   --------------------------------------------------------- */

body,
button,
input,
select,
textarea{
  font-family:var(--flt-public-font)!important;
}

body{
  line-height:1.6;
}

.hero h1,
.section-title p,
.section-title h2,
.partner-heading h2,
.card-copy h3,
.event-grid strong,
.event-grid small{
  font-family:var(--flt-public-font)!important;
}

/*
 * Do not make every heading one literal size.
 * Preserve proper H1/H2/H3 hierarchy while making each
 * hierarchy level consistent.
 */

.section-title p{
  margin:0;
  color:#fff;
  font-size:clamp(30px,3.2vw,48px);
  font-weight:900;
  line-height:1;
  letter-spacing:-.025em;
  text-transform:uppercase;
}

.section-title h2{
  margin:9px 0 0;
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  line-height:1.3;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.partner-heading h2{
  font-size:11px;
  font-weight:900;
  line-height:1.3;
  letter-spacing:.18em;
}

/* ---------------------------------------------------------
   GLOBAL PUBLIC CONTROL STYLE
   --------------------------------------------------------- */

.button,
.header-cta,
.card-copy a{
  border-radius:var(--flt-public-radius)!important;
}

/* ---------------------------------------------------------
   HOMEPAGE HERO
   --------------------------------------------------------- */

.hero-photo{
  inset:82px 0 0 0!important;
  background-image:
    url("/assets/james-qc/v1/Homepage-Hero.png")!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}

.hero-overlay{
  background:
    linear-gradient(
      90deg,
      rgba(5,11,16,.94) 0%,
      rgba(5,11,16,.87) 20%,
      rgba(5,11,16,.52) 41%,
      rgba(5,11,16,.06) 70%
    ),
    linear-gradient(
      0deg,
      rgba(4,10,14,.72),
      transparent 52%
    )!important;
}

.hero-copy{
  width:min(720px,52%)!important;
}

.hero-copy>p{
  max-width:620px;
}

/* ---------------------------------------------------------
   EVENT STRIP
   --------------------------------------------------------- */

.event-grid article{
  padding:20px 28px;
}

.event-svg-icon{
  display:block;
  width:40px;
  height:40px;
  object-fit:contain;
  flex:0 0 40px;
}

/* ---------------------------------------------------------
   ECOSYSTEM
   --------------------------------------------------------- */

.feature-card{
  border-color:rgba(0,167,181,.72)!important;
}

.feature-card:nth-child(even){
  border-color:rgba(0,167,181,.72)!important;
}

.card-svg-icon{
  display:block;
  width:34px;
  height:34px;
  margin-bottom:7px;
  object-fit:contain;
}

/* ---------------------------------------------------------
   FOUNDING PARTNERS
   --------------------------------------------------------- */

.flt-official-partner-grid{
  gap:12px!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}

.flt-official-partner-grid .partner{
  min-height:142px!important;
  padding:20px!important;
  border:1px solid rgba(0,167,181,.56)!important;
  border-radius:10px!important;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(0,167,181,.18),
      transparent 65%
    ),
    linear-gradient(
      180deg,
      #0b2330 0%,
      #07151e 100%
    )!important;
  flex-direction:column!important;
  text-decoration:none;
  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

.flt-official-partner-grid .partner:hover{
  transform:translateY(-3px);
  border-color:#00a7b5!important;
  box-shadow:0 16px 42px rgba(0,0,0,.26);
}

.flt-official-partner-logo-well{
  width:100%!important;
  min-height:64px!important;
  display:grid!important;
  place-items:center!important;
  padding:4px!important;
  border:0!important;
  background:transparent!important;
}

.flt-official-partner-logo{
  width:auto!important;
  height:auto!important;
  max-width:82%!important;
  max-height:58px!important;
  object-fit:contain!important;

  /*
   * James requested the four marks displayed in white.
   */
  filter:
    grayscale(1)
    brightness(0)
    invert(1)!important;
}

.flt-official-partner-role{
  margin-top:10px!important;
  text-align:center!important;
  color:#dbe4e8!important;
}

/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */

.footer-brand{
  align-self:center!important;
}

.footer-links{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.flt-social-icons{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  word-spacing:normal!important;
}

.flt-social-link{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(0,167,181,.38);
  border-radius:6px;
  background:#07121a;
}

.flt-social-link img{
  width:18px;
  height:18px;
  object-fit:contain;
}

.flt-social-link:hover{
  border-color:#00a7b5;
  transform:translateY(-1px);
}

.flt-social-link.is-pending{
  opacity:.5;
}

/* ---------------------------------------------------------
   LEGEND 150 LAUNCH PANEL
   --------------------------------------------------------- */

.james-ticket-launch-section{
  padding-top:54px!important;
  padding-bottom:54px!important;
}

.james-ticket-launch-section > .shell,
.james-ticket-launch-section > [class*="shell"],
.james-ticket-launch-section > [class*="container"],
.james-ticket-launch-section > [class*="wrap"]{
  width:min(calc(100% - 48px),var(--shell))!important;
  margin-inline:auto!important;
}

/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media(max-width:960px){

  .hero-photo{
    inset:72px 0 0!important;
    background-position:68% center!important;
  }

  .hero-copy{
    width:74%!important;
  }
}

@media(max-width:650px){

  .hero-photo{
    left:0!important;
    background-position:67% center!important;
  }

  .hero-copy{
    width:100%!important;
  }

  .flt-official-partner-grid{
    gap:10px!important;
  }

  .james-ticket-launch-section > .shell,
  .james-ticket-launch-section > [class*="shell"],
  .james-ticket-launch-section > [class*="container"],
  .james-ticket-launch-section > [class*="wrap"]{
    width:min(calc(100% - 28px),var(--shell))!important;
  }
}

/* FLT JAMES QC BATCH1 V13 END */
