@font-face{font-family:Instrument Serif;src:url('assets/fonts/instrument-serif-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/fonts/dm-sans-latin.woff2') format('woff2');font-style:normal;font-weight:400 500;font-display:swap}
:root{--paper:#f8f6f0;--ink:#273c40;--muted:#506064;--petrol:#2d5057;--sand:#eee8de;--blue:#e8eff0;--line:#b7beb9;--header-height:101px;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',sans-serif;--max:1240px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}button,a,input,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{font:inherit}img{display:block;max-width:100%}figure{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.07}h2{font-size:clamp(2.6rem,4.3vw,4.1rem);letter-spacing:-.02em;margin-bottom:1.6rem}h3{font-size:2rem;margin:1.8rem 0 .8rem}p+p{margin-top:1.2rem}em{font-weight:400}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--petrol);outline-offset:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:16px;z-index:50;padding:12px;background:white}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:101px;padding:18px max(24px,calc((100vw - 1340px)/2));background:var(--paper);border-bottom:1px solid var(--ink)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}.brand>span{white-space:nowrap;font-family:var(--serif);font-size:2.65rem;line-height:1}.brand small{display:block;margin-top:8px;font:400 .66rem/1.3 var(--sans);letter-spacing:.045em}.site-nav{display:flex;align-items:center;gap:26px;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase}.site-nav a{text-decoration:none}.site-nav a:hover{text-decoration:underline}.site-nav .nav-contact{display:flex;gap:24px;align-items:center;border:1px solid var(--ink);padding:11px 22px}.nav-toggle{display:none}
.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:45px;max-width:1340px;margin:auto;padding:50px 0 62px}.hero-copy{padding:0 0 0 26px;max-width:670px}.eyebrow{font-size:.72rem;line-height:1.5;text-transform:uppercase;letter-spacing:.11em;margin-bottom:24px;color:var(--petrol)}.hero h1{font-size:clamp(2.8rem,6.2vw,6rem);white-space:nowrap;line-height:1.05;letter-spacing:-.035em;margin-bottom:30px}.hero-lede{max-width:480px;font-size:1.06rem;line-height:1.8;color:var(--muted);margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:50px;padding:13px 23px;border:1px solid var(--ink);border-radius:0;background:transparent;text-decoration:none;font:400 .74rem/1.45 var(--sans);text-transform:uppercase;letter-spacing:.07em;transition:background .18s,color .18s}.button:hover{background:var(--petrol);color:var(--paper)}.button-primary{background:var(--petrol);color:#fff;border-color:var(--petrol)}.button-primary:hover{background:var(--ink)}.hero-visual{position:relative;width:100%;max-width:520px;justify-self:end;min-height:0;padding-block:20px;isolation:isolate}.hero-art{position:absolute;right:0;top:0;width:98%;height:100%;object-fit:cover;z-index:-1}.hero-media{position:relative;width:90%;max-width:none;margin-left:0}.hero-media img{width:100%;height:auto;border:1px solid var(--ink)}
.editorial{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(50px,9vw,130px);padding:90px max(32px,calc((100vw - var(--max))/2));overflow:hidden}.section-copy{min-width:0}.section-copy>p{font-size:1.035rem;color:var(--muted);line-height:1.85}.editorial-photo img,.portrait-frame img,.infant-photo{width:100%;height:auto;border:1px solid var(--line)}.editorial-photo{width:100%;max-width:420px}.therapy-section{grid-template-areas:'photo copy';background:#f0ece3}.therapy-section .section-copy{grid-area:copy}.therapy-section .books-photo{grid-area:photo;max-width:390px;margin-inline:auto}.therapy-section::before{content:'';position:absolute;left:0;top:0;bottom:0;width:25%;background:url('assets/images/arte-abstrata-textura.webp') center/cover;opacity:.10;filter:grayscale(1);z-index:-1}.literary-quote{margin:1.8rem 0;border-left:1px solid #9c7967;padding-left:22px}.literary-quote p{font:italic 400 1.9rem/1.2 var(--serif);margin-bottom:10px}.literary-quote cite{font:400 .75rem/1.6 var(--sans);color:var(--muted)}.literary-quote cite span{font-style:italic}.art-backed{position:relative;isolation:isolate}.art-backed::before{content:'';position:absolute;inset:35px -35px -35px 35px;border:1px solid #a5b5b5;z-index:-1}.infant-section{background:var(--blue);align-items:center;gap:90px}.infant-photo{max-width:410px;justify-self:center}.infant-section>div>p:not(.eyebrow){font-size:1.035rem;line-height:1.85;color:var(--muted)}.infant-section .eyebrow{margin-bottom:20px}.infant-section h2{max-width:none}.infant-section h3{font-size:2.1rem}.about-section{background:var(--paper)}.about-section .portrait-frame{width:100%;max-width:420px;justify-self:center}.about-section h2{font-size:clamp(3rem,5vw,4.6rem)}
.online-section{border-block:1px solid var(--line);padding:47px max(32px,calc((100vw - var(--max))/2));background:#eeeee5}.online-section .section-copy{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.online-section h2{font-size:2.7rem;max-width:13ch;margin-bottom:0}.online-section p{font-size:1.02rem;margin:0;max-width:470px}.contact-section{position:relative;isolation:isolate;background:var(--sand);padding:80px max(32px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center}.contact-copy h2{font-size:clamp(3.3rem,6vw,5rem);margin-bottom:25px}.contact-copy>p{color:var(--muted)}.contact-copy address{margin:24px 0;font-style:normal;color:var(--muted)}.contact-actions{display:flex;flex-wrap:wrap;gap:12px}.text-link{display:inline-block;font-size:.82rem;margin-top:24px}.location-panel{min-width:0;border:1px solid #abb4ae}.map-frame{height:420px;background:#e2e3db}.map-frame iframe{display:block;border:0;width:100%;height:100%}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px max(24px,calc((100vw - var(--max))/2));font-size:.69rem;line-height:1.6;border-top:1px solid var(--line)}.site-footer p{max-width:740px}.site-footer a{flex-shrink:0}.analytics-preferences{border:0;background:transparent;color:var(--ink);text-decoration:underline;font-size:.7rem;padding:8px}
.privacy-banner{position:fixed;z-index:40;bottom:16px;left:16px;right:16px;max-height:calc(100dvh - 32px);overflow:auto;display:grid;grid-template-columns:1fr auto;gap:30px;padding:25px;background:var(--paper);border:1px solid var(--ink);box-shadow:0 4px 30px #273c4020}.privacy-banner h2{font:400 1.8rem/1.2 var(--serif);margin-bottom:12px}.privacy-banner p,.privacy-banner details,.ads-consent-choice{font-size:.83rem;line-height:1.6}.privacy-banner details{margin-top:12px}.privacy-banner summary{cursor:pointer}.privacy-banner details p{margin-top:10px}.ads-consent-choice{display:flex;gap:10px;align-items:flex-start;margin-top:14px}.ads-consent-choice input{margin-top:5px;accent-color:var(--petrol)}.privacy-actions{display:flex;gap:12px;align-self:end;flex-wrap:wrap}.privacy-banner[hidden],.analytics-preferences[hidden]{display:none}
@media(min-width:1500px){.hero{padding-inline:0}.hero-copy{padding-left:0}}
@media(max-width:1150px){.site-header{gap:20px;padding-inline:24px}.brand>span{font-size:2.15rem}.site-nav{gap:18px;font-size:.67rem}.site-nav .nav-contact{padding:11px 16px;gap:12px}.hero{padding-inline:32px;gap:25px}.hero-copy{padding-left:0}.hero-visual{padding-block:20px}.editorial{gap:60px;padding-block:75px}}
@media(max-width:900px){.site-header{min-height:86px;padding:15px 24px}.brand>span{font-size:2rem}.brand small{font-size:.6rem}.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;padding:9px;border:1px solid var(--ink);background:transparent}.nav-toggle span:not(.sr-only){display:block;height:1px;width:24px;background:var(--ink)}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--ink);padding:18px 24px;align-items:stretch;gap:0;font-size:.75rem}.site-nav.is-open{display:flex;flex-direction:column}.site-nav a{padding:13px 0}.site-nav .nav-contact{margin-top:10px;justify-content:space-between;padding:13px}.hero h1{font-size:5.9vw}.hero-visual{padding-block:20px}.hero-lede{font-size:.95rem}.hero{gap:25px}.editorial{padding-block:65px;gap:45px}.editorial h2{font-size:2.7rem}.section-copy>p,.infant-section>div>p:not(.eyebrow){font-size:.96rem;line-height:1.8}.infant-section{grid-template-columns:.82fr 1fr;gap:40px}.online-section .section-copy{gap:40px}.online-section h2{font-size:2.3rem}.online-section p{font-size:.95rem}.contact-copy address{font-size:.92rem}.privacy-banner{grid-template-columns:1fr;gap:18px}}
@media(max-width:650px){.site-header{padding:13px 20px}.brand{gap:8px}.brand>span{font-size:1.85rem}.brand small{font-size:.53rem;letter-spacing:.01em}.hero{display:flex;flex-direction:column;padding:40px 24px 50px;gap:34px;align-items:stretch}.hero-copy{max-width:none}.eyebrow{font-size:.61rem;letter-spacing:.08em;margin-bottom:20px}.hero h1{font-size:clamp(2.55rem,11.2vw,4.4rem);margin-bottom:24px}.hero-lede{font-size:1rem;margin-bottom:24px;max-width:42ch}.hero-visual{width:100%;max-width:430px;align-self:center;min-height:0;padding:18px 0}.hero-art{width:98%;height:100%;top:0;right:0}.hero-media{max-width:none;width:90%;padding:0;margin-left:0}.hero-media img{width:100%}.editorial{grid-template-columns:minmax(0,1fr);gap:40px;padding:50px 26px}.editorial h2{font-size:clamp(2.55rem,9vw,3.1rem);max-width:18ch}.section-copy>p,.infant-section>div>p:not(.eyebrow){font-size:1rem;line-height:1.85}.therapy-section{grid-template-areas:'copy' 'photo';padding-bottom:70px}.therapy-section::before{width:38%}.therapy-section .books-photo{width:calc(100% - 25px);max-width:330px;margin:0 25px 0 0;justify-self:center}.art-backed::before{inset:22px -22px -22px 22px}.literary-quote{margin:24px 0}.literary-quote p{font-size:1.8rem}.infant-photo{grid-row:2;max-width:365px}.infant-section h2{max-width:none;font-size:clamp(2rem,8.3vw,3.1rem)}.infant-section .eyebrow{font-size:.65rem}.infant-section h3{font-size:2rem}.about-section .portrait-frame{max-width:365px;width:100%;margin-left:0}.about-section{padding-bottom:60px}.online-section{padding:35px 26px}.online-section .section-copy{grid-template-columns:1fr;gap:22px}.online-section h2{font-size:2.45rem;max-width:15ch}.contact-section{grid-template-columns:minmax(0,1fr);gap:40px;padding:48px 26px}.contact-copy h2{font-size:3.4rem}.contact-copy>p{font-size:1rem}.contact-actions{gap:10px}.button{font-size:.67rem;padding:13px 18px;gap:20px}.location-panel{grid-column:1;}.map-frame{height:280px}.site-footer{flex-direction:column;align-items:flex-start;gap:16px;padding:25px 24px;font-size:.65rem}.privacy-banner{padding:20px;left:10px;right:10px;bottom:10px;max-height:calc(100dvh - 20px)}.privacy-actions{flex-direction:column}.privacy-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.instagram-section{padding:65px max(26px,calc((100vw - var(--max))/2));background:var(--paper);border-bottom:1px solid var(--line)}
.instagram-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:30px}.instagram-heading h2{margin:0}.profile-link{font-size:.9rem;text-decoration:none}.profile-link:hover{text-decoration:underline}.profile-link span{margin-left:18px}
.instagram-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0;margin:0}.instagram-track::-webkit-scrollbar{display:none}.instagram-card{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start;border:1px solid var(--line);background:#f0eee8}.instagram-card img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.instagram-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.instagram-position{font-size:.72rem;letter-spacing:.05em;color:var(--muted)}.instagram-controls>div{display:flex;gap:10px}.instagram-controls button{width:48px;height:44px;border:1px solid var(--ink);border-radius:0;color:var(--ink);background:transparent;font-size:1.2rem}.instagram-controls button:hover:not(:disabled){background:var(--petrol);color:var(--paper)}.instagram-controls button:disabled{opacity:.3;cursor:default}
html:not(.has-js) .instagram-controls{display:none}
@media(max-width:900px){.instagram-card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:650px){.instagram-section{padding-block:45px}.instagram-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:25px}.instagram-card{flex-basis:88%}.instagram-track{gap:18px}}

.instagram-card:focus-visible{outline-offset:-4px}

/* Pintura do mar fornecida para a abertura; enquadramento sem zoom adicional. */
.hero-art{overflow:hidden}
.hero-art>img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:60% center}

.infant-section .infant-subtitle{margin:0 0 1.2rem;font-size:clamp(1.8rem,2.5vw,2.1rem)}
.contact-phone a{white-space:nowrap}

.office-carousel{min-width:0}
.office-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:3/4;border:1px solid var(--line)}
.office-track::-webkit-scrollbar{display:none}
.office-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.office-slide img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
.office-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px}
.office-controls>span{font-size:.72rem;letter-spacing:.05em;color:var(--muted)}
.office-controls>div{display:flex;gap:10px}
.office-controls button{width:48px;height:44px;border:1px solid var(--ink);border-radius:0;color:var(--ink);background:transparent;font-size:1.2rem}
.office-controls button:hover:not(:disabled){background:var(--petrol);color:var(--paper)}
.office-controls button:disabled{opacity:.3;cursor:default}
html:not(.has-js) .office-controls{display:none}
@media(max-width:800px){.contact-section{grid-template-columns:minmax(0,1fr);gap:32px}.map-frame{height:320px}}
@media(max-width:650px){.map-frame{height:280px}}

/* Texturas discretas nos lados das fotografias, mantendo a área de leitura limpa. */
.infant-section::before,.about-section::before{content:'';position:absolute;top:0;bottom:0;pointer-events:none;z-index:-1;background-repeat:no-repeat;background-size:cover;filter:grayscale(1)}
.infant-section::before{left:0;width:33%;background-image:url('assets/images/arte-mar-azul.webp');background-position:60% 70%;opacity:.12;mask-image:linear-gradient(to right,#000 55%,transparent)}
.about-section::before{right:0;width:35%;background-image:url('assets/images/arte-abstrata-textura.webp');background-position:70% 45%;opacity:.14;transform:scaleX(-1);mask-image:linear-gradient(to right,#000 65%,transparent)}
@media(max-width:650px){
  .infant-section::before{top:auto;bottom:0;width:76%;height:42%;opacity:.10}
  .about-section::before{top:auto;bottom:0;width:75%;height:58%;opacity:.12}
}

.infant-photo{position:relative;max-width:420px;aspect-ratio:11/16;overflow:hidden}
@media(max-width:650px){.infant-photo{max-width:100%}}

.keep-together{white-space:nowrap}
.infant-photo img{position:absolute;left:50%;top:50%;width:150%;max-width:none;height:auto;transform:translate(-50%,-50%) rotate(-90deg) scale(1.1)}
