*{box-sizing:border-box}
:root{
  --ink:#061116;
  --paper:#f3efe6;
  --paper2:#fffaf0;
  --blue:#00d9ff;
  --deep:#062430;
  --pink:#ff6fae;
  --sand:#f7d9a8;
  --muted:#6b7f87;
}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
}
a{color:inherit;text-decoration:none}
.mag-top{
  background:#fffaf0;
  border-bottom:4px solid var(--ink);
  position:sticky;
  top:0;
  z-index:50;
}
.utility-bar{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:8px 4vw;
  background:var(--ink);
  color:#d9f8ff;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1.4px;
}
.utility-bar a{color:var(--blue)}
.masthead{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:22px 4vw 18px;
  text-align:center;
}
.mark{
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  border:4px solid var(--ink);
  background:var(--blue);
  color:var(--ink);
  font-weight:1000;
  font-size:24px;
  box-shadow:8px 8px 0 var(--ink);
}
.title-lockup{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.title-lockup .kicker{
  text-transform:uppercase;
  letter-spacing:4px;
  font-size:12px;
  font-weight:900;
}
.title-lockup strong{
  font-family:Georgia,Times,serif;
  font-size:clamp(38px,7vw,96px);
  line-height:.86;
  text-transform:uppercase;
  letter-spacing:-4px;
}
.title-lockup em{
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:1.5px;
  font-size:12px;
  font-weight:900;
  color:#37525c;
  margin-top:8px;
}
.mag-nav{
  display:flex;
  justify-content:center;
  gap:0;
  border-top:1px solid var(--ink);
  overflow:auto;
}
.mag-nav a{
  padding:12px 18px;
  border-right:1px solid var(--ink);
  text-transform:uppercase;
  font-size:12px;
  font-weight:900;
  letter-spacing:1px;
  white-space:nowrap;
}
.mag-nav a:hover{background:var(--blue)}
.cover{
  min-height:78vh;
  display:grid;
  grid-template-columns:1.1fr 1fr 320px;
  border-bottom:4px solid var(--ink);
  background:var(--paper2);
}
.cover-photo{
  background:
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.75)),
    radial-gradient(circle at 65% 25%,rgba(255,255,255,.7),transparent 12%),
    linear-gradient(135deg,#00d9ff 0%,#007c92 38%,#031922 100%);
  background-size:cover;
  background-position:center;
  min-height:650px;
  border-right:4px solid var(--ink);
  position:relative;
}
.cover-photo:after{
  content:"KITE SURF";
  position:absolute;
  left:28px;
  bottom:26px;
  color:#fff;
  font-size:clamp(38px,5vw,72px);
  font-weight:1000;
  letter-spacing:-3px;
  text-transform:uppercase;
}
.cover-copy{
  padding:54px 4vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.issue-line{
  display:inline-block;
  width:max-content;
  background:var(--pink);
  color:#fff;
  padding:8px 12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:1px;
  box-shadow:5px 5px 0 var(--ink);
  margin-bottom:24px;
}
.cover h1{
  font-size:clamp(44px,6vw,92px);
  line-height:.88;
  letter-spacing:-4px;
  text-transform:uppercase;
  margin:0 0 22px;
}
.cover p{
  font-size:21px;
  line-height:1.45;
  color:#304850;
}
.cover-link{
  display:inline-block;
  margin-top:28px;
  padding:15px 18px;
  border:3px solid var(--ink);
  background:var(--blue);
  font-weight:1000;
  text-transform:uppercase;
  box-shadow:6px 6px 0 var(--ink);
}
.cover-lines{
  border-left:4px solid var(--ink);
  display:flex;
  flex-direction:column;
  background:#fff;
}
.cover-lines div{
  padding:28px;
  border-bottom:4px solid var(--ink);
  min-height:33.333%;
}
.cover-lines strong{
  display:block;
  font-size:30px;
  text-transform:uppercase;
  letter-spacing:-1px;
  margin-bottom:8px;
}
.cover-lines span{
  color:#526a72;
  line-height:1.45;
}
.mag-strip{
  display:flex;
  overflow:auto;
  gap:0;
  background:var(--ink);
  color:#fff;
  border-bottom:4px solid var(--ink);
}
.mag-strip span{
  padding:13px 28px;
  border-right:1px solid rgba(255,255,255,.2);
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.section{
  padding:70px 4vw;
}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  border-bottom:4px solid var(--ink);
  padding-bottom:18px;
  margin-bottom:28px;
}
.section-head span,
.story-copy span,
.spread-copy span,
.bermuda-inner span,
.article-label{
  display:inline-block;
  background:var(--ink);
  color:#fff;
  padding:7px 10px;
  text-transform:uppercase;
  letter-spacing:1.4px;
  font-weight:1000;
  font-size:12px;
}
.section-head h2{
  margin:0;
  font-size:clamp(34px,5vw,70px);
  line-height:.9;
  text-transform:uppercase;
  letter-spacing:-3px;
  text-align:right;
}
.feature-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr;
  gap:18px;
}
.story{
  background:#fffaf0;
  border:3px solid var(--ink);
  box-shadow:7px 7px 0 var(--ink);
}
.story.large{
  grid-row:span 2;
}
.story-img{
  min-height:220px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.68)),
    linear-gradient(135deg,#00d9ff,#062430);
  background-size:cover;
  background-position:center;
  border-bottom:3px solid var(--ink);
}
.story.large .story-img{min-height:430px}
.story-copy{padding:20px}
.story-copy h3{
  font-size:28px;
  line-height:.98;
  text-transform:uppercase;
  letter-spacing:-1px;
  margin:14px 0 10px;
}
.story.large h3{font-size:42px}
.story-copy p{
  color:#4f666e;
  line-height:1.5;
}
.departments{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  padding-top:10px;
}
.dept-card{
  min-height:260px;
  padding:28px;
  border:3px solid var(--ink);
  box-shadow:7px 7px 0 var(--ink);
}
.dept-card span{
  text-transform:uppercase;
  letter-spacing:1.5px;
  font-size:12px;
  font-weight:1000;
}
.dept-card h3{
  font-size:42px;
  line-height:.9;
  text-transform:uppercase;
  letter-spacing:-2px;
  margin:18px 0;
}
.dept-card p{line-height:1.5}
.wind{background:var(--blue)}
.gear{background:var(--sand)}
.culture{background:#ffd0e2}
.spread{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  min-height:620px;
  border-top:4px solid var(--ink);
  border-bottom:4px solid var(--ink);
}
.spread-copy{
  padding:70px 4vw;
  background:var(--ink);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.spread-copy span{background:var(--blue);color:var(--ink)}
.spread-copy h2{
  font-size:clamp(42px,6vw,88px);
  line-height:.88;
  letter-spacing:-4px;
  text-transform:uppercase;
  margin:20px 0;
}
.spread-copy p{
  color:#c9e8f0;
  font-size:20px;
  line-height:1.5;
}
.spread-copy a{
  width:max-content;
  margin-top:20px;
  background:var(--blue);
  color:var(--ink);
  padding:14px 18px;
  font-weight:1000;
  text-transform:uppercase;
}
.spread-image{
  background:
    radial-gradient(circle at 70% 25%,rgba(255,255,255,.65),transparent 11%),
    linear-gradient(135deg,#00d9ff,#056074 45%,#031922);
  position:relative;
}
.spread-image:before{
  content:"BIG AIR";
  position:absolute;
  right:30px;
  bottom:30px;
  color:#fff;
  font-size:clamp(48px,8vw,120px);
  font-weight:1000;
  line-height:.8;
  letter-spacing:-6px;
}
.bermuda-spread{
  min-height:640px;
  display:flex;
  align-items:center;
  padding:80px 4vw;
  border-bottom:4px solid var(--ink);
  background:
    linear-gradient(90deg,rgba(255,250,240,.96),rgba(255,250,240,.56),rgba(255,250,240,.12)),
    radial-gradient(circle at 78% 28%,rgba(255,255,255,.8),transparent 9%),
    linear-gradient(135deg,#00d9ff 0%,#00a7bd 35%,#ffb8d4 64%,#061116 100%);
}
.bermuda-inner{
  max-width:760px;
}
.bermuda-inner span{background:var(--pink)}
.bermuda-inner h2{
  font-size:clamp(44px,7vw,96px);
  line-height:.86;
  letter-spacing:-4px;
  text-transform:uppercase;
  margin:22px 0;
}
.bermuda-inner p{
  font-size:21px;
  line-height:1.5;
  color:#304850;
}
.bermuda-inner a{
  display:inline-block;
  margin-top:22px;
  padding:15px 18px;
  border:3px solid var(--ink);
  background:var(--blue);
  font-weight:1000;
  text-transform:uppercase;
  box-shadow:6px 6px 0 var(--ink);
}
.video-section{background:#fff}
.video-layout{
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:22px;
}
.video-poster{
  min-height:430px;
  border:4px solid var(--ink);
  background:
    radial-gradient(circle at center,rgba(0,217,255,.22),transparent 34%),
    linear-gradient(135deg,#061116,#123744);
  color:#fff;
  display:grid;
  place-items:center;
  text-align:center;
  padding:34px;
  box-shadow:8px 8px 0 var(--ink);
}
.play{
  width:96px;
  height:96px;
  border-radius:50%;
  background:var(--blue);
  color:var(--ink);
  display:grid;
  place-items:center;
  font-size:38px;
  margin:auto;
  border:4px solid #fff;
}
.video-poster h3{
  font-size:46px;
  text-transform:uppercase;
  letter-spacing:-2px;
  margin:20px 0 8px;
}
.video-poster p{color:#c9e8f0;font-size:18px}
.video-notes{
  border:4px solid var(--ink);
  padding:28px;
  background:var(--sand);
  box-shadow:8px 8px 0 var(--ink);
}
.video-notes h3{
  margin-top:0;
  font-size:38px;
  line-height:.9;
  text-transform:uppercase;
}
.video-notes li{
  margin:13px 0;
  font-weight:800;
}
.vault-section{
  background:var(--ink);
  color:#fff;
}
.vault-section .section-head{
  border-bottom-color:#fff;
}
.vault-layout{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:28px;
  align-items:center;
}
.vault-number{
  font-size:92px;
  font-weight:1000;
  color:var(--blue);
  border:4px solid var(--blue);
  text-align:center;
  padding:30px 10px;
}
.vault-layout h3{
  font-size:54px;
  line-height:.9;
  text-transform:uppercase;
  margin:0 0 14px;
}
.vault-layout p{
  font-size:21px;
  color:#c9e8f0;
  line-height:1.55;
}
.sponsor-section{background:#fffaf0}
.sponsor-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.sponsor-grid div{
  min-height:160px;
  border:3px solid var(--ink);
  box-shadow:7px 7px 0 var(--ink);
  padding:24px;
  background:#fff;
}
.sponsor-grid strong{
  display:block;
  font-size:24px;
  line-height:.95;
  text-transform:uppercase;
  margin-bottom:10px;
}
.sponsor-grid span{color:#526a72}
.newsletter{
  padding:70px 4vw;
  text-align:center;
  background:var(--blue);
  border-top:4px solid var(--ink);
}
.newsletter h2{
  font-size:clamp(36px,5vw,72px);
  line-height:.9;
  letter-spacing:-3px;
  text-transform:uppercase;
  margin:0 0 14px;
}
.newsletter p{font-size:19px}
.newsletter form{
  margin:28px auto 0;
  max-width:620px;
  display:flex;
  gap:10px;
}
.newsletter input{
  flex:1;
  padding:16px;
  border:3px solid var(--ink);
  background:#fff;
  font-size:16px;
}
.newsletter button{
  padding:16px 22px;
  border:3px solid var(--ink);
  background:var(--pink);
  color:#fff;
  font-weight:1000;
  text-transform:uppercase;
  box-shadow:5px 5px 0 var(--ink);
}
.mag-footer{
  padding:32px 4vw;
  display:flex;
  justify-content:space-between;
  gap:18px;
  background:var(--ink);
  color:#fff;
}
.article-wrap{
  padding:46px 4vw 80px;
  background:var(--paper);
}
.backlink{
  display:inline-block;
  margin-bottom:24px;
  font-weight:1000;
  text-transform:uppercase;
  color:var(--ink);
}
.article-sheet{
  max-width:1050px;
  margin:auto;
  background:#fffaf0;
  border:4px solid var(--ink);
  padding:clamp(24px,5vw,70px);
  box-shadow:10px 10px 0 var(--ink);
}
.article-sheet h1{
  font-size:clamp(44px,7vw,96px);
  line-height:.88;
  letter-spacing:-4px;
  text-transform:uppercase;
  margin:20px 0;
}
.byline{
  color:#526a72;
  text-transform:uppercase;
  letter-spacing:1px;
  font-weight:900;
  margin-bottom:28px;
}
.article-photo{
  width:100%;
  max-height:620px;
  object-fit:cover;
  border:4px solid var(--ink);
  margin:12px 0 28px;
}
.fallback-photo{
  height:520px;
  background:linear-gradient(135deg,#00d9ff,#062430);
}
.article-deck{
  font-size:26px;
  line-height:1.35;
  font-weight:900;
  border-top:4px solid var(--ink);
  border-bottom:4px solid var(--ink);
  padding:22px 0;
}
.article-copy{
  font-size:20px;
  line-height:1.85;
  color:#243a42;
}
.video-frame{
  margin:25px 0;
  aspect-ratio:16/9;
  background:#000;
  border:4px solid var(--ink);
}
.video-frame iframe{width:100%;height:100%;border:0}
@media(max-width:1100px){
  .cover{grid-template-columns:1fr}
  .cover-photo{border-right:0;border-bottom:4px solid var(--ink)}
  .cover-lines{border-left:0;display:grid;grid-template-columns:repeat(3,1fr)}
  .cover-lines div{border-right:4px solid var(--ink)}
  .feature-grid{grid-template-columns:1fr 1fr}
  .departments,.sponsor-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .utility-bar,.mag-footer{flex-direction:column}
  .masthead{align-items:center}
  .mark{width:58px;height:58px;box-shadow:5px 5px 0 var(--ink)}
  .title-lockup strong{letter-spacing:-2px}
  .cover-photo{min-height:420px}
  .cover-lines{grid-template-columns:1fr}
  .feature-grid,.departments,.spread,.video-layout,.vault-layout,.sponsor-grid{grid-template-columns:1fr}
  .section-head{display:block}
  .section-head h2{text-align:left;margin-top:14px}
  .newsletter form{flex-direction:column}
  .story.large .story-img{min-height:280px}
}

.ad-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  padding:28px 4vw;
  background:#fff;
  border-bottom:4px solid var(--ink);
}
.ad-box{
  min-height:150px;
  border:3px solid var(--ink);
  box-shadow:7px 7px 0 var(--ink);
  background:var(--sand);
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ad-box.dark{
  background:var(--ink);
  color:#fff;
}
.ad-box.pink{
  background:#ffd0e2;
}
.ad-box span{
  text-transform:uppercase;
  letter-spacing:1.5px;
  font-weight:1000;
  font-size:12px;
}
.ad-box strong{
  display:block;
  font-size:32px;
  line-height:.92;
  text-transform:uppercase;
  letter-spacing:-1px;
  margin:10px 0;
}
.ad-box em{
  font-style:normal;
  color:#526a72;
}
.ad-box.dark em{
  color:#c9e8f0;
}

.submit-cta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  padding:60px 4vw;
  background:#fffaf0;
  border-top:4px solid var(--ink);
  border-bottom:4px solid var(--ink);
}
.submit-cta span{
  display:inline-block;
  background:var(--pink);
  color:#fff;
  padding:7px 10px;
  text-transform:uppercase;
  letter-spacing:1.4px;
  font-weight:1000;
  font-size:12px;
}
.submit-cta h2{
  font-size:clamp(40px,6vw,82px);
  line-height:.88;
  text-transform:uppercase;
  letter-spacing:-4px;
  margin:18px 0 12px;
}
.submit-cta p{
  max-width:800px;
  font-size:20px;
  line-height:1.5;
  color:#304850;
}
.submit-cta a{
  flex:0 0 auto;
  padding:18px 22px;
  border:3px solid var(--ink);
  background:var(--blue);
  font-weight:1000;
  text-transform:uppercase;
  box-shadow:6px 6px 0 var(--ink);
}

@media(max-width:850px){
  .ad-row{
    grid-template-columns:1fr;
  }
  .submit-cta{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* FLT real kite image upgrades */
.cover-photo{
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.72)),
    url("assets/images/kite-action-hero.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}

.rider-shot{
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.62)),
    url("assets/images/kite-action-hero.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}

.bermuda-spread{
  background-image:
    linear-gradient(90deg,rgba(255,250,240,.96),rgba(255,250,240,.62),rgba(255,250,240,.12)),
    url("assets/images/kite-beach-prep.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}

.video-poster{
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.78)),
    url("assets/images/kite-action-hero.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}

.dept-card.gear{
  background-image:
    linear-gradient(180deg,rgba(247,217,168,.82),rgba(247,217,168,.9)),
    url("assets/images/kite-gear-dock.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}

.gear-feature-photo{
  min-height:420px;
  border:4px solid var(--ink);
  box-shadow:8px 8px 0 var(--ink);
  background:
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.42)),
    url("assets/images/kite-gear-dock.png");
  background-size:cover;
  background-position:center center;
}

.video-channel-button{
  display:inline-block;
  margin-bottom:18px;
  padding:15px 18px;
  background:var(--blue);
  color:var(--ink);
  border:3px solid var(--ink);
  box-shadow:6px 6px 0 var(--ink);
  font-weight:1000;
  text-transform:uppercase;
}

/* Full public menu rebuild */
.mag-nav{
  display:flex !important;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  background:#fffaf0;
  border-top:1px solid var(--ink);
  border-bottom:4px solid var(--ink);
  overflow:visible;
}

.mag-nav a{
  display:block;
  padding:13px 18px;
  border-right:1px solid var(--ink);
  color:var(--ink);
  text-transform:uppercase;
  font-size:12px;
  font-weight:1000;
  letter-spacing:1px;
  white-space:nowrap;
}

.mag-nav a:hover{
  background:var(--blue);
}

@media(max-width:760px){
  .mag-nav{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
  }

  .mag-nav a{
    flex:0 0 auto;
  }
}

/* Homepage polish modules */
.home-polish-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  padding:28px 4vw;
  background:#fffaf0;
  border-bottom:4px solid var(--ink);
}

.home-polish-card{
  min-height:260px;
  border:3px solid var(--ink);
  box-shadow:7px 7px 0 var(--ink);
  padding:22px;
  color:var(--ink);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background-size:cover;
  background-position:center;
  position:relative;
  overflow:hidden;
}

.home-polish-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,250,240,.08),rgba(255,250,240,.9));
}

.home-polish-card span,
.home-polish-card strong,
.home-polish-card em{
  position:relative;
  z-index:1;
}

.home-polish-card span{
  display:inline-block;
  width:max-content;
  background:var(--ink);
  color:white;
  padding:7px 10px;
  text-transform:uppercase;
  letter-spacing:1.2px;
  font-size:11px;
  font-weight:1000;
  margin-bottom:12px;
}

.home-polish-card strong{
  display:block;
  font-size:34px;
  line-height:.9;
  text-transform:uppercase;
  letter-spacing:-2px;
  margin-bottom:8px;
}

.home-polish-card em{
  font-style:normal;
  color:#304850;
  line-height:1.4;
  font-weight:700;
}

.issue-card-home{
  background-image:url("assets/images/kite-action-hero.png");
}

.athlete-card-home{
  background-image:url("assets/images/kite-beach-prep.png");
}

.video-card-home{
  background-image:url("assets/images/kite-action-hero.png");
}

.sponsor-card-home{
  background-image:url("assets/images/kite-gear-dock.png");
}

@media(max-width:1100px){
  .home-polish-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:700px){
  .home-polish-grid{
    grid-template-columns:1fr;
  }
}

/* Section page repair and polish */
body{
  overflow-x:hidden;
}

.mag-top{
  z-index:1000;
}

.mag-nav{
  display:flex !important;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  background:#fffaf0;
  border-top:1px solid var(--ink);
  border-bottom:4px solid var(--ink);
  overflow:visible;
}

.mag-nav a{
  display:block;
  padding:13px 18px;
  border-right:1px solid var(--ink);
  color:var(--ink);
  text-transform:uppercase;
  font-size:12px;
  font-weight:1000;
  letter-spacing:1px;
  white-space:nowrap;
}

.mag-nav a:hover{
  background:var(--blue);
}

.page-hero,
.athlete-hero,
.sponsor-hero,
.submit-hero{
  border-top:0;
  position:relative;
}

.page-hero:after,
.athlete-hero:after,
.sponsor-hero:after,
.submit-hero:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:12px;
  background:repeating-linear-gradient(
    90deg,
    var(--ink) 0,
    var(--ink) 28px,
    var(--blue) 28px,
    var(--blue) 56px,
    var(--pink) 56px,
    var(--pink) 84px
  );
}

.card-grid,
.video-grid,
.athlete-grid,
.partner-grid{
  align-items:stretch;
}

.mag-card,
.video-card,
.athlete-card,
.partner-card,
.issue-card{
  transition:transform .15s ease, box-shadow .15s ease;
}

.mag-card:hover,
.video-card:hover,
.athlete-card:hover,
.partner-card:hover,
.issue-card:hover{
  transform:translate(-3px,-3px);
  box-shadow:10px 10px 0 var(--ink);
}

.detail-wrap,
.watch-wrap,
.profile-wrap,
.sponsor-profile-wrap,
.article-wrap{
  background:
    radial-gradient(circle at 15% 15%, rgba(0,217,255,.12), transparent 28%),
    radial-gradient(circle at 85% 20%, rgba(255,111,174,.14), transparent 30%),
    var(--paper);
}

.backlink{
  margin-bottom:26px;
  color:var(--ink);
}

.backlink:hover{
  background:var(--pink);
  color:#fff;
}

@media(max-width:760px){
  .mag-nav{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
  }

  .mag-nav a{
    flex:0 0 auto;
  }

  .masthead{
    padding-left:16px;
    padding-right:16px;
  }

  .title-lockup strong{
    font-size:clamp(34px,13vw,64px);
    letter-spacing:-2px;
  }
}

/* Strong section page polish */
.section-shell{
  max-width:1280px;
  margin:0 auto;
  padding:34px 4vw 70px;
}

.section-title-block{
  border:4px solid var(--ink);
  box-shadow:9px 9px 0 var(--ink);
  background:#fffaf0;
  padding:26px;
  margin-bottom:34px;
  position:relative;
  overflow:hidden;
}

.section-title-block:before{
  content:"FLT";
  position:absolute;
  right:12px;
  bottom:-22px;
  font-size:118px;
  font-weight:1000;
  letter-spacing:-8px;
  color:rgba(0,0,0,.055);
  line-height:1;
}

.section-title-block span{
  display:inline-block;
  background:var(--ink);
  color:#fff;
  padding:7px 10px;
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:1.3px;
  margin-bottom:12px;
}

.section-title-block h1{
  margin:0;
  font-size:clamp(42px,8vw,96px);
  line-height:.86;
  text-transform:uppercase;
  letter-spacing:-5px;
}

.section-title-block p{
  max-width:760px;
  font-size:18px;
  line-height:1.45;
  font-weight:700;
  color:#304850;
  margin:16px 0 0;
}

.section-feature-row{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:24px;
  margin-bottom:36px;
}

.section-feature-card{
  min-height:330px;
  border:4px solid var(--ink);
  box-shadow:9px 9px 0 var(--ink);
  background-size:cover;
  background-position:center;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden;
}

.section-feature-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,250,240,.1),rgba(255,250,240,.94));
}

.section-feature-card > *{
  position:relative;
  z-index:1;
}

.section-feature-card small{
  display:inline-block;
  width:max-content;
  background:var(--blue);
  color:var(--ink);
  border:2px solid var(--ink);
  padding:7px 10px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:10px;
}

.section-feature-card h2{
  margin:0;
  max-width:780px;
  font-size:clamp(32px,5vw,62px);
  line-height:.9;
  letter-spacing:-3px;
  text-transform:uppercase;
}

.section-side-card{
  border:4px solid var(--ink);
  box-shadow:9px 9px 0 var(--ink);
  background:#0b1d26;
  color:#fff;
  padding:24px;
}

.section-side-card h3{
  margin:0 0 12px;
  font-size:30px;
  line-height:1;
  text-transform:uppercase;
}

.section-side-card p{
  color:#bdebf4;
  font-weight:700;
  line-height:1.45;
}

.section-side-card a{
  display:inline-block;
  margin-top:12px;
  background:var(--pink);
  color:#fff;
  border:3px solid #fff;
  padding:12px 15px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:1000;
}

.mag-list-polish{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.mag-list-polish > *,
.card-grid > *,
.video-grid > *,
.athlete-grid > *,
.partner-grid > *{
  min-height:100%;
}

.empty-state{
  border:4px dashed var(--ink);
  background:#fffaf0;
  padding:34px;
  text-align:center;
  font-weight:900;
  color:#304850;
}

.empty-state strong{
  display:block;
  font-size:34px;
  color:var(--ink);
  text-transform:uppercase;
  letter-spacing:-1px;
  margin-bottom:8px;
}

@media(max-width:1000px){
  .section-feature-row{
    grid-template-columns:1fr;
  }

  .mag-list-polish{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:700px){
  .section-shell{
    padding:22px 16px 56px;
  }

  .section-title-block{
    padding:20px;
    box-shadow:6px 6px 0 var(--ink);
  }

  .section-title-block h1{
    letter-spacing:-2px;
  }

  .section-feature-card,
  .section-side-card{
    box-shadow:6px 6px 0 var(--ink);
  }

  .mag-list-polish{
    grid-template-columns:1fr;
  }
}
