:root{
    --bg:#0b0b0e;
    --bg-2:#0f0f13;
    --card:#16161c;
    --card-2:#1b1b22;
    --line:#26262e;
    --txt:#f4f4f6;
    --muted:#9a9aa6;
    --pink:#ec1c5d;
    --pink-2:#ff2e74;
    --pink-soft:rgba(236,28,93,.14);
    --grad:linear-gradient(100deg,#ec1c5d 0%,#ff2e74 100%);
    --radius:14px;
    --max:1180px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--bg);
    color:var(--txt);
    font-family:'Inter',system-ui,Arial,sans-serif;
    line-height:1.55;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 22px}
  section{position:relative}
  .display{font-family:'Saira Condensed',sans-serif;font-weight:800;letter-spacing:.5px;line-height:1}
  .pink{color:var(--pink)}
  .btn{
    display:inline-flex;align-items:center;gap:9px;
    font-weight:700;font-size:.86rem;letter-spacing:.6px;text-transform:uppercase;
    padding:13px 22px;border-radius:10px;cursor:pointer;border:none;
    transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 26px rgba(236,28,93,.35)}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(236,28,93,.5)}
  .btn-ghost{background:transparent;color:#fff;border:1.5px solid #3a3a44}
  .btn-ghost:hover{border-color:var(--pink);color:var(--pink-2);transform:translateY(-2px)}
  .btn-wide{width:100%;justify-content:center}
  svg{flex-shrink:0}

  /* ===== HEADER ===== */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(11,11,14,.82);backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:74px}
  .brand{display:flex;align-items:center;gap:11px}
  .logo{display:flex;align-items:center;justify-content:center;height:46px}
  .logo img{height:46px;width:auto;min-width:max-content;display:block}
  .brand-txt{display:flex;flex-direction:column;line-height:1}
  .brand-txt b{font-family:'Saira Condensed';font-weight:700;font-size:1.05rem;letter-spacing:1px}
  .brand-txt small{font-size:.62rem;letter-spacing:3px;color:var(--muted);text-transform:uppercase}
  nav.menu{display:flex;gap:26px}
  nav.menu a{font-size:.82rem;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#d3d3da;position:relative;padding:4px 0}
  nav.menu a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--pink);transition:width .25s}
  nav.menu a:hover{color:#fff}
  nav.menu a:hover::after{width:100%}
  .nav-right{display:flex;align-items:center;gap:14px}
  .hamb{display:none;background:none;border:none;cursor:pointer;padding:6px}
  .hamb span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:.3s}

  /* ===== HERO ===== */
  .hero{
    position:relative;overflow:hidden;
    background-color:#0a0a0d;
    background-image:
      linear-gradient(to bottom,rgba(11,11,14,0) 55%,rgba(11,11,14,.4) 78%,rgba(11,11,14,.92) 95%,#0b0b0e 100%), linear-gradient(95deg,rgba(10,10,13,.97) 0%,rgba(10,10,13,.86) 38%,rgba(10,10,13,.35) 70%,rgba(10,10,13,.55) 100%),
      url('img/bg-triathlon.jpg');
    background-repeat:no-repeat;
    background-size:cover,cover,cover;
    background-position:center,center,68% top;
  }
  .hero::before{
    content:"";position:absolute;left:-10%;top:-30%;width:55%;height:140%;
    background:radial-gradient(circle,rgba(236,28,93,.22),transparent 65%);pointer-events:none;
  }
  .hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;min-height:640px;align-items:center;padding:70px 22px 50px}
  .hero h1{font-size:clamp(2.6rem,6vw,4.7rem);text-transform:uppercase;margin-bottom:22px}
  .hero h1 .l{display:block}
  .hero p.sub{font-size:1.06rem;color:#c9c9d2;max-width:460px;margin-bottom:30px}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:42px}
  .hero-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 14px;max-width:600px}
  .feat-mini{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:center}
  .feat-mini .ic{width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--pink)}
  .feat-mini b{display:block;font-size:.66rem;letter-spacing:.2px;text-align:left;text-transform:uppercase;font-weight:700;line-height:1.25;text-wrap:balance}

  /* ===== SECTION TITLES ===== */
  .sec{padding:78px 0}
  .sec-head{text-align:center;margin-bottom:48px}
  .sec-head h2{font-size:clamp(1.9rem,4vw,2.7rem);text-transform:uppercase}
  .sec-head p{color:var(--muted);margin-top:8px;font-size:1rem}
  .divider{border-top:1px solid var(--line)}

  /* ===== MODALIDADES ===== */
  .mods{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .mod{
    position:relative;border-radius:16px;overflow:hidden;min-height:300px;
    border:1px solid var(--line);background:#101015;display:flex;align-items:flex-end;
    background-size:cover;background-position:center;
    transition:transform .2s ease,border-color .2s ease;
  }
  .mod:hover{transform:translateY(-5px);border-color:var(--pink)}
  .mod::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,11,.15) 0%,rgba(8,8,11,.55) 45%,rgba(8,8,11,.96) 100%)}
  .mod .m-in{position:relative;z-index:2;padding:24px}
  .mod .m-ic{color:var(--pink);margin-bottom:10px}
  .mod h3{font-family:'Saira Condensed';font-weight:800;font-size:1.7rem;text-transform:uppercase;letter-spacing:.5px}
  .mod p{color:#c4c4cd;font-size:.92rem;margin:8px 0 14px;max-width:90%}
  .saiba{display:inline-flex;align-items:center;gap:8px;color:var(--pink);font-weight:700;font-size:.78rem;letter-spacing:1px;text-transform:uppercase}
  .saiba svg{transition:transform .2s}
  .mod:hover .saiba svg{transform:translateX(5px)}

  /* ===== POR QUE ===== */
  .why-bg{background:var(--bg-2)}
  .whys{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
  .why{text-align:center;padding:10px}
  .why .w-ic{
    width:64px;height:64px;margin:0 auto 16px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:var(--pink-soft);border:1px solid rgba(236,28,93,.3);color:var(--pink-2);
  }
  .why p{font-size:.88rem;color:#cfcfd8}

  /* ===== HISTÓRIA / COACH ===== */
  .story{overflow:hidden}
  .story-in{display:grid;grid-template-columns:.82fr 1.18fr;gap:46px;align-items:stretch}
  .story-photo{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);
    min-height:430px;background:#0f0f14}
  .story-photo .story-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
  .story-photo::after{content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(to top,rgba(8,8,11,.94) 1%,rgba(8,8,11,.45) 30%,transparent 56%)}
  .story-photo .cap{position:absolute;left:0;right:0;bottom:44px;z-index:2;text-align:center;padding:0 16px}
  .story-photo .cap b{font-family:'Saira Condensed';font-weight:800;font-size:1.5rem;letter-spacing:1.3px;text-transform:uppercase;display:block;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}
  .story-photo .cap small{color:var(--pink-2);font-size:.8rem;letter-spacing:.8px;text-transform:uppercase;font-weight:700}
  .story-photo .badge{position:absolute;z-index:2;bottom:16px;left:18px;right:18px;text-align:center;
    color:#d2d2d9;font-size:.72rem;letter-spacing:.4px;border-top:1px solid rgba(255,255,255,.16);padding-top:11px}
  .story-eyebrow{color:var(--pink);font-weight:700;letter-spacing:2.5px;text-transform:uppercase;font-size:.78rem;margin-bottom:12px}
  .story h2{font-family:'Saira Condensed';font-weight:800;font-size:clamp(1.9rem,4vw,2.9rem);text-transform:uppercase;line-height:1;margin-bottom:6px}
  .story .role{color:#dcdce3;font-weight:600;margin-bottom:20px;font-size:.96rem}
  .story .role .pink{font-weight:700}
  .story p{color:#c4c4cd;font-size:.97rem;margin-bottom:14px;max-width:640px}
  .story-stats{display:flex;gap:34px;margin:26px 0 28px;flex-wrap:wrap}
  .story-stats div b{font-family:'Saira Condensed';font-weight:800;font-size:1.8rem;color:#fff;display:block;line-height:1}
  .story-stats div small{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.5px}
  .story-cta{display:flex;gap:12px;flex-wrap:wrap}

  /* ===== JORNADA (linha do tempo interativa) ===== */
  .jor{position:relative;overflow:hidden}
  .jor-yearbg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0}
  .jor-yearbg span{font-family:'Saira Condensed';font-weight:800;font-size:clamp(6rem,22vw,18rem);line-height:.9;
    color:rgba(236,28,93,.07);letter-spacing:3px;text-transform:uppercase;white-space:nowrap;transition:opacity .35s}
  .jor-inner{position:relative;z-index:2}
  .jor-track{position:relative;width:100%;height:140px;margin:10px 0 4px}
  .jor-track svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
  .jor-path-bg{fill:none;stroke:#26262e;stroke-width:4;stroke-linecap:round}
  .jor-path-fill{fill:none;stroke:url(#jorGrad);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.45,.05,.25,1)}
  .jor-node{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;
    background:#15151b;border:2px solid #3a3a44;cursor:pointer;display:flex;align-items:center;justify-content:center;
    color:#8a8a96;transition:transform .25s,border-color .25s,color .25s,background .25s;z-index:3;padding:0}
  .jor-node:hover{border-color:var(--pink);color:#fff;transform:translate(-50%,-50%) scale(1.12)}
  .jor-node.done{border-color:var(--pink);color:var(--pink-2)}
  .jor-node.active{background:var(--grad);border-color:transparent;color:#fff;
    box-shadow:0 0 0 6px rgba(236,28,93,.16),0 8px 22px rgba(236,28,93,.4);transform:translate(-50%,-50%) scale(1.22)}
  .jor-node svg{position:absolute;left:50%;top:50%;width:17px;height:17px;
    display:block;transform:translate(-50%,-50%);overflow:visible;pointer-events:none}
  .jor-stage{max-width:560px;height:200px;margin:4px auto 2px;position:relative;border-radius:18px;
    background:radial-gradient(circle at 50% 120%,rgba(236,28,93,.16),transparent 60%)}
  .jor-stage.acc{background:radial-gradient(circle at 50% 120%,rgba(255,70,50,.22),transparent 60%)}
  .jor-stage svg{width:100%;height:100%;overflow:visible}
  .js-ground{stroke:#33333c;stroke-width:3;stroke-linecap:round}
  .js-dash{stroke:var(--pink);stroke-width:3;stroke-linecap:round;stroke-dasharray:16 24;opacity:.7}
  .js-body{fill:none;stroke:#f4f4f6;stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round}
  .js-head{fill:#f4f4f6}
  .js-acc{fill:none;stroke:var(--pink-2);stroke-width:5;stroke-linecap:round}
  .js-accf{fill:var(--pink-2)}
  .js-wheel{fill:none;stroke:#f4f4f6;stroke-width:4}
  .js-spoke{stroke:#6a6a72;stroke-width:2}
  .js-water{stroke:var(--pink);stroke-width:3;stroke-linecap:round;opacity:.5;fill:none}
  .jor-floor{position:absolute;left:7%;right:7%;bottom:26px;height:3px;border-radius:3px;
    background:repeating-linear-gradient(90deg,var(--pink) 0 18px,transparent 18px 46px);
    background-size:46px 3px;opacity:.6;animation:jorfloor .5s linear infinite}
  @keyframes jorfloor{to{background-position-x:-46px}}
  .jor-char{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);
    height:calc(172px * var(--js,1));display:grid;max-width:96%;z-index:2;animation:jorbob 1.15s ease-in-out infinite}
  .jor-char img{grid-area:1/1;height:calc(172px * var(--js,1));width:auto;max-width:100%;object-fit:contain;
    filter:drop-shadow(0 12px 12px rgba(0,0,0,.5))}
  @keyframes jorbob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}
  .jor-char.run{animation:jorrun .42s ease-in-out infinite, jortravel 2.6s linear infinite}
  @keyframes jorrun{0%,100%{transform:translateX(-50%) translateY(0) rotate(-2deg)}50%{transform:translateX(-50%) translateY(-13px) rotate(2deg)}}
  .jor-char.swim{animation:jorswim 2.4s ease-in-out infinite, jortravel 5s linear infinite}
  @keyframes jorswim{0%,100%{transform:translateX(-50%) translateY(5px) rotate(-3.5deg)}50%{transform:translateX(-50%) translateY(-9px) rotate(3.5deg)}}
  .jor-char.swimrig{height:calc(172px * var(--js,1));width:calc(172px * var(--js,1) * 3.0125);display:block;max-width:none;animation:jorswim 2.4s ease-in-out infinite, jortravel 5s linear infinite}
  .swimrig img{position:absolute;left:0;top:0;width:100%;height:100%;filter:none;max-width:none}
  .sr-legtop{transform-origin:31% 55%;animation:srktop .5s ease-in-out infinite}
  .sr-legbot{transform-origin:31% 55%;animation:srkbot .5s ease-in-out infinite}
  .sr-arm{transform-origin:81% 42%;animation:srarm 1.4s ease-in-out infinite}
  @keyframes srktop{0%,100%{transform:rotate(-3.5deg)}50%{transform:rotate(3.5deg)}}
  @keyframes srkbot{0%,100%{transform:rotate(5deg)}50%{transform:rotate(-5deg)}}
  @keyframes srarm{0%,100%{transform:rotate(2deg)}50%{transform:rotate(-6deg)}}
  @keyframes jortravel{0%{left:18%;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:82%;opacity:0}}
  .jor-char.f2 img:nth-child(1){animation:jf2a .3s steps(1) infinite}
  .jor-char.f2 img:nth-child(2){animation:jf2b .3s steps(1) infinite}
  @keyframes jf2a{0%,49.9%{opacity:1}50%,100%{opacity:0}}
  @keyframes jf2b{0%,49.9%{opacity:0}50%,100%{opacity:1}}
  .jor-char.f3 img{animation:jf3 .39s steps(1) infinite}
  .jor-char.f3 img:nth-child(2){animation-delay:-.13s}
  .jor-char.f3 img:nth-child(3){animation-delay:-.26s}
  @keyframes jf3{0%,33.2%{opacity:1}33.3%,100%{opacity:0}}
  .jor-char.f4 img{animation:jf4 .52s steps(1) infinite}
  .jor-char.f4 img:nth-child(2){animation-delay:-.13s}
  .jor-char.f4 img:nth-child(3){animation-delay:-.26s}
  .jor-char.f4 img:nth-child(4){animation-delay:-.39s}
  @keyframes jf4{0%,24.9%{opacity:1}25%,100%{opacity:0}}
  .jor-char.f6 img{animation:jf6 .78s steps(1) infinite}
  .jor-char.f6 img:nth-child(2){animation-delay:-.13s}
  .jor-char.f6 img:nth-child(3){animation-delay:-.26s}
  .jor-char.f6 img:nth-child(4){animation-delay:-.39s}
  .jor-char.f6 img:nth-child(5){animation-delay:-.52s}
  .jor-char.f6 img:nth-child(6){animation-delay:-.65s}
  @keyframes jf6{0%,16.5%{opacity:1}16.6%,100%{opacity:0}}
  .jor-char.f12 img{animation:jf12 1.2s steps(1) infinite}
  .jor-char.f12 img:nth-child(2){animation-delay:-.1s}
  .jor-char.f12 img:nth-child(3){animation-delay:-.2s}
  .jor-char.f12 img:nth-child(4){animation-delay:-.3s}
  .jor-char.f12 img:nth-child(5){animation-delay:-.4s}
  .jor-char.f12 img:nth-child(6){animation-delay:-.5s}
  .jor-char.f12 img:nth-child(7){animation-delay:-.6s}
  .jor-char.f12 img:nth-child(8){animation-delay:-.7s}
  .jor-char.f12 img:nth-child(9){animation-delay:-.8s}
  .jor-char.f12 img:nth-child(10){animation-delay:-.9s}
  .jor-char.f12 img:nth-child(11){animation-delay:-1s}
  .jor-char.f12 img:nth-child(12){animation-delay:-1.1s}
  @keyframes jf12{0%,8.2%{opacity:1}8.3%,100%{opacity:0}}
  .jor-char.f20 img{animation:jf20 1.6s steps(1) infinite}
  .jor-char.f20 img:nth-child(2){animation-delay:-.08s}
  .jor-char.f20 img:nth-child(3){animation-delay:-.16s}
  .jor-char.f20 img:nth-child(4){animation-delay:-.24s}
  .jor-char.f20 img:nth-child(5){animation-delay:-.32s}
  .jor-char.f20 img:nth-child(6){animation-delay:-.4s}
  .jor-char.f20 img:nth-child(7){animation-delay:-.48s}
  .jor-char.f20 img:nth-child(8){animation-delay:-.56s}
  .jor-char.f20 img:nth-child(9){animation-delay:-.64s}
  .jor-char.f20 img:nth-child(10){animation-delay:-.72s}
  .jor-char.f20 img:nth-child(11){animation-delay:-.8s}
  .jor-char.f20 img:nth-child(12){animation-delay:-.88s}
  .jor-char.f20 img:nth-child(13){animation-delay:-.96s}
  .jor-char.f20 img:nth-child(14){animation-delay:-1.04s}
  .jor-char.f20 img:nth-child(15){animation-delay:-1.12s}
  .jor-char.f20 img:nth-child(16){animation-delay:-1.2s}
  .jor-char.f20 img:nth-child(17){animation-delay:-1.28s}
  .jor-char.f20 img:nth-child(18){animation-delay:-1.36s}
  .jor-char.f20 img:nth-child(19){animation-delay:-1.44s}
  .jor-char.f20 img:nth-child(20){animation-delay:-1.52s}
  @keyframes jf20{0%,4.9%{opacity:1}5%,100%{opacity:0}}
  .jor-char.f28 img{animation:jf28 1.4s steps(1) infinite}
  .jor-char.f28 img:nth-child(2){animation-delay:-0.05s}
  .jor-char.f28 img:nth-child(3){animation-delay:-0.1s}
  .jor-char.f28 img:nth-child(4){animation-delay:-0.15s}
  .jor-char.f28 img:nth-child(5){animation-delay:-0.2s}
  .jor-char.f28 img:nth-child(6){animation-delay:-0.25s}
  .jor-char.f28 img:nth-child(7){animation-delay:-0.3s}
  .jor-char.f28 img:nth-child(8){animation-delay:-0.35s}
  .jor-char.f28 img:nth-child(9){animation-delay:-0.4s}
  .jor-char.f28 img:nth-child(10){animation-delay:-0.45s}
  .jor-char.f28 img:nth-child(11){animation-delay:-0.5s}
  .jor-char.f28 img:nth-child(12){animation-delay:-0.55s}
  .jor-char.f28 img:nth-child(13){animation-delay:-0.6s}
  .jor-char.f28 img:nth-child(14){animation-delay:-0.65s}
  .jor-char.f28 img:nth-child(15){animation-delay:-0.7s}
  .jor-char.f28 img:nth-child(16){animation-delay:-0.75s}
  .jor-char.f28 img:nth-child(17){animation-delay:-0.8s}
  .jor-char.f28 img:nth-child(18){animation-delay:-0.85s}
  .jor-char.f28 img:nth-child(19){animation-delay:-0.9s}
  .jor-char.f28 img:nth-child(20){animation-delay:-0.95s}
  .jor-char.f28 img:nth-child(21){animation-delay:-1s}
  .jor-char.f28 img:nth-child(22){animation-delay:-1.05s}
  .jor-char.f28 img:nth-child(23){animation-delay:-1.1s}
  .jor-char.f28 img:nth-child(24){animation-delay:-1.15s}
  .jor-char.f28 img:nth-child(25){animation-delay:-1.2s}
  .jor-char.f28 img:nth-child(26){animation-delay:-1.25s}
  .jor-char.f28 img:nth-child(27){animation-delay:-1.3s}
  .jor-char.f28 img:nth-child(28){animation-delay:-1.35s}
  @keyframes jf28{0%,3.47%{opacity:1}3.57%,100%{opacity:0}}
  .jor-stage.moving .jor-floor{animation-duration:.3s;opacity:.75}
  .jor-streaks{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
  .jor-streaks i{position:absolute;left:50%;height:4px;border-radius:4px;background:linear-gradient(90deg,transparent,var(--pink));opacity:0;animation:jorstreak .5s linear infinite}
  .jor-streaks i:nth-child(1){top:32%;width:84px;animation-delay:0s}
  .jor-streaks i:nth-child(2){top:49%;width:120px;animation-delay:-.18s}
  .jor-streaks i:nth-child(3){top:66%;width:64px;animation-delay:-.34s}
  @keyframes jorstreak{0%{transform:translateX(50px);opacity:0}35%{opacity:.55}100%{transform:translateX(-250px);opacity:0}}
  .jor-ctrls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:6px}
  .jor-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid #3a3a44;background:var(--card);color:#fff;
    cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
  .jor-btn:hover:not(:disabled){border-color:var(--pink);color:var(--pink-2)}
  .jor-btn:disabled{opacity:.3;cursor:default}
  .jor-play{background:var(--grad);border-color:transparent;width:54px;height:54px}
  .jor-play:hover{color:#fff;transform:scale(1.05)}
  .jor-prog{color:var(--muted);font-size:.82rem;font-weight:700;min-width:52px;text-align:center;letter-spacing:.5px}
  .jor-card{display:flex;gap:24px;align-items:center;max-width:960px;margin:30px auto 0;background:var(--card);border:1px solid var(--line);border-radius:18px;
    padding:20px 26px;text-align:left;position:relative;overflow:hidden;min-height:172px}
  .jor-card.no-photo{justify-content:center;text-align:center}
  .jor-photo{flex:0 0 440px;width:440px;height:300px;object-fit:cover;border-radius:12px;border:1px solid var(--line);display:block}
  .jor-card.no-photo .jor-photo{display:none}
  .jor-cbody{flex:1;min-width:0}
  .jor-card.no-photo .jor-cbody{flex:0 1 auto;max-width:580px}
  .jor-card::before{content:"";position:absolute;left:0;top:0;height:100%;width:5px;background:var(--grad);transition:background .3s}
  .jor-card.accident::before{background:linear-gradient(#ff5a36,#ff2e74)}
  .jor-badge{display:inline-block;background:var(--pink-soft);border:1px solid rgba(236,28,93,.3);color:var(--pink-2);
    font-size:.7rem;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;padding:5px 14px;border-radius:20px;margin-bottom:12px}
  .jor-card h3{font-family:'Saira Condensed';font-weight:800;font-size:1.7rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
  .jor-card.accident h3{color:#ff6a48}
  .jor-card p{color:#c4c4cd;font-size:.96rem;line-height:1.6;margin:0}
  .jor-card.no-photo p{max-width:560px;margin:0 auto}
  .jor-hint{text-align:center;color:var(--muted);font-size:.8rem;margin-top:16px}
  @media(max-width:680px){
    .jor-stage{max-width:360px;height:180px}
    .jor-char,.jor-char img{height:calc(140px * var(--js,1))}
    .jor-track{height:150px}
    .jor-node{width:28px;height:28px}.jor-node svg{width:14px;height:14px}
    .jor-card{flex-direction:column;text-align:center;gap:16px}
    .jor-photo{flex:none;width:100%;height:250px}
    .jor-card p{margin:0 auto}
    .jor-card h3{font-size:1.4rem}
  }

  /* ===== PLANOS ===== */
  .toggle{display:flex;justify-content:center;gap:0;margin:0 auto 14px;width:max-content;
    background:var(--card);border:1px solid var(--line);border-radius:12px;padding:5px}
  .toggle button{
    border:none;background:transparent;color:#c2c2cc;cursor:pointer;
    font-family:'Inter';font-weight:700;font-size:.82rem;letter-spacing:.5px;text-transform:uppercase;
    padding:11px 22px;border-radius:9px;transition:.2s;
  }
  .toggle button.active{background:var(--grad);color:#fff;box-shadow:0 6px 18px rgba(236,28,93,.35)}
  .toggle-note{text-align:center;color:var(--muted);font-size:.86rem;margin-bottom:34px}
  .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
  .plan{
    background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 24px;
    display:flex;flex-direction:column;transition:transform .2s,border-color .2s;position:relative;
  }
  .plan:hover{transform:translateY(-5px);border-color:#39394400}
  .plan.feat{border:1.6px solid var(--pink);box-shadow:0 18px 50px rgba(236,28,93,.18)}
  .plan .tag{
    position:absolute;top:-13px;left:50%;transform:translateX(-50%);
    background:var(--grad);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:1px;
    text-transform:uppercase;padding:6px 16px;border-radius:20px;display:flex;gap:6px;align-items:center;white-space:nowrap;
  }
  .plan .per{font-family:'Saira Condensed';font-weight:700;font-size:1.5rem;text-transform:uppercase;letter-spacing:.5px}
  .plan .price{display:flex;align-items:baseline;gap:6px;margin:8px 0 4px}
  .plan .price .cur{font-size:1.1rem;color:var(--pink-2);font-weight:700}
  .plan .price .val{font-family:'Saira Condensed';font-weight:800;font-size:3rem;line-height:1}
  .plan .price .cents{font-size:1.3rem;font-weight:700;align-self:flex-start;margin-top:6px}
  .plan .eq{color:var(--muted);font-size:.82rem;margin-bottom:18px}
  .plan ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin:6px 0 22px;flex:1}
  .plan li{display:flex;gap:10px;font-size:.9rem;color:#d8d8e0;align-items:flex-start}
  .plan li .ck{color:var(--pink);flex-shrink:0;margin-top:1px}
  .plan li b{color:#fff;font-weight:600}
  .plans-foot{text-align:center;color:var(--muted);font-size:.88rem;margin-top:30px}
  .plans-foot b{color:#dcdce3}

  /* ===== RESULTADOS ===== */
  .tcards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .tc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:12px}
  .tc-top{display:flex;gap:12px;align-items:center}
  .av{width:54px;height:54px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
    font-family:'Saira Condensed';font-weight:800;font-size:1.1rem;color:#fff;background:var(--grad);
    border:2px solid rgba(236,28,93,.4);background-size:cover;background-position:center}
  .tc-top b{display:block;font-family:'Saira Condensed';font-weight:700;font-size:1.05rem;letter-spacing:.5px;text-transform:uppercase}
  .tc-top small{color:var(--pink-2);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
  .tc q{color:#cdcdd6;font-size:.92rem;font-style:normal;display:block}
  .tc .loc{color:var(--pink);font-size:.74rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-top:auto}
  .stars{color:#ffb400;letter-spacing:2px;font-size:.8rem}
  .center-btn{text-align:center;margin-top:38px}
  .ig-subhead{text-align:center;margin:46px 0 22px;font-family:'Saira Condensed';font-weight:700;
    font-size:1.4rem;text-transform:uppercase;letter-spacing:1px}
  .ig-subhead .pink{color:var(--pink)}
  .video-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1000px;margin:0 auto 8px}
  .vcard{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--card);transition:transform .2s,border-color .2s}
  .vcard:hover{transform:translateY(-4px);border-color:var(--pink)}
  .vcard .vid{position:relative;aspect-ratio:9/16;background:#000}
  .vcard video{width:100%;height:100%;object-fit:cover;display:block;background:#000}
  .vcard .vcap{padding:13px 15px;font-size:.85rem;font-weight:600;color:#ededf2}
  .vcard .vcap small{display:block;color:var(--pink-2);font-size:.69rem;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px;font-weight:700}
  .ig-wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1080px;margin:0 auto}
  .ig-wall .instagram-media{margin:0 auto!important;min-width:0!important;width:100%!important;max-width:100%!important;
    background:#fff!important;border-radius:14px!important}
  .ig-fallback{display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center;text-align:center;
    background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px;min-height:180px;color:var(--muted);font-size:.86rem}
  .ig-fallback .btn{margin-top:6px}
  .real-gallery{display:grid;grid-template-columns:1.7fr 1fr;grid-auto-rows:1fr;gap:14px;max-width:1000px;margin:6px auto 40px;height:392px}
  .real-gallery figure{position:relative;margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
  .real-gallery .rg-big{grid-column:1;grid-row:1 / span 2}
  .real-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
  .real-gallery figure:hover img{transform:scale(1.05)}
  .real-gallery figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:20px 16px 13px;
    font-size:.82rem;font-weight:700;color:#fff;background:linear-gradient(to top,rgba(7,7,10,.92),transparent)}
  .real-gallery .rg-big figcaption{font-size:.98rem}
  @media(max-width:720px){.real-gallery{grid-template-columns:1fr 1fr;height:auto;grid-auto-rows:148px}
    .real-gallery .rg-big{grid-column:1 / span 2;grid-row:auto;height:216px}}
  .real-gallery.solo{grid-template-columns:1fr;height:auto;max-width:900px}
  .real-gallery.solo .rg-big{grid-column:1;grid-row:auto;height:440px;max-height:60vh}
  .hist-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1000px;margin:0 auto}
  .hist-gallery figure{position:relative;margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);height:300px}
  .hist-gallery img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;display:block;transition:transform .4s}
  .hist-gallery figure:hover img{transform:scale(1.05)}
  .hist-gallery figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px 16px 13px;font-weight:600;color:#fff;font-size:.95rem;background:linear-gradient(transparent,rgba(0,0,0,.85))}
  @media(max-width:720px){.hist-gallery{grid-template-columns:1fr}.hist-gallery figure{height:240px}}

  /* ===== EQUIPE ===== */
  .team{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
  .tm{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 24px;text-align:center;transition:.2s;width:330px;max-width:100%;display:flex;flex-direction:column;align-items:center}
  .tm:hover{transform:translateY(-5px);border-color:var(--pink)}
  .tm .av{width:84px;height:84px;margin:0 auto 14px;font-size:1.5rem}
  .tm b{display:block;font-family:'Saira Condensed';font-weight:700;font-size:1.25rem;text-transform:uppercase;letter-spacing:.5px}
  .tm .tm-role{color:var(--pink-2);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin:3px 0 12px}
  .tm p{color:#c2c2cc;font-size:.86rem;line-height:1.55;margin-bottom:14px;flex:1}
  .tm .tm-ig{display:inline-flex;align-items:center;gap:7px;color:#d3d3da;font-size:.8rem;font-weight:600}
  .tm .tm-ig:hover{color:var(--pink-2)}

  /* ===== CTA WHATS ===== */
  .cta-w{margin:30px auto}
  .cta-box{
    position:relative;overflow:hidden;border-radius:20px;padding:38px 40px;
    display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;
    background:linear-gradient(100deg,#15151b,#101015);border:1px solid var(--line);
  }
  .cta-box::before{content:"";position:absolute;right:-5%;top:-40%;width:50%;height:180%;
    background:radial-gradient(circle,rgba(236,28,93,.20),transparent 60%)}
  .cta-l{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;position:relative;z-index:2}
  .wa-glow{width:78px;height:78px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:var(--pink-soft);border:1px solid rgba(236,28,93,.4);box-shadow:0 0 36px rgba(236,28,93,.5);color:var(--pink-2)}
  .cta-l h3{font-family:'Saira Condensed';font-weight:800;font-size:1.9rem;text-transform:uppercase}
  .cta-l p{color:var(--muted);font-size:.95rem}

  /* ===== FOOTER ===== */
  footer{background:var(--bg-2);border-top:1px solid var(--line);padding:54px 0 26px}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr 1.4fr;gap:30px}
  .foot-brand p{color:var(--muted);font-size:.88rem;margin:16px 0 18px;max-width:280px}
  .socials{display:flex;gap:10px}
  .soc{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;
    background:var(--card);border:1px solid var(--line);color:#cfcfd8;transition:.2s}
  .soc:hover{background:var(--grad);color:#fff;border-color:transparent;transform:translateY(-3px)}
  .foot-col h4{font-family:'Saira Condensed';font-weight:700;font-size:.95rem;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px;color:#fff}
  .foot-col a,.foot-col span{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.88rem;margin-bottom:10px}
  .foot-col a:hover{color:var(--pink-2)}
  .meetup-note{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid rgba(236,28,93,.32);border-radius:11px;background:var(--pink-soft);color:#f4dbe4;line-height:1.25}
  .meetup-note svg{flex:0 0 auto;color:var(--pink-2)}
  .meetup-note strong,.meetup-note small{display:block}
  .meetup-note strong{font-size:.78rem;letter-spacing:.45px;text-transform:uppercase;color:#fff}
  .meetup-note small{margin-top:2px;font-size:.72rem;color:#c9aeb8}
  .foot-col .meetup-note{width:fit-content;margin-top:4px}
  .foot-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
  .foot-bottom span{color:#74747f;font-size:.8rem}

  /* ===== LOJA ===== */
  .shop{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .product{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}
  .product:hover{transform:translateY(-5px);border-color:var(--pink)}
  .product .p-img{position:relative;aspect-ratio:1/1;background:linear-gradient(160deg,#1c1c24,#101015);display:flex;align-items:center;justify-content:center;overflow:hidden}
  .product .p-img::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(236,28,93,.18),transparent 62%)}
  .product .p-img img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2}
  .product .p-img .p-mono{position:relative;z-index:2;font-family:'Saira Condensed';font-weight:800;font-style:italic;font-size:2.6rem;color:#fff;opacity:.55;letter-spacing:1px}
  .product .p-tag{position:absolute;z-index:3;top:12px;left:12px;background:var(--grad);color:#fff;font-size:.64rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:5px 11px;border-radius:20px}
  .product .p-body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1;gap:6px}
  .product .p-body h3{font-family:'Saira Condensed';font-weight:700;font-size:1.12rem;text-transform:uppercase;letter-spacing:.3px}
  .product .p-body p{color:var(--muted);font-size:.81rem;flex:1}
  .product .p-price{display:flex;align-items:baseline;gap:5px;margin-top:4px}
  .product .p-price .cur{color:var(--pink-2);font-weight:700;font-size:.88rem}
  .product .p-price .v{font-family:'Saira Condensed';font-weight:800;font-size:1.7rem;line-height:1}
  .btn-ml{background:#FFE600;color:#2D3277;width:100%;justify-content:center;margin-top:12px}
  .btn-ml:hover{background:#ffd400;transform:translateY(-2px);box-shadow:0 8px 22px rgba(255,230,0,.25)}
  .shop-foot{text-align:center;margin-top:36px;display:flex;flex-direction:column;gap:14px;align-items:center}
  .shop-note{color:var(--muted);font-size:.84rem;max-width:600px;margin:0 auto;line-height:1.6}
  .shop-note b{color:#dcdce3}

  /* ===== COOKIES (LGPD) ===== */
  .cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:200;background:rgba(13,13,17,.98);backdrop-filter:blur(12px);
    border-top:1px solid var(--line);padding:18px 22px;transform:translateY(130%);transition:transform .45s ease;box-shadow:0 -12px 44px rgba(0,0,0,.55)}
  .cookie-bar.show{transform:translateY(0)}
  .cookie-in{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:space-between}
  .cookie-txt{flex:1;min-width:260px;color:#cfcfd8;font-size:.85rem;line-height:1.55}
  .cookie-txt b{color:#fff}
  .cookie-txt a{color:var(--pink-2);text-decoration:underline}
  .cookie-btns{display:flex;gap:10px;flex-wrap:wrap}
  .cookie-btns .btn{padding:10px 18px;font-size:.76rem}

  /* ===== RESPONSIVE ===== */
  @media(max-width:980px){
    .hero-in{grid-template-columns:1fr;min-height:auto}
    .hero{
      background-image:linear-gradient(to bottom,rgba(11,11,14,.3) 46%,rgba(11,11,14,.74) 78%,#0b0b0e 100%),linear-gradient(90deg,rgba(10,10,13,.93),rgba(10,10,13,.7)),url('img/bg-triathlon.jpg');
      background-position:center,center,70% center;
    }
    .whys{grid-template-columns:repeat(2,1fr);gap:26px}
    .mods,.plans,.tcards{grid-template-columns:1fr 1fr}
    .team{grid-template-columns:repeat(3,1fr)}
    .foot-grid{grid-template-columns:1fr 1fr}
    .story-in{grid-template-columns:1fr;gap:30px}
    .story-photo{min-height:300px}
    .shop{grid-template-columns:repeat(2,1fr)}
  }
  @media(max-width:680px){
    nav.menu,.nav-right .btn span{display:none}
    .hamb{display:block}
    .nav-right{gap:8px}
    .hero-in{padding:50px 22px 42px}
    .hero{background-position:center,center,72% center}
    .hero h1{font-size:clamp(2.25rem,10.4vw,2.65rem);margin-bottom:18px}
    .hero p.sub{font-size:.96rem;line-height:1.55;margin-bottom:26px}
    .hero-cta{gap:12px;margin-bottom:34px}
    .hero-feats{width:100%;grid-template-columns:1fr 1fr;gap:18px 20px}
    .feat-mini{grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:center}
    .feat-mini b{font-size:.64rem;line-height:1.3}
    .mods,.plans,.tcards,.team,.whys,.foot-grid{grid-template-columns:1fr}
    .ig-wall{grid-template-columns:1fr}
    .video-wall{grid-template-columns:1fr;max-width:340px}
    .shop{grid-template-columns:1fr 1fr;gap:12px}
    .cookie-in{flex-direction:column;align-items:flex-start;gap:14px}
    .cookie-btns{width:100%}
    .cookie-btns .btn{flex:1}
    .toggle button{padding:10px 14px;font-size:.74rem}
    .cta-box{padding:28px 22px}
    .cta-l{flex-direction:column;text-align:center}
    .menu-open nav.menu{
      display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;
      background:var(--bg-2);padding:18px 22px;border-bottom:1px solid var(--line);gap:14px;z-index:60;
    }
  }
  .menu a[aria-current="page"]{color:#fff}
  .menu a[aria-current="page"]::after{width:100%}
  .contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(375px,.62fr);gap:18px;max-width:1100px;margin:0 auto;align-items:stretch}
  .contact-location-card,.contact-card{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#18181f 0%,#121217 100%);
    border:1px solid #2d2d36;border-radius:18px;box-shadow:0 16px 34px rgba(0,0,0,.16)}
  .contact-location-card{display:flex;flex-direction:column;min-height:610px;padding:26px}
  .location-copy{display:flex;align-items:center;justify-content:space-between;gap:24px}
  .location-heading{display:flex;align-items:center;gap:16px;text-align:left}
  .location-heading .ci,.contact-card .ci{width:60px;height:60px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;
    color:var(--pink-2);background:linear-gradient(145deg,rgba(236,28,93,.22),rgba(88,8,34,.18));border:1px solid rgba(236,28,93,.55);
    box-shadow:inset 0 0 18px rgba(236,28,93,.05)}
  .location-kicker{display:block;margin-bottom:2px;color:var(--pink-2);font-size:.72rem;font-weight:700;letter-spacing:1.35px;text-transform:uppercase}
  .location-heading h3{margin:0;font-family:'Saira Condensed';font-size:1.45rem;line-height:1;text-transform:uppercase;letter-spacing:.5px}
  .location-heading p{margin:6px 0 0;color:#a9a9ba;font-size:.9rem}
  .contact-location-card .meetup-note{width:max-content;max-width:48%;text-align:left}
  .location-map{position:relative;flex:1;min-width:0;min-height:420px;margin-top:22px;overflow:hidden;border:1px solid #33333d;border-radius:14px;background:#0f0f14}
  .location-map::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
    background:linear-gradient(180deg,rgba(10,10,14,.08),transparent 32%,rgba(10,10,14,.16))}
  .map-tiles{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;width:100%;min-width:0;min-height:100%;
    background:#d7ddd8;filter:grayscale(.74) saturate(.7) contrast(1.08)}
  .map-tiles img{display:block;width:100%;min-width:0;height:auto}
  .map-area-label{position:absolute;z-index:2;left:50%;top:50%;display:flex;align-items:center;gap:8px;transform:translate(-50%,-50%);
    padding:8px 12px 8px 8px;border:1px solid rgba(236,28,93,.55);border-radius:999px;background:rgba(16,13,18,.9);
    color:#fff;font-family:'Saira Condensed';font-size:.88rem;font-weight:800;letter-spacing:.7px;text-transform:uppercase;box-shadow:0 10px 24px rgba(0,0,0,.32)}
  .map-area-label span{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--grad);color:#fff}
  .map-credit{position:absolute;z-index:2;left:8px;bottom:7px;padding:3px 6px;border-radius:5px;background:rgba(15,15,19,.78);color:#b9b9c2;font-size:.62rem}
  .contact-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border:1px solid rgba(236,28,93,.52);
    border-radius:10px;background:rgba(20,10,15,.86);color:#fff;font-family:'Saira Condensed';font-size:.82rem;font-weight:800;letter-spacing:.35px;
    text-transform:uppercase;box-shadow:0 8px 20px rgba(0,0,0,.18);transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
  .location-map .map-link{position:absolute;z-index:2;right:16px;bottom:16px;background:var(--grad);border-color:transparent;box-shadow:0 10px 28px rgba(236,28,93,.34)}
  .contact-action:hover{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(236,28,93,.28);transform:translateY(-1px)}
  .contact-action:focus-visible{outline:2px solid #fff;outline-offset:3px}
  .contact-channels{display:grid;grid-template-rows:repeat(3,1fr);gap:18px}
  .contact-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;grid-template-areas:"icon title action" "icon value action";
    align-items:center;column-gap:12px;min-height:0;padding:20px;text-align:left;transition:transform .22s,border-color .22s,box-shadow .22s}
  .contact-card::before{content:"";position:absolute;z-index:-1;top:-80px;left:-20px;width:180px;height:180px;border-radius:50%;
    background:rgba(236,28,93,.19);filter:blur(36px);opacity:.45;transition:opacity .22s}
  .contact-card::after{content:"";position:absolute;top:0;left:20px;right:45%;height:1px;background:linear-gradient(90deg,rgba(255,46,112,.72),transparent);opacity:.7}
  .contact-card:hover{transform:translateX(4px);border-color:rgba(236,28,93,.58);box-shadow:0 20px 42px rgba(0,0,0,.28)}
  .contact-card:focus-visible{outline:2px solid var(--pink-2);outline-offset:4px;border-color:var(--pink)}
  .contact-card:hover::before{opacity:.85}
  .contact-card .ci{grid-area:icon;width:54px;height:54px}
  .contact-card b{grid-area:title;align-self:end;display:block;font-family:'Saira Condensed';font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}
  .contact-card span{color:var(--muted);font-size:.9rem;word-break:break-word}
  .contact-card .contact-value{grid-area:value;align-self:start;display:block;margin:0;color:#a9a9ba;font-size:.82rem;line-height:1.35;white-space:nowrap;word-break:normal}
  .contact-card .contact-action{grid-area:action;min-width:0;padding:8px 10px;font-size:.78rem;white-space:nowrap}
  .contact-card:hover .contact-action,.contact-card:focus-visible .contact-action{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(236,28,93,.28)}
  .contact-details{position:relative;isolation:isolate;overflow:hidden;max-width:1100px;margin:18px auto 0;padding:24px 26px;
    display:grid;grid-template-columns:minmax(245px,.72fr) minmax(0,1.28fr);gap:28px;align-items:center;
    background:linear-gradient(110deg,#18181f 0%,#141419 60%,#111116 100%);border:1px solid #2d2d36;border-radius:18px;
    box-shadow:0 16px 34px rgba(0,0,0,.16)}
  .contact-details::before{content:"";position:absolute;z-index:-1;left:-70px;top:-120px;width:300px;height:300px;border-radius:50%;
    background:rgba(236,28,93,.16);filter:blur(54px)}
  .contact-details-heading{display:flex;align-items:center;gap:16px;text-align:left}
  .contact-details-heading .ci{width:60px;height:60px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;
    color:var(--pink-2);background:linear-gradient(145deg,rgba(236,28,93,.22),rgba(88,8,34,.18));border:1px solid rgba(236,28,93,.55)}
  .contact-details-heading h3{margin:0;font-family:'Saira Condensed';font-size:1.45rem;line-height:1.05;text-transform:uppercase;letter-spacing:.5px}
  .contact-details-content{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(0,1.25fr);gap:14px}
  .training-info,.coupon-box{min-width:0;padding:17px 18px;border:1px solid #30303a;border-radius:13px;background:rgba(10,10,14,.5)}
  .detail-label{display:block;margin-bottom:9px;color:#a9a9ba;font-size:.7rem;font-weight:800;letter-spacing:1.05px;text-transform:uppercase}
  .training-info strong{display:block;color:#fff;font-family:'Saira Condensed';font-size:1.15rem;line-height:1.2;text-transform:uppercase}
  .training-info p{margin:5px 0 0;color:#b7b7c2;font-size:.85rem;line-height:1.45}
  .coupon-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
  .coupon-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;color:#c7c7d0;font-size:.82rem}
  .coupon-list span{min-width:0}
  .coupon-list code{padding:5px 9px;border:1px solid rgba(236,28,93,.4);border-radius:7px;background:rgba(236,28,93,.12);
    color:#ff78a4;font-family:inherit;font-size:.76rem;font-weight:800;letter-spacing:.35px;white-space:nowrap}
  @media(max-width:900px){
    .contact-layout{grid-template-columns:1fr;max-width:760px}
    .contact-location-card{min-height:auto}
    .contact-channels{grid-template-rows:repeat(3,minmax(128px,auto))}
    .contact-details{max-width:760px;grid-template-columns:1fr}
  }
  @media(max-width:560px){
    .contact-location-card{padding:18px}
    .location-copy{align-items:flex-start;flex-direction:column}
    .contact-location-card .meetup-note{max-width:100%}
    .location-map{min-height:350px}
    .contact-card{grid-template-columns:54px minmax(0,1fr);grid-template-areas:"icon title" "icon value" "action action";row-gap:2px;padding:20px}
    .contact-card .ci{width:54px;height:54px}
    .contact-card .contact-action{margin-top:14px}
    .contact-card:hover{transform:translateY(-3px)}
    .contact-details{padding:20px 18px;gap:20px}
    .contact-details-content{grid-template-columns:1fr}
    .coupon-list li{align-items:start}
  }
  @media(max-width:420px){
    .hero-cta{display:grid;grid-template-columns:1fr}
    .hero-cta .btn{width:100%;justify-content:center}
  }

