/* ============================================================
   BY ANY MEANS GTA · About page styles
   Appends to site.css vocabulary. Black/gold · Anton + Inter Tight.
   ============================================================ */

/* ---------- SUB HERO (interior pages) ---------- */
.subhero{position:relative;min-height:clamp(520px,72vh,720px);display:flex;align-items:flex-end;overflow:hidden;background:var(--black-deep);}
.subhero__media{position:absolute;inset:0;background-size:cover;background-position:center 28%;filter:grayscale(0.24) contrast(1.08) brightness(0.46);animation:kenburns 28s ease-in-out infinite alternate;}
.subhero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.62) 0%,rgba(0,0,0,0.32) 38%,rgba(0,0,0,0.6) 70%,rgba(0,0,0,0.97) 100%);}
.subhero__inner{position:relative;z-index:2;padding-top:140px;padding-bottom:clamp(48px,7vh,86px);}
.subhero__eyebrow{margin-bottom:24px;letter-spacing:0.3em;white-space:nowrap;}
.subhero__title{font-family:var(--font-display);font-size:clamp(48px,7.4vw,118px);line-height:0.9;letter-spacing:-0.012em;text-transform:uppercase;max-width:18ch;}
.subhero__sub{margin-top:34px;max-width:56ch;font-size:clamp(17px,1.45vw,22px);line-height:1.55;color:rgba(255,255,255,0.86);}
.subhero__sub strong{color:#fff;font-weight:600;}

/* ---------- MANIFESTO (the standard) ---------- */
.manifesto{position:relative;text-align:center;padding:clamp(96px,15vh,190px) 0;background:var(--black);overflow:hidden;}
.manifesto__glow{position:absolute;left:50%;top:44%;width:130%;height:130%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(226,221,159,0.07) 0%,transparent 56%);pointer-events:none;}
.manifesto__grain{position:absolute;inset:0;opacity:0.05;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.manifesto__inner{position:relative;z-index:1;max-width:1100px;margin:0 auto;}
.manifesto__eyebrow{justify-content:center;margin-bottom:30px;}
.manifesto__title{font-family:var(--font-display);font-size:clamp(46px,7.6vw,128px);line-height:0.9;text-transform:uppercase;letter-spacing:-0.015em;}
.manifesto__body{margin:38px auto 0;max-width:64ch;font-size:clamp(18px,1.5vw,23px);line-height:1.62;color:rgba(255,255,255,0.82);}
.manifesto__body strong{color:#fff;font-weight:600;}
.manifesto__sign{margin-top:40px;display:inline-flex;align-items:center;gap:14px;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;color:var(--gold);}
.manifesto__sign::before,.manifesto__sign::after{content:'';width:40px;height:1px;background:var(--gold-line);}

/* ---------- CITY TAGS (global feature) ---------- */
.citytags{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;}
.citytag{font-family:var(--font-display);font-size:15px;letter-spacing:0.04em;text-transform:uppercase;color:rgba(255,255,255,0.82);border:1px solid var(--gold-line);padding:9px 16px;transition:border-color .25s,color .25s,background .25s;}
.citytag:hover{border-color:var(--gold);color:var(--gold);}
.citytag--accent{background:var(--gold);color:var(--black);border-color:var(--gold);}

/* ---------- COACHES ---------- */
.coaches__head{text-align:center;margin-bottom:60px;}
.coaches__eyebrow{justify-content:center;margin-bottom:22px;}
.coaches__title{font-family:var(--font-display);font-size:clamp(40px,6vw,96px);line-height:0.92;text-transform:uppercase;letter-spacing:-0.012em;}
.coachgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.coachcard{background:var(--black-lift);border:1px solid var(--gold-line);display:flex;flex-direction:column;transition:border-color .3s,transform .3s,box-shadow .3s;}
.coachcard:hover{border-color:rgba(226,221,159,0.5);transform:translateY(-4px);box-shadow:0 24px 60px rgba(0,0,0,0.5);}
.coachcard__media{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:#000;border-bottom:1px solid var(--gold-line);}
.coachcard__media image-slot{width:100%;height:100%;display:block;--is-bg:#000;}
.coachcard__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(0.2) contrast(1.05) brightness(0.78);}
.coachcard__flag{position:absolute;top:0;left:0;z-index:3;background:var(--gold);color:var(--black);font-family:var(--font-display);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;padding:8px 14px;pointer-events:none;}
.coachcard__body{padding:clamp(24px,2.2vw,32px);display:flex;flex-direction:column;gap:12px;flex:1;}
.coachcard__name{font-family:var(--font-display);font-size:clamp(26px,2.4vw,34px);line-height:0.96;text-transform:uppercase;color:#fff;}
.coachcard__role{font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);}
.coachcard__bio{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,0.74);margin-top:2px;}

/* ---------- VALUES STRIP ---------- */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gold-line);border-block:1px solid var(--gold-line);}
.valuecard{background:var(--black);padding:clamp(36px,3.6vw,56px) clamp(28px,2.6vw,40px);display:flex;flex-direction:column;gap:14px;transition:background .3s;}
.valuecard:hover{background:var(--black-lift);}
.valuecard__k{font-family:var(--font-display);font-size:clamp(40px,4.4vw,64px);line-height:0.9;color:var(--gold);}
.valuecard__t{font-family:var(--font-display);font-size:clamp(22px,2vw,28px);text-transform:uppercase;color:#fff;line-height:0.98;}
.valuecard__d{font-size:15px;line-height:1.6;color:rgba(255,255,255,0.74);}

/* ---------- PARTNER STRIP ---------- */
.partner{background:var(--black-deep);border-top:1px solid var(--gold-line);}
.partner__inner{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(40px,6vh,72px) 0;}
.partner__eyebrow{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);writing-mode:initial;}
.partner__title{font-family:var(--font-display);font-size:clamp(26px,3vw,44px);line-height:0.96;text-transform:uppercase;color:#fff;}
.partner__title em{color:var(--gold);}
.partner__desc{font-size:15px;line-height:1.6;color:rgba(255,255,255,0.72);max-width:52ch;margin-top:10px;}
.partner__cta{white-space:nowrap;}

/* ---------- ABOUT RESPONSIVE ---------- */
@media(max-width:960px){
  .coachgrid{grid-template-columns:1fr;max-width:480px;margin-inline:auto;}
  .values{grid-template-columns:1fr;}
  .partner__inner{grid-template-columns:1fr;text-align:left;gap:22px;}
}
@media(max-width:560px){
  .citytags{gap:8px;}
  .citytag{font-size:13px;padding:8px 13px;}
  /* eyebrows: wrap the wide-tracked label so it can't overflow the viewport */
  .subhero__eyebrow{white-space:normal;letter-spacing:0.16em;align-items:flex-start;}
  .subhero__eyebrow.eyebrow--rule::before{margin-top:8px;}
}
