@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
@import url('assets/profile-theme.css');
:root{--clay:#a95135;--clay-dark:#873e2b;--green:#24533d;--forest:#173d2e;--cream:#f4eadf;--paper:#faf6ef;--lime:#d1e944;--ink:#1d3d2e;--muted:#52665a;--line:#dfd3c4;--heading:'Outfit',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--heading)}img{display:block;max-width:100%}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.skip-link{position:absolute;top:-60px;left:12px;z-index:20;padding:11px 15px;background:var(--lime);color:var(--forest)}.skip-link:focus{top:12px}.wrap{width:min(calc(100% - 36px),1160px);margin-inline:auto}.narrow{max-width:900px}.site-header{position:relative;z-index:5;background:var(--clay);color:var(--cream);border-bottom:1px solid rgba(255,255,255,.23)}.header-row{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand img{width:160px;height:auto}.nav{display:flex;gap:14px;font-size:11px;font-weight:700;white-space:nowrap}.nav a{padding:8px 0;border-bottom:2px solid transparent}.nav a:hover,.nav a[aria-current]{border-color:var(--lime)}.eyebrow{font:800 10px/1.35 var(--heading);letter-spacing:.15em}.eyebrow.light{color:#f7e6d8}.eyebrow.clay{color:var(--clay)}.eyebrow.lime{color:var(--lime)}.ball{display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:50%;background:var(--lime);vertical-align:-1px}.court-outline{position:absolute;pointer-events:none;width:440px;height:285px;right:-300px;top:75px;border:2px solid #fff;opacity:.13;transform:rotate(-24deg)}.court-outline:before,.court-outline:after{content:'';position:absolute;background:#fff}.court-outline:before{width:2px;height:100%;left:50%}.court-outline:after{height:2px;width:100%;top:50%}
.gateway{min-height:calc(100svh - 70px);position:relative;overflow:hidden;background:var(--clay);color:var(--cream);display:flex;align-items:center}.gateway-inner{position:relative;display:grid;gap:36px;padding:45px 0 56px}.gateway-copy h1{font-size:clamp(48px,12vw,88px);line-height:.99;letter-spacing:-.058em;font-weight:700;margin:18px 0 20px}.gateway-copy h1 em{font-style:normal;color:var(--lime)}.gateway-copy>p:last-child{font-size:15px;line-height:1.6;max-width:550px;color:#f6e3d8;margin:0}.gateway-choose{align-self:center}.gateway-label{font:800 11px var(--heading);letter-spacing:.13em;margin:0 0 13px;color:#fceee5}.choice{display:grid;grid-template-columns:36px 1fr 20px;gap:13px;align-items:center;background:var(--cream);color:var(--forest);border:1px solid rgba(255,255,255,.5);border-radius:13px;padding:17px 15px;margin-top:9px;box-shadow:0 11px 24px rgba(80,34,17,.13);transition:transform .18s,box-shadow .18s}.choice:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(80,34,17,.2)}.choice:nth-of-type(2){background:#fffaf3}.choice-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--lime);font-size:22px;font-weight:700}.choice-icon.outline{background:var(--green);color:var(--lime);font-size:30px;line-height:1}.choice small{display:block;font:800 9px var(--heading);letter-spacing:.14em;color:var(--clay);margin-bottom:4px}.choice strong{display:block;font:700 25px/1.1 var(--heading);letter-spacing:-.035em}.choice-desc{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:5px}.choice b{font-size:21px;font-weight:400}.gateway-note{background:var(--lime);color:var(--forest);font-size:12px;line-height:1.5;padding:15px 0}
.hero{position:relative;overflow:hidden;background:var(--clay);color:var(--cream)}.hero-grid{position:relative;display:grid;gap:35px;padding:60px 0 66px}.hero h1{font-size:clamp(43px,10.4vw,74px);line-height:1.01;letter-spacing:-.055em;max-width:780px;margin:19px 0 20px}.hero-lede{font-size:15px;line-height:1.65;color:#f7e6dc;max-width:650px;margin:0 0 28px}.primary-action{display:inline-flex;align-items:center;justify-content:space-between;gap:23px;min-height:49px;background:var(--lime);color:var(--forest);font-size:13px;font-weight:800;padding:12px 16px;border-radius:9px}.primary-action span{font-size:20px;font-weight:400}.hero-visual{background:var(--cream);color:var(--forest);border-radius:16px;padding:19px;box-shadow:0 24px 45px rgba(68,28,10,.17);transform:rotate(1deg);align-self:center}.visual-kicker{display:block;color:var(--clay);font:800 10px var(--heading);letter-spacing:.14em;padding-bottom:13px;border-bottom:1px solid #d8c9b8}.flow-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #e3d7c9}.flow-number{display:grid;place-items:center;width:30px;height:30px;background:var(--lime);color:var(--forest);border-radius:50%;font:800 11px var(--heading);flex:none}.flow-row strong,.availability strong{display:block;font:700 17px/1.2 var(--heading)}.flow-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.mini-court{height:45px;margin-top:17px;position:relative;border:2px solid var(--clay);opacity:.8}.mini-court:before,.mini-court:after{content:'';position:absolute;background:var(--clay)}.mini-court:before{width:2px;height:100%;left:50%}.mini-court:after{height:2px;width:100%;top:50%}.mini-court i:first-child,.mini-court i:last-child{position:absolute;top:0;bottom:0;width:2px;background:var(--clay)}.mini-court i:first-child{left:22%}.mini-court i:last-child{right:22%}.availability{padding:16px 0;border-bottom:1px solid #e3d7c9}.availability span{display:block;color:var(--clay);font:800 9px var(--heading);letter-spacing:.13em;margin-bottom:6px}.visual-tag{display:inline-block;background:var(--lime);padding:8px 11px;border-radius:30px;font-size:11px;font-weight:800;margin-top:17px}.student-visual{transform:rotate(-1deg)}.promise{background:var(--lime);color:var(--forest);padding:27px 0}.promise p{font:500 20px/1.25 var(--heading);letter-spacing:-.025em;margin:0}.promise strong{font-weight:800}.section{padding:74px 0}.section h2,.closing h2{font-size:clamp(37px,9vw,61px);line-height:1.04;letter-spacing:-.052em;max-width:790px;margin:12px 0 0}.steps{background:var(--paper)}.step-grid{display:grid;gap:10px;margin-top:34px}.step-grid article{background:#fffcf7;border:1px solid var(--line);border-radius:12px;padding:20px;min-height:180px}.step-grid article>span{font:800 10px var(--heading);letter-spacing:.13em;color:var(--clay)}.step-grid h3{font-size:22px;letter-spacing:-.03em;margin:34px 0 8px}.step-grid p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}.teacher-benefits,.student-benefits{background:var(--forest);color:var(--cream)}.benefits-grid{display:grid;gap:36px}.benefits-grid h2 em{font-style:normal;color:var(--lime)}.section-lede{font-size:15px;line-height:1.58;color:#cbdacd;margin:21px 0 0;max-width:560px}.benefit-list article{display:flex;align-items:flex-start;gap:14px;border-top:1px solid rgba(255,255,255,.18);padding:18px 0}.benefit-list article:last-child{border-bottom:1px solid rgba(255,255,255,.18)}.sport-mark{display:grid;place-items:center;background:#315b45;color:var(--lime);border-radius:9px;width:38px;height:38px;flex:none;font-size:22px;line-height:1}.benefit-list h3{font-size:20px;letter-spacing:-.025em;margin:2px 0 6px}.benefit-list p{font-size:13px;line-height:1.55;color:#cbdacd;margin:0}.link-section{background:var(--cream)}.link-grid{display:grid;gap:26px;align-items:center}.link-grid p:not(.eyebrow){font-size:15px;line-height:1.6;color:var(--muted);max-width:600px;margin:19px 0 0}.link-card{border-radius:16px;background:#fffaf3;border:1px solid #e4d6c5;padding:20px;box-shadow:0 15px 35px rgba(74,45,22,.07)}.link-card strong{display:block;font:700 23px var(--heading);letter-spacing:-.03em;margin-top:20px}.link-card p{font-size:12px!important;margin:5px 0 0!important}.link-court{height:110px;background:var(--clay);border-radius:8px;padding:15px}.link-court span{display:block;width:100%;height:100%;border:2px solid #fff;position:relative}.link-court span:before,.link-court span:after{content:'';position:absolute;background:white}.link-court span:before{left:50%;width:2px;height:100%}.link-court span:after{top:50%;height:2px;width:100%}.faq{background:#eee5d8}.faq-list{margin-top:28px}.faq details{border-top:1px solid #d6c6b4}.faq details:last-child{border-bottom:1px solid #d6c6b4}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0;font:700 16px/1.35 var(--heading)}.faq summary::-webkit-details-marker{display:none}.faq summary span{display:grid;place-items:center;flex:none;width:26px;height:26px;border:1px solid #bca88f;border-radius:50%;color:var(--clay);font:400 20px var(--body)}.faq details[open] summary span{transform:rotate(45deg);background:var(--lime);border-color:var(--lime);color:var(--forest)}.faq details p{color:var(--muted);font-size:13px;line-height:1.62;max-width:780px;margin:0 26px 18px 0}.closing{background:var(--clay);color:var(--cream);padding:66px 0}.closing-grid{display:grid;gap:27px}.closing p:last-child{color:#f3ded1;font-size:13px;line-height:1.5;margin:18px 0 0}.closing-actions{display:grid;gap:10px;align-self:end}.pending-action,.closing-actions a{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:48px;text-align:left;border-radius:9px;padding:13px 15px;font-size:13px;font-weight:700}.pending-action{border:1px solid var(--lime);background:var(--lime);color:var(--forest);opacity:.72;cursor:not-allowed}.closing-actions a{border:1px solid rgba(255,255,255,.52)}.closing-actions span{font-size:18px;font-weight:400}.footer{background:var(--clay-dark);color:var(--cream);padding:22px 0}.footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;font-size:11px;line-height:1.5}.footer-row div{display:flex;gap:18px;font-weight:700}
@media(min-width:700px){.wrap{width:min(calc(100% - 56px),1160px)}.brand img{width:178px}.header-row{min-height:78px}.nav{gap:25px;font-size:13px}.gateway{min-height:calc(100svh - 78px)}.gateway-inner{grid-template-columns:1.1fr .9fr;gap:65px;align-items:center;padding:65px 0}.gateway-copy>p:last-child{font-size:17px}.gateway-choose{max-width:455px;width:100%;justify-self:end}.choice{padding:20px}.choice strong{font-size:29px}.choice-desc{font-size:12px}.gateway-note{font-size:14px}.court-outline{right:-150px;width:610px;height:400px;top:55px}.hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(315px,.88fr);align-items:center;gap:60px;min-height:600px;padding:75px 0}.hero-lede{font-size:17px}.hero-visual{padding:25px}.promise p{font-size:27px}.section{padding:100px 0}.step-grid{grid-template-columns:repeat(3,1fr);margin-top:42px}.step-grid article{min-height:218px;padding:24px}.step-grid h3{margin-top:55px}.benefits-grid{grid-template-columns:1fr 1fr;gap:76px}.section-lede{font-size:17px}.benefit-list h3{font-size:23px}.benefit-list p{font-size:14px}.link-grid{grid-template-columns:1fr .8fr;gap:80px}.link-card{padding:27px}.link-court{height:145px}.faq summary{font-size:18px;padding:20px 0}.faq details p{font-size:14px}.closing-grid{grid-template-columns:1fr 280px;gap:50px}.closing{padding:86px 0}}
@media(max-width:390px){.brand img{width:136px}.nav{gap:10px;font-size:10px}.gateway-copy h1{font-size:44px}.hero h1{font-size:40px}}
@media(max-width:699px){.gateway{align-items:flex-start;min-height:auto}.gateway-inner{gap:27px;padding:38px 0 40px}.gateway-copy h1{margin:16px 0}.choice{padding:15px}.choice strong{font-size:23px}.choice-desc{margin-top:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}

/* Entrance: two complete paths, each grounded in a real training scene. */
.page-inicio .site-header{background:#163b2b}.gateway-split{display:grid;grid-template-rows:repeat(2,minmax(355px,1fr));min-height:calc(100svh - 70px)}.audience-panel{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;padding:31px 22px 29px;color:#fffaf1;min-width:0}.audience-panel:before{content:'';position:absolute;inset:0;z-index:-1}.panel-photo{position:absolute;inset:0;z-index:-2;background-size:cover;background-repeat:no-repeat;transition:transform .5s ease}.audience-panel:hover .panel-photo{transform:scale(1.035)}.panel-teacher .panel-photo{background-image:url('assets/professor-tenis.jpg');background-position:64% center}.panel-student .panel-photo{background-image:url('assets/aluno-beach-tennis.jpg');background-position:67% center}.panel-teacher:before{background:linear-gradient(90deg,rgba(11,49,31,.91),rgba(14,57,38,.66) 55%,rgba(14,57,38,.25)),linear-gradient(0deg,rgba(7,31,20,.52),transparent 65%)}.panel-student:before{background:linear-gradient(90deg,rgba(30,42,47,.91),rgba(41,53,58,.64) 57%,rgba(41,53,58,.22)),linear-gradient(0deg,rgba(26,38,42,.55),transparent 65%)}.panel-content{display:block;position:relative;width:100%;max-width:560px}.panel-kicker{display:block;color:#f8f7ee;font:800 11px/1.3 var(--heading);letter-spacing:.15em}.panel-kicker .ball{width:9px;height:9px}.audience-panel h1,.audience-panel h2{font:700 clamp(30px,8.4vw,44px)/1.02 var(--heading);letter-spacing:-.047em;margin:13px 0 12px}.panel-description{display:block;max-width:410px;font-size:13px;line-height:1.48;color:#f6f6ed}.panel-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-width:215px;min-height:42px;margin-top:19px;padding:10px 13px;border:1px solid rgba(255,255,255,.78);border-radius:8px;font-size:12px;font-weight:800;transition:background .2s,color .2s}.panel-cta b{font-size:18px;font-weight:400;line-height:1}.audience-panel:hover .panel-cta{background:var(--lime);border-color:var(--lime);color:var(--forest)}.page-inicio .gateway-note{background:var(--cream);color:var(--forest);padding:24px 0;font-size:13px;line-height:1.6}
.fixed-section{background:#efe3d3}.fixed-grid{display:grid;gap:29px;align-items:center}.fixed-grid h2{max-width:710px}.fixed-grid p:not(.eyebrow){font-size:15px;line-height:1.62;color:var(--muted);max-width:650px;margin:20px 0 0}.fixed-card{background:#fffaf3;border:1px solid #dfcfbb;border-radius:15px;padding:20px;box-shadow:0 16px 34px rgba(70,42,17,.08);transform:rotate(1deg)}.fixed-card>span{display:block;color:var(--clay);font:800 10px var(--heading);letter-spacing:.14em;padding-bottom:14px;border-bottom:1px solid #e5d7c6}.fixed-card>strong{display:block;font:700 28px var(--heading);letter-spacing:-.03em;margin:22px 0}.fixed-card>div{display:flex;gap:7px;flex-wrap:wrap}.fixed-card b{display:inline-flex;align-items:center;min-height:31px;padding:7px 10px;border-radius:30px;background:#e8efdc;color:var(--forest);font-size:10px}.fixed-card b:last-child{background:#f0e7dc}.fixed-card small{display:block;margin-top:18px;color:var(--muted);font-size:11px}
@media(min-width:700px){.gateway-split{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;min-height:calc(100svh - 78px)}.audience-panel{min-height:600px;padding:54px 42px}.panel-teacher{border-right:1px solid rgba(255,255,255,.4)}.audience-panel h1,.audience-panel h2{font-size:clamp(44px,4.3vw,64px);margin:18px 0}.panel-description{font-size:16px;line-height:1.53}.panel-cta{font-size:13px;min-width:246px;margin-top:28px}.fixed-grid{grid-template-columns:1fr .66fr;gap:85px}.fixed-card{padding:27px}.fixed-card>strong{font-size:33px}.fixed-grid p:not(.eyebrow){font-size:17px}}
@media(max-width:390px){.audience-panel{padding:26px 19px 24px}.audience-panel h1,.audience-panel h2{font-size:29px}.panel-description{font-size:12px}.panel-cta{margin-top:14px}}

/* Every court drawing uses the same proportioned tennis-court asset. */
.court-outline{height:auto;aspect-ratio:260/136;border:0;background:url('assets/tennis-court.svg') center/contain no-repeat}.court-outline:before,.court-outline:after,.mini-court:before,.mini-court:after{content:none}.mini-court{width:min(100%,250px);height:auto;aspect-ratio:260/136;margin:19px auto 0;border:0;border-radius:8px;background:var(--clay);opacity:1;overflow:hidden}.court-drawing{display:block;width:100%;height:auto;aspect-ratio:260/136}.link-court{height:auto;aspect-ratio:260/136;padding:0;overflow:hidden}
.cost-section{background:#faf6ef;scroll-margin-top:22px}.cost-grid{display:grid;gap:26px;align-items:center}.cost-grid h2{max-width:710px}.cost-grid p:not(.eyebrow){font-size:15px;line-height:1.6;color:var(--muted);margin:20px 0 0;max-width:670px}.cost-grid .cost-future{font-size:13px!important;padding-top:17px;border-top:1px solid var(--line)}.cost-status{padding:25px 22px;border-radius:13px;background:#e8edda;border:1px solid #d3ddbf;color:var(--forest)}.cost-status>span{display:block;font:800 10px var(--heading);letter-spacing:.14em;color:var(--green)}.cost-status>strong{display:block;font:700 35px/1.1 var(--heading);letter-spacing:-.035em;margin:17px 0 6px}.cost-status>small{font-size:12px;color:var(--muted)}.home-cost{font-size:12px;line-height:1.6;margin:15px 0 0;padding-top:14px;border-top:1px solid #d9cbb9}.home-cost a{font-weight:700;text-decoration:underline;text-underline-offset:3px;display:inline-block;margin-left:4px}
.support-strip{background:#ede8df;color:var(--green);border-top:1px solid #d8d3c8;padding:25px 0}.support-inner{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.support-inner .eyebrow{font-size:9px;margin:0 0 8px;color:var(--clay)}.support-inner strong{display:block;font:600 21px/1.2 var(--heading);letter-spacing:-.025em}.support-inner p:last-child{font-size:12px;line-height:1.5;color:var(--muted);margin:7px 0 0}.support-slot{display:flex;align-items:center;justify-content:center;flex:none;width:178px;min-height:58px;border:1px dashed #9aa996;border-radius:7px;background:rgba(255,255,255,.28)}.support-slot span{font:700 10px var(--heading);letter-spacing:.13em;color:#62755f}
@media(min-width:700px){.cost-grid{grid-template-columns:1fr .58fr;gap:80px}.cost-grid p:not(.eyebrow){font-size:17px}.cost-status{padding:32px 27px}.cost-status>strong{font-size:39px}.support-strip{padding:26px 0}.support-slot{width:230px;min-height:65px}.support-inner strong{font-size:23px}}

/* SVG icons share the same flat geometry and never depend on emoji fonts. */
.ui-icon{display:inline-block;width:21px;height:21px;flex:none;vertical-align:middle;overflow:visible}.sport-mark .ui-icon{width:24px;height:24px}.faq summary .ui-icon{width:15px;height:15px}.ui-icon[data-icon="tennis-ball"]{width:14px;height:14px;color:var(--lime);margin-right:6px;vertical-align:-3px}.home-cost .ui-icon{width:15px;height:15px;vertical-align:-3px}.panel-cta .ui-icon{width:22px;height:22px}.primary-action>span,.closing-actions a>span,.pending-action>span{display:inline-flex;align-items:center}.sport-mark{background:rgba(255,255,255,.12)}

/* Profile identity: clay for teachers, green for students. */
.site-header,.page-inicio .site-header,.hero,.closing{background:var(--profile-main)}.footer,.teacher-benefits,.student-benefits{background:var(--profile-deep)}.hero-lede,.closing p:last-child,.section-lede,.benefit-list p{color:var(--profile-light-text)}.eyebrow.clay,.visual-kicker,.availability span,.step-grid article>span,.fixed-card>span,.faq summary span,.support-inner .eyebrow{color:var(--profile-main)}.mini-court,.link-court{background:var(--profile-main)}.cost-status{background:var(--profile-tint);border-color:var(--profile-tint);color:var(--profile-deep)}.cost-status>span{color:var(--profile-main)}.panel-teacher:before{background:linear-gradient(90deg,rgba(115,45,25,.92),rgba(151,65,37,.65) 55%,rgba(169,81,53,.29)),linear-gradient(0deg,rgba(91,35,20,.56),transparent 65%)}.panel-student:before{background:linear-gradient(90deg,rgba(11,49,31,.91),rgba(22,69,47,.65) 57%,rgba(36,83,61,.28)),linear-gradient(0deg,rgba(7,31,20,.55),transparent 65%)}

/* A escolha inicial representa perfis; ambos atendem às duas modalidades. */
.panel-teacher .panel-photo,.panel-student .panel-photo{background-image:url('assets/professor-tenis.jpg');background-position:64% center}.panel-kicker{font-size:clamp(19px,2.2vw,28px);letter-spacing:.045em}.panel-sports{display:block;margin-top:7px;font-size:12px;letter-spacing:.04em;color:var(--cream)}.panel-kicker .ui-icon{width:20px;height:20px}

/* Home: mesmo limite de 1160px e margens do restante do site. */
.gateway-split .audience-panel{padding-inline:18px}.gateway-split .panel-content{max-width:none}
@media(min-width:700px){.gateway-split .panel-teacher{padding-left:max(28px,calc((100cqw - 1160px)/2));padding-right:42px}.gateway-split .panel-student{padding-left:42px;padding-right:max(28px,calc((100cqw - 1160px)/2))}}

.gateway-split{container-type:inline-size}
