/* Urban Peace · Sandy Teixeira · 2026 */
:root{--ink:#304c3f;--paper:#f7f4ed;--olive:#71876a;--line:#d9dfd2;--muted:#657064;--lilac:#ded2e8;--sage:#d4e3cb}
body,p,li,input,select,textarea{font-family:'Montserrat',sans-serif}h1,h2,h3,h4,h5,h6,.quote{font-family:'Plus Jakarta Sans',sans-serif;font-weight:500}h1 em,h2 em,h3 em,h4 em,.quote em{font-family:'Playfair Display',serif;font-weight:500}nav,nav a,nav button,nav summary,.eyebrow,.btn,button{font-family:'Plus Jakarta Sans',sans-serif}.nav{gap:19px;font-size:.78rem}.nav-cta,.nav .btn,.btn.outline.nav-cta{background:var(--lilac);color:var(--ink);border-color:var(--lilac);white-space:nowrap}.btn{background:var(--sage);color:var(--ink);border-color:var(--sage);font-weight:600}.btn:hover{background:#bed1b5;color:#253f32}.btn.outline{color:var(--ink)}.dark .btn.outline{background:var(--lilac);color:var(--ink);border-color:var(--lilac)}.protocol-card .btn,.protocols .btn,.protocol-cta{background:var(--sage)!important;color:var(--ink)!important;font-weight:600}.need .arrow{display:grid;place-items:center;width:32px;height:32px;border:1px solid #66846b;border-radius:50%;color:var(--ink)}.arrow svg{width:16px;height:16px}.need strong{padding-right:25px}.footer{background:#304c3f}.footer .brand img{filter:none}.footer a{color:#f5f3eb}
.motion-carousel{width:100%;min-width:0}.rail-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:0 0 18px;font-size:.7rem;color:var(--muted)}.carousel-pause{background:transparent;border:1px solid var(--line);border-radius:25px;color:var(--ink);padding:8px 14px;font-size:.7rem}.rail-window{overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;max-width:100%;-webkit-overflow-scrolling:touch}.rail-window::-webkit-scrollbar{display:none}.rail-track{display:flex;width:max-content;gap:24px}.rail-group{display:flex;gap:24px;padding-right:0;width:max-content}.rail-group>*{flex:0 0 310px;width:310px;max-width:none}.rail-group .visual-card{margin:0}.rail-group .visual-card img{height:340px;object-fit:cover;object-position:center}.rail-group .cert{flex-basis:180px;width:180px;min-height:180px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:5px;padding:20px}.rail-group .cert img{object-fit:contain!important;width:140px!important;height:120px!important}.rail-group figure{margin:0}.rail-group figure img{width:100%;height:390px;object-fit:contain;background:#eeeee7}.rail-group figure figcaption{font-size:.73rem;padding-top:12px}.team-intro{padding:100px 0}.team-intro .split{align-items:center}.team-intro img{height:auto;max-height:700px;aspect-ratio:4/5;object-fit:contain;background:#eee9df;border-radius:120px 120px 4px 4px}.team-intro .small{color:var(--muted)}.experience{padding:80px 0;background:#ebe7ef}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.video-grid figure{margin:0}.video-grid video{width:100%;height:470px;object-fit:contain;background:#e2ded6;border-radius:100px 100px 4px 4px}.video-grid figcaption{font-size:.85rem;margin-top:15px}.reviews-carousel figure{margin:0;padding:30px;background:#edece3;border:1px solid var(--line);min-width:310px}.reviews-carousel figure img{width:64px;height:64px;border-radius:50%;object-fit:cover}.reviews-carousel .stars{color:var(--ink);letter-spacing:4px;font-size:1.2rem;margin:10px 0}.reviews-carousel blockquote{margin:15px 0;font-size:.94rem}.reviews-carousel figcaption{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600}.retreat-opening{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:center;margin-bottom:70px}.retreat-photo{width:100%;height:auto;max-height:700px;object-fit:contain;background:#eeeae2;border-radius:100px 100px 4px 4px}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:35px 0 75px}.practice-grid>*{padding:25px;background:#e8eedd}.retreat-days{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:45px 0}.retreat-days>article,.retreat-days>div{border:1px solid var(--line);padding:26px}.retreat-days li{margin-bottom:18px}.retreat-days h3{font-size:1.55rem}.retreat-days ul{padding-left:17px}.visual-card[href*="retiro"] img{object-fit:contain;height:auto;aspect-ratio:4/5;background:#eae7df;object-position:center}.page-photo,.therapy-photo{object-fit:contain!important;height:auto!important;max-height:700px}.split img[src*="sandy"]{object-fit:contain;height:auto;max-height:700px}.journal-grid{padding-bottom:100px}.journal-card[hidden]{display:none!important}.journal-card h3{margin-top:25px;font-size:1.5rem;letter-spacing:-.035em}.journal-card p{font-size:.83rem}.journal-search{display:block;max-width:600px;margin:35px 0 24px}.journal-search input{width:100%;padding:14px;border:1px solid var(--line);background:#fffef8;color:var(--ink);margin-top:8px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{background:transparent;border:1px solid var(--line);border-radius:30px;padding:8px 15px;color:var(--ink)}.filter.active{background:var(--sage)}.article-layout{display:grid;grid-template-columns:230px minmax(0,750px);gap:70px;padding-bottom:90px}.article-layout .aside a{display:block;font-size:.8rem;margin:15px 0}.article-layout h2{font-size:clamp(1.7rem,2.5vw,2.5rem)}.article-layout .prose>section{margin-bottom:45px}.booking-form textarea{width:100%;background:#fffef9;border:1px solid var(--line);padding:13px;border-radius:4px}.booking-form select{min-height:50px;color:var(--ink)}.booking-status{background:#e9e2ef!important;color:var(--ink)!important}.booking-calendar button[aria-pressed="true"]{background:var(--ink);color:#fff}.booking-calendar button:disabled{opacity:.3}.booking-form .btn:disabled{opacity:.65}.section+.section{padding-top:70px}
@media(max-width:1100px){.nav{gap:12px}.nav-cta{padding:12px}.retreat-opening{gap:30px}.article-layout{gap:35px}}
@media(max-width:850px){.nav{font-size:.95rem}.nav a,.nav summary{padding:10px}.rail-group>*{flex-basis:75vw;width:75vw}.rail-group .visual-card img{height:360px}.rail-group .cert{flex-basis:145px;width:145px}.rail-group .cert img{width:110px!important}.team-intro{padding:65px 0}.team-intro .split,.retreat-opening{grid-template-columns:1fr}.video-grid{grid-template-columns:repeat(3,75vw);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}.video-grid figure{scroll-snap-align:start}.video-grid video{height:440px}.retreat-days,.practice-grid{grid-template-columns:1fr}.article-layout{grid-template-columns:1fr}.article-layout .aside{display:none}.need .arrow{right:12px;top:27px;width:29px;height:29px}.need{padding-right:32px}.need strong{font-size:1.1rem}.rail-toolbar span{max-width:60%}.protocol-card .btn,.protocols .btn,.protocol-cta{font-size:.9rem;padding:16px 20px}.retreat-photo{max-height:620px}.header .brand img{width:72px;height:auto}.rail-group figure img{height:380px}.section-head{align-items:start}.team-intro img{max-height:600px}.experience{padding:60px 0}.reviews-carousel figure{min-width:82vw}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.rail-window{scroll-snap-type:x proximity}.rail-group>*{scroll-snap-align:start}}
.rail-group .card img{width:100%;height:350px;object-fit:cover;object-position:center;border-radius:90px 90px 3px 3px}.rail-group .card{padding:0;border:0}.rail-group .card h3{margin-top:20px}.retreat-full-photo{object-fit:contain!important;object-position:center!important;height:auto!important;max-height:700px;aspect-ratio:4/5;background:#eeeae2}.retreat-days dl{margin:0}.retreat-days dl>div{padding:12px 0;border-bottom:1px solid var(--line)}.retreat-days dt{font-size:.75rem;font-weight:600;color:#678061}.retreat-days dd{margin:5px 0 0;font-size:.84rem}.stars{display:block}.formation-frame img[src*="formacao-real-8"]{object-fit:contain}
.therapy-banner{height:auto;max-height:650px;object-fit:contain;object-position:center;background:#eeebe3}.need strong{font-family:'Plus Jakarta Sans',sans-serif}.reviews-carousel .review-person{display:flex;gap:18px;align-items:center;margin-bottom:22px}.reviews-carousel .review-person img{flex:0 0 64px}.reviews-carousel figcaption{line-height:1.5}.footer .eyebrow{color:#d8e2d0}.booking-calendar button{min-width:0}.booking-shell{overflow:hidden}
.split .training-portrait{height:auto;max-height:640px;object-fit:contain;background:#edeae2;border-radius:100px 100px 4px 4px}
