/* Kátia Franceli · componentes v2. Tokens originais preservados. */
:root{--surface-soft:#f1f7f6;--surface-purple:#eeedf5;--shadow-floating:0 15px 40px #25235112;--radius-panel:18px;--radius-image:14px}
.brand{display:flex;align-items:center;gap:10px;width:310px;max-width:none;flex-shrink:0}.brand-emblem{display:block;width:53px;height:65px;flex:none}.brand-emblem svg,.brand-handwriting{display:block;width:100%;height:100%;fill:none;stroke:none}.brand-emblem svg{transition:transform var(--dur-4) var(--ease-out)}.brand-words{width:238px;display:block}.brand-handwriting{height:47px;overflow:hidden}.brand-tagline{display:block;font-size:10.5px;color:var(--violet);line-height:1.6;white-space:nowrap;letter-spacing:.005em;margin-top:1px}.brand-tagline>span{margin-inline:4px;color:var(--deep-teal)}.brand:hover .brand-emblem svg,.brand:focus-visible .brand-emblem svg{transform:rotate(-4deg) translateY(-2px)}.header-inner{padding-block:15px;max-width:1380px;gap:26px}.header nav{gap:23px}.header .header-cta{border-radius:30px;padding-inline:22px}.header nav>a:not(.button):after{transition:transform var(--dur-4) var(--ease-out)}
.button{border-radius:32px;gap:22px;transition:transform var(--dur-2) var(--ease-out),opacity var(--dur-2) var(--ease-out)}.button:hover{transform:translateY(-2px)}.button:active{transform:scale(var(--press-scale))}.button svg{transition:transform var(--dur-3) var(--ease-out)}.button:hover svg{transform:rotate(-8deg)}.hero{grid-template-columns:1.1fr 1fr;gap:45px;padding-top:50px;padding-bottom:58px;min-height:660px}.hero h1{font-size:clamp(43px,4.35vw,64px);letter-spacing:-.055em;line-height:1.12}.hero-specialty{font-size:20px;font-weight:400;line-height:1.55;margin:25px 0 14px;letter-spacing:-.02em}.hero-description{font-size:14px;max-width:430px}.location{font-size:13px;margin-bottom:25px}.hero .button{min-height:56px;padding:16px 27px}.cta-note{font-size:11px}.portrait-stage{min-width:0;position:relative;min-height:550px;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate;padding-top:18px}.portrait-backdrop{position:absolute;z-index:-1;left:4%;right:0;top:14px;bottom:52px;background:var(--surface-soft);border-radius:45% 45% 24% 35%}.portrait-backdrop svg{width:100%;height:100%;stroke:#75bcae;stroke-width:.7;opacity:.55}.portrait-primary{width:min(88%,460px);height:auto;border-radius:50%;position:relative;z-index:1;transform:translate3d(var(--portrait-x,0px),var(--portrait-y,0px),0);transition:transform var(--dur-5) var(--ease-out)}.floating-note{position:absolute;z-index:3;display:flex;align-items:center;gap:12px;padding:15px 18px;border:1px solid #d6e7e3;background:#fff;border-radius:12px;box-shadow:var(--shadow-floating);font-size:14px;font-weight:600;line-height:1.5;transform:scale(1);transform-origin:center;transition:transform var(--dur-5) var(--ease-out);max-width:270px}.floating-note svg{width:28px;height:28px;color:var(--deep-teal)}.floating-note small{display:block;font-size:11px;font-weight:400;color:var(--text);margin-top:1px}.note-listen{top:62px;right:-8px}.note-science{left:-13px;bottom:136px;background:var(--violet);color:#fff;border-color:var(--violet)}.note-science small{color:#d6dbed}.note-science svg{color:#7dd5b8}.portrait-signature{margin:17px 0 0;text-align:center;z-index:2}.portrait-signature p{font-size:26px;line-height:1.2;letter-spacing:-.04em;margin:0 0 8px;font-weight:600}.portrait-signature>span{display:block;font-size:12px}.portrait-signature>small{display:block;font-size:11px;color:var(--deep-teal);margin-top:4px}
.service-shortcuts{border:0;background:var(--surface-soft);border-radius:14px;padding:8px 30px}.service-shortcuts a{padding-block:22px;font-size:18px}.service-shortcuts a:last-child{padding-left:36px;border-color:#c7dcd8}.service-shortcuts small{font-size:12px}.service-shortcuts svg{transition:transform var(--dur-4) var(--ease-out)}.service-shortcuts a:hover svg{transform:translateY(5px)}.section-intro{margin-bottom:52px}.service{grid-template-columns:1fr 1fr;gap:76px;align-items:center;padding-bottom:72px}.service+.service{padding-top:80px}.service-reverse{grid-template-columns:1fr 1fr}.service-reverse .service-visual{grid-column:1;grid-row:1}.service-reverse .service-copy{grid-column:2;grid-row:1}.service-copy h3{font-size:39px;line-height:1.12;max-width:550px;margin-bottom:24px}.service .service-promise{font-size:21px;line-height:1.45;color:var(--violet);font-weight:600;letter-spacing:-.025em;margin-bottom:25px}.service p{font-size:14px;line-height:1.85}.service .service-subtitle{font-size:14px;margin-top:-10px;margin-bottom:22px}.service .audience{border:0;padding:0;font-size:13px;line-height:1.6;margin-top:23px}.service .audience:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:10px;background:var(--green)}.service-visual{min-width:0}.editorial-image{margin:0;position:relative;border-radius:var(--radius-image);overflow:hidden;isolation:isolate;background:var(--surface-soft)}.editorial-image img{width:100%;height:auto;aspect-ratio:1.16;object-fit:cover;object-position:43% 50%;transition:transform var(--dur-5) var(--ease-out)}.editorial-image:hover img{transform:scale(1.025)}.editorial-image figcaption{position:absolute;right:12px;bottom:12px;background:#fffffff2;padding:3px 9px;border-radius:3px;font-size:10px;color:var(--text);z-index:1}.explorer{padding:21px 24px 20px;margin:-22px 18px 0;position:relative;z-index:2;background:#fff;border-radius:12px;box-shadow:var(--shadow-floating);border:1px solid #d9e3e2}.explorer h4{font-weight:600;font-size:12px;margin:0 0 16px;color:var(--text)}.explorer-tabs{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.explorer-tabs button{font-size:11px;line-height:1.3;color:var(--deep-teal);background:var(--surface-soft);border:1px solid transparent;padding:10px 9px;border-radius:25px;min-height:38px;transition:transform var(--dur-2) var(--ease-out),opacity var(--dur-2) var(--ease-out)}.explorer-tabs button[aria-selected=true]{background:var(--violet);color:#fff}.explorer-tabs button:hover{transform:translateY(-2px)}.explorer-tabs button:active{transform:scale(var(--press-scale))}.explorer .explorer-panel{font-size:12px;line-height:1.65;min-height:40px;margin:15px 0 0;color:var(--violet);max-width:none}.tcc-explorer .explorer-tabs{gap:4px}.tcc-explorer .explorer-tabs button{padding-inline:9px;font-size:10px}
.reviews{position:relative}.quotes figure{padding:24px 22px 22px;border:1px solid #ffffff29;border-radius:12px;transition:transform var(--dur-4) var(--ease-out);background:#ffffff05}.quotes figure:hover,.quotes figure:focus-within{transform:translateY(-5px)}.quotes blockquote{font-size:20px;line-height:1.55}.review-heading{margin-bottom:40px}.rating{border-left:0;background:#ffffff08;border-radius:12px;padding:24px 28px;min-width:270px}.rating-value{font-size:58px}.review-bottom{margin-top:36px}.about-portrait{background:transparent;padding:0;position:sticky;top:130px}.about-image-frame{background:var(--surface-purple);border-radius:24px 24px 50% 50%;padding:26px}.about-image-frame img{border-radius:50%}.about-portrait blockquote{font-size:25px;line-height:1.4;letter-spacing:-.035em;margin:28px 10px 20px;max-width:390px}.about-portrait>p{font-size:12px;text-align:left;margin-left:10px}.qualifications details[open] p{animation:detail-enter var(--dur-4) var(--ease-out)}@keyframes detail-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.photo{border-radius:12px}.photo img{transition:transform var(--dur-5) var(--ease-out)}.photo:hover img{transform:scale(1.025)}.office-info blockquote{border:0;padding-left:25px}.contact{padding-block:90px}.contact-information{border:0;background:var(--surface-soft);border-radius:18px;padding:32px}.contact .button{font-size:14px}.footer-top .brand{width:310px}.motion-preference{background:none;border:1px solid var(--line);border-radius:25px;color:var(--deep-teal);font-size:11px;padding:9px 13px;min-height:40px;margin-top:14px;display:inline-flex;align-items:center;gap:8px}.motion-icon{font-size:14px}.text-link span{transition:transform var(--dur-3) var(--ease-out)}.text-link:hover span{transform:translate(3px,-3px)}.motion-off *,.motion-off *::before,.motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .portrait-primary,.motion-off .floating-note{transform:none!important}.motion-off .button:hover,.motion-off .quotes figure:hover,.motion-off .quotes figure:focus-within,.motion-off .photo:hover img,.motion-off .editorial-image:hover img{transform:none!important}
@media(max-width:1150px){.header-inner{padding-inline:30px;gap:20px}.brand{width:280px;gap:9px}.brand-emblem{width:47px;height:59px}.brand-words{width:219px}.brand-handwriting{height:43px}.brand-tagline{font-size:9.5px}.header nav{gap:17px}.hero{gap:32px;min-height:600px}.portrait-stage{min-height:500px}.floating-note{padding:12px 14px;font-size:12px}.floating-note small{font-size:10px}.note-listen{right:-3px;top:65px}.note-science{left:-8px;bottom:135px}.service{gap:45px}.service-copy h3{font-size:35px}.service .service-promise{font-size:19px}.explorer{margin-inline:12px;padding:18px}.explorer-tabs{gap:4px}.explorer-tabs button{font-size:10px;padding-inline:8px}.tcc-explorer .explorer-tabs button{font-size:9px;padding-inline:8px}.quotes{gap:20px}.quotes blockquote{font-size:18px}.contact{gap:55px}}
@media(max-width:850px){.header-inner{padding:12px 24px;min-height:87px}.brand{width:290px}.brand-emblem{width:48px;height:60px}.brand-words{width:230px}.brand-tagline{font-size:10px}.hero{padding-block:35px;gap:22px;grid-template-columns:1.1fr 1fr;min-height:540px}.hero h1{font-size:38px;line-height:1.13}.hero-specialty{font-size:17px}.hero-description{font-size:13px}.portrait-stage{min-height:455px}.portrait-primary{width:96%}.portrait-backdrop{left:0;top:35px;bottom:70px}.floating-note{padding:9px 11px;gap:8px}.floating-note svg{width:22px;height:22px}.floating-note small{font-size:8px}.note-listen{top:48px;right:0}.note-science{left:-8px;bottom:125px}.portrait-signature p{font-size:23px}.portrait-signature>span{font-size:11px}.portrait-signature>small{font-size:10px}.service-shortcuts{padding-inline:24px}.service-shortcuts a{font-size:16px}.service-shortcuts a:last-child{padding-left:25px}.service-shortcuts small{font-size:11px}.service{gap:32px;grid-template-columns:1.08fr 1fr}.service-reverse{grid-template-columns:1fr 1.08fr}.service-copy h3{font-size:29px}.service .service-promise{font-size:18px}.service p{font-size:13px}.editorial-image img{aspect-ratio:.9}.explorer{padding:16px 14px;margin-inline:8px}.explorer h4{font-size:10px}.explorer-tabs button{min-height:36px;font-size:10px}.explorer .explorer-panel{font-size:11px;min-height:54px}.tcc-explorer .explorer-tabs button{font-size:10px}.quotes{gap:16px}.quotes figure{padding:20px 16px}.quotes blockquote{font-size:17px}.rating{padding:20px;min-width:220px}.about-portrait blockquote{font-size:21px}.contact{gap:32px}.contact-information{padding:25px}.contact .button{font-size:13px}.footer-top .brand{width:290px}}
@media(max-width:600px){.header-inner{padding:12px 20px;min-height:85px}.brand{width:265px;gap:8px;max-width:calc(100% - 54px)}.brand-emblem{width:40px;height:52px}.brand-words{width:calc(100% - 48px)}.brand-handwriting{height:35px}.brand-tagline{font-size:8px;letter-spacing:0}.brand-tagline>span{margin-inline:2px}.hero{display:flex;flex-direction:column;gap:26px;align-items:stretch;padding-top:30px;padding-bottom:32px;min-height:auto}.hero h1{font-size:clamp(36px,9.6vw,54px)}.hero-specialty{font-size:18px;margin-top:23px}.hero-description{font-size:14px;max-width:360px}.hero .button{font-size:14px;min-height:53px}.hero .location{font-size:12px;margin-bottom:20px}.portrait-stage{min-height:440px;width:100%;max-width:420px;margin:auto;padding-top:8px}.portrait-primary{width:90%;max-width:350px}.portrait-backdrop{top:20px;left:5%;right:2%;bottom:55px;border-radius:45% 45% 25% 30%}.floating-note{padding:10px 12px;gap:9px;font-size:11px}.floating-note small{font-size:8px}.note-listen{top:40px;right:0}.note-science{bottom:118px;left:-2px}.portrait-signature{margin-top:17px}.portrait-signature p{font-size:24px}.portrait-signature>span{font-size:11px}.portrait-signature>small{font-size:10px}.service-shortcuts{padding:3px 20px;border-radius:12px}.service-shortcuts a{font-size:15px}.service-shortcuts small{font-size:10px;max-width:260px}.service-shortcuts a:last-child{border-top:1px solid #d4dfdf}.service-shortcuts svg{width:20px}.section-intro{margin-bottom:35px}.section-intro p{font-size:14px}.service,.service-reverse{display:flex;gap:30px;padding-bottom:55px}.service+.service{padding-top:55px}.service-copy h3{font-size:33px}.service .service-promise{font-size:20px;line-height:1.45;margin-bottom:22px}.service p{font-size:14px;line-height:1.8}.service .audience{font-size:12px}.service .service-subtitle{font-size:13px}.editorial-image img{aspect-ratio:1.12}.explorer{margin:-20px 12px 0;padding:18px 16px}.explorer h4{font-size:11px;margin-bottom:12px}.explorer-tabs{gap:5px}.explorer-tabs button{font-size:10px;min-height:40px;padding-inline:10px}.explorer .explorer-panel{font-size:12px;min-height:42px;margin-top:13px}.tcc-explorer .explorer-tabs button{font-size:10px;padding-inline:9px}.rating{display:grid;padding:22px;background:#ffffff08;margin-top:26px;border:0}.rating-value{font-size:48px}.quotes{gap:16px}.quotes figure{padding:24px}.quotes blockquote{font-size:20px;margin-bottom:22px}.quotes figcaption{display:block}.quotes figcaption>span{margin:4px 0 10px}.quotes figcaption>a{font-size:11px;min-height:24px;display:inline-block}.about{gap:36px}.about-portrait{position:static;width:100%;max-width:360px}.about-image-frame{padding:22px;max-width:270px;margin:auto}.about-portrait blockquote{font-size:24px;text-align:center;max-width:330px;margin:24px auto 18px}.about-portrait>p{text-align:center;margin-left:0}.office-info blockquote{padding-left:0}.contact{padding-block:64px}.contact-information{padding:26px 22px;border:0}.contact h2{font-size:34px}.footer-top .brand{width:280px;max-width:100%}.footer-top .brand-tagline{font-size:9px}.mobile-contact{border-radius:30px;padding-inline:22px}.motion-preference{min-height:44px}.motion-off .floating-note{transform:none}}
@media(max-width:360px){.brand-tagline{font-size:7px}.hero h1{font-size:33px}.hero-specialty{font-size:17px}.portrait-stage{min-height:385px}.floating-note{font-size:10px;padding:8px 9px}.floating-note small{font-size:7px}.floating-note svg{width:20px;height:20px}.note-listen{top:30px}.note-science{bottom:116px}.portrait-signature p{font-size:22px}.explorer{margin-inline:6px;padding:16px 12px}.explorer-tabs button{padding-inline:8px;font-size:9px}.tcc-explorer .explorer-tabs button{font-size:9px;padding-inline:8px}.explorer h4{font-size:10px}.service-copy h3{font-size:29px}.quotes figure{padding:20px}}
/* Legibilidade preservada em todos os tamanhos e legendas fora da sobreposição. */
.brand-tagline{font-size:11px;white-space:normal}.brand-handwriting{height:auto;aspect-ratio:1460 / 310}.brand-linebreak{display:none}
.editorial-image figcaption{top:12px;bottom:auto}
.explorer-tabs button,.tcc-explorer .explorer-tabs button{font-size:12px;min-height:44px;padding-inline:12px}
.explorer h4{font-size:12px;line-height:1.5}
.explorer .explorer-panel{font-size:13px;min-height:44px}
@media(max-width:600px){.brand-tagline,.footer-top .brand-tagline{font-size:10px;line-height:1.4}.brand-tagline>span{display:none}.brand-tagline{max-width:130px}.brand-handwriting{height:30px}.floating-note small{font-size:10px}.floating-note{font-size:11px}.explorer-tabs button,.tcc-explorer .explorer-tabs button{font-size:11px;padding-inline:10px}.explorer .explorer-panel{min-height:64px}.note-science{max-width:210px}}
@media(max-width:600px){.brand-handwriting{height:auto}.brand-linebreak{display:block}}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) :is(.portrait-primary,.floating-note,.button:hover,.brand:hover .brand-emblem svg,.quotes figure:hover,.photo:hover img,.editorial-image:hover img){transform:none!important}}

/* Revisão final: medidas compartilhadas com os componentes nativos no Figma. */
@media (hover:hover) and (pointer:fine){
  .floating-note:hover{transform:scale(1.06)}
}
:root{
  --palette-violet:#252351;--palette-hover:#3b386f;--palette-green:#35b38f;
  --palette-deepTeal:#286d75;--palette-surface:#f1f7f6;--palette-text:#565c6a;
  --palette-white:#fff;--palette-focus:#ad5500;--palette-line:#d4dfdf;
  --button-hover:var(--palette-hover);--white:var(--palette-white);--focus:var(--palette-focus);
  --control-x:24px;--control-y:12px;--radius-control:32px;--touch-min:44px;
}
.button{border-radius:var(--radius-control);padding:var(--control-y) var(--control-x);font-size:14px;min-height:54px}
.button:hover{background:var(--button-hover)}
.button:active{opacity:.88}
a:focus-visible,button:focus-visible,summary:focus-visible,[role=tabpanel]:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.brand-tagline{font-size:12px;line-height:1.5}
.hero-description,.service p,.about-copy>p,.contact p{font-size:16px;line-height:1.8}
.hero-specialty{max-width:440px}
.cta-note,.portrait-signature>small,.portrait-signature>span,.floating-note small{font-size:12px}
.explorer-tabs button,.tcc-explorer .explorer-tabs button{font-size:14px;font-weight:600;min-height:var(--touch-min);border-radius:var(--radius-control);padding:10px 14px}
.explorer-tabs button:focus-visible{outline-offset:3px}
.explorer h4{font-size:13px}
.explorer .explorer-panel{font-size:14px;line-height:1.7;min-height:72px}
.service .audience,.service-shortcuts small{font-size:13px}
.editorial-image figcaption{font-size:12px;top:14px;right:14px;max-width:calc(100% - 28px)}
.quotes figcaption>span,.rating small,.review-bottom p,.quotes a{font-size:12px}
.quotes a{display:inline-flex;align-items:center;min-height:var(--touch-min)}
.qualifications summary{font-size:15px}
.qualifications details p{font-size:15px;line-height:1.8}
.photo>span{font-size:12px;padding:8px 12px}
.office-info cite span,footer p{font-size:12px}
.mobile-contact[hidden]{display:none!important}
body:has(.header nav.is-open) .mobile-contact{display:none}
html.motion-off{scroll-behavior:auto}
@media(min-width:851px) and (max-height:740px){
  .hero{min-height:510px;padding-top:24px;padding-bottom:32px}
  .portrait-stage{min-height:470px;padding-top:0}
  .portrait-primary{max-width:370px}
  .portrait-backdrop{top:0;bottom:45px}
  .note-listen{top:35px}.note-science{bottom:120px}
  .hero h1{font-size:clamp(42px,4vw,56px)}
  .hero-specialty{margin-top:20px;font-size:19px}
  .hero-description{margin-bottom:20px;font-size:15px}
  .location{margin-bottom:18px}
}
@media(min-width:601px) and (max-width:950px){
  .note-listen{top:12px}
  .service,.service-reverse{gap:36px;grid-template-columns:1fr 1fr}
  .service h3{font-size:31px;overflow-wrap:anywhere}
  .service p{font-size:15px}
  .explorer{margin-inline:0;padding:20px 16px}
  .explorer-tabs button,.tcc-explorer .explorer-tabs button{font-size:13px;padding-inline:12px}
  .quotes{grid-template-columns:1fr;gap:20px}
  .quotes figure{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;padding:24px}
  .quotes blockquote{margin:0;font-size:22px}
  .quotes figcaption{align-self:center}
}
@media(max-width:600px){
  .header-inner{padding:10px 20px;gap:14px}
  .brand{gap:8px;max-width:calc(100% - 58px);width:260px}
  .brand-emblem{width:36px;height:46px}
  .brand-words{width:calc(100% - 44px)}
  .brand-tagline,.footer-top .brand-tagline{font-size:11px;max-width:none;line-height:1.35}
  .hero{padding-top:26px;gap:16px}
  .hero h1{font-size:clamp(34px,9.4vw,48px)}
  .hero .location{font-size:13px}
  .hero-description,.service p,.about-copy>p,.contact p{font-size:15px}
  .hero-specialty{font-size:18px;margin-top:20px}
  .cta-note{font-size:12px}
  .portrait-stage{min-height:405px}
  .portrait-primary{max-width:310px}
  .note-listen{top:33px}
  .note-science{bottom:108px;max-width:222px}
  .floating-note{padding:10px;font-size:12px;gap:7px}
  .floating-note small{font-size:11px}
  .floating-note svg{width:20px;height:20px}
  .portrait-signature>span,.portrait-signature>small{font-size:12px}
  .service-shortcuts small{font-size:12px;line-height:1.6}
  .service .service-subtitle,.service .audience{font-size:13px}
  .explorer{margin-inline:8px;padding:20px 16px}
  .explorer-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .explorer-tabs button,.tcc-explorer .explorer-tabs button{font-size:13px;padding-inline:8px}
  .tcc-explorer .explorer-tabs button:last-child{grid-column:1/-1}
  .explorer .explorer-panel{font-size:14px;min-height:72px;margin-top:16px}
  .explorer h4{font-size:13px}
  .section-intro p{font-size:15px}
  .rating small,.review-bottom p,.quotes figcaption>span,.quotes a{font-size:12px}
  .quotes figcaption>a{min-height:44px;font-size:13px}
  .qualifications summary,.qualifications details p{font-size:14px}
  .photo>span{font-size:11px;padding:6px 8px;gap:6px}
  .office-info cite span,footer p{font-size:12px}
  .contact .button{font-size:14px;min-height:54px}
  .mobile-contact{min-height:54px}
  footer{padding-bottom:90px}
}
@media(max-width:360px){
  .brand-tagline{font-size:11px}.brand-handwriting{min-height:28px}
  .portrait-stage{min-height:365px}.portrait-primary{width:88%}
  .note-listen{top:18px}.note-science{bottom:102px;left:0}
  .floating-note{font-size:11px}.floating-note small{font-size:10px}
  .service h3{font-size:29px}
}

/* Cada controle responde sozinho, com o mesmo ritmo dos elementos do retrato. */
:root{--interaction-duration:var(--dur-5);--interaction-scale:1.06}
:is(a:not(.skip),button,summary){
  transform:scale(1);
  transform-origin:center;
  transition:transform var(--interaction-duration) var(--ease-out),
    background-color var(--interaction-duration) var(--ease-out),
    color var(--interaction-duration) var(--ease-out),
    border-color var(--interaction-duration) var(--ease-out),
    opacity var(--interaction-duration) var(--ease-out);
}
.social-links a,.back-top{display:inline-block}
:is(a:not(.skip),button,summary):hover{transform:scale(1)}
/* O hover de um link não desloca o depoimento ou anima também o ícone. */
.quotes figure:hover,.quotes figure:focus-within,
.button:hover svg,.text-link:hover span,
.service-shortcuts a:hover svg,.photo:hover img,
.brand:hover .brand-emblem svg,.brand:focus-visible .brand-emblem svg{transform:none}
.header nav>a:not(.button):after,.menu-toggle span,.qualifications summary>span,
.photo>span{transition-duration:var(--interaction-duration);transition-timing-function:var(--ease-out)}
.qualifications details[open] p{animation-duration:var(--interaction-duration)}
.photo{z-index:0;transform-origin:center}
.photo:hover{z-index:1}
@media(hover:hover) and (pointer:fine){
  :is(a:not(.skip),button:enabled,summary):hover{transform:scale(var(--interaction-scale))}
}
:is(a:not(.skip),button:enabled,summary):active{transform:scale(var(--press-scale))}
.motion-off :is(a:not(.skip),button,summary){transform:none!important}
@media(prefers-reduced-motion:reduce){
  html:not(.motion-enabled) :is(a:not(.skip),button,summary){transform:none!important}
}

/* Símbolo da Psicologia desenhado em vetor: nítido em qualquer densidade. */
.brand-tagline .brand-psi{display:inline-block;width:16px;height:18px;margin:0 3px;vertical-align:-4px;color:var(--palette-violet);overflow:visible}
@media(max-width:600px){.brand-tagline .brand-psi{width:14px;height:16px;margin:0 4px 0 0;vertical-align:-3px}}

/* Novo retrato apenas na abertura, encaixado no círculo interno. */
.portrait-primary{aspect-ratio:1 / 1;object-fit:cover;object-position:50% 50%;border-radius:50%}
@media(max-width:600px){.portrait-stage .note-listen{top:-8px}}

/* Preserva o tamanho da moldura Sobre e mostra mais do consultório. */
.about-image-frame img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;object-position:50% 18%}

/* Revisão tipográfica: distribuição de linhas sem reduzir a legibilidade. */
h1,h2,h3,h4,.hero-specialty,.service-promise,.quotes blockquote,.about-portrait blockquote,.office-info blockquote{text-wrap:balance;hyphens:none;word-break:normal;overflow-wrap:normal}
p,address,summary,.service-shortcuts small,.portrait-signature,.floating-note small,figcaption,footer small{text-wrap:pretty;hyphens:none;word-break:normal;overflow-wrap:normal}
.rating small{display:block;max-width:220px;text-wrap:balance}

.hero h1 .keep-phrase{white-space:nowrap}
@media(max-width:600px){.hero h1{font-size:clamp(27px,8vw,46px)}}

.qualifications summary,.rating>p{text-wrap:balance}
@media(max-width:600px){
  .section h2,.contact h2,.about h2{font-size:clamp(25px,7.2vw,34px)}
  #avaliacao-neuropsicologica h3{font-size:clamp(21px,6.55vw,33px);white-space:nowrap}
}
@media(max-width:360px){.service-shortcuts a{font-size:14px}}

.qualification-label{font:inherit;flex:1;min-width:0;text-wrap:balance}

@media(min-width:601px) and (max-width:950px){#avaliacao-neuropsicologica h3{font-size:clamp(20px,3.25vw,31px);white-space:nowrap}}
@media(min-width:601px) and (max-width:850px){.hero h1{font-size:clamp(26px,4vw,34px)}}
.explorer .explorer-panel{text-wrap:balance}

/* Nitidez: o realce cresce ao redor do controle; texto e fotografia ficam no pixel original. */
:is(a:not(.skip),button,summary),
:is(a:not(.skip),button:enabled,summary):hover,
:is(a:not(.skip),button:enabled,summary):active{transform:none}
:is(a:not(.skip),button,summary){
  transition-property:box-shadow,background-color,color,border-color,opacity;
  transition-duration:var(--interaction-duration);
  transition-timing-function:var(--ease-out);
}
@media(hover:hover) and (pointer:fine){
  :is(.button,.explorer-tabs button,.menu-toggle,.mobile-contact,.photo):hover{
    box-shadow:0 0 0 3px rgba(53,179,143,.2),0 10px 24px rgba(37,35,81,.14);
  }
  .floating-note:hover{transform:none;box-shadow:0 0 0 4px rgba(53,179,143,.22),0 16px 36px rgba(37,35,81,.2)}
  .editorial-image:hover img{transform:none}
}
.portrait-primary{transform:none}
.floating-note{transform:none;transition:box-shadow var(--interaction-duration) var(--ease-out)}

/* Marca animada do cabeçalho: imagem única, sem recortes ou subtítulo duplicado. */
.header-inner { padding-top: 10.5px; padding-bottom: 10.5px; }
.header .brand { display: block; width: 310px; flex: 0 0 310px; }
@media (max-width: 600px) {
  .header-inner { padding-top: 10px; padding-bottom: 10px; }
  .header .brand { width: min(260px, calc(100vw - 104px)); max-width: none; flex: 0 1 auto; }
}
.header .brand-logo-motion, .header .brand-logo-static { display: block; width: 100%; height: auto; }
.header .brand-logo-static { display: none; }
@media (prefers-reduced-motion: reduce) {
  html:not(.motion-enabled) .header .brand-logo-motion { display: none; }
  html:not(.motion-enabled) .header .brand-logo-static { display: block; }
}
.motion-off .header .brand-logo-motion { display: none; }
.motion-off .header .brand-logo-static { display: block; }

/* Respiro superior para os elementos que surgem acima da cabeça no GIF. */
/* O segundo GIF tem margem transparente interna; preserva a altura original da marca. */
.header .brand { position: relative; aspect-ratio: 900 / 230; }
.header .brand-logo-motion { position: absolute; top: -8px; left: 0; }
.header .brand-logo-static { position: absolute; top: 0; left: 0; }

/* Rodapé estático, com a mesma cor de assinatura do cabeçalho. */
.footer-top .brand-tagline,.footer-top .brand-psi{color:#252351}

/* Centraliza somente a chamada de contato inicial no celular. */
@media (max-width: 600px) {
  .hero-copy > .button { display: flex; width: fit-content; margin-inline: auto; }
  .hero-copy > .cta-note { text-align: center; }
}
