/* Quiet, continuous motion. Each layer also follows the global pause control. */
html{scroll-padding-bottom:100px}
.hero-bottom{flex-direction:column;align-items:flex-start;gap:10px}
.hero-bottom .booking-note,.hero-bottom .hero-registration{margin:0}
.floating-booking{position:fixed;z-index:30;right:calc(26px + env(safe-area-inset-right,0px));bottom:calc(23px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 30px;border:1px solid #f6deb1;border-radius:999px;background:linear-gradient(120deg,#f1d3a4,#d8ac70 60%,#ebc991);color:#303c2c;font-size:13px;font-weight:650;white-space:nowrap;box-shadow:inset 0 2px 0 #fff4dd9e,0 4px 0 #a58252,0 9px 32px #15251536;transition:box-shadow .25s,background .25s;animation:booking-glow 1.6s ease-in-out infinite;isolation:isolate}
.floating-booking::before{content:'';position:absolute;inset:-1px;border:2px solid #f3cd8e;box-shadow:0 0 12px 3px #f0c77c66;border-radius:inherit;pointer-events:none;opacity:0;animation:booking-halo 1.6s ease-out infinite;z-index:-1}
.floating-booking span,.floating-booking svg{position:relative;z-index:1}
@keyframes booking-glow{0%,100%{box-shadow:inset 0 2px 0 #fff4dd9e,0 4px 0 #a58252,0 8px 24px #15251536,0 0 0 #eac58900}45%{box-shadow:inset 0 2px 0 #fff9eae8,0 4px 0 #a58252,0 8px 24px #15251536,0 0 60px 18px #eac589d9,0 0 23px 6px #fff1c4bd}}
@keyframes booking-halo{0%,12%{transform:scale(1);opacity:0}22%{opacity:.95}85%,100%{transform:scale(1.32,2.15);opacity:0}}
.floating-booking svg{width:22px;height:22px;flex:none}
.floating-booking:hover{background:linear-gradient(120deg,#f8e2bd,#e6c08a);box-shadow:inset 0 2px 0 #fff4ddd9,0 4px 0 #a58252,0 10px 36px #15251550}
.floating-booking:focus-visible{outline:3px solid #f8efde;outline-offset:5px}
.site-footer{padding-bottom:112px}
.appointment{row-gap:32px;padding-bottom:34px}
.appointment .footer-brand{grid-column:1/-1;justify-self:center;position:relative;z-index:2;width:200px;margin:4px auto 0}
.site-credit{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 22px;margin-top:26px;padding-top:24px;border-top:1px solid #d1cba31f;font-size:11px;line-height:1.8;color:#c6ccba;text-align:center}
.creator-contact{display:inline-flex;align-items:center;gap:10px;color:#efd1a1;font-size:12px;font-weight:600;min-height:44px;text-decoration:underline;text-underline-offset:5px;transition:color .2s}
.creator-contact svg{width:19px;height:19px;flex:none}
.creator-contact:hover{color:#fff0d5}
.creator-contact:focus-visible{outline:2px solid #efd1a1;outline-offset:5px;border-radius:3px}
.motion-toggle{left:calc(22px + env(safe-area-inset-left,0px));right:auto;bottom:calc(26px + env(safe-area-inset-bottom,0px));min-height:44px}

/* One desktop content edge for the opening, editorial copy and closing sections. */
@media(min-width:761px){
 :root{--desktop-gutter:max(6vw,calc((100vw - 1360px)/2))}
 .site-header,.hero,.essence-sticky,.faq,.appointment,.site-footer{padding-inline:var(--desktop-gutter)}
 .hero{max-width:none}
 .hero-bottom{left:var(--desktop-gutter);width:calc(50% - var(--desktop-gutter))}
 .appointment-action{justify-self:end;width:100%}
 .footer-main{align-items:center}
 .footer-links{margin-left:auto;justify-content:flex-end}
}
@media(min-width:761px) and (max-width:1100px){
 :root{--desktop-gutter:5vw}
}

/* A sparse foreground layer covers every section without intercepting a click. */
.gold-dust{position:fixed;inset:0;z-index:12;overflow:hidden;pointer-events:none;contain:strict}
.gold-mote{position:absolute;left:var(--x);bottom:-14px;width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle at 30% 25%,#eed0a0 0,#c59a51 52%,#b99047 100%);box-shadow:0 0 7px 1px #c99d5933;opacity:0;animation:gold-rise var(--duration) var(--delay) linear infinite;will-change:transform,opacity}
@keyframes gold-rise{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:var(--alpha)}48%{transform:translate3d(var(--drift),-54vh,0)}80%{opacity:var(--alpha)}100%{transform:translate3d(0,-112vh,0);opacity:0}}

/* The SVG fallback and footer receive the same travelling highlight as WebGL. */
.brand-scene:not(.webgl-ready)::after,.footer-brand::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(108deg,transparent 35%,#ffdfa88c 43%,#fffdf3 49%,#fff8e2 52%,#ffe4b48c 57%,transparent 65%) 150% 0/250% 100% no-repeat;-webkit-mask:url('assets/logo-original-dourada.svg') center/contain no-repeat;mask:url('assets/logo-original-dourada.svg') center/contain no-repeat;animation:signature-light 2.2s ease-in-out infinite alternate;mix-blend-mode:screen}
.footer-brand{position:relative}
.footer-brand::after{animation-delay:-2.4s}
@keyframes signature-light{from{background-position:150% 0}to{background-position:-50% 0}}

/* Body illustration, scanning beam and breathing room form one composition. */
.composition-study{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,6vw,92px);width:min(900px,100%);margin:26px auto 38px;padding:24px 24px 18px;border-block:1px solid #b9aa8840}
.composition-visual{margin:0;min-width:0;position:relative}
.scan-field{position:relative;isolation:isolate;height:490px;width:min(396px,100%);margin:auto}
.scan-aura{position:absolute;inset:10% 0 0;background:radial-gradient(ellipse at center,#f5edd177,#d7c8a526 54%,transparent 72%);border-radius:50%;animation:light-breathe 9s ease-in-out infinite}
.body-scene{display:block;position:relative;width:100%;height:100%;overflow:visible}
/* Vector silhouette clips the figure itself; the background and original rings are absent. */
.body-orbit{transform-box:fill-box;transform-origin:center;animation:orbit-breathe 6.5s ease-in-out infinite}
.orbit-outer{animation-delay:-1.8s}
.orbit-inner{animation-duration:7.8s;animation-delay:-4s}
.orbit-tall{animation-duration:8.6s;animation-delay:-.5s}
.floor-orbit{transform-box:fill-box;transform-origin:center;animation:floor-ripple 5.7s ease-in-out infinite}
.floor-middle{animation-delay:-1.9s}
.floor-inner{animation-delay:-3.8s}
.body-light-point{transform-box:fill-box;transform-origin:center;animation:body-point-pulse 2.8s var(--point-delay,0s) ease-in-out infinite;pointer-events:none}
.scan-pass{animation:body-scan-pass 8.6s ease-in-out infinite;opacity:0;pointer-events:none}
@keyframes orbit-breathe{0%,100%{transform:scale(.96);opacity:.27}50%{transform:scale(1.045);opacity:.76}}
@keyframes floor-ripple{0%{transform:scale(.88);opacity:.18}45%{opacity:.78}100%{transform:scale(1.1);opacity:.18}}
@keyframes body-point-pulse{0%,100%{transform:scale(.64);opacity:.12}48%{transform:scale(1.22);opacity:.98}}
/* A full pass, fade-out and quiet interval are repeated without a scroll trigger. */
@keyframes body-scan-pass{0%,10%{transform:translateY(140px);opacity:0}16%{transform:translateY(140px);opacity:1}60%{transform:translateY(1288px);opacity:1}68%,100%{transform:translateY(1288px);opacity:0}}
.composition-visual figcaption{text-align:center;font-size:8px;letter-spacing:.05em;color:#898574;margin-top:2px}
.composition-copy{padding-bottom:10px}
.composition-copy .eyebrow{font-size:9px;letter-spacing:.2em;color:#777657}
.composition-copy h2{font-size:clamp(34px,4vw,57px);line-height:1.12;letter-spacing:-.055em;margin:23px 0 28px}
.composition-copy h2 span{color:#898269}
.composition-facts{list-style:none;padding:0;margin:0;display:grid;gap:17px;color:#58624b;font-size:12px;font-weight:550}
.composition-facts li{display:flex;align-items:center;gap:13px}
.composition-facts li::before{content:'';height:6px;width:6px;flex:none;border-radius:50%;background:linear-gradient(130deg,#edd7ae,#b99558);box-shadow:0 1px 4px #a4895730}

/* Ten staggered words share the cup's float and fall behind its front lip. */
.care-rain{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:3;pointer-events:none;transition:opacity .2s}
.care-drop{font-family:inherit;font-size:38px;font-weight:550;letter-spacing:1px;fill:#796336;opacity:0;animation:care-word-fall 28s var(--drop-delay) cubic-bezier(.42,0,.72,1) infinite;transform-origin:0 0;filter:drop-shadow(0 1px 1px #fff8e966)}
/* The word disappears behind the front lip, rather than crossing the ceramic. */
.tea-canvas[data-assembly-state]:not([data-assembly-state="assembled"]) .care-rain{opacity:0}
.tea-canvas[data-assembly-state]:not([data-assembly-state="assembled"]) .care-drop{animation-play-state:paused}
@keyframes care-word-fall{
 0%{transform:translate(var(--drop-x),-145px) rotate(var(--drop-tilt));opacity:0;fill:#796336}
 1.1%{opacity:1}
 7%{opacity:1;fill:#b58d4b}
 9.5%{transform:translate(500px,198px) rotate(var(--drop-land)) scale(.76);opacity:0;fill:#efcf96}
 10%,100%{transform:translate(500px,198px) rotate(var(--drop-land)) scale(.76);opacity:0}
}

/* Pause pseudo-elements too: the original global control targets real elements. */
html[data-motion="paused"] *::before,html[data-motion="paused"] *::after,
html[data-page-hidden="true"] *::before,html[data-page-hidden="true"] *::after,
[data-ambient-state="idle"] *::before,[data-ambient-state="idle"] *::after{animation-play-state:paused!important}

@media(max-width:760px){
 .appointment .footer-brand{width:180px;margin:34px auto 0}
 .site-credit{flex-direction:column;gap:4px;margin-top:23px;padding-top:22px}
 .site-credit p span{display:block}
 .hero-bottom{align-items:center}
 .site-header .brand-mini{grid-column:1/-1;justify-self:center}
 .floating-booking{min-height:50px;padding-inline:23px;gap:10px;font-size:12px;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px))}
 .floating-booking svg{width:21px;height:21px}
 .motion-toggle{width:44px;height:44px;left:calc(14px + env(safe-area-inset-left,0px));right:auto;bottom:calc(21px + env(safe-area-inset-bottom,0px))}
 .site-footer{padding-bottom:104px}
 .gold-mote:nth-child(n+9){display:none}
 .composition-study{display:flex;flex-direction:column;gap:6px;margin:26px auto 28px;padding:29px 0 23px;max-width:460px}
 .composition-copy{order:-1;text-align:center;padding:0}
 .composition-copy .eyebrow{font-size:8px}
 .composition-copy h2{font-size:clamp(31px,8.7vw,43px);margin:17px 0 18px}
 .composition-facts{display:flex;justify-content:center;flex-wrap:wrap;gap:9px 17px;max-width:330px;margin:auto;font-size:9px}
 .composition-facts li{gap:6px}
 .composition-facts li::before{height:4px;width:4px}
 .composition-visual{width:100%}
 .scan-field{height:405px;width:320px;max-width:100%}
 .composition-visual figcaption{font-size:7px;margin-top:-2px}
}
@media(max-width:359px){.floating-booking{padding-inline:17px;font-size:11px}.scan-field{height:375px;width:297px}}
@media(prefers-reduced-motion:reduce){
 .care-rain{display:none}
 .gold-dust{display:none}
 .scan-pass,.body-light-points{display:none}
 .brand-scene::after,.footer-brand::after{display:none}
 .scan-aura,.body-orbit,.floor-orbit,.floating-booking{animation:none}
 .body-orbit,.floor-orbit{opacity:.5}
 .floating-booking::before{display:none}
}
@media print{.care-rain,.floating-booking,.gold-dust,.scan-pass,.body-light-points,.brand-scene::after,.footer-brand::after{display:none}}

/* Entrada da plataforma: mantém o atendimento separado do acesso do paciente. */
.site-header nav{margin-left:auto}
.patient-access{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 18px;border:1px solid #e6c39170;border-radius:30px;color:#ecd1a3;font-size:11px;white-space:nowrap;transition:background .2s}
.patient-access:hover{background:#e6c39115}
.patient-access:focus-visible{outline:2px solid #e6c391;outline-offset:4px}
@media(max-width:760px){.site-header .brand-mini{grid-column:1;grid-row:1;justify-self:start}.site-header .patient-access{grid-column:2;grid-row:1;justify-self:end;padding:8px 11px;gap:6px;font-size:10px}.site-header nav{margin-left:0}.site-header .brand-mini span{font-size:7px;max-width:82px;line-height:1.6}.site-header{column-gap:8px}.patient-access svg{width:14px;height:14px}}
