:root{
  /* Uso das cores: fundo #FCFAF6, secoes alternadas #F5F0E8, titulos #526B5A, texto #806F60,
     botao principal #526B5A (texto #FCFAF6), botao secundario #A8B9A5 (texto #526B5A),
     cards #F5F0E8 ou #FFFFFF, detalhes #A8B9A5. */
  --sand:#FCFAF6;
  --cream:#F5F0E8;
  --white:#FFFFFF;
  --sage:#A8B9A5;
  --forest:#526B5A;
  --umber:#806F60;
  --tint:#E8EEE5;
  --mist:#A8B9A5;
  --accent:#526B5A;
  --accent-hover:#41574a;
  --on-accent:#FCFAF6;
  --ghost-bg:#A8B9A5;
  --ghost-hover:#97ac93;
  --ghost-text:#526B5A;
  --acc-text:#526B5A;
  --deep:#526B5A;
  --ink:#2f2822;
  --body:#2f2822;
  --mute:#4a3f36;
  --hair:rgba(168,185,165,.6);
  --glass:rgba(252,250,246,.92);
  --hero-filter:none;
  --serif:'Lora',Georgia,serif;
  --sans:'Nunito Sans',system-ui,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --gut:clamp(20px,4.2vw,64px);
  --r:28px;
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--sans);font-weight:400;font-size:1.125rem;line-height:1.7;color:var(--ink);background:var(--sand);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.lock{overflow:hidden}
body::after{content:"";position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
img{display:block;max-width:100%}
a{color:inherit;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
i[class*=ph]{line-height:1;flex:none}
:focus-visible{outline:3px solid var(--acc-text);outline-offset:3px;border-radius:6px}
.wrap{padding-inline:var(--gut);max-width:1480px;margin-inline:auto}
.label{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--acc-text)}
.display{font-family:var(--sans);font-weight:600;line-height:1.16;letter-spacing:-.012em;color:var(--deep);padding-bottom:.08em}
.display em{font-style:italic;color:var(--acc-text);padding-right:.04em}

/* botoes */
.link{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;font-size:1.05rem;font-weight:700;padding:.9rem 0;min-height:48px;color:var(--deep);background:linear-gradient(currentColor,currentColor) 0 calc(100% - .6rem)/100% 2px no-repeat;transition:background-size .5s var(--ease),gap .4s var(--ease)}
.link:hover{gap:1.3rem;background-size:40% 2px}
.link i{font-size:1.4rem}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:44px;padding:0 1.4rem;border-radius:999px;background:var(--accent);color:var(--on-accent);text-decoration:none;font-size:.95rem;font-weight:700;border:2px solid var(--accent);cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .2s;white-space:nowrap}
.pill:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}
.pill:active{transform:scale(.98)}
.pill i{font-size:1.15rem}
.pill.ghost{background:transparent;color:var(--accent-hover);border-color:var(--accent);font-weight:600}
.pill.ghost:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}

/* header */
header{position:fixed;inset:0 0 auto 0;z-index:60;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;text-decoration:none;font-family:var(--serif);font-size:1.6rem;font-weight:500;color:var(--deep);line-height:1}
.brand i{color:var(--acc-text);font-weight:400;font-style:italic}
.menu{display:flex;gap:.4rem;align-items:center;list-style:none}
.menu a{text-decoration:none;font-size:1rem;font-weight:600;color:var(--deep);padding:.7rem 1.25rem;position:relative;isolation:isolate;display:inline-block;transition:color .4s var(--ease),letter-spacing .5s var(--ease)}
.menu a::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:999px;background:var(--ghost-bg);opacity:0;transform:scale(.82);transition:opacity .4s var(--ease),transform .5s var(--ease)}
.menu a:hover::before,.menu a:focus-visible::before{opacity:.55;transform:scale(1)}
.burger{display:none;width:48px;height:48px;background:none;border:0;cursor:pointer;position:relative;z-index:70}
.burger span{position:absolute;left:11px;right:11px;height:2px;border-radius:2px;background:var(--deep);transition:transform .4s var(--ease),top .4s var(--ease)}
.burger span:nth-child(1){top:18px}.burger span:nth-child(2){top:28px}
.burger[aria-expanded=true] span:nth-child(1){top:23px;transform:rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){top:23px;transform:rotate(-45deg)}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:radial-gradient(120% 90% at 85% 10%,#f3eadc 0%,#ebe1d0 55%,#e2d4c0 100%)}
.hero-img{position:absolute;inset:0 auto 0 0;width:52%;background:url(hero-left.jpg) 50% 50%/cover no-repeat;filter:var(--hero-filter);animation:settle 2.4s var(--ease) both}
@keyframes settle{from{transform:scale(1.07);opacity:0}to{transform:none;opacity:1}}
.hero-inner{position:relative;width:100%;display:grid;grid-template-columns:repeat(12,1fr);padding-top:96px;padding-bottom:70px}
.hero-copy{grid-column:8/13;max-width:640px;padding-left:2.3rem}
.hero .label{font-weight:600;letter-spacing:.24em;color:var(--body)}
.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:.96;letter-spacing:-.01em;font-size:clamp(3rem,5.2vw,5.4rem);margin:1.2rem 0 1.6rem}
.hero h1 em{font-weight:600}
.hero .pill{min-height:56px;padding:0 2.1rem;font-size:1.02rem}
.hero p.lead{font-size:1.2rem;max-width:44ch;color:#2f2822;margin-bottom:2rem}

/* manifesto */
.manifesto{padding:clamp(6rem,12vw,12rem) 0;background:linear-gradient(180deg,#e6dac7 0,#f4ede1 140px,#f9f5ee 420px,var(--sand) 100%)}
.mani-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:0 2rem}
.mani-grid h2{grid-column:1/12;font-size:clamp(1.9rem,4vw,4rem)}
.mani-grid p{grid-column:1/7;margin-top:2.6rem;font-size:1.25rem;color:var(--body);max-width:42ch}
.mani-grid .sub{grid-column:8/12;font-family:var(--sans);font-style:italic;font-size:1.7rem;line-height:1.35;color:var(--acc-text);align-self:end;max-width:none}

/* equipe: cards */
.team{background:var(--cream);padding:clamp(5rem,9vw,9rem) 0;border-top:1px solid var(--hair)}
.team-head{max-width:820px;margin-bottom:clamp(2.6rem,5vw,4.5rem)}
.team-head h2{font-size:clamp(2.2rem,4.4vw,4.2rem)}
.team-head p{font-family:var(--sans);font-style:italic;font-size:1.5rem;color:var(--mute);margin-top:1.2rem}
.cards{display:grid;grid-template-columns:1fr;gap:2rem}
.card{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:clamp(1.4rem,2.4vw,2.4rem);background:var(--white);border:1px solid var(--hair);border-radius:var(--r);padding:clamp(1.2rem,2vw,1.8rem);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -36px rgba(128,111,96,.4)}
.photo{align-self:start;aspect-ratio:3/4.4;border-radius:16px;overflow:hidden;background:var(--tint)}
.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;transition:transform 1s var(--ease)}
.card:hover .photo img{transform:scale(1.04)}
.info{display:flex;flex-direction:column;padding:.4rem .2rem .2rem}
.info h3{font-family:var(--sans);font-weight:700;font-size:clamp(1.45rem,1.9vw,1.9rem);line-height:1.2;color:var(--deep)}
.crp{font-size:1.02rem;font-weight:800;letter-spacing:.08em;color:var(--accent);margin:.5rem 0 1.1rem}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin-bottom:1.2rem}
.chips li{font-size:.88rem;font-weight:600;padding:.28rem .85rem;border-radius:999px;background:var(--tint);color:var(--deep)}
.excerpt{font-size:1.06rem;color:var(--body);max-width:75ch;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:1.5rem}
.actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:.7rem}

/* como funciona */
.how{padding:clamp(5rem,9vw,9rem) 0 clamp(2.5rem,4vw,4rem)}
.how-head{max-width:820px;margin:0 auto clamp(2.6rem,5vw,4.5rem);text-align:center}
.how-head h2{font-size:clamp(2.4rem,4.8vw,4.6rem)}
.how-head p{font-family:var(--sans);font-style:italic;font-size:1.5rem;color:var(--mute);margin-top:1.2rem}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;align-items:stretch}
.step{background:var(--cream);border:1px solid var(--hair);border-radius:var(--r);padding:2.2rem 1.8rem 2.4rem;text-align:center}
.step .n{font-family:var(--sans);font-weight:700;font-style:italic;font-size:3.4rem;line-height:1;color:var(--mist);display:block;margin-bottom:1.6rem;padding-bottom:.06em}
.step h3{font-family:var(--sans);font-weight:700;font-size:1.35rem;line-height:1.3;color:var(--deep);margin-bottom:.8rem}
.step p{margin-inline:auto;font-size:1.03rem;color:var(--body)}


/* chamada final + rodape */
.cta{padding:clamp(2.5rem,5vw,5rem) 0 clamp(3rem,5vw,5rem);text-align:center}
.cta h2{font-size:clamp(2.3rem,5vw,4.8rem);max-width:18ch;margin:0 auto 1.6rem}
.cta p{max-width:44ch;margin:0 auto 2.4rem;font-size:1.2rem;color:var(--body)}
.word{font-family:var(--serif);font-weight:500;font-size:clamp(3rem,13.4vw,15rem);line-height:.9;letter-spacing:-.04em;color:var(--mist);opacity:.5;text-align:center;white-space:nowrap;overflow:hidden;padding-bottom:.12em;user-select:none}
.word i{font-weight:400}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.6rem var(--gut) 2.2rem;border-top:1px solid var(--hair);font-size:.95rem;color:var(--mute)}

/* reveal */
.rv{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--d,0)*100ms)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}

/* responsivo */
@media (max-width:1100px){
  .steps{grid-template-columns:repeat(2,1fr);padding-bottom:0}
  .step{margin-top:0}
  .hero-copy{grid-column:7/13}
}
@media (max-width:980px){
  .cards{grid-template-columns:1fr}
  .card{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
}
@media (max-width:860px){
  .burger{display:block}
  .menu{position:fixed;inset:0;background:var(--sand);flex-direction:column;justify-content:center;gap:.8rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s var(--ease),visibility 0s linear .4s}
  .menu.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .4s var(--ease),visibility 0s}
  .menu{gap:.8rem}
  .menu a{font-family:var(--sans);font-size:2.2rem;font-weight:700}
  .menu a::before{display:none}
  .menu{gap:0}
  .menu li{width:min(78%,320px);text-align:center}
  .menu li + li{border-top:1px solid var(--hair)}
  .menu a{display:block;padding:1.1rem 0}
  .menu a{border-radius:14px;background:linear-gradient(var(--tint),var(--tint)) 0 50%/0 100% no-repeat;transition:background-size .45s var(--ease),color .3s}
  .menu a:hover,.menu a:active,.menu a:focus-visible{background-size:100% 100%;color:var(--accent-hover)}
  .menu li{opacity:0;translate:0 14px;transition:opacity .5s var(--ease),translate .5s var(--ease)}
  .menu.open li{opacity:1;translate:0 0}
  .menu.open li:nth-child(2){transition-delay:.08s}
  .menu.open li:nth-child(3){transition-delay:.16s}
  header,header.menu-open{background:var(--sand);backdrop-filter:none;-webkit-backdrop-filter:none}
  .hero{align-items:flex-start;flex-direction:column;min-height:0}
  .hero-img{position:relative;height:auto;min-height:0;aspect-ratio:4/3;width:100%;background-position:30% 60%}
  :root{--gut:30px}
  .hero-inner{display:block;padding:2.9rem var(--gut) 4rem}
  .hero-copy{padding-left:0}
  .hero h1{font-size:clamp(2.9rem,13vw,4.4rem)}
  .mani-grid{display:block}
  .mani-grid p,.mani-grid .sub{font-weight:600;margin-top:1.8rem}
  .mani-grid .mani-note{margin-top:2rem}
  .mani-note p{margin-top:0}



}
@media (max-width:620px){
  .card{grid-template-columns:1fr}
  .photo{aspect-ratio:4/5;max-width:360px;width:100%;margin-inline:auto}
  .steps{grid-template-columns:1fr}
  .step h3{font-size:1.5rem}
  .step p{font-size:1.15rem;line-height:1.6}
  .foot{flex-direction:column}
}

/* paginas de perfil */
.profile{padding:calc(76px + clamp(2rem,5vw,4rem)) 0 clamp(4rem,8vw,7rem)}
.back{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:700;font-size:1rem;color:var(--deep);padding:.8rem 0;min-height:48px;margin-bottom:1.4rem}
.back i{font-size:1.2rem;transition:transform .3s var(--ease)}
.back:hover i{transform:translateX(-4px)}
.p-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,5vw,6rem);align-items:start}
.p-photo{position:static}
.p-photo .photo{aspect-ratio:3/4.4;width:100%}
.p-photo .photo img{transition:none}
.p-body h1{font-size:clamp(2.2rem,4.2vw,4rem);margin:.9rem 0 .7rem}
.p-body .crp{margin:0 0 1.4rem}
.p-body .chips{margin-bottom:2rem}
.p-body .quote{font-family:var(--sans);font-style:italic;font-size:1.6rem;line-height:1.4;color:var(--acc-text);margin-bottom:1.6rem}
.p-body p.t{margin-bottom:1.2rem;color:var(--body);max-width:62ch}
.p-body h2{font-family:var(--sans);font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-text);font-weight:700;margin:2.4rem 0 .8rem}
.p-body ul.f{margin:0 0 1rem;padding-left:1.2rem;color:var(--body)}
.p-body ul.f li{margin-bottom:.3rem}
.p-cta{margin-top:2.4rem;padding:1.8rem;border-radius:var(--r);background:var(--tint);display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:space-between}
.p-cta p{font-family:var(--sans);font-size:1.3rem;line-height:1.35;color:var(--deep);max-width:24ch}
.others{background:var(--cream);border-top:1px solid var(--hair);padding:clamp(4rem,7vw,7rem) 0}
.others h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:2rem}
.others ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.others a{display:flex;align-items:center;gap:1.1rem;text-decoration:none;padding:1rem;border:1px solid var(--hair);border-radius:var(--r);background:var(--white);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.others a:hover{transform:translateY(-3px);box-shadow:0 24px 50px -34px rgba(128,111,96,.45)}
.others img{width:68px;height:84px;border-radius:10px;object-fit:cover;object-position:50% 20%;flex:none}
.others span{font-family:var(--sans);font-size:1.15rem;line-height:1.3;color:var(--deep)}
@media (max-width:980px){
  .p-grid{grid-template-columns:1fr}
  .p-photo{position:static;max-width:380px}
  .others ul{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .p-photo{max-width:none}
  .p-photo .photo{aspect-ratio:4/5}
  .others ul{grid-template-columns:1fr}
}

.pill .wa-ico{width:1.15rem;height:1.15rem;flex:none}

.mani-grid .mani-note{grid-column:1/9;margin-top:3rem;padding-left:clamp(1.4rem,2.4vw,2.4rem);border-left:3px solid var(--accent)}
.mani-note p{margin:0;max-width:34ch;font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.45;color:var(--body)}
.mani-note strong{font-weight:700;color:var(--accent)}
.mani-note .end{margin-top:1.2rem;font-style:italic;font-weight:600;color:var(--acc-text)}

/* linhas abstratas */
.manifesto,.team,.cta{position:relative;overflow:hidden}
.manifesto>.wrap,.team>.wrap,.cta>.wrap{position:relative;z-index:1}
.manifesto::after,.team::before,.cta::before,.cta::after{content:"";position:absolute;pointer-events:none;background-repeat:no-repeat;background-size:100% 100%}
.manifesto::after{right:0;top:50%;translate:0 -50%;width:min(46vw,640px);aspect-ratio:6/5;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 500' fill='none' stroke='%23A8B9A5' stroke-width='1.6' stroke-linecap='round'><path d='M0 330C120 250 210 410 340 310S520 190 600 250'/><path d='M0 372C130 292 220 452 350 352S520 232 600 292'/><path d='M0 414C140 334 230 494 360 394S520 274 600 334'/><path d='M0 456C150 376 240 536 370 436S520 316 600 376' opacity='.6'/><path d='M390 30C500 50 585 130 560 230' opacity='.7'/><path d='M350 60C470 70 560 160 540 260' opacity='.4'/></svg>");opacity:.7}
.team::before{right:-40px;top:-30px;width:min(40vw,520px);aspect-ratio:1;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400' fill='none' stroke='%23A8B9A5' stroke-width='1.5' stroke-linecap='round'><path d='M400 40C300 60 250 140 270 220S190 360 100 400'/><path d='M400 80C310 100 280 160 300 230S230 350 150 400' opacity='.7'/><path d='M400 120C320 140 310 180 330 240S270 340 200 400' opacity='.5'/><circle cx='330' cy='90' r='34' opacity='.5'/></svg>");opacity:.8}
.cta::before{left:0;bottom:0;width:min(34vw,460px);aspect-ratio:1;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400' fill='none' stroke='%23A8B9A5' stroke-width='1.5' stroke-linecap='round'><path d='M0 120C90 110 150 170 140 250S200 370 300 400'/><path d='M0 160C80 150 120 200 110 270S160 360 230 400' opacity='.7'/><path d='M0 200C70 190 90 230 80 290S110 360 150 400' opacity='.5'/></svg>");opacity:.8}
.cta::after{right:0;top:0;width:min(30vw,400px);aspect-ratio:1;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400' fill='none' stroke='%23A8B9A5' stroke-width='1.5' stroke-linecap='round'><path d='M120 0C140 80 230 120 300 110S400 150 400 200'/><path d='M170 0C180 70 250 100 310 90S400 120 400 160' opacity='.6'/><circle cx='320' cy='60' r='22' opacity='.5'/></svg>");opacity:.8}
@media (max-width:860px){
  .manifesto::after{width:80vw;top:auto;bottom:-40px;translate:none;opacity:.45}
  .team::before,.cta::before,.cta::after{opacity:.4}
}


/* linhas do hero */
.hero::before{content:"";position:absolute;top:0;right:0;bottom:0;width:48%;pointer-events:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 900' preserveAspectRatio='xMaxYMid slice' fill='none' stroke='%237f9a86' stroke-width='1.5' stroke-linecap='round'><path d='M600 70C480 130 420 270 470 390S380 650 240 710'/><path d='M600 120C500 180 450 300 500 410S420 660 290 730' opacity='.7'/><path d='M600 170C520 230 480 330 530 430S460 670 340 750' opacity='.5'/><circle cx='500' cy='150' r='80' opacity='.5'/><circle cx='500' cy='150' r='130' opacity='.3'/><path d='M0 830C150 770 300 890 450 820S560 800 600 810' opacity='.6'/><path d='M0 870C150 810 300 930 450 860S560 840 600 850' opacity='.4'/></svg>") right center/cover no-repeat;opacity:.75}
@media (max-width:860px){
  .hero::before{display:none}
}

/* atendimento presencial */
.presencial{display:flex;align-items:center;gap:.45rem;margin:-.5rem 0 1.1rem;font-size:.98rem;font-weight:600;color:var(--deep)}
.presencial i{font-size:1.15rem;color:var(--accent)}
.p-local{display:flex;gap:1rem;align-items:flex-start;margin-top:2.4rem;padding:1.3rem 1.5rem;border-radius:var(--r);border:1px solid var(--hair);background:var(--white)}
.p-local>i{font-size:1.6rem;color:var(--accent);margin-top:.15rem}
.p-body .p-local h2{margin:0 0 .3rem}
.p-local p{margin:0 0 .5rem;color:var(--body)}
.p-local a{font-weight:700;color:var(--accent)}
