:root{
  --linen:#f7f3ed;
  --paper:#fffdf9;
  --plum:#5b456f;
  --plum-dark:#463454;
  --lavender:#d7cce5;
  --lavender-light:#f0eaf6;
  --moss:#3f5447;
  --moss-light:#d9e0da;
  --sand:#e7ded2;
  --gold:#b4976f;
  --ink:#252825;
  --muted:#6d706c;
  --border:rgba(37,40,37,.13);
  --shadow:0 30px 80px rgba(47,39,54,.14);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Manrope",Arial,sans-serif;
  --container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);background:var(--linen);font-family:var(--sans);line-height:1.7}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}

.skip-link{position:fixed;top:-60px;left:20px;z-index:1000;padding:12px 18px;color:#fff;background:var(--ink)}
.skip-link:focus{top:20px}

.site-header{position:fixed;inset:0 0 auto;z-index:100;transition:.3s}
.site-header.scrolled{border-bottom:1px solid var(--border);background:rgba(247,243,237,.9);backdrop-filter:blur(18px)}
.header-inner{display:flex;min-height:86px;align-items:center;justify-content:space-between;gap:30px}
.brand{display:inline-flex;align-items:center;gap:14px}
.brand-copy strong,.brand-copy small{display:block}
.brand-copy strong{font-family:var(--serif);font-size:1.55rem;line-height:1}
.brand-copy small{margin-top:4px;color:var(--muted);font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}

.brand-symbol{position:relative;display:block;width:52px;height:52px;border:1px solid rgba(91,69,111,.24);border-radius:50%}
.brand-symbol .sun{position:absolute;top:12px;left:50%;width:16px;height:16px;border-radius:50%;background:var(--plum);transform:translateX(-50%)}
.brand-symbol .horizon{position:absolute;right:9px;bottom:13px;left:9px;height:1px;background:var(--moss)}
.brand-symbol .ray{position:absolute;bottom:15px;width:1px;height:11px;background:var(--gold);transform-origin:bottom}
.brand-symbol .ray-one{left:18px;transform:rotate(-28deg)}
.brand-symbol .ray-two{left:50%;transform:translateX(-50%)}
.brand-symbol .ray-three{right:18px;transform:rotate(28deg)}
.brand-symbol.large{width:110px;height:110px}
.brand-symbol.large .sun{top:23px;width:31px;height:31px}
.brand-symbol.large .horizon{right:17px;bottom:27px;left:17px}
.brand-symbol.large .ray{bottom:30px;height:23px}
.brand-symbol.large .ray-one{left:35px}
.brand-symbol.large .ray-three{right:35px}

.main-nav{display:flex;align-items:center;gap:28px;font-size:.84rem;font-weight:700}
.main-nav a{position:relative}
.main-nav a::after{position:absolute;right:0;bottom:-7px;left:0;height:1px;content:"";background:var(--plum);transform:scaleX(0);transition:.2s}
.main-nav a:hover::after{transform:scaleX(1)}
.menu-toggle{display:none;width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:var(--paper)}
.menu-toggle span{display:block;width:100%;height:2px;margin:5px 0;background:var(--ink);transition:.25s}

.hero{position:relative;min-height:920px;padding:150px 0 0;overflow:hidden;background:radial-gradient(circle at 84% 12%,rgba(215,204,229,.68),transparent 25%),linear-gradient(145deg,#fbf8f3,#f1ebe5)}
.hero-grain{position:absolute;inset:0;opacity:.22;background-image:radial-gradient(rgba(37,40,37,.18) .5px,transparent .5px);background-size:6px 6px}
.hero-grid{position:relative;z-index:2;display:grid;min-height:620px;align-items:center;grid-template-columns:1.08fr .92fr;gap:80px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--plum);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.eyebrow::before{width:32px;height:1px;content:"";background:linear-gradient(90deg,var(--gold),var(--plum))}
.hero h1,.section-heading h2,.cami-copy h2,.private-copy h2,.contact-copy h2{margin:18px 0 24px;font-family:var(--serif);font-weight:600;letter-spacing:-.035em;line-height:.98}
.hero h1{font-size:clamp(4.4rem,7.2vw,8.2rem)}
.hero h1 em{color:var(--plum);font-weight:600}
.hero-copy>p{max-width:650px;margin:0;color:var(--muted);font-size:1.08rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:13px 24px;border:1px solid transparent;border-radius:999px;font-weight:700;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{color:#fff;background:var(--plum)}
.btn-primary:hover{background:var(--plum-dark)}
.btn-secondary{border-color:var(--moss);color:var(--moss);background:transparent}
.btn-secondary:hover{color:#fff;background:var(--moss)}

.hero-art{position:relative;display:grid;min-height:540px;place-items:center}
.art-circle{position:absolute;border:1px solid rgba(91,69,111,.23);border-radius:50%}
.art-circle-a{width:82%;aspect-ratio:1}
.art-circle-b{width:52%;aspect-ratio:1}
.art-sun{position:absolute;top:118px;width:140px;height:140px;border-radius:50%;background:linear-gradient(145deg,var(--lavender),#c3b1d4)}
.art-line{position:absolute;right:8%;bottom:120px;left:8%;height:1px;background:var(--moss)}
.hero-art>span{position:relative;z-index:3;margin-top:210px;color:var(--plum);font-family:var(--serif);font-size:4.5rem;letter-spacing:.18em}
.hero-manifesto{position:relative;z-index:3;padding:38px 0;color:#fff;background:var(--plum)}
.hero-manifesto p{max-width:980px;margin:0 auto;font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);line-height:1.2;text-align:center}
.hero-manifesto strong{display:block;margin-top:8px;color:#fff;font-weight:600}

.section{padding:110px 0}
.yoga{background:var(--paper)}
.yoga-grid,.cami-grid,.private-grid,.contact-grid{display:grid;align-items:start;grid-template-columns:.95fr 1.05fr;gap:90px}
.section-heading h2,.cami-copy h2,.private-copy h2,.contact-copy h2{font-size:clamp(2.8rem,4.6vw,5rem)}
.section-heading p{max-width:650px;margin:0;color:var(--muted)}
.section-heading.centered{max-width:820px;margin:0 auto 50px;text-align:center}
.section-heading.centered .eyebrow{justify-content:center}
.yoga-intro .lead,.private-copy .lead{margin-top:0;color:var(--moss);font-family:var(--serif);font-size:1.75rem;line-height:1.35}
.yoga-intro p:not(.lead),.private-copy p:not(.lead){color:var(--muted)}

.benefit-editorial{display:grid;margin-top:75px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr)}
.benefit-editorial article{min-height:220px;padding:34px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.benefit-editorial article:nth-child(3n){border-right:0}
.benefit-editorial article:nth-child(n+4){border-bottom:0}
.benefit-editorial span{color:var(--gold);font-family:var(--serif);font-size:1.15rem}
.benefit-editorial h3{margin:28px 0 8px;font-family:var(--serif);font-size:1.8rem}
.benefit-editorial p{margin:0;color:var(--muted);font-size:.9rem}

.yoga-times{display:grid;margin-top:50px;grid-template-columns:repeat(4,1fr);gap:14px}
.yoga-times div{padding:24px;border:1px solid rgba(91,69,111,.18);background:var(--lavender-light)}
.yoga-times small,.yoga-times strong{display:block}
.yoga-times small{color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase}
.yoga-times strong{margin-top:8px;color:var(--plum);font-family:var(--serif);font-size:1.45rem}

.cami{background:var(--linen)}
.cami-photo{position:relative}
.cami-photo img{width:100%;height:700px;object-fit:cover;object-position:center 38%;box-shadow:var(--shadow)}
.photo-caption{position:absolute;right:-20px;bottom:26px;max-width:220px;padding:16px 18px;color:#fff;background:var(--plum);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cami-copy p{color:var(--muted)}
.cami-copy blockquote{margin:34px 0 0;padding:24px 0 0;border-top:1px solid var(--border);color:var(--plum);font-family:var(--serif);font-size:1.65rem;line-height:1.3}

.private-gym{color:#fff;background:var(--ink)}
.private-copy .eyebrow{color:var(--lavender)}
.private-copy .lead{color:#fff}
.private-copy p:not(.lead){color:rgba(255,255,255,.62)}
.private-list{border-top:1px solid rgba(255,255,255,.14)}
.private-list article{display:grid;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.14);grid-template-columns:55px 1fr;gap:18px}
.private-list article>span{color:var(--lavender);font-family:var(--serif);font-size:1.2rem}
.private-list h3{margin:0 0 5px;font-family:var(--serif);font-size:1.5rem}
.private-list p{margin:0;color:rgba(255,255,255,.58);font-size:.9rem}
.comparison{display:grid;margin-top:80px;border:1px solid rgba(255,255,255,.14);grid-template-columns:1fr 1fr}
.comparison>div{padding:38px}
.comparison small{display:block;margin-bottom:20px;color:rgba(255,255,255,.5);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.comparison p{margin:0;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.comparison-highlight{background:var(--plum)}
.comparison-highlight small{color:var(--lavender)}

.reservations{background:var(--linen)}
.day-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:28px}
.day-tab{width:64px;height:48px;border:1px solid var(--border);border-radius:999px;color:var(--ink);background:var(--paper);font-weight:700;cursor:pointer;transition:.2s}
.day-tab.active,.day-tab:hover{border-color:var(--plum);color:#fff;background:var(--plum)}
.reservation-panels{max-width:980px;margin:0 auto}
.reservation-panel{display:none;padding:34px;border:1px solid var(--border);background:var(--paper);box-shadow:var(--shadow)}
.reservation-panel.active{display:block}
.reservation-panel h3{margin:0 0 20px;font-family:var(--serif);font-size:2.1rem}
.panel-note{margin:-10px 0 22px;color:var(--muted);font-size:.88rem}
.slots{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}
.slots button{min-height:54px;border:1px solid rgba(91,69,111,.18);color:var(--plum);background:var(--lavender-light);font-weight:700;cursor:pointer;transition:.2s}
.slots button:hover{color:#fff;background:var(--plum);transform:translateY(-2px)}
.reservation-disclaimer{max-width:760px;margin:24px auto 0;color:var(--muted);font-size:.82rem;text-align:center}

.contact{color:#fff;background:var(--moss)}
.contact-copy .eyebrow{color:var(--lavender)}
.contact-copy>p{max-width:560px;color:rgba(255,255,255,.68)}
.contact-data{display:grid;margin-top:35px;gap:18px}
.contact-data small,.contact-data strong{display:block}
.contact-data small{color:rgba(255,255,255,.5);font-size:.72rem;text-transform:uppercase}
.contact-data strong{font-size:1rem}
.contact-card{display:grid;min-height:430px;place-items:center;padding:50px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);text-align:center}
.contact-card p{max-width:420px;margin:0;font-family:var(--serif);font-size:2.3rem;line-height:1.2}
.contact-card .brand-symbol{border-color:rgba(255,255,255,.28)}
.contact-card .brand-symbol .sun{background:var(--lavender)}
.contact-card .brand-symbol .horizon,.contact-card .brand-symbol .ray{background:#fff}

.site-footer{padding:34px 0;color:rgba(255,255,255,.6);background:#171917}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.footer-brand{color:#fff}
.footer-brand .brand-symbol{border-color:rgba(255,255,255,.25)}
.footer-brand .brand-symbol .sun{background:var(--lavender)}
.footer-brand .brand-symbol .horizon,.footer-brand .brand-symbol .ray{background:#fff}
.footer-brand small{color:rgba(255,255,255,.45)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

@media(max-width:980px){
  .menu-toggle{display:block;z-index:110}
  .main-nav{position:fixed;top:0;right:0;width:min(82vw,380px);height:100vh;padding:120px 35px 45px;flex-direction:column;align-items:stretch;background:var(--linen);box-shadow:-20px 0 50px rgba(0,0,0,.12);transform:translateX(105%);transition:.3s}
  .main-nav.open{transform:translateX(0)}
  .main-nav a{padding:10px 0;font-size:1.05rem}
  .menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle.active span:nth-child(2){opacity:0}
  .menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero-grid,.yoga-grid,.cami-grid,.private-grid,.contact-grid{grid-template-columns:1fr;gap:55px}
  .hero{min-height:auto}
  .hero-art{min-height:440px}
  .benefit-editorial{grid-template-columns:repeat(2,1fr)}
  .benefit-editorial article:nth-child(3n){border-right:1px solid var(--border)}
  .benefit-editorial article:nth-child(2n){border-right:0}
  .benefit-editorial article:nth-child(n+5){border-bottom:0}
  .yoga-times{grid-template-columns:repeat(2,1fr)}
  .slots{grid-template-columns:repeat(4,1fr)}
}

@media(max-width:700px){
  .container{width:min(calc(100% - 28px),var(--container))}
  .section{padding:78px 0}
  .header-inner{min-height:72px}
  .brand-symbol{width:44px;height:44px}
  .brand-copy strong{font-size:1.25rem}
  .brand-copy small{font-size:.53rem}
  .hero{padding-top:115px}
  .hero h1{font-size:clamp(3.6rem,16vw,5.2rem)}
  .hero-actions .btn{width:100%}
  .hero-art{min-height:360px}
  .hero-art>span{font-size:2.7rem}
  .art-sun{top:80px;width:100px;height:100px}
  .benefit-editorial{grid-template-columns:1fr}
  .benefit-editorial article{border-right:0;border-bottom:1px solid var(--border)!important}
  .benefit-editorial article:last-child{border-bottom:0!important}
  .yoga-times{grid-template-columns:1fr}
  .cami-photo img{height:520px}
  .photo-caption{right:10px;bottom:15px}
  .comparison{grid-template-columns:1fr}
  .day-tabs{display:grid;grid-template-columns:repeat(5,1fr)}
  .day-tab{width:100%}
  .reservation-panel{padding:22px 16px}
  .slots{grid-template-columns:repeat(3,1fr)}
  .contact-card{min-height:360px;padding:30px 20px}
  .footer-inner{align-items:flex-start;flex-direction:column}
}


/* Modal de confirmação da reserva */
.booking-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}

.booking-modal.open{
  opacity:1;
  pointer-events:auto;
}

.booking-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(20,18,22,.58);
  backdrop-filter:blur(8px);
}

.booking-modal-card{
  position:relative;
  z-index:2;
  width:min(100%,520px);
  padding:38px;
  border:1px solid rgba(255,255,255,.5);
  background:var(--paper);
  box-shadow:0 35px 100px rgba(20,18,22,.28);
  transform:translateY(18px) scale(.98);
  transition:transform .25s ease;
}

.booking-modal.open .booking-modal-card{
  transform:none;
}

.booking-modal-close{
  position:absolute;
  top:14px;
  right:16px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  color:var(--ink);
  background:var(--lavender-light);
  font-size:1.5rem;
  cursor:pointer;
}

.booking-modal-kicker{
  display:block;
  color:var(--plum);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.booking-modal-card h2{
  margin:12px 0 24px;
  font-family:var(--serif);
  font-size:2.7rem;
  line-height:1;
}

.booking-modal-summary{
  display:grid;
  margin-bottom:22px;
  grid-template-columns:1fr 1fr;
  border:1px solid var(--border);
}

.booking-modal-summary div{
  padding:18px;
}

.booking-modal-summary div+div{
  border-left:1px solid var(--border);
}

.booking-modal-summary small,
.booking-modal-summary strong{
  display:block;
}

.booking-modal-summary small{
  color:var(--muted);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.booking-modal-summary strong{
  margin-top:6px;
  color:var(--plum);
  font-family:var(--serif);
  font-size:1.35rem;
}

.booking-modal-card>p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}

.booking-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  margin-top:28px;
}

@media(max-width:600px){
  .booking-modal-card{
    padding:30px 20px 22px;
  }

  .booking-modal-card h2{
    font-size:2.2rem;
  }

  .booking-modal-summary{
    grid-template-columns:1fr;
  }

  .booking-modal-summary div+div{
    border-top:1px solid var(--border);
    border-left:0;
  }

  .booking-modal-actions{
    flex-direction:column-reverse;
  }

  .booking-modal-actions .btn{
    width:100%;
  }
}


/* Aula experimental de Yoga */
.yoga-trial{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  margin-top:38px;
  padding:34px 36px;
  border:1px solid rgba(91,69,111,.18);
  background:
    linear-gradient(135deg,var(--lavender-light),#fff);
}

.yoga-trial > div{
  max-width:700px;
}

.yoga-trial h3{
  margin:12px 0 8px;
  color:var(--plum);
  font-family:var(--serif);
  font-size:2.2rem;
  line-height:1.05;
}

.yoga-trial p{
  margin:0;
  color:var(--muted);
}

.yoga-trial .btn{
  flex:0 0 auto;
}

@media(max-width:760px){
  .yoga-trial{
    align-items:flex-start;
    padding:26px 20px;
    flex-direction:column;
  }

  .yoga-trial .btn{
    width:100%;
  }
}


/* Refinamentos de posicionamento e experiência */
.yoga-statement{
  margin-bottom:70px;
  padding:28px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  text-align:center;
}

.yoga-statement span{
  color:var(--plum);
  font-family:var(--serif);
  font-size:clamp(1.8rem,3.5vw,3.4rem);
  line-height:1.15;
}

.audience{
  background:var(--paper);
}

.audience-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}

.audience-card{
  min-height:420px;
  padding:42px;
  border:1px solid var(--border);
}

.audience-card small{
  display:block;
  margin-bottom:18px;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.audience-card h3{
  margin:0 0 30px;
  font-family:var(--serif);
  font-size:2.3rem;
  line-height:1.08;
}

.audience-card ul{
  display:grid;
  margin:0;
  padding:0;
  gap:14px;
  list-style:none;
}

.audience-card li{
  position:relative;
  padding-left:20px;
  color:var(--muted);
}

.audience-card li::before{
  position:absolute;
  top:.72em;
  left:0;
  width:7px;
  height:7px;
  border-radius:50%;
  content:"";
}

.yoga-audience{
  background:var(--lavender-light);
}

.yoga-audience small,
.yoga-audience h3{
  color:var(--plum);
}

.yoga-audience li::before{
  background:var(--plum);
}

.gym-audience{
  color:#fff;
  background:var(--moss);
}

.gym-audience small{
  color:var(--lavender);
}

.gym-audience h3{
  color:#fff;
}

.gym-audience li{
  color:rgba(255,255,255,.7);
}

.gym-audience li::before{
  background:var(--lavender);
}

.private-copy h2{
  max-width:720px;
}

.reservations{
  background:
    radial-gradient(circle at 88% 4%,rgba(215,204,229,.3),transparent 25%),
    var(--linen);
}

.day-tabs{
  position:sticky;
  top:96px;
  z-index:20;
  width:max-content;
  max-width:100%;
  margin-inline:auto;
  padding:8px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,253,249,.94);
  box-shadow:0 14px 35px rgba(47,39,54,.08);
  backdrop-filter:blur(14px);
}

.day-tab{
  border:0;
  background:transparent;
}

.day-tab.active{
  box-shadow:0 8px 20px rgba(91,69,111,.22);
}

.reservation-panel{
  border-radius:2px;
}

.slots button{
  position:relative;
  overflow:hidden;
}

.slots button::after{
  position:absolute;
  right:8px;
  bottom:5px;
  color:var(--plum);
  content:"reservar";
  font-size:.54rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.55;
}

.slots button:hover::after{
  color:#fff;
}

.reservation-info{
  display:grid;
  max-width:900px;
  margin:28px auto 0;
  grid-template-columns:repeat(2,1fr);
  border:1px solid var(--border);
  background:var(--paper);
}

.reservation-info>div{
  padding:20px 24px;
}

.reservation-info>div+div{
  border-left:1px solid var(--border);
}

.reservation-info strong,
.reservation-info span{
  display:block;
}

.reservation-info strong{
  color:var(--plum);
  font-family:var(--serif);
  font-size:1.3rem;
}

.reservation-info span{
  margin-top:4px;
  color:var(--muted);
  font-size:.82rem;
}

.booking-modal-selected{
  display:inline-block;
  margin-bottom:12px;
  padding:6px 10px;
  color:var(--plum);
  background:var(--lavender-light);
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.booking-modal-summary{
  box-shadow:inset 0 0 0 1px rgba(91,69,111,.04);
}

@media(max-width:760px){
  .audience-grid{
    grid-template-columns:1fr;
  }

  .audience-card{
    min-height:auto;
    padding:30px 22px;
  }

  .day-tabs{
    position:static;
    width:100%;
    border-radius:14px;
  }

  .reservation-info{
    grid-template-columns:1fr;
  }

  .reservation-info>div+div{
    border-top:1px solid var(--border);
    border-left:0;
  }
}

/* Logo oficial Studio Aruna */
.brand-logo{display:block;width:118px;height:auto;object-fit:contain;border-radius:6px}
.site-footer .brand-logo,.contact-card .brand-logo{width:132px}
@media(max-width:760px){.brand-logo{width:96px}}
.legal-page{max-width:850px;padding-top:70px;padding-bottom:70px}.legal-page h1,.legal-page h2{font-family:'Cormorant Garamond',serif;color:#4d2f59}.legal-page h1{font-size:3rem}.legal-page h2{margin-top:32px}.legal-page p{line-height:1.75}

/* ===== ARUNA 2026 · refinamento premium sem fotografias ===== */
:root{
  --rose:#caa8b2;
  --rose-soft:#f4e7ea;
  --rose-pale:#fbf5f6;
  --wine:#624650;
  --cream:#fffaf6;
  --charcoal:#302a2c;
  --premium-shadow:0 24px 70px rgba(77,54,62,.10);
}
body{background:var(--cream)}
.site-header{padding:8px 0}
.site-header.scrolled{background:rgba(255,250,246,.91);box-shadow:0 8px 35px rgba(68,45,54,.06)}
.brand-logo{mix-blend-mode:multiply;transition:transform .35s ease,filter .35s ease}
.brand:hover .brand-logo{transform:scale(1.035);filter:saturate(1.06)}
.main-nav a{transition:color .25s ease}
.main-nav a:hover{color:var(--wine)}
.nav-login{padding:10px 16px!important;border:1px solid rgba(98,70,80,.25);border-radius:999px;transition:all .25s ease!important}
.nav-login:hover{color:#fff!important;background:var(--wine);border-color:var(--wine);transform:translateY(-1px)}
.nav-login::after{display:none!important}
.hero{background:radial-gradient(circle at 76% 18%,rgba(202,168,178,.34),transparent 24%),radial-gradient(circle at 15% 85%,rgba(215,204,229,.28),transparent 26%),linear-gradient(145deg,#fffaf6,#f7edef);}
.hero-grain{opacity:.13}
.hero h1 em{color:var(--wine)}
.hero-art{isolation:isolate}
.hero-art::before{position:absolute;width:68%;aspect-ratio:1;content:"";border-radius:50%;background:radial-gradient(circle,rgba(202,168,178,.23),rgba(202,168,178,0) 68%);filter:blur(4px);animation:arunaBreathe 7s ease-in-out infinite}
.art-circle{transition:transform 1.2s cubic-bezier(.2,.8,.2,1),border-color .4s ease}
.hero-art:hover .art-circle-a{transform:rotate(7deg) scale(1.025);border-color:rgba(98,70,80,.34)}
.hero-art:hover .art-circle-b{transform:rotate(-9deg) scale(.98)}
.art-sun{background:linear-gradient(145deg,#e4c8cf,#c79ca9);box-shadow:0 25px 70px rgba(98,70,80,.18);transition:transform .8s ease,box-shadow .8s ease}
.hero-art:hover .art-sun{transform:translateY(-9px) scale(1.04);box-shadow:0 35px 90px rgba(98,70,80,.25)}
.hero-manifesto{background:linear-gradient(110deg,#624650,#765561)}
.btn{position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,background .3s ease,color .3s ease}
.btn::after{position:absolute;inset:0;content:"";background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.2),transparent 80%);transform:translateX(-120%);transition:transform .55s ease}
.btn:hover::after{transform:translateX(120%)}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(75,52,61,.13)}
.btn-primary{background:var(--wine)}
.btn-primary:hover{background:#503941}
.aruna-choices{background:linear-gradient(180deg,#fff,#fffaf8)}
.aruna-choice-card{position:relative;overflow:hidden;border-color:rgba(98,70,80,.12);background:linear-gradient(145deg,#fbf3f5,#fffaf7);box-shadow:0 1px 0 rgba(255,255,255,.8) inset;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .45s ease}
.aruna-choice-card::before{position:absolute;top:-90px;right:-90px;width:210px;height:210px;content:"";border:1px solid rgba(98,70,80,.12);border-radius:50%;transition:transform .6s ease,background .6s ease}
.aruna-choice-card:hover{transform:translateY(-9px);border-color:rgba(98,70,80,.25);box-shadow:var(--premium-shadow)}
.aruna-choice-card:hover::before{transform:scale(1.18);background:rgba(255,255,255,.18)}
.aruna-choice-card strong{transition:letter-spacing .3s ease,transform .3s ease}
.aruna-choice-card:hover strong{letter-spacing:.11em;transform:translateX(4px)}
.aruna-choice-gym{background:linear-gradient(145deg,#55434a,#352e31)}
.benefit-editorial article,.yoga-times div,.audience-card,.private-list article,.comparison>div,.reservation-panel{transition:transform .35s ease,box-shadow .35s ease,background .35s ease,border-color .35s ease}
.benefit-editorial article:hover{position:relative;z-index:2;background:var(--rose-pale);transform:translateY(-5px);box-shadow:0 18px 45px rgba(80,55,64,.08)}
.yoga-times div:hover{border-color:rgba(98,70,80,.32);background:#f8eaee;transform:translateY(-5px);box-shadow:0 14px 34px rgba(80,55,64,.08)}
.yoga-times strong{color:var(--wine)}
.cami{overflow:hidden;background:linear-gradient(145deg,#f8efef,#fffaf6)}
.cami-visual{position:relative;display:grid;min-height:590px;place-items:center;overflow:hidden;border:1px solid rgba(98,70,80,.12);background:radial-gradient(circle at 50% 44%,rgba(202,168,178,.27),transparent 27%),linear-gradient(145deg,#f4e6e9,#fffaf7);box-shadow:var(--premium-shadow)}
.cami-orbit{position:absolute;border:1px solid rgba(98,70,80,.18);border-radius:50%;transition:transform 1s ease}
.cami-orbit-a{width:74%;aspect-ratio:1}
.cami-orbit-b{width:48%;aspect-ratio:1}
.cami-sun{position:absolute;width:130px;aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,#d8b5be,#b98695);box-shadow:0 28px 70px rgba(98,70,80,.18)}
.cami-monogram{position:relative;z-index:2;margin-top:190px;color:var(--wine);font-family:var(--serif);font-size:5rem;letter-spacing:.08em}
.cami-visual small{position:absolute;right:25px;bottom:25px;left:25px;padding-top:18px;border-top:1px solid rgba(98,70,80,.18);color:var(--wine);font-weight:700;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.cami-visual:hover .cami-orbit-a{transform:rotate(12deg) scale(1.03)}
.cami-visual:hover .cami-orbit-b{transform:rotate(-14deg) scale(.96)}
.audience-card:hover{transform:translateY(-7px);box-shadow:var(--premium-shadow)}
.private-gym{background:radial-gradient(circle at 85% 20%,rgba(202,168,178,.12),transparent 28%),linear-gradient(145deg,#302a2c,#211e1f)}
.private-list article:hover{padding-left:12px;background:rgba(255,255,255,.025)}
.comparison-highlight{background:linear-gradient(145deg,#6b4b56,#563d46)}
.day-tab{transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}
.day-tab:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(80,55,64,.12)}
.slots button{border-radius:10px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.slots button:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(80,55,64,.13)}
.contact{background:linear-gradient(135deg,#4d4548,#654b54)}
.contact-card{border-radius:18px;backdrop-filter:blur(6px);transition:transform .4s ease,background .4s ease}
.contact-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.09)}
.reveal{transform:translateY(30px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1)}
@keyframes arunaBreathe{0%,100%{transform:scale(.96);opacity:.7}50%{transform:scale(1.06);opacity:1}}
@media(max-width:980px){.main-nav{background:#fffaf6}.cami-visual{min-height:460px}}
@media(max-width:700px){.hero{padding-top:108px}.hero-art{min-height:330px}.cami-visual{min-height:390px}.cami-monogram{font-size:4rem;margin-top:130px}.aruna-choice-card:hover,.benefit-editorial article:hover,.audience-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-art::before{animation:none}}
