:root {
  --paper:#f8f5ed; --white:#fffdf8; --green:#18372b; --deep:#10291f; --sage:#e5ebdf;
  --ink:#202b24; --muted:#4b594f; --clay:#91472e; --peach:#edc4ae; --line:#ccd3c7;
  --serif:Georgia,serif; --sans:Arial,Helvetica,sans-serif;
  --edge:clamp(1.35rem,5.6vw,5rem); --ease:cubic-bezier(.2,.75,.25,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 var(--sans)}
::selection{background:var(--peach);color:var(--deep)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid currentColor;outline-offset:4px}
a{color:inherit;text-underline-offset:.24em}
img{display:block;width:100%;height:auto}
svg{width:1.2em;height:1.2em;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex:none}
.symbols{position:absolute;width:0;height:0;overflow:hidden}
.wrap{width:min(100% - var(--edge)*2,78rem);margin-inline:auto}
.skip{position:fixed;z-index:8;top:1rem;left:1rem;padding:.65rem 1rem;background:var(--white);transform:translateY(-200%)}
.skip:focus{transform:none}
.top{position:sticky;top:0;z-index:5;background:var(--white);border-bottom:1px solid var(--line)}
.top.scrolled{box-shadow:0 3px 14px #18372b13}
.nav-wrap{position:relative;min-height:4.85rem;display:flex;align-items:center;justify-content:space-between;gap:1.4rem}
.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font:700 1.16rem/1.1 var(--sans);white-space:nowrap}
.brand svg{width:2.15rem;height:2.15rem;color:var(--clay)}
.brand small{display:block;margin-top:.32rem;font:700 .59rem/1.2 var(--sans);letter-spacing:.095em}
#navegacao{display:flex;align-items:center;gap:clamp(.95rem,2.5vw,2.4rem)}
#navegacao a{font-weight:700;font-size:.88rem;text-decoration:none}
#navegacao a:hover{text-decoration:underline}
.nav-cta{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;border:1px solid var(--green);border-radius:.2rem}
.menu{display:none}
h1,h2,h3,blockquote{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.04em;margin:0;text-wrap:balance}
h2{font-size:clamp(2.55rem,4.6vw,4.7rem)}
h3{font-size:clamp(1.45rem,2.4vw,2.25rem)}
p{margin:.9rem 0;color:var(--muted)}
em{font-weight:400;color:var(--clay)}
.hero{background:var(--paper)}
.hero-frame{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:clamp(36rem,calc(100svh - 9.6rem),51rem);max-width:106rem;margin:auto}
.hero-photo{position:relative;min-height:100%;background:#d8b49e}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.hero-copy{align-self:center;padding:clamp(2.5rem,6vw,6.1rem) var(--edge);border-left:1px solid #ddd3c3}
.hero h1{font-size:clamp(3.2rem,6.25vw,6.5rem);line-height:.98;text-wrap:initial}
.hero h1 em{display:block}
.hero p{max-width:42ch;font-size:clamp(1rem,1.35vw,1.15rem);margin:1.5rem 0 1.6rem}
.actions{display:flex;align-items:center;gap:.65rem 1.2rem;flex-wrap:wrap}
.button,.text-link{display:inline-flex;align-items:center;gap:.65rem;width:fit-content;font-size:.88rem;font-weight:700;text-decoration:none;transition:background .2s,color .2s,transform .2s var(--ease)}
.button{min-height:3.15rem;justify-content:center;padding:.68rem 1rem;border:1px solid var(--green);border-radius:.22rem;background:var(--green);color:var(--white)}
.button:hover{background:#305846;transform:translateY(-2px)}
.button:active,.text-link:active{transform:scale(.98)}
.button svg,.text-link svg,.quick-nav svg{transition:transform .2s var(--ease)}
.button:hover svg,.text-link:hover svg,.quick-nav a:hover svg{transform:translateX(3px)}
.text-link{min-height:2.75rem;border-bottom:1px solid currentColor}
.outline{background:transparent;color:var(--green)}
.outline:hover{color:var(--white)}
.quick-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
main:has(.quick-nav){background:var(--white)}
.quick-nav a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:4.7rem;padding:.55rem 1rem;text-decoration:none;border-bottom:1px solid var(--line)}
.quick-nav a+a{border-left:1px solid var(--line)}
.quick-nav strong{font:400 clamp(1.08rem,1.6vw,1.43rem)/1.25 var(--serif)}
.quick-nav svg{color:var(--clay)}
.section{padding:clamp(3.65rem,8vw,7.4rem) 0}
.intro,.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.6rem,6vw,6rem);align-items:center}
.lead{font-size:clamp(1.08rem,1.65vw,1.3rem);max-width:47ch}
.section-copy p{max-width:55ch}
.method{background:var(--white)}
.method .intro{align-items:start}
.method .intro p:first-child{margin-top:0}
.themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;margin-top:2rem;border-bottom:1px solid var(--line)}
details>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:3.5rem;gap:.7rem;list-style:none;font-weight:700}
summary::-webkit-details-marker{display:none}
summary svg{transition:transform .22s var(--ease)}
details[open]>summary svg:last-child{transform:rotate(45deg)}
details[open]>p,details[open]>div{animation:open-in .24s var(--ease) both}
.themes details,.faq-list details,.story{border-top:1px solid var(--line)}
.themes summary span{flex:1}
.topic-icon{color:var(--clay);width:1.4rem;height:1.4rem}
.themes details p,.faq-list details p{margin:.1rem 0 1.1rem}
.note{font-size:.86rem;margin-top:1.4rem}
.about{background:var(--sage)}
.about .split{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
.about-image{aspect-ratio:1/1.04;overflow:hidden;border-radius:0 3rem 0 0}
.about-image img{height:100%;object-fit:cover;object-position:center 27%}
.story{border-bottom:1px solid var(--line);margin-top:1.35rem}
.story>div{padding-bottom:1rem}
.training{background:var(--paper)}
.training-grid{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);background:var(--green);color:var(--white);overflow:hidden}
.training-image{position:relative;min-height:24rem;background:#c2987d}
.training-image img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:56% center}
.training-panel{padding:clamp(1.5rem,4.6vw,4.25rem)}
.training p,.training dd{color:#e4eae0}
.training .button,.contact .button{background:var(--peach);color:var(--deep);border-color:var(--peach)}
.training .button:hover,.contact .button:hover{background:var(--white)}
.training-details{border-top:1px solid #8b9b8b;margin-top:1.8rem;padding-top:1.35rem}
.training-details dt{font-weight:700;margin-top:.7rem}
.training-details dd{margin:.1rem 0 .72rem}
.offer{background:var(--white)}
.offer-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.95rem,2.2vw,1.7rem);margin-top:2rem}
.offer-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto 1fr;gap:.65rem .4rem;border-bottom:1px solid var(--line);text-decoration:none;padding-bottom:.9rem;transition:border-color .2s}
.offer-list a:hover{border-color:var(--clay)}
.offer-photo{grid-column:1/-1;aspect-ratio:1.43;background:var(--sage);overflow:hidden}
.offer-photo img{height:100%;object-fit:cover;object-position:center 32%;transition:transform .4s var(--ease)}
.offer-list a:hover img{transform:scale(1.035)}
.offer-list span{grid-column:1/-1;font:400 clamp(1.35rem,2.4vw,2rem)/1.1 var(--serif)}
.offer-list small,.offer-list svg{align-self:end}
.offer-list small{color:var(--muted)}
.offer-list svg{color:var(--clay)}
.agenda{background:var(--sage)}
.agenda-with-events{grid-template-columns:minmax(0,1fr)}
.interlude{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#efded1}
.interlude img{width:100%;height:100%;min-height:24rem;object-fit:cover;object-position:34% center}
.interlude-copy{display:grid;align-content:center;justify-items:start;width:auto;margin:0;padding:clamp(2rem,5.8vw,6rem)}
blockquote{font-size:clamp(2.15rem,4vw,4.25rem);line-height:1.12;margin-bottom:1rem}
.social{background:var(--white)}
.social-row{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(1.5rem,6vw,6rem);align-items:center}
.social-handle{display:grid;gap:.55rem;text-decoration:none}
.social-handle img{aspect-ratio:1.55;object-fit:cover;object-position:center 28%}
.social-handle span{display:flex;align-items:center;gap:.55rem;color:var(--clay);font-weight:700}
.faq{background:var(--paper)}
.faq .split{align-items:start;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.faq-list{border-bottom:1px solid var(--line)}
.contact{padding:0 0 clamp(2rem,5vw,4.5rem);background:var(--paper)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.5rem,6vw,6rem);align-items:center;background:var(--green);color:var(--white);padding:clamp(1.6rem,5.2vw,5rem)}
.contact p{color:#e4eae0}
.contact em{color:var(--peach)}
.contact-actions{display:grid;justify-items:start;gap:.45rem}
.phone{min-height:2.75rem;display:flex;align-items:center}
footer{background:var(--white);border-top:1px solid var(--line);padding:1.6rem 0}
.footer-row,.footer-row>div{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.2rem}
.footer-row>div{font-size:.85rem}
.carousel{min-width:0;margin-top:1rem}
.rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--clay) transparent;padding:.2rem .2rem .7rem}
.rail article{flex:0 0 min(23rem,88%);padding:1rem;background:var(--white);border:1px solid var(--line);scroll-snap-align:start}
.rail article img{aspect-ratio:1.7;object-fit:cover;margin-bottom:1rem}
.rail blockquote{font-size:1.5rem}
.rail-controls{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.45rem}
.rail-controls button,.menu{background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:.22rem;padding:.55rem .8rem;font:700 .85rem var(--sans);min-height:2.75rem;cursor:pointer}
.legal{max-width:48rem;margin:auto}
.legal h1{font-size:clamp(2.8rem,7vw,5.25rem)}
.legal h2{font-size:1.8rem;margin-top:1.6rem}
@keyframes open-in{from{opacity:.7;transform:translateY(-4px)}}
@keyframes reveal{from{opacity:.65;transform:translateY(9px)}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:reveal .55s var(--ease) both}.revealed{animation:reveal .43s var(--ease) both}}
@media(max-width:850px){
  .nav-wrap{min-height:4.2rem}
  html:not(.js) .nav-wrap,html:not(.js) #navegacao{flex-wrap:wrap}
  .js .menu{display:inline-flex;align-items:center;gap:.45rem}
  .menu span{width:.85rem;height:.55rem;border-block:1px solid currentColor}
  .js #navegacao{position:absolute;top:100%;inset-inline:0;display:grid;gap:0;background:var(--white);border:1px solid var(--line);padding:.3rem .8rem;opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .2s,transform .2s,visibility .2s}
  .js .menu[aria-expanded=true]+#navegacao{opacity:1;visibility:visible;transform:none}
  .js #navegacao a{display:block;padding:.75rem .15rem}
  .js #navegacao a+a{border-top:1px solid var(--line)}
  .js #navegacao .nav-cta{border-inline:0;border-bottom:0}
  .hero-copy{padding-inline:1.6rem}
  .hero h1{font-size:clamp(2.75rem,6.3vw,4.15rem)}
}
@media(max-width:690px){
  .hero-frame{grid-template-columns:1fr;min-height:0}
  .hero-photo{aspect-ratio:1.48;min-height:0}
  .hero-photo img{object-position:center 31%}
  .hero-copy{border:0;padding:2.2rem var(--edge) 2.4rem}
  .hero h1{font-size:clamp(2.75rem,10vw,4.2rem)}
  .hero p{margin:1rem 0 1.2rem}
  .quick-nav{grid-template-columns:1fr}
  .quick-nav a{min-height:3.4rem;padding-inline:0}
  .quick-nav a+a{border-left:0}
  .intro,.split,.about .split,.training-grid,.interlude,.social-row,.faq .split,.contact-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .training-grid,.interlude{gap:0}
  .themes{grid-template-columns:1fr}
  .training-image{min-height:0}
  .training-image img{position:static;height:auto}
  .about-image{aspect-ratio:1.12}
  .offer-list{grid-template-columns:1fr;gap:1.35rem}
  .offer-photo{aspect-ratio:1.6}
  .interlude img{min-height:0;height:auto}
  .interlude-copy{padding-inline:var(--edge)}
}
@media(max-width:360px){.brand{font-size:.95rem;gap:.45rem}.brand svg{width:1.6rem;height:1.6rem}.brand small{font-size:.56rem;letter-spacing:.055em}.nav-wrap{gap:.45rem}.menu span{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Composição da versão TSFI escolhida */
:root{--edge:clamp(1.35rem,6.2vw,6rem);--paper:#f7f5ee;--white:#fffdf8;--green:#17392e;--deep:#102b23;--mint:#d5e7cf}
.wrap{width:min(100% - var(--edge)*2,81rem)}
.top{position:fixed;inset:1rem 0 auto;background:transparent;border:0;pointer-events:none}
.top.scrolled{box-shadow:none}
.nav-wrap{pointer-events:auto;min-height:4.35rem;background:rgba(255,253,248,.98);border:1px solid #e5e7db;border-radius:4rem;padding:.55rem 1.25rem;box-shadow:0 8px 25px #132c2220}
.brand{font-size:1.04rem}
.brand svg{width:1.85rem;height:1.85rem}
.nav-cta,.button{border-radius:3rem}
.nav-cta{background:var(--green);color:white}
.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:clamp(42rem,90svh,54rem);padding:8.5rem 0 6.4rem;background:var(--deep);color:white;border-radius:0 0 3rem 3rem}
.hero-portrait{position:absolute;inset:0 0 0 auto;width:63%;height:100%;object-fit:cover;object-position:center 24%;z-index:-2;mask-image:linear-gradient(90deg,transparent,#000 25%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102b23 18%,rgba(16,43,35,.96) 34%,rgba(16,43,35,.62) 54%,rgba(16,43,35,.04) 83%),linear-gradient(0deg,#102b2355,transparent 45%)}
.hero-copy{padding:0;border:0}
.hero h1{font-size:clamp(3.4rem,6.15vw,6.25rem);line-height:.99;max-width:11ch;color:#fffdf7;letter-spacing:-.047em;text-wrap:balance}
.hero p{color:#f1f2eb;font-size:clamp(1rem,1.25vw,1.14rem);max-width:42ch;margin:1.4rem 0 1.55rem}
.hero .hero-identity{font-size:.88rem;font-weight:700;color:var(--mint);margin:0 0 1.15rem;letter-spacing:.055em}
.hero .button,.training .button,.contact .button{background:var(--mint);color:var(--deep);border-color:var(--mint)}
.hero .button:hover,.training .button:hover,.contact .button:hover{background:white}
.hero .text-link{color:#fffdf7}
main:has(.quick-nav){background:var(--paper)}
.quick-nav{position:relative;z-index:2;margin-top:-2.35rem;background:var(--white);border:1px solid #e1e4d8;border-radius:1.5rem;box-shadow:0 12px 32px #182e2212;gap:0;padding:1rem .6rem}
.quick-nav a{display:grid;justify-items:center;min-height:0;padding:.65rem .8rem;text-align:center;border-bottom:0;gap:.28rem}
.quick-nav strong{font-size:clamp(1.15rem,2vw,1.8rem)}
.quick-nav span{color:var(--muted);font-size:.8rem}
.method{background:var(--paper)}
.method .intro{align-items:center}
.themes{border:0;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.themes details{border:1px solid #dce1d5;border-radius:1rem;background:var(--white);padding:.55rem .9rem}
.themes details[open],.themes details:hover{background:#eaf0e6}
.about{background:#e8ece1}
.about-image{border-radius:2rem;aspect-ratio:4/4.5}
.training-grid{width:min(100% - var(--edge),81rem);grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);background:var(--deep);border-radius:2rem;gap:0}
.training-image{min-height:34rem}
.training-image img{object-position:center 50%}
.training-panel{padding:clamp(1.9rem,5vw,5rem)}
.offer-list a{border:1px solid #e1e4d8;border-radius:1.4rem;padding:.65rem .65rem 1rem;background:var(--white)}
.offer-photo{border-radius:1.25rem}
.offer-list span,.offer-list small{padding-inline:.45rem}
.offer-list svg{margin-right:.45rem}
.agenda{background:#e8ece1}
.interlude{background:#eddaca}
.social-handle img{width:min(100%,19rem);border-radius:1.25rem}
.contact{padding-top:1.25rem}
.contact-grid{border-radius:2rem;background:linear-gradient(110deg,var(--deep),#244d3f)}
@media(max-width:850px){
 .top{inset:.65rem 0 auto}
 .nav-wrap{min-height:3.75rem;padding:.35rem .9rem}
 .js #navegacao{top:calc(100% + .35rem);border-radius:1rem}
 .js #navegacao .nav-cta{color:var(--ink);background:none}
}
@media(max-width:690px){
 .hero{align-items:end;min-height:0;padding:clamp(18rem,76vw,25rem) 0 4rem;border-radius:0 0 1.7rem 1.7rem}
 .hero-portrait{inset:0;width:100%;height:clamp(28rem,119vw,41rem);object-position:center 19%;mask-image:linear-gradient(180deg,#000 65%,transparent)}
 .hero::after{background:linear-gradient(0deg,#102b23 16%,rgba(16,43,35,.94) 36%,rgba(16,43,35,.25) 70%,transparent 88%)}
 .hero h1{font-size:clamp(2.75rem,10vw,4.2rem);max-width:12ch}
 .hero p{margin:.85rem 0 1rem}
 .hero .hero-identity{margin-bottom:.5rem}
 .quick-nav{grid-template-columns:1fr;padding:.4rem .8rem;margin-top:-1.35rem}
 .quick-nav a{justify-items:start;text-align:left;padding:.72rem .45rem}
 .quick-nav a+a{border-left:0;border-top:1px solid var(--line)}
 .themes{grid-template-columns:1fr}
 .training-grid{width:min(100% - var(--edge)*2,81rem);grid-template-columns:1fr}
 .training-image{min-height:0}
}

