:root{
  --cream:#F4EEE3;
  --cream-2:#EDE4D5;
  --sand:#E3D7C3;
  --cocoa:#4E3B29;
  --caramel:#8C5E33;
  --body:#6E5B49;
  --muted:#A89274;
  --gold:#C2A24E;
  --sage:#8E946F;
  --serif:'Cormorant Garamond',Georgia,serif;
  --script:'Parisienne',cursive;
  --sans:'Jost',-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);font-weight:300;color:var(--body);background:var(--cream);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
.serif{font-family:var(--serif);}
.script{font-family:var(--script);}
.eyebrow{font-family:var(--sans);font-weight:400;letter-spacing:4px;text-transform:uppercase;font-size:12px;color:var(--muted);}
.divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px auto;color:var(--gold);}
.divider::before,.divider::after{content:"";height:1px;width:46px;background:var(--gold);opacity:.6;}
.divider i{font-size:13px;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-weight:400;letter-spacing:2px;text-transform:uppercase;font-size:12px;padding:15px 34px;border-radius:40px;background:var(--caramel);color:var(--cream);border:1px solid var(--caramel);transition:.35s ease;cursor:pointer;}
.btn:hover{background:transparent;color:var(--caramel);}
.btn-ghost{background:transparent;color:var(--caramel);border:1px solid var(--caramel);}
.btn-ghost:hover{background:var(--caramel);color:var(--cream);}

/* header */
header{position:fixed;top:0;left:0;right:0;z-index:50;transition:.4s ease;padding:18px 0;}
header.scrolled{background:rgba(244,238,227,.94);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(140,94,51,.12);padding:10px 0;}
header .wrap{display:flex;align-items:center;justify-content:space-between;}
header .logo{height:50px;transition:.4s ease;}
header.scrolled .logo{height:40px;}
nav{display:flex;gap:30px;}
nav a{font-family:var(--sans);font-weight:400;letter-spacing:2px;text-transform:uppercase;font-size:11px;color:var(--cocoa);position:relative;}
nav a::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--caramel);transition:.3s;}
nav a:hover::after{width:100%;}
.menu-btn{display:none;background:none;border:none;color:var(--cocoa);font-size:24px;cursor:pointer;}

/* hero */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;padding:120px 0 80px;background:
  radial-gradient(ellipse 70% 55% at 50% 38%, #FBF7EF 0%, var(--cream) 60%);}
.hero-logo{width:230px;margin:0 auto 26px;opacity:0;animation:fadeUp 1.1s .1s ease forwards;}
.hero .script{font-size:clamp(30px,5vw,46px);color:var(--caramel);line-height:1.1;opacity:0;animation:fadeUp 1.1s .35s ease forwards;}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,6vw,58px);color:var(--cocoa);letter-spacing:1px;margin:6px 0 20px;opacity:0;animation:fadeUp 1.1s .5s ease forwards;}
.hero p{max-width:540px;margin:0 auto 34px;font-size:16px;color:var(--body);opacity:0;animation:fadeUp 1.1s .7s ease forwards;}
.hero .btn{opacity:0;animation:fadeUp 1.1s .9s ease forwards;}
.scrolldown{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);color:var(--muted);font-size:22px;animation:bob 2s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,8px);}}

/* sections */
section{padding:92px 0;}
.essence{background:var(--cream-2);text-align:center;}
.essence .statement{font-family:var(--serif);font-weight:400;font-size:clamp(24px,3.6vw,34px);color:var(--cocoa);line-height:1.4;max-width:760px;margin:0 auto;}
.essence-body{font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.8;color:var(--body);max-width:640px;margin:22px auto 0;}
.essence-quote{font-family:var(--script);font-size:clamp(26px,4vw,40px);color:var(--caramel);line-height:1.2;margin-top:28px;}
.sec-head{text-align:center;margin-bottom:54px;}
.sec-head .script{font-size:clamp(28px,4vw,40px);color:var(--caramel);line-height:1;}
.sec-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4vw,40px);color:var(--cocoa);letter-spacing:1px;}

/* mentoras */
.mentors{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:820px;margin:0 auto;}
.mentor{text-align:center;}
.mentor .photo{width:100%;max-width:260px;aspect-ratio:4/5;border-radius:18px;overflow:hidden;margin:0 auto 22px;background:var(--sand);border:1px solid var(--gold);background-size:cover;background-position:center top;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:34px;filter:sepia(.16) saturate(.92) brightness(1.03) contrast(.97);}
.mentor h3{font-family:var(--serif);font-weight:500;font-size:26px;color:var(--cocoa);}
.mentor .role{font-family:var(--sans);font-weight:400;letter-spacing:2px;text-transform:uppercase;font-size:10px;color:var(--gold);margin:3px 0 14px;}
.mentor p{font-size:15px;color:var(--body);max-width:320px;margin:0 auto;}
.mentor-quote{font-family:var(--serif);font-style:italic;color:var(--caramel);font-size:18px;line-height:1.4;max-width:320px;margin:16px auto 0;}

/* experiences */
.experiences{background:var(--cream-2);}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 24px;max-width:880px;margin:0 auto;}
.exp{text-align:center;}
.exp .ic{width:74px;height:74px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--caramel);font-size:30px;transition:.4s ease;}
.exp:hover .ic{background:var(--caramel);color:var(--cream);transform:translateY(-4px);}
.exp h4{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--cocoa);margin-bottom:5px;}
.exp span{font-size:13px;color:var(--muted);display:block;line-height:1.5;}

/* gallery */
.gallery{background:var(--cream);}
.gallery .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:1120px;margin:0 auto;}
@media(min-width:620px){.gallery .grid{grid-template-columns:repeat(4,1fr);}}
@media(min-width:980px){.gallery .grid{grid-template-columns:repeat(5,1fr);}}
.gallery figure{margin:0;overflow:hidden;border-radius:16px;aspect-ratio:3/4;box-shadow:0 10px 30px rgba(78,59,41,.10);}
.gallery img{width:100%;height:100%;object-fit:cover;transition:.7s cubic-bezier(.2,.7,.2,1);}
.gallery figure:hover img{transform:scale(1.07);}

/* signature band */
.band{position:relative;text-align:center;padding:120px 0;background:linear-gradient(rgba(78,59,41,.72),rgba(62,46,33,.80)),url(img/band-pilates.jpg) center/cover fixed;}
.band .eyebrow{color:var(--gold);}
.band .script{font-family:var(--script);font-size:clamp(34px,5vw,52px);color:var(--cream);margin-top:6px;}

/* testimonial */
.testimonial{text-align:center;}
.testimonial .quote{font-family:var(--serif);font-style:italic;font-size:clamp(16px,1.9vw,19px);color:var(--cocoa);line-height:1.78;max-width:760px;margin:0 auto 22px;text-align:left;}
.testimonial .quote p{margin-bottom:14px;}
.testimonial .quote p:last-child{margin-bottom:0;}
.testimonial .qmark{color:var(--gold);font-size:26px;margin-bottom:10px;}
.testimonial cite{display:block;font-family:var(--serif);font-style:normal;font-size:19px;color:var(--caramel);letter-spacing:.3px;}
.testimonial cite span{display:block;font-family:var(--sans);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:5px;}
.tcarousel{position:relative;max-width:800px;margin:0 auto;overflow:hidden;}
.tslides{display:flex;transition:transform .6s cubic-bezier(.2,.7,.2,1);align-items:flex-start;}
.tslide{min-width:100%;box-sizing:border-box;padding:0 6px;}
.tcontrols{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px;}
.tnav{width:42px;height:42px;border-radius:50%;border:1px solid var(--sand);background:var(--cream);color:var(--caramel);font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.3s;}
.tnav:hover{background:var(--caramel);color:var(--cream);border-color:var(--caramel);}
.tdots{display:flex;gap:9px;align-items:center;}
.tdot{width:9px;height:9px;border-radius:50%;border:none;background:var(--sand);cursor:pointer;padding:0;transition:.3s;}
.tdot.active{background:var(--caramel);transform:scale(1.25);}

/* cta capture */
.capture{background:var(--cream);text-align:center;}
.capture h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4vw,40px);color:var(--cocoa);margin-bottom:10px;}
.capture p{font-size:16px;color:var(--body);max-width:480px;margin:0 auto 30px;}
.capture-form{display:flex;gap:12px;max-width:480px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
.capture-form input{flex:1;min-width:220px;font-family:var(--sans);font-size:14px;padding:14px 20px;border:1px solid var(--sand);border-radius:40px;background:var(--cream);color:var(--cocoa);outline:none;transition:.3s;}
.capture-form input:focus{border-color:var(--caramel);}
.immersions-sec{background:var(--cream-2);text-align:center;}
.immersions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:820px;margin:0 auto;}
.immersion{background:var(--cream);border:0.5px solid var(--sand);border-radius:18px;padding:36px 28px;text-align:center;box-shadow:0 10px 30px rgba(78,59,41,.06);transition:.4s ease;}
.immersion:hover{transform:translateY(-5px);box-shadow:0 16px 42px rgba(78,59,41,.13);}
.im-tag{display:inline-block;font-family:var(--sans);font-weight:400;letter-spacing:2px;text-transform:uppercase;font-size:10px;color:var(--caramel);background:var(--sand);padding:5px 14px;border-radius:20px;margin-bottom:16px;}
.immersion h3{font-family:var(--serif);font-weight:500;font-size:27px;color:var(--cocoa);margin-bottom:16px;}
.im-meta{display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-size:14px;color:var(--body);margin-bottom:7px;}
.im-meta i{color:var(--gold);font-size:17px;}
.immersion .btn{margin-top:22px;}

/* footer */
footer{background:var(--cocoa);color:var(--sand);text-align:center;padding:60px 0 36px;}
footer .flogo{width:150px;margin:0 auto 16px;filter:brightness(0) saturate(100%) invert(86%) sepia(15%) saturate(420%) hue-rotate(355deg) brightness(95%) contrast(88%);}
footer .eyebrow{color:var(--gold);}
footer .script{font-family:var(--script);font-size:34px;color:var(--cream);margin:8px 0 22px;}
.social{display:flex;gap:22px;justify-content:center;font-size:22px;color:var(--gold);margin-bottom:14px;}
.social a{transition:.3s;}
.social a:hover{color:var(--cream);transform:translateY(-2px);}
footer .handle{font-family:var(--sans);letter-spacing:1px;font-size:13px;color:var(--sand);}
footer .handles{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:center;font-family:var(--sans);font-size:13px;letter-spacing:.5px;}
footer .handles a{display:inline-flex;align-items:center;gap:6px;color:var(--sand);transition:.3s;}
footer .handles a:hover{color:var(--cream);}
footer .handles .sep{color:var(--gold);}
footer .copy{font-size:11px;color:var(--muted);margin-top:22px;letter-spacing:1px;}

/* floating whatsapp */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 6px 22px rgba(0,0,0,.2);transition:.3s;}
.wa-float:hover{transform:scale(1.08);}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:.9s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}

@media(max-width:760px){
  nav{position:fixed;inset:0 0 0 auto;width:74%;max-width:320px;background:var(--cream);flex-direction:column;justify-content:center;align-items:center;gap:34px;transform:translateX(100%);transition:.4s ease;box-shadow:-10px 0 40px rgba(0,0,0,.1);}
  nav.open{transform:none;}
  nav a{font-size:15px;}
  .menu-btn{display:block;z-index:70;}
  .mentors{grid-template-columns:1fr;gap:56px;}
  section{padding:68px 0;}
  .band{background-attachment:scroll;background-position:center;}
}
@media(max-width:540px){
  .exp-grid{grid-template-columns:1fr;gap:32px;}
}