@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#242a36;--muted:#4e5766;--accent:#525c76;--paper:#faf8f5;--line:#525c762a;--serif:"Playfair Display",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);font:16px/1.65 "DM Sans",system-ui,sans-serif;background:radial-gradient(ellipse at 77% 8%,#dce1ee 0,transparent 26%),var(--paper)}a{color:inherit}button,.button{font:inherit;font-weight:700;border:0;border-radius:100px;background:#353e56;color:white;padding:.75em 1.25em;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s,transform .2s}button:hover,.button:hover{background:#485674;transform:translateY(-2px)}button:disabled{opacity:.45;cursor:default;transform:none}a:focus-visible,button:focus-visible{outline:3px solid #7363ac;outline-offset:4px}[hidden]{display:none!important}
.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}.skip{position:fixed;top:-80px;z-index:10;background:white;padding:12px}.skip:focus{top:0}header{position:sticky;top:0;z-index:3;background:#faf8f5da;backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}.bar,.actions,.social{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.bar{justify-content:space-between;padding-block:14px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font:600 22px var(--serif)}.brand img{max-width:160px;max-height:52px}.seal{display:grid;place-items:center;background:#eef0f7;color:#3d4560;width:42px;height:42px;border-radius:50%;font:italic 24px var(--serif);flex:none}nav{display:flex;gap:20px;flex-wrap:wrap;font-size:.87rem}nav a{text-decoration:none}nav a:hover,.line-link:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:6%;min-height:690px;align-items:center;padding-block:64px 76px}.eyebrow{letter-spacing:.17em;font-size:.72rem;font-weight:700;color:#444e68}.eyebrow i{display:inline-block;width:8px;height:8px;background:#6f7e9f;border-radius:50%;margin-right:8px}h1,h2,h3{font:500 1.4rem/1.12 var(--serif);margin:.25em 0 .5em}h1{font-size:clamp(3.05rem,6.3vw,6rem);letter-spacing:-.05em}h2{font-size:clamp(2.25rem,4.2vw,4.1rem);letter-spacing:-.04em}em{color:var(--accent)}p{color:var(--muted)}.hero p,.intro{max-width:53ch;font-size:1.13rem}.hero small{display:block;margin-top:18px;color:var(--muted)}.portrait{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:44% 44% 30px 30px;background:linear-gradient(150deg,#c2c9dc,#7d879e);border:1px solid #fff;box-shadow:0 30px 80px #373d5829}.portrait>img{width:100%;height:100%;object-fit:cover;object-position:50% 32%;display:block}.portrait figcaption{position:absolute;bottom:18px;left:18px;right:18px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fffdf3df;backdrop-filter:blur(16px);border-radius:20px;border:1px solid #fff}.portrait small{margin:0}.tint{background:linear-gradient(115deg,#e7e9f2,#f4f1ee)}main>section:not(.hero){padding-block:76px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.grid,.books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block:30px}.grid article,.books article,.location{padding:24px;background:#ffffffa8;border:1px solid var(--line);border-radius:24px;backdrop-filter:blur(12px)}.grid article>span{font-size:.78rem;color:var(--accent)}.grid img{width:100%;height:145px;object-fit:cover;border-radius:14px;margin-bottom:15px}.line-link{font-weight:700;text-underline-offset:4px}.feature{padding:clamp(28px,7vw,85px);border-radius:34px;background:radial-gradient(ellipse at top right,#62708f,transparent 63%),#293247;color:#fff}.feature .eyebrow,.feature p{color:#e1e7f4}.feature p{max-width:53ch}.feature .button{background:white;color:var(--ink)}.books{grid-template-columns:repeat(2,minmax(0,1fr))}.books article{display:flex;gap:20px;align-items:center}.books img{width:25%;border-radius:6px;object-fit:contain}address{font-style:normal;margin-bottom:15px}footer{font-size:.9rem}.social{gap:14px}dialog{border:1px solid var(--line);border-radius:24px;width:min(740px,calc(100% - 28px));padding:16px;background:var(--paper);color:var(--ink);box-shadow:0 20px 70px #181c35a3}dialog::backdrop{background:#1c203375;backdrop-filter:blur(7px)}.dialog-bar{display:flex;align-items:center;justify-content:space-between}#original-form{width:100%;height:min(68vh,630px);border:0;border-radius:12px;background:white}#close{font-size:1.3rem;line-height:1;padding:8px 12px}
@media(max-width:850px){nav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}.bar{gap:10px}.hero{min-height:0}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.wrap{width:calc(100% - 32px)}.hero,.split,.grid,.books{grid-template-columns:1fr}.hero{gap:28px;padding-block:46px}.portrait{max-width:420px;width:100%;margin:auto}.split{gap:16px}main>section:not(.hero){padding-block:49px}.hero h1 br{display:none}footer .social{order:3;width:100%}}
@media(prefers-reduced-motion:no-preference){.hero-copy,.portrait{animation:arrive .85s both}.portrait{animation-delay:.12s}.enter{animation:arrive .7s both}@keyframes arrive{from{opacity:0;transform:translateY(16px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}}

:root{--ink:#152b51;--muted:#3c526f;--accent:#214780;--paper:#f8fbff;--line:#234d8526;--orange:#ff872b;--navy:#233f7a;--sky:#d9effb}
body{background:radial-gradient(ellipse 48% 530px at 87% 260px,#cae9fd 0%,transparent 100%),radial-gradient(ellipse 35% 430px at 0 360px,#ffede0 0%,transparent 100%),var(--paper)}
header{background:#ffffffdf;box-shadow:0 5px 30px #233f7a0a}
.brand img{display:block;width:clamp(150px,20vw,244px);max-width:none;max-height:none;height:auto}
nav{font-weight:600}
button,.button{background:var(--navy);color:#fff}
button:hover,.button:hover{background:#153260}
.hero .actions button,.hero .actions button:hover,.feature .button{background:var(--orange);color:#1b2b47;box-shadow:0 9px 25px #a24d2030}
.hero .actions button:hover,.feature .button:hover{background:#ff9d55}
.hero .actions>a{text-decoration:none;font-weight:700;border-bottom:1px solid #234d8555}
.hero{position:relative;grid-template-columns:1.12fr .88fr;gap:8%;min-height:680px}
.hero h1{font-size:clamp(3rem,6.2vw,6.1rem)}
.hero h1 em{color:#204c87}
.eyebrow{color:var(--navy)}
.eyebrow i{background:var(--orange);box-shadow:0 0 0 4px #ff872b27}
.hero-visual{position:relative;isolation:isolate}
.hero-visual:before{content:"";position:absolute;inset:-12px -15px 16px 24px;z-index:-1;border-radius:46% 46% 30px 30px;background:linear-gradient(150deg,#72b2e9 3%,#fff 50%,#ff9c5a 100%);transform:rotate(5deg)}
.portrait{border:4px solid #ffffffdf;box-shadow:0 28px 70px #143c6834;border-radius:45% 45% 32px 32px;background:linear-gradient(135deg,#8fc8ed,#24487e)}
.portrait figcaption{background:#f6fbffdf;bottom:16px}
.seal{background:#d9effb;color:#24457f}
.visual-note{position:absolute;right:-20px;top:24%;padding:12px 20px;border:1px solid white;background:#fffdf2d9;border-radius:16px;box-shadow:0 10px 35px #28427220;backdrop-filter:blur(14px);font-size:.65rem;font-weight:700;letter-spacing:.12em;line-height:1.4}
.visual-note span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:4px}
.visual-note b{font:italic 1.05rem var(--serif);letter-spacing:0;color:var(--navy)}
.tint{background:linear-gradient(120deg,#dcedff,#f4faff 60%,#fff0e2)}
.grid article,.books article,.location{box-shadow:0 14px 42px #2147800a}
.grid article>span{display:inline-block;background:#fff0e3;border-radius:30px;color:#7d3c0e;padding:4px 10px;margin-bottom:10px;font-weight:700}
.feature{background:radial-gradient(ellipse at 93% 0%,#3068a1,transparent 65%),linear-gradient(135deg,#152c58,#203d75);box-shadow:0 20px 55px #193b742a}
@media(max-width:850px){.hero{min-height:0;gap:5%}.visual-note{right:0}}
@media(max-width:640px){.hero{grid-template-columns:1fr;gap:34px}.hero-visual{width:min(94%,420px);margin-inline:auto}.hero-visual:before{inset:-8px 4px 12px 18px}.brand img{width:175px}.visual-note{top:25%}}

.service-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:18px;border-radius:18px;color:#214780;background:linear-gradient(145deg,#e2f5ff,#fff3e9);border:1px solid #d1e3f2}
.service-icon svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.grid article,.books article{transition:transform .25s,box-shadow .25s,border-color .25s}
.grid article:focus-within,.books article:focus-within{border-color:#427cb6}
.feature{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:360px}
.feature-copy{grid-area:1/1;position:relative;z-index:1}
.feature-art{grid-area:1/2;width:125%;height:auto;max-width:none;justify-self:center;pointer-events:none}
.hero-orbit{position:absolute;inset:4% -7% 2%;border:1px solid #5c9ad56e;border-radius:50%;transform:rotate(22deg);pointer-events:none}
.hero-orbit i{position:absolute;display:block;width:13px;height:13px;border-radius:50%;background:#ff8c37;left:5%;top:24%;box-shadow:0 0 0 5px #ff8c3726}
.hero-orbit i+i{background:#54a9df;left:auto;right:6%;top:auto;bottom:19%;box-shadow:0 0 0 5px #54a9df26}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
.grid article:hover,.books article:hover{transform:translateY(-5px);box-shadow:0 20px 45px #2147801d;border-color:#74a8d0}
.grid article:hover .service-icon{transform:rotate(-7deg)}
.service-icon{transition:transform .25s}
}
@media(prefers-reduced-motion:no-preference){
.feature-art,.visual-note{animation:float-art 7s ease-in-out infinite}
.visual-note{animation-delay:-2s}
@keyframes float-art{50%{transform:translateY(-10px)}}
}
@media(max-width:640px){.feature{grid-template-columns:1fr;min-height:0}.feature-art{grid-area:2/1;width:100%;margin:20px 0 -12px}.hero-orbit{inset:5% -3% 3%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

#post-reader{max-width:860px;margin:24px auto;padding:clamp(20px,5vw,48px);border:1px solid var(--line);border-radius:28px;background:white;scroll-margin-top:20px}
#post-title{margin-top:.65em}
#post-body img,#post-body video{max-width:100%;height:auto}
#post-body{overflow-wrap:anywhere}
#post-body figure{margin-inline:0}
#talk-panel{grid-column:1/-1;margin-top:24px}
#talk-form{display:block;width:100%;height:min(72vh,660px);border:0;border-radius:16px;background:white}

main>.hero-stage:not(.hero){padding:0}
.hero-stage{position:relative;isolation:isolate;overflow:hidden;background:#0b1d3b;color:#fff}
.hero-backdrop,.hero-backdrop::after,.hero-backdrop video{position:absolute;inset:0;width:100%;height:100%}
.hero-backdrop{z-index:-1;background:#102d55 url("./neuro-hero.jpg") center/cover no-repeat}
.hero-backdrop video{object-fit:cover}
.hero-backdrop::after{content:"";background:linear-gradient(90deg,#081833ed 0%,#0a1d3bdc 32%,#10284d51 72%,#10284d55 100%)}
.hero-stage .hero h1 em{color:#bde8ff}
.hero-stage .hero-copy p,.hero-stage .hero-copy small{color:#d9ebff}
.hero-stage .eyebrow{color:#d3edff}
.hero-stage .hero .actions>a{color:#fff;border-color:#badcff85}
.hero-stage .portrait figcaption,.hero-stage .visual-note{color:var(--ink)}
#hero-motion{position:absolute;bottom:12px;right:12px;padding:6px 12px;background:#0c2346d9;border:1px solid #b4dbff66;color:white;font-size:.75rem}
.tint{position:relative;isolation:isolate;overflow:hidden}
.tint::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 78% 28%,#63b8ef34,transparent 42%),radial-gradient(ellipse at 17% 88%,#ff9b4e25,transparent 42%);background-size:135% 135%}
@media(prefers-reduced-motion:no-preference){.tint::before{animation:ambient 14s ease-in-out infinite alternate}@keyframes ambient{to{background-position:100% 85%}}}
.motion-paused .tint::before,.motion-paused .feature-art,.motion-paused .visual-note{animation-play-state:paused}
@media(max-width:640px){.hero-stage .hero{padding-bottom:64px}.hero-backdrop::after{background:#091d3bbe}}

#office-map{width:100%;height:235px;border:1px solid var(--line);border-radius:16px;display:block;margin:0 0 12px;background:#e3effa}
.social a{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--navy);background:#fff;transition:background .2s,color .2s}
.social a:hover,.social a:focus-visible{background:var(--navy);color:white}
.social svg{width:22px;height:22px}

#booking{width:min(490px,calc(100% - 28px));padding:clamp(18px,4vw,28px)}
#booking-fields form,#booking-fields label{display:grid;gap:8px}
#booking-fields form{gap:16px}
#booking-fields input:not([type=hidden]){width:100%;padding:12px;border:1px solid #8ba4c2;border-radius:12px;background:white;color:var(--ink);font:inherit}
#booking-fields button{justify-self:start}
.about-page{padding-block:45px 70px}
.about-page section{margin-top:42px}
.about-page p{max-width:70ch}
.about-portrait{width:min(100%,320px);height:auto;border-radius:28px;justify-self:center}

video.feature-art{width:100%;aspect-ratio:8/5;object-fit:cover;border-radius:24px;border:1px solid #aadaff38;animation:none}
#booking-copy{margin-top:14px;color:var(--ink);line-height:1.45}
.booking-copy-block+.booking-copy-block{margin-top:10px}

#palestras .feature{display:flex;align-items:center;min-height:clamp(320px,45vw,510px);background:#132b54}
#palestras .feature::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#091b38f5,#112a50c9 49%,#132d5570)}
#palestras video.feature-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;margin:0;border:0;border-radius:0;object-fit:cover;object-position:center}
#palestras .feature{flex-wrap:wrap}
#palestras #talk-panel{flex:0 0 100%}
.therapy-steps ol{list-style:none;counter-reset:therapy;max-width:780px;padding:0;margin:24px 0 28px;border-top:1px solid var(--line)}
.therapy-steps li{counter-increment:therapy;position:relative;padding:18px 0 18px 48px;border-bottom:1px solid var(--line)}
.therapy-steps li::before{content:counter(therapy,decimal-leading-zero);position:absolute;top:19px;left:0;color:var(--accent);font-weight:700}
.therapy-steps li h3,.therapy-steps li p{margin:0}
.therapy-steps li p{margin-top:7px}

#booking-fields textarea,#booking-fields select{width:100%;padding:12px;border:1px solid #8ba4c2;border-radius:12px;background:white;color:var(--ink);font:inherit}
#booking-fields textarea{resize:vertical}
#booking{max-height:calc(100dvh - 28px);overflow:auto}

#menu-toggle{display:none}
.whatsapp-float{position:fixed;z-index:5;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:58px;height:58px;padding:0;display:grid;place-items:center;background:#087c52;color:#fff;border:2px solid #ffffffb8;box-shadow:0 8px 24px #102d3b40}
.whatsapp-float:hover{background:#076442}
.whatsapp-float svg{width:32px;height:32px}
footer.wrap{padding-right:64px}
#hero-motion{right:80px}
@media(max-width:850px){
header .bar{position:relative;flex-wrap:nowrap}
#menu-toggle{display:grid;align-content:center;justify-items:center;gap:4px;order:3;width:42px;height:42px;padding:0;border-radius:10px;flex:none;background:var(--navy)}
#menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:white;transition:transform .22s,opacity .22s}
#menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}
#menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
#menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px) rotate(-45deg)}
#main-nav{position:absolute;right:0;top:calc(100% + 5px);width:min(300px,100%);display:grid;gap:0;padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 34px #152b5124;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .22s,transform .22s,visibility .22s}
#main-nav.is-open{opacity:1;visibility:visible;transform:none}
#main-nav a{padding:10px 14px;border-radius:8px}
#main-nav a:hover,#main-nav a:focus-visible{background:#edf5ff}
header .bar>button[data-book]{margin-left:auto;padding:.55em .8em;font-size:.85rem}
header .brand img{width:clamp(112px,38vw,175px)}
}

.privacy-links{display:flex;flex-wrap:wrap;gap:10px 20px;padding-block:0 20px;padding-right:64px;font-size:.85rem}
.privacy-link,.privacy-link:hover{padding:0;border-radius:0;background:none;color:inherit;text-decoration:underline;transform:none;font-weight:600}
#cookie-panel{position:fixed;z-index:6;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));width:min(560px,calc(100% - 90px));max-height:calc(100dvh - 24px);overflow:auto;padding:18px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 44px #132b5433;font-size:.9rem}
#cookie-panel h2{font-size:1.5rem}
#cookie-panel p{margin:0 0 10px}
.cookie-policies,.cookie-actions{display:flex;flex-wrap:wrap;gap:8px 14px}
.cookie-actions{margin-top:14px}
.cookie-actions button{font-size:.82rem;padding:.55em .85em}
#cookies-reject,#cookies-custom{background:#eaf2ff;color:var(--ink)}
#cookie-options{margin-top:12px;border:1px solid var(--line);border-radius:12px}
#cookie-options label{display:block}


#cookie-panel{width:min(470px,calc(100% - 32px));left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));padding:19px 22px;border-radius:22px;background:#fafdfff7;backdrop-filter:blur(12px);box-shadow:0 16px 55px #132b543b}
#cookie-panel:not([hidden]){animation:arrive .28s ease both}
#cookies-accept{background:#254c78;color:#fff}
#cookies-accept:hover{background:#183b62}
.cookie-policies{font-size:.83rem}
.policy-page{padding-block:40px 64px;max-width:830px}
.policy-page h1{font-size:clamp(2.4rem,6vw,4.1rem)}
.policy-copy{overflow-wrap:anywhere;margin-bottom:24px}
@media(max-width:540px){#cookie-panel{bottom:83px}}
