:root {
    --y: #f5bb00;
    --g: #50ad2a;
    --bg: #070908;
    --line: #292e2a;
    --muted: #969b95;
    --head: 'Barlow Condensed', sans-serif;
    --body: 'Inter', sans-serif
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: #070908;
    color: #eee;
    font-family: var(--body)
}

button,
input,
select {
    font: inherit
}

.shell {
    width: min(1240px, 100%);
    margin: 0 auto;
    background: var(--bg);
    overflow: hidden;
    box-shadow: 0 0 80px rgba(0, 0, 0, .45)
}

header {
    height: 88px;
    display: flex;
    align-items: center;
    padding: 8px 46px;
    background: rgba(5, 7, 6, .98);
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    position: relative;
    z-index: 10
}

.brand {
    width: 235px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none
}

.brand::after {
    content: "T10 Sports Culture";
    max-width: 95px;
    text-transform: uppercase;
    font: 800 14px/1.05 var(--head);
    letter-spacing: .4px
}

.brand img {
    width: 116px;
    height: 65px;
    object-fit: contain
}

nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 55px;
    flex: 1
}

nav a {
    color: #ddd;
    text-decoration: none;
    font: 600 15px var(--head);
    position: relative;
    transition: color .2s ease
}

nav a:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 2px;
    background: var(--y);
    transform: scaleX(0);
    transition: transform .2s ease
}

nav a:hover {
    color: #fff
}

nav a:hover:after {
    transform: scaleX(1)
}

.nav-dropdown {
    position: relative;
    display: flex;
    align-items: center
}

.nav-dropdown-toggle {
    padding: 0;
    border: 0;
    background: none;
    color: #ddd;
    font: 600 15px/1 var(--head);
    height: 20px;
    display: inline-flex;
    align-items: center
}

.nav-dropdown-toggle span {
    display: inline-block;
    margin-left: 4px;
    transition: transform .2s ease
}

.nav-dropdown-menu {
    position: absolute;
    top: calc(100% + 18px);
    left: 50%;
    min-width: 155px;
    padding: 7px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #0b0e0c;
    box-shadow: 0 14px 30px rgba(0,0,0,.4);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -6px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease
}

.nav-dropdown-menu a {
    display: block;
    padding: 10px 12px;
    border-radius: 4px;
    white-space: nowrap
}

.nav-dropdown-menu a::after {
    display: none
}

.nav-dropdown-menu a:hover {
    color: #fff;
    background: rgba(245,187,0,.1)
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0)
}

.nav-dropdown.open .nav-dropdown-toggle span {
    transform: rotate(180deg)
}

.location-page {
    min-height: calc(100vh - 168px)
}

.location-hero {
    min-height: 390px;
    padding: 70px 86px;
    display: flex;
    align-items: center;
    background: radial-gradient(circle at 80% 30%,rgba(80,173,42,.18),transparent 35%),linear-gradient(135deg,#10140f,#070908)
}

.location-hero-copy {
    max-width: 650px
}

.location-eyebrow {
    margin: 0 0 8px;
    color: var(--y);
    text-transform: uppercase;
    letter-spacing: 2px;
    font: 700 13px var(--head)
}

.location-hero h1 {
    margin: 0 0 16px;
    font: 900 64px/1 var(--head);
    text-transform: uppercase
}

.location-hero-copy>p:not(.location-eyebrow) {
    max-width: 560px;
    color: #b9bdb9;
    font-size: 17px;
    line-height: 1.7
}

.location-cta {
    display: inline-flex;
    margin-top: 18px;
    padding: 13px 22px;
    border: 0;
    border-radius: 5px;
    background: linear-gradient(90deg,#efb500,#ffca09);
    color: #15140d;
    text-decoration: none;
    text-transform: uppercase;
    font: 800 15px var(--head)
}

.location-info {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
    padding: 42px 86px 60px
}

.location-info article {
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #0a0d0b
}

.location-info h2 {
    margin: 0 0 10px;
    color: #fff;
    font: 800 24px var(--head)
}

.location-info p {
    margin: 0;
    color: #969b95;
    font-size: 13px;
    line-height: 1.7
}

.setubal-program,.setubal-pricing{padding:55px 86px}
.setubal-program{border-top:1px solid var(--line);background:#090c0a}
.setubal-schedule{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.setubal-schedule article{padding:22px;border:1px solid #364037;border-radius:7px;background:linear-gradient(145deg,#121713,#0b0e0c);box-shadow:0 10px 28px rgba(0,0,0,.22)}
.setubal-schedule h3{margin:0 0 14px;color:var(--y);text-transform:uppercase;font:800 22px var(--head)}
.setubal-schedule article>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:9px 0;border-top:1px solid #293029;color:#c8ccc8;font-size:14px}
.setubal-schedule strong{text-align:right;text-transform:uppercase;color:#fff;font:700 14px var(--head)}
.setubal-schedule .personal-session strong{color:#74c94e}
.setubal-pricing{background:radial-gradient(circle at 80% 20%,rgba(245,187,0,.08),transparent 30%),#070908}
.setubal-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.setubal-price-grid article{min-height:170px;padding:24px 18px;border:1px solid #374038;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#121713,#0b0e0c)}
.setubal-price-grid article.featured{border-color:rgba(245,187,0,.7);box-shadow:0 10px 28px rgba(245,187,0,.1)}
.setubal-price-grid small{color:#c1c6c1;text-transform:uppercase;font:700 13px var(--head)}
.setubal-price-grid strong{margin:5px 0;color:var(--y);font:900 44px var(--head)}
.setubal-price-grid p{margin:0;color:#abb0ab;font-size:13px;text-transform:uppercase}
.setubal-actions{margin-top:28px;display:flex;justify-content:center;gap:16px}
.setubal-actions .location-cta{margin-top:0}
.setubal-actions .wa-outline{min-width:220px;height:51px;border-radius:5px;display:flex;align-items:center;justify-content:center;text-transform:uppercase}

@media(max-width:900px){.setubal-program,.setubal-pricing{padding:45px 35px}.setubal-price-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.setubal-program,.setubal-pricing{padding:38px 18px}.setubal-schedule{grid-template-columns:1fr}.setubal-price-grid{grid-template-columns:1fr 1fr;gap:9px}.setubal-price-grid article{min-height:150px;padding:18px 10px}.setubal-price-grid strong{font-size:37px}.setubal-actions{flex-direction:column}.setubal-actions .location-cta,.setubal-actions .wa-outline{width:100%;min-width:0}.setubal-schedule article>div{font-size:13px}.setubal-schedule strong{font-size:13px}}

button {
    cursor: pointer
}

.toggle {
    display: none;
    background: none;
    border: 0;
    color: #fff;
    font-size: 24px
}

.wa {
    border: 0
}

.top {
    background: linear-gradient(135deg, #4a9b29, #347c1c);
    color: #fff;
    border-radius: 5px;
    padding: 11px 16px;
    text-transform: uppercase;
    font: 700 12px var(--head);
    box-shadow: 0 6px 20px rgba(48, 132, 28, .2);
    transition: transform .2s ease, box-shadow .2s ease
}

.top:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 25px rgba(48, 132, 28, .3)
}

.hero {
    height: 390px;
    position: relative;
    display: flex;
    align-items: center;
    padding: 35px 92px;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(3, 5, 4, .96), rgba(5, 7, 6, .68) 45%, rgba(5, 7, 6, .12) 75%), linear-gradient(0deg, #070908, transparent 40%), #161a16
}

.hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .014) 0 1px, transparent 1px 4px)
}

.hero-copy {
    position: relative;
    z-index: 2
}

.kicker,
h1,
.tagline {
    margin: 0;
    text-transform: uppercase;
    font-family: var(--head);
    font-style: italic
}

.kicker {
    font-weight: 800;
    font-size: 40px;
    line-height: .9;
    color: #d8d9d5;
    text-shadow: 2px 3px #222
}

h1 {
    font-weight: 900;
    font-size: 59px;
    line-height: 1;
    color: var(--y);
    text-shadow: 2px 3px #443700
}

.tagline {
    font-weight: 700;
    font-size: 20px;
    color: #d0d1cc;
    margin-top: 8px
}

.locations {
    display: flex;
    margin-top: 18px
}

.loc {
    height: 40px;
    width: 140px;
    background: #0a0d0bdf;
    border: 1px solid #383d38;
    color: #ddd;
    text-transform: uppercase;
    font: 700 15px var(--head)
}

.loc:first-child {
    border-radius: 5px 0 0 5px
}

.loc:last-child {
    border-radius: 0 5px 5px 0
}

.loc.active {
    background: var(--y);
    border-color: var(--y);
    color: #111
}

.note {
    font-size: 12px;
    font-weight: 600
}

.athletes {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    width: 57%;
    height: 100%;
    background: linear-gradient(90deg, #161a16 0, transparent 30%), linear-gradient(0deg, #070908 0, transparent 28%), url('/assets/treinadores_t10.png') center 32%/cover no-repeat;
    filter: saturate(.82) contrast(1.08);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28%);
    mask-image: linear-gradient(90deg, transparent 0, #000 28%)
}

.benefits {
    min-height: 112px;
    width: 78%;
    margin: -7px auto 0;
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: linear-gradient(#151916, #0c0f0d);
    border: 1px solid #262b26;
    box-shadow: 0 13px 25px #000
}

.benefits article {
    display: flex;
    align-items: center;
    padding: 20px 27px;
    border-right: 1px solid #343932
}

.benefits article:last-child {
    border: 0
}

.benefits i {
    font-style: normal;
    font-size: 32px;
    color: var(--y);
    margin-right: 17px
}

.benefits small {
    text-transform: uppercase;
    font: 600 13px var(--head);
    color: #9ca19b
}

.benefits h2 {
    margin: 0;
    text-transform: uppercase;
    font: 700 22px var(--head)
}

.benefits p {
    margin: 2px 0;
    color: #aaa;
    font: 500 11px var(--head)
}

.title {
    font: 700 22px var(--head);
    text-transform: uppercase;
    color: #c5c6c1;
    margin: 0 0 12px
}

.program {
    padding: 25px 86px 16px;
    display: grid;
    grid-template-columns: 245px 1fr 270px;
    gap: 30px;
    border-bottom: 1px solid var(--line)
}

.times {
    border: 1px solid #292e2a;
    border-radius: 6px;
    overflow: hidden
}

.times div {
    height: 36px;
    padding: 0 12px;
    display: grid;
    grid-template-columns: 78px 32px 1fr;
    align-items: center;
    border-bottom: 1px solid #202421;
    text-transform: uppercase;
    font: 600 12px var(--head)
}

.times div:last-child {
    border: 0
}

.times em {
    color: var(--y);
    font-style: normal;
    font-size: 18px
}

.times div:nth-child(even) em {
    color: #5ca138
}

.fine {
    color: #777d77;
    font-size: 10px
}

.plans {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px
}

.plan {
    height: 174px;
    border: 1px solid #555449;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #101310, #090b0a);
    text-transform: uppercase;
    font-family: var(--head)
}

.plan.featured {
    border: 2px solid var(--y)
}

.plan small {
    font-weight: 700
}

.plan b {
    font-size: 39px;
    font-style: italic;
    line-height: 1
}

.plan.featured b {
    color: var(--y)
}

.plan p {
    font-size: 10px;
    text-transform: none;
    color: #aaa;
    margin: 15px 0 0
}

.kit {
    text-align: center
}

.kit .title {
    text-align: left
}

.kit-img {
    height: 215px;
    display: flex;
    align-items: center;
    justify-content: center
}

.kit-img img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.kit-price {
    text-transform: uppercase;
    font: 700 14px var(--head)
}

.kit-price b {
    font-size: 42px;
    font-style: italic;
    margin-right: 10px
}

.actions {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: 50px;
    padding: 20px 86px
}

.actions a,
.actions button {
    height: 58px;
    border-radius: 6px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font: 700 19px var(--head)
}

.primary {
    background: linear-gradient(90deg, #efb500, #ffca09);
    color: #15140d
}

.wa-outline {
    background: #080b09;
    color: #ddd;
    border: 2px solid #2c8b20;
    font-size: 0
}

.wa-outline::before {
    content: "";
    width: 25px;
    height: 25px;
    flex: 0 0 auto;
    background: #25d366;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16.01 3a12.75 12.75 0 0 0-10.9 19.36L3 29l6.84-2.02A12.75 12.75 0 1 0 16.01 3Zm0 2.3a10.45 10.45 0 1 1-5.33 19.44l-.4-.24-3.94 1.17 1.22-3.82-.26-.42A10.45 10.45 0 0 1 16.01 5.3Zm-4.62 4.55c-.25 0-.66.1-1 .48-.35.38-1.32 1.3-1.32 3.17 0 1.87 1.36 3.68 1.55 3.93.19.25 2.68 4.1 6.5 5.75.9.39 1.61.62 2.16.8.91.29 1.74.25 2.4.15.73-.11 2.26-.93 2.58-1.82.32-.9.32-1.67.22-1.83-.09-.16-.35-.25-.73-.44-.38-.2-2.26-1.12-2.61-1.24-.35-.13-.61-.2-.86.19-.26.38-1 1.24-1.23 1.5-.22.25-.44.28-.82.09-.38-.2-1.62-.6-3.08-1.9a11.5 11.5 0 0 1-2.13-2.65c-.22-.38-.02-.59.17-.78.17-.17.38-.45.57-.67.19-.22.25-.38.38-.64.13-.25.06-.48-.03-.67-.1-.19-.86-2.07-1.18-2.84-.31-.75-.63-.65-.86-.66h-.73Z'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16.01 3a12.75 12.75 0 0 0-10.9 19.36L3 29l6.84-2.02A12.75 12.75 0 1 0 16.01 3Zm0 2.3a10.45 10.45 0 1 1-5.33 19.44l-.4-.24-3.94 1.17 1.22-3.82-.26-.42A10.45 10.45 0 0 1 16.01 5.3Zm-4.62 4.55c-.25 0-.66.1-1 .48-.35.38-1.32 1.3-1.32 3.17 0 1.87 1.36 3.68 1.55 3.93.19.25 2.68 4.1 6.5 5.75.9.39 1.61.62 2.16.8.91.29 1.74.25 2.4.15.73-.11 2.26-.93 2.58-1.82.32-.9.32-1.67.22-1.83-.09-.16-.35-.25-.73-.44-.38-.2-2.26-1.12-2.61-1.24-.35-.13-.61-.2-.86.19-.26.38-1 1.24-1.23 1.5-.22.25-.44.28-.82.09-.38-.2-1.62-.6-3.08-1.9a11.5 11.5 0 0 1-2.13-2.65c-.22-.38-.02-.59.17-.78.17-.17.38-.45.57-.67.19-.22.25-.38.38-.64.13-.25.06-.48-.03-.67-.1-.19-.86-2.07-1.18-2.84-.31-.75-.63-.65-.86-.66h-.73Z'/%3E%3C/svg%3E") center/contain no-repeat
}

.wa-outline>span {
    margin-left: 13px;
    font: 700 19px var(--head)
}

.wa-outline small {
    display: block;
    text-transform: none;
    color: #80857f;
    font: 500 10px var(--body)
}

.details {
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: 1fr 1.15fr 1.18fr;
    padding: 25px 62px;
    gap: 32px
}

.details>article+article {
    border-left: 1px solid #363a36;
    padding-left: 32px
}

.details article>p {
    color: #9da19b;
    font-size: 11px;
    line-height: 1.7;
    margin: 0 0 7px
}

.more {
    display: inline-block;
    margin-top: 20px;
    border: 1px solid #555b55;
    border-radius: 5px;
    padding: 10px 14px;
    color: #ccc;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 11px
}

.sports>div {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 40px
}

.sports span {
    text-align: center;
    color: var(--y);
    font-size: 38px
}

.sports b {
    display: block;
    color: #ccc;
    text-transform: uppercase;
    font: 600 11px var(--head)
}

.form-card label {
    display: block;
    color: #777d77;
    font-size: 12px;
    line-height: 1.4
}

.form-card form>label,
.form-card form>.row {
    margin-bottom: 14px
}

.form-card input,
.form-card select,
.form-card textarea {
    display: block;
    width: 100%;
    background: #0b0e0c;
    border: 1px solid #3a403a;
    color: #ddd;
    padding: 5px 10px;
    margin-top: 6px;
    font-size: 14px;
    outline: none
}

.form-card input,
.form-card select {
    height: 40px
}

.form-card textarea {
    min-height: 125px;
    padding: 10px;
    resize: vertical;
    font-family: var(--body);
    line-height: 1.5
}

.form-card input:focus,
.form-card select:focus,
.form-card textarea:focus {
    border-color: var(--y)
}

.row {
    display: grid;
    grid-template-columns: 1fr 100px;
    gap: 12px
}

.form-card form>button {
    width: 100%;
    height: 43px;
    border: 0;
    border-radius: 3px;
    background: linear-gradient(#ffca13, #eeb300);
    text-transform: uppercase;
    font: 800 17px var(--head);
    margin-top: 6px
}

.form-card .privacy {
    font-size: 11px;
    line-height: 1.5;
    margin: 9px 0
}

.form-card a {
    font-size: 11px;
    color: #aaa;
    text-decoration: none
}

#form-msg {
    font-size: 12px;
    color: var(--y);
    min-height: 15px;
    margin-top: 4px
}

footer {
    height: 80px;
    border-top: 1px solid var(--line);
    display: flex;
    align-items: center;
    padding: 8px 38px
}

footer img {
    width: 150px;
    height: 59px;
    object-fit: contain;
    object-position: left
}

footer p {
    font-size: 10px;
    color: #737872;
    margin-left: 38px
}

footer .footer-credit {
    display: flex;
    align-items: center;
    gap: 24px
}

footer .developer-credit {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap
}

footer .developer-credit img {
    width: 108px;
    height: 40px;
    object-fit: contain;
    object-position: center
}

footer .developer-link {
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    display: inline-flex;
    color: inherit
}

@media(max-width:600px) {
    footer {
        height: auto;
        min-height: 80px
    }

    footer .footer-credit {
        margin-left: 10px;
        flex-direction: column;
        align-items: flex-start;
        gap: 3px
    }

    footer .developer-credit {
        gap: 5px
    }

    footer .developer-credit img {
        width: 88px;
        height: 32px
    }
}

footer div {
    margin-left: auto;
    display: flex;
    gap: 12px
}

footer a,
footer button {
    width: 30px;
    height: 30px;
    border: 1px solid #394039;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: none;
    color: #999;
    text-decoration: none
}

.benefits,
.plan,
.times,
.form-card input,
.form-card select {
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease
}

.plan:hover {
    transform: translateY(-4px);
    border-color: #8a8878;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .35)
}

.plan.featured:hover {
    border-color: #ffd42f;
    box-shadow: 0 12px 30px rgba(245, 187, 0, .12)
}

.actions a,
.actions button,
.more,
.form-card form>button {
    transition: transform .2s ease, filter .2s ease, box-shadow .2s ease
}

.actions a:hover,
.actions button:hover,
.form-card form>button:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28)
}

.more:hover {
    border-color: var(--y);
    color: #fff
}

.details {
    background: linear-gradient(180deg, #090c0a, #070908)
}

footer {
    background: #050706
}

@media(max-width:900px) {
    .shell {
        width: 100%;
        margin: 0;
        border: 0;
        border-radius: 0
    }

    header {
        padding: 8px 20px
    }

    nav {
        display: none;
        position: absolute;
        top: 88px;
        left: 0;
        right: 0;
        background: #080b09;
        flex-direction: column;
        gap: 0;
        padding: 10px 20px
    }

    nav.open {
        display: flex
    }

    nav a {
        padding: 12px
    }

    .toggle {
        display: block;
        margin-left: auto
    }

    .top {
        margin-left: 10px
    }

    .hero {
        padding: 35px 40px
    }

    .benefits {
        width: 90%
    }

    .program {
        padding: 25px 35px;
        grid-template-columns: 1fr 2fr
    }

    .kit {
        grid-column: 1/-1
    }

    .actions {
        padding: 20px 35px
    }

    .details {
        grid-template-columns: 1fr 1fr;
        padding: 25px 35px
    }

    .form-card {
        grid-column: 1/-1;
        border-left: 0 !important;
        border-top: 1px solid #363a36;
        padding: 24px 0 0 !important
    }
}

@media(max-width:600px) {
    header {
        height: 72px
    }

    .brand {
        width: auto
    }

    .brand img {
        width: 90px
    }

    .top {
        font-size: 0;
        padding: 9px
    }

    .top::after {
        content: '◉';
        font-size: 20px
    }

    nav {
        top: 72px
    }

    .hero {
        height: 420px;
        padding: 28px 22px;
        align-items: flex-start
    }

    .kicker {
        font-size: 31px
    }

    h1 {
        font-size: 42px;
        max-width: 300px
    }

    .tagline {
        font-size: 16px
    }

    .loc {
        width: auto;
        flex: 1;
        font-size: 12px
    }

    .athletes {
        opacity: .28;
        width: 95%;
        right: -20%
    }

    .benefits {
        width: calc(100% - 28px);
        grid-template-columns: 1fr;
        margin-top: -30px
    }

    .benefits article {
        border-right: 0;
        border-bottom: 1px solid #343932
    }

    .program {
        padding: 24px 18px;
        grid-template-columns: 1fr
    }

    .kit {
        grid-column: auto
    }

    .actions {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 17px 18px
    }

    .details {
        grid-template-columns: 1fr;
        padding: 24px 20px
    }

    .details>article+article {
        border-left: 0;
        border-top: 1px solid #363a36;
        padding: 24px 0 0
    }

    .sports>div {
        margin-top: 20px
    }

    .form-card {
        grid-column: auto
    }

    .plan {
        height: 150px
    }

    .plan b {
        font-size: 31px
    }

    footer {
        padding: 8px 18px
    }

    footer img {
        width: 80px
    }

    footer p {
        margin-left: 10px
    }

    footer a {
        display: none
    }
}

/* WhatsApp icon in the navigation button */
.top {
    font-size: 0;
    display: flex;
    align-items: center;
    gap: 8px
}

.top::before {
    content: "Falar no WhatsApp";
    font: 700 12px var(--head)
}

.top::after {
    content: "";
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16.01 3a12.75 12.75 0 0 0-10.9 19.36L3 29l6.84-2.02A12.75 12.75 0 1 0 16.01 3Zm0 2.3a10.45 10.45 0 1 1-5.33 19.44l-.4-.24-3.94 1.17 1.22-3.82-.26-.42A10.45 10.45 0 0 1 16.01 5.3Zm-4.62 4.55c-.25 0-.66.1-1 .48-.35.38-1.32 1.3-1.32 3.17 0 1.87 1.36 3.68 1.55 3.93.19.25 2.68 4.1 6.5 5.75.9.39 1.61.62 2.16.8.91.29 1.74.25 2.4.15.73-.11 2.26-.93 2.58-1.82.32-.9.32-1.67.22-1.83-.09-.16-.35-.25-.73-.44-.38-.2-2.26-1.12-2.61-1.24-.35-.13-.61-.2-.86.19-.26.38-1 1.24-1.23 1.5-.22.25-.44.28-.82.09-.38-.2-1.62-.6-3.08-1.9a11.5 11.5 0 0 1-2.13-2.65c-.22-.38-.02-.59.17-.78.17-.17.38-.45.57-.67.19-.22.25-.38.38-.64.13-.25.06-.48-.03-.67-.1-.19-.86-2.07-1.18-2.84-.31-.75-.63-.65-.86-.66h-.73Z'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16.01 3a12.75 12.75 0 0 0-10.9 19.36L3 29l6.84-2.02A12.75 12.75 0 1 0 16.01 3Zm0 2.3a10.45 10.45 0 1 1-5.33 19.44l-.4-.24-3.94 1.17 1.22-3.82-.26-.42A10.45 10.45 0 0 1 16.01 5.3Zm-4.62 4.55c-.25 0-.66.1-1 .48-.35.38-1.32 1.3-1.32 3.17 0 1.87 1.36 3.68 1.55 3.93.19.25 2.68 4.1 6.5 5.75.9.39 1.61.62 2.16.8.91.29 1.74.25 2.4.15.73-.11 2.26-.93 2.58-1.82.32-.9.32-1.67.22-1.83-.09-.16-.35-.25-.73-.44-.38-.2-2.26-1.12-2.61-1.24-.35-.13-.61-.2-.86.19-.26.38-1 1.24-1.23 1.5-.22.25-.44.28-.82.09-.38-.2-1.62-.6-3.08-1.9a11.5 11.5 0 0 1-2.13-2.65c-.22-.38-.02-.59.17-.78.17-.17.38-.45.57-.67.19-.22.25-.38.38-.64.13-.25.06-.48-.03-.67-.1-.19-.86-2.07-1.18-2.84-.31-.75-.63-.65-.86-.66h-.73Z'/%3E%3C/svg%3E") center/contain no-repeat
}

@media(max-width:600px) {
    .top::before {
        display: none
    }

    .top::after {
        content: "";
        width: 20px;
        height: 20px
    }
}
footer .instagram svg{width:16px;height:16px;fill:currentColor}
footer .instagram:hover{color:#fff;border-color:#d62976}

@media(max-width:900px){
    .nav-dropdown{width:100%}
    .nav-dropdown-toggle{width:100%;height:auto;padding:12px;text-align:left}
    .nav-dropdown-menu{position:static;min-width:0;padding:0 0 0 14px;border:0;background:transparent;box-shadow:none;display:none;opacity:1;visibility:visible;transform:none}
    .nav-dropdown.open .nav-dropdown-menu{display:block;transform:none}
    .nav-dropdown-menu a{padding:10px 12px}
    .location-hero{padding:55px 40px}
    .location-info{padding:35px;grid-template-columns:1fr}
}

@media(max-width:600px){
    .location-hero{min-height:360px;padding:42px 22px}
    .location-hero h1{font-size:48px}
    .location-info{padding:24px 18px}
}

@media(max-width:600px){.brand::after{display:none}}

.about-page{background:#070908}
.about-hero{min-height:520px;padding:80px 86px;display:flex;align-items:center;background:#090c0a}
.about-hero-content{max-width:780px}
.about-hero h1{margin:0 0 22px;font:900 66px/.95 var(--head);text-transform:uppercase}
.about-hero h1 span{color:var(--y)}
.about-hero-content>p:not(.location-eyebrow){max-width:650px;color:#d0d3d0;font-size:17px;line-height:1.75}
.about-carousel{position:relative;overflow:hidden}
.about-carousel-slides,.about-carousel-overlay{position:absolute;inset:0}
.about-carousel-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.03);transition:opacity .8s ease,transform 6s ease}
.about-carousel-slides img.active{opacity:1;transform:scale(1.08)}
.about-carousel-overlay{background:linear-gradient(90deg,rgba(4,6,5,.94) 0%,rgba(4,6,5,.76) 46%,rgba(4,6,5,.22) 78%,rgba(4,6,5,.4) 100%)}
.about-hero-content{position:relative;z-index:2}
.carousel-arrow{position:absolute;z-index:3;top:50%;width:40px;height:40px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;background:rgba(5,7,6,.55);color:#fff;font:400 28px/1 var(--body);transform:translateY(-50%);transition:background .2s ease,border-color .2s ease}
.carousel-arrow:hover{background:rgba(245,187,0,.85);border-color:var(--y);color:#111}
.carousel-prev{left:22px}
.carousel-next{right:22px}
.carousel-dots{position:absolute;z-index:3;left:50%;bottom:22px;display:flex;gap:8px;transform:translateX(-50%)}
.carousel-dots button{width:9px;height:9px;padding:0;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:transparent;transition:width .2s ease,background .2s ease,border-radius .2s ease}
.carousel-dots button.active{width:28px;border-color:var(--y);border-radius:8px;background:var(--y)}
.about-intro{padding:65px 86px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;border-bottom:1px solid var(--line)}
.about-intro h2,.section-heading h2,.about-highlight h2{margin:0;color:#fff;font:900 40px/1 var(--head);text-transform:uppercase}
.about-intro>p{margin:0;color:#a8ada8;font-size:15px;line-height:1.9}
.about-timeline{padding:10px 86px 65px}
.about-timeline article{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--line)}
.about-timeline strong{color:var(--y);font:900 38px var(--head)}
.about-timeline h3,.about-pillars h3{margin:0 0 8px;color:#fff;font:800 24px var(--head)}
.about-timeline p,.about-pillars p{max-width:760px;margin:0;color:#969b95;font-size:13px;line-height:1.75}
.about-impact{padding:60px 86px;background:#0b0e0c}
.section-heading{margin-bottom:30px}
.impact-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.impact-grid article{min-height:145px;padding:24px 18px;border:1px solid #343a33;border-radius:6px;display:flex;flex-direction:column;justify-content:center;text-align:center}
.impact-grid strong{color:var(--y);font:900 42px var(--head)}
.impact-grid span{color:#bbb;text-transform:uppercase;font:700 12px/1.35 var(--head)}
.about-pillars{padding:65px 86px}
.about-pillars>div:last-child{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.about-pillars article{padding:28px;border:1px solid var(--line);border-radius:6px;background:#0a0d0b}
.about-highlight{margin:0 86px 70px;padding:45px;border:1px solid rgba(245,187,0,.4);border-radius:8px;background:linear-gradient(120deg,rgba(245,187,0,.08),rgba(80,173,42,.08))}
.about-highlight>p:not(.location-eyebrow){max-width:780px;color:#aaa;font-size:14px;line-height:1.8}
nav a.current{color:#fff}
nav a.current::after{transform:scaleX(1)}

@media(max-width:900px){
    .about-hero{padding:65px 40px}
    .about-intro{padding:50px 40px;grid-template-columns:1fr;gap:24px}
    .about-timeline,.about-impact,.about-pillars{padding-left:40px;padding-right:40px}
    .impact-grid{grid-template-columns:repeat(3,1fr)}
    .about-highlight{margin-left:40px;margin-right:40px}
}

@media(max-width:600px){
    .about-hero{min-height:440px;padding:50px 22px}
    .about-hero h1{font-size:43px}
    .about-carousel-overlay{background:linear-gradient(90deg,rgba(4,6,5,.9),rgba(4,6,5,.58))}
    .carousel-arrow{top:auto;bottom:15px;width:34px;height:34px;transform:none}
    .carousel-prev{left:18px}
    .carousel-next{right:18px}
    .carousel-dots{bottom:27px}
    .about-intro{padding:40px 22px}
    .about-timeline,.about-impact,.about-pillars{padding-left:22px;padding-right:22px}
    .about-timeline article{grid-template-columns:1fr;gap:5px}
    .impact-grid{grid-template-columns:repeat(2,1fr)}
    .impact-grid article:last-child{grid-column:1/-1}
    .about-pillars>div:last-child{grid-template-columns:1fr}
    .about-highlight{margin:0 18px 45px;padding:28px}
}

.details{grid-template-columns:1fr 1fr}
.registration-page{min-height:calc(100vh - 168px);background:radial-gradient(circle at 12% 20%,rgba(80,173,42,.12),transparent 28%),#070908}
.registration-intro{padding:65px 86px 35px;text-align:center}
.registration-intro h1{margin:0 0 14px;font:900 52px/1 var(--head);text-transform:uppercase}
.registration-intro>p:last-child{max-width:650px;margin:0 auto;color:#a4a9a4;font-size:14px;line-height:1.75}
.registration-content{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;padding:25px 86px 70px;align-items:start}
.registration-content aside{padding:32px;border:1px solid var(--line);border-radius:8px;background:#0a0d0b}
.registration-content aside h2{margin:0 0 12px;color:#fff;font:800 30px var(--head)}
.registration-content aside>p{color:#999;font-size:13px;line-height:1.7}
.registration-content aside ul{margin:24px 0;padding:0;list-style:none}
.registration-content aside li{padding:10px 0 10px 25px;border-bottom:1px solid var(--line);color:#c4c7c4;font-size:12px;position:relative}
.registration-content aside li::before{content:'✓';position:absolute;left:0;color:var(--g);font-weight:800}
.registration-content aside .wa-outline{width:100%;height:58px;border-radius:6px;display:flex;align-items:center;justify-content:center;text-transform:uppercase}
.registration-form{padding:34px!important;border:1px solid #363a36!important;border-radius:8px;background:#0b0e0c}
.registration-form .title{margin-top:0;margin-bottom:25px}
.registration-form #form-msg{min-height:20px;margin-top:10px;color:var(--y);font-size:12px;text-align:center}
.registration-form #contact-form-msg{min-height:20px;margin-top:10px;color:var(--y);font-size:12px;text-align:center}
.form-card .optional{color:#666;font-size:10px;text-transform:none}
.contact-options .contact-email{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.contact-options .contact-email small{display:block;margin-bottom:6px;color:#737873;text-transform:uppercase;font:700 11px var(--head)}
.contact-options .contact-email a{color:#ddd;font-size:12px;text-decoration:none;overflow-wrap:anywhere}
.contact-options .contact-email a:hover{color:var(--y)}

@media(max-width:900px){
    .registration-intro{padding:55px 40px 30px}
    .registration-content{padding:20px 40px 55px;grid-template-columns:1fr;gap:25px}
}

@media(max-width:600px){
    .details{grid-template-columns:1fr}
    .registration-intro{padding:45px 22px 25px}
    .registration-intro h1{font-size:40px}
    .registration-content{padding:15px 18px 45px}
    .registration-content aside,.registration-form{padding:24px!important}
}

/* Readability, contrast and consistent action hierarchy */
body{font-size:16px;line-height:1.6}
.benefits article,.plan,.times,.details>article,.location-info article,.about-pillars article,.registration-content aside,.registration-form{background:linear-gradient(145deg,#111512,#0b0e0c);border-color:#343c34;box-shadow:0 10px 28px rgba(0,0,0,.2)}
.benefits article{padding-top:20px;padding-bottom:20px}
.benefits small,.plan small,.fine{font-size:12px;color:#aeb3ae}
.benefits p,.details article>p,.location-info p,.about-timeline p,.about-pillars p,.registration-content aside>p{color:#b8bdb8;font-size:15px;line-height:1.75}
.details article>p,.location-info p,.registration-content aside>p{font-size:16px}
.plan p{font-size:13px;line-height:1.5;color:#b7bcb7}
.times b,.times strong{font-size:13px}
.times strong{color:#c7cbc7}
.form-card label{color:#b4b9b4}
.form-card .required-mark{color:var(--y);font-weight:800}
.form-card input,.form-card select,.form-card textarea{background:#121713;border-color:#465047;color:#f2f3f2}
.form-card input::placeholder,.form-card textarea::placeholder{color:#8f958f}
.form-card .privacy,#form-msg,.registration-form #contact-form-msg{color:#b7bcb7;line-height:1.6}
footer p{font-size:12px;color:#a2a7a2;line-height:1.5}
.primary,.location-cta,.form-card form>button{box-shadow:0 8px 22px rgba(245,187,0,.18)}
.wa-outline{border-color:#35a62b;background:linear-gradient(145deg,#101710,#0a0e0b);box-shadow:0 8px 22px rgba(53,166,43,.12)}
.more{padding:9px 13px;border:1px solid #4a524a;border-radius:4px;background:#0d110e}
.kit{padding:12px;border:1px solid rgba(80,173,42,.25);border-radius:8px;background:radial-gradient(circle at 50% 45%,rgba(80,173,42,.12),transparent 58%),#0d110e;box-shadow:0 12px 30px rgba(0,0,0,.28)}

@media(max-width:600px){
    body{font-size:16px}
    nav a,.nav-dropdown-toggle{font-size:16px}
    .hero h1,.about-hero h1,.location-hero h1,.registration-intro h1{overflow-wrap:anywhere}
    .actions a,.actions button,.location-cta,.form-card form>button{min-height:50px;font-size:17px}
    .benefits p,.details article>p,.location-info p,.about-timeline p,.about-pillars p,.registration-content aside>p{font-size:15px}
    .program{gap:24px}
    .plans{gap:8px}
    .plan{height:auto;min-height:155px;padding:14px 8px}
    .times div{grid-template-columns:82px 32px 1fr}
    .kit-img{height:190px}
    .form-card input,.form-card select{height:46px}
    .form-card textarea{min-height:145px}
    footer{gap:8px}
    footer p{font-size:11px}
}
