@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800;900&display=swap');

:root { --white: #fff; --ink: #08090c; --navy: #202328; --line: rgba(255,255,255,.94); --shadow: rgba(0,0,0,.42); --font: 'Montserrat', Arial, Helvetica, sans-serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; color: var(--white); background: #202328; font-family: var(--font); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.skip-link { position: fixed; z-index: 20; left: 1rem; top: 1rem; padding: .7rem 1rem; border-radius: 999px; color: var(--ink); background: var(--white); transform: translateY(-150%); transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); }

.link-page { position: relative; isolation: isolate; width: 100%; min-height: 100vh; padding: 1.5rem 1.1rem 1.3rem; background: #202328; overflow: hidden; }
.link-page::before { content: ''; position: absolute; inset: -15%; z-index: -1; background: radial-gradient(circle at 20% 14%, rgba(255,255,255,.07), transparent 18%), radial-gradient(circle at 82% 26%, rgba(255,255,255,.045), transparent 24%), radial-gradient(circle at 46% 82%, rgba(0,0,0,.22), transparent 42%); pointer-events: none; animation: grey-drift 20s ease-in-out infinite alternate; }
.link-page::after { content: ''; position: absolute; z-index: -1; inset: -20%; pointer-events: none; background: repeating-linear-gradient(120deg, transparent 0 18%, rgba(255,255,255,.025) 19%, transparent 20% 37%), linear-gradient(125deg, transparent 30%, rgba(255,255,255,.035) 31%, transparent 33%, transparent 66%, rgba(0,0,0,.05) 67%, transparent 69%); opacity: .7; animation: geometric-shimmer 16s ease-in-out infinite alternate; }
@keyframes grey-drift { from { transform: translate3d(-2%, -2%, 0) scale(1); } to { transform: translate3d(3%, 3%, 0) scale(1.1); } }
@keyframes geometric-shimmer { from { transform: translateX(-3%) rotate(-1deg); opacity: .38; } to { transform: translateX(3%) rotate(1deg); opacity: .72; } }
.bubble-field { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }.bubble-field span { position: absolute; bottom: -2rem; display: block; width: .55rem; height: .55rem; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; animation: float-bubble 15s linear infinite; opacity: .25; box-shadow: 0 0 10px rgba(255,255,255,.06); }.bubble-field span:nth-child(1) { left: 12%; animation-delay: -3s; }.bubble-field span:nth-child(2) { left: 38%; width: .3rem; height: .3rem; animation-delay: -7s; }.bubble-field span:nth-child(3) { left: 57%; width: .8rem; height: .8rem; animation-delay: -11s; }.bubble-field span:nth-child(4) { left: 74%; width: .35rem; height: .35rem; animation-delay: -5s; }.bubble-field span:nth-child(5) { left: 88%; width: .65rem; height: .65rem; animation-delay: -9s; }.bubble-field span:nth-child(6) { left: 25%; width: .25rem; height: .25rem; animation-delay: -1s; }
@keyframes float-bubble { 0% { transform: translate3d(0, 0, 0) scale(.8); opacity: 0; } 12% { opacity: .26; } 100% { transform: translate3d(18px, -115vh, 0) scale(1.2); opacity: 0; } }

.profile-header, .consultations, .footer { position: relative; z-index: 1; width: min(100%, 43rem); margin-inline: auto; }
.profile-tools { display: flex; align-items: center; justify-content: space-between; margin-bottom: 5.1rem; }.profile-symbol, .share-button { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 1rem; color: #05070c; background: rgba(255,255,255,.94); box-shadow: 0 .5rem 1.1rem rgba(0,0,0,.13); }.profile-symbol { font-size: 1.75rem; font-weight: 800; }.share-button { border: 0; cursor: pointer; }.share-button svg { width: 1.5rem; height: 1.5rem; }.share-button:hover, .share-button:focus-visible { background: #d8eefc; outline: 2px solid var(--white); outline-offset: 3px; }
.avatar { display: grid; place-items: center; width: 7.9rem; height: 7.9rem; margin: 0 auto 1.55rem; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: #fff; background: radial-gradient(circle at 32% 26%, #d9eaf3 0, #79a7c8 27%, #2d587d 58%, #101e36 100%); box-shadow: inset 0 0 0 1px rgba(255,255,255,.3), 0 .9rem 2.4rem rgba(0,0,0,.25); font-size: 1.85rem; font-weight: 800; letter-spacing: -.14em; text-shadow: 0 2px 8px rgba(0,0,0,.35); }
.avatar-photo { display: block; object-fit: cover; object-position: center 34%; }
.profile-header h1 { margin: 0; text-align: center; font-size: clamp(1.55rem, 7vw, 2.55rem); line-height: 1.13; letter-spacing: -.055em; font-weight: 900; text-shadow: 0 2px 12px var(--shadow); }.bio { margin: .85rem auto 1.35rem; color: rgba(255,255,255,.98); text-align: center; font-size: clamp(.82rem, 3.5vw, 1.12rem); line-height: 1.72; font-weight: 700; text-shadow: 0 2px 10px var(--shadow); }
.social-icons { display: flex; align-items: center; justify-content: center; gap: 1.45rem; margin-bottom: 4.8rem; }.social-icons a { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: .6rem; transition: transform .2s, color .2s; }.social-icons svg { width: 2.6rem; height: 2.6rem; filter: drop-shadow(0 2px 5px rgba(0,0,0,.25)); }.social-icons a:hover, .social-icons a:focus-visible { color: #c6ecff; transform: translateY(-3px); outline: none; }

.consultations h2 { margin: 0; text-align: center; font-size: 1.05rem; letter-spacing: .02em; font-weight: 900; text-shadow: 0 2px 10px var(--shadow); }.rule { width: 2.4rem; height: 2px; margin: .75rem auto 1.55rem; background: rgba(255,255,255,.86); }.link-list { display: flex; flex-direction: column; gap: 1.05rem; }.link-card { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) 1.2rem; align-items: center; gap: .9rem; min-height: 6.65rem; padding: .65rem 1rem .65rem .78rem; border: 2px solid var(--line); border-radius: 999px; background: rgba(2,10,19,.22); box-shadow: 0 8px 24px rgba(0,0,0,.1); transition: transform .25s ease, background .25s ease, border-color .25s ease; }.link-card:hover, .link-card:focus-visible { background: rgba(2,10,19,.48); border-color: #d9f2ff; transform: translateY(-3px) scale(1.01); outline: none; }.thumb { display: grid; place-items: center; width: 4.5rem; height: 4.5rem; border-radius: 50%; color: rgba(255,255,255,.92); background: radial-gradient(circle at 34% 28%, #e4f2fa, #75a7c5 28%, #254e72 59%, #071728 100%); box-shadow: inset 0 0 0 1px rgba(255,255,255,.3), 0 3px 10px rgba(0,0,0,.32); font-size: .93rem; font-weight: 800; letter-spacing: -.1em; }.thumb--two { background: radial-gradient(circle at 65% 22%, #d4e5eb, #6a9cb9 31%, #243f60 62%, #070e1c 100%); }.thumb--three { background: radial-gradient(circle at 30% 25%, #b2d6e8, #4c7695 31%, #263a60 64%, #080d18 100%); }.thumb--four { background: radial-gradient(circle at 32% 25%, #f7e2cc, #bd8267 31%, #4d3343 61%, #0a1020 100%); font-size: .68rem; letter-spacing: .02em; }.link-copy { min-width: 0; text-align: center; text-shadow: 0 2px 8px var(--shadow); }.link-copy strong { display: block; color: #fff; font-size: clamp(.82rem, 3.2vw, 1.1rem); line-height: 1.22; font-weight: 900; }.link-copy small { display: block; margin-top: .28rem; color: rgba(255,255,255,.78); font-size: .57rem; line-height: 1.3; font-weight: 600; }.dots { align-self: center; color: rgba(255,255,255,.82); font-size: 1.75rem; line-height: .7; letter-spacing: .05em; }

.footer { padding: 6rem 0 1.8rem; text-align: center; }.selected-service { width: max-content; max-width: 100%; min-height: 1.5rem; margin: 0 auto 1.5rem; padding: .45rem .7rem; border: 1px solid rgba(255,255,255,.34); border-radius: .5rem; color: rgba(255,255,255,.75); font-size: .54rem; font-weight: 600; opacity: 0; transition: opacity .2s; }.selected-service.is-visible { opacity: 1; }.footer-credit { margin: 0; color: #fff; font-size: .72rem; font-weight: 800; text-shadow: 0 2px 8px var(--shadow); }.footer-credit strong { font-weight: 900; }.footer-top { display: grid; place-items: center; width: 2rem; height: 2rem; margin: 1rem auto 0; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; color: #fff; font-size: 1rem; }.footer-top:hover, .footer-top:focus-visible { background: rgba(255,255,255,.16); outline: none; }
.toast { position: fixed; left: 50%; bottom: 1.25rem; z-index: 10; padding: .75rem 1rem; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; color: #fff; background: rgba(4,15,26,.9); box-shadow: 0 .5rem 2rem rgba(0,0,0,.3); font-size: .63rem; font-weight: 700; opacity: 0; pointer-events: none; transform: translate(-50%, 1rem); transition: opacity .25s, transform .25s; }.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

@media (min-width: 700px) { .link-page { max-width: 46rem; margin: 0 auto; padding-inline: 2rem; }.profile-tools { margin-bottom: 5.8rem; }.link-card { min-height: 7.3rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }

/* Seletor de idioma compartilhado */
.profile-tools { position: relative; }
.language-switcher { position: absolute; right: 3.75rem; top: .35rem; z-index: 3; min-width: 3.05rem; height: 2.25rem; padding: 0 .45rem; border: 1px solid rgba(255,255,255,.62); border-radius: .65rem; color: #fff; background: rgba(18,20,24,.76); font: 700 .62rem var(--font); text-align: center; cursor: pointer; appearance: auto; }
.language-switcher:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.thumb-photo { display: block; object-fit: cover; object-position: center 34%; }

/* Painel promocional laranja */
.profile-symbol { border: 0; cursor: pointer; transition: transform .2s ease, background .2s ease; }.profile-symbol:hover, .profile-symbol:focus-visible { transform: rotate(-8deg) scale(1.04); background: #ffad2f; outline: 2px solid #fff; outline-offset: 3px; }
body.promo-open { overflow: hidden; }.promo-overlay { position: fixed; inset: 0; z-index: 40; display: flex; align-items: flex-end; justify-content: center; padding: 0; background: rgba(9,12,16,.62); opacity: 0; pointer-events: none; transition: opacity .28s ease; }.promo-overlay.is-open { opacity: 1; pointer-events: auto; }.promo-panel { position: relative; isolation: isolate; width: min(100%, 46rem); min-height: min(78vh, 46rem); padding: 2rem 1.25rem 2.2rem; overflow: hidden; border-radius: 2.1rem 2.1rem 0 0; color: #20150b; background: linear-gradient(145deg, #ffb52e 0%, #ff881d 46%, #f35b18 100%); box-shadow: 0 -1rem 4rem rgba(0,0,0,.3); transform: translateY(100%); transition: transform .42s cubic-bezier(.2,.8,.2,1); }.promo-overlay.is-open .promo-panel { transform: translateY(0); }.promo-content { position: relative; z-index: 2; width: min(100%, 38rem); margin: 0 auto; }.promo-close { position: absolute; z-index: 4; top: 1.2rem; right: 1.25rem; display: grid; place-items: center; width: 3.1rem; height: 3.1rem; border: 2px solid #20150b; border-radius: 1rem; color: #20150b; background: rgba(255,255,255,.14); font-size: 2rem; line-height: 1; cursor: pointer; }.promo-close:hover, .promo-close:focus-visible { background: #ffe0a4; outline: 2px solid #20150b; outline-offset: 3px; }.promo-mark { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; margin: 1.8rem 0 2rem; border-radius: 1.2rem; color: #ff8a1e; background: #20150b; font-size: 2rem; transform: rotate(-7deg); box-shadow: .5rem .6rem 0 rgba(32,21,11,.13); }.promo-kicker { margin: 0 4rem 1rem 0; font: 700 .68rem var(--font); letter-spacing: .16em; }.promo-panel h2 { max-width: 13ch; margin: 0; font-size: clamp(2.45rem, 10vw, 5.2rem); line-height: .95; letter-spacing: -.07em; font-weight: 900; }.promo-panel > .promo-content > p:not(.promo-kicker):not(.promo-note) { max-width: 36rem; margin: 1.5rem 0; font-size: clamp(.95rem, 3.5vw, 1.22rem); line-height: 1.45; font-weight: 600; }.promo-url { display: flex; align-items: center; width: min(100%, 25rem); min-height: 3.7rem; margin: 1.5rem 0 .85rem; padding: 0 1rem; border: 1px solid rgba(32,21,11,.4); border-radius: .8rem; color: rgba(32,21,11,.68); background: rgba(255,255,255,.78); font-size: .9rem; }.promo-placeholder { margin-left: .35rem; color: rgba(32,21,11,.42); }.promo-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 3rem; min-width: 13rem; min-height: 3.45rem; padding: 0 1.2rem; border-radius: 999px; color: #ffb02c; background: #20150b; font-size: .92rem; font-weight: 800; box-shadow: .45rem .45rem 0 rgba(32,21,11,.16); transition: transform .2s, background .2s; }.promo-cta span { font-size: 1.3rem; }.promo-cta:hover, .promo-cta:focus-visible { background: #3b2614; transform: translateY(-3px); outline: none; }.promo-explore { display: block; width: max-content; margin-top: 1.4rem; border-bottom: 1px solid currentColor; font-size: .83rem; font-weight: 800; }.promo-note { margin: 2.3rem 0 0; font-size: .68rem; font-weight: 700; opacity: .72; }.promo-deco { position: absolute; z-index: 1; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; pointer-events: none; }.promo-deco--one { width: 22rem; height: 22rem; right: -7rem; bottom: -7rem; background: rgba(255,221,132,.16); box-shadow: 0 0 0 2rem rgba(255,221,132,.08), 0 0 0 4rem rgba(255,221,132,.05); }.promo-deco--two { width: 8rem; height: 8rem; right: 4rem; top: 5rem; background: rgba(32,21,11,.1); box-shadow: .8rem .8rem 0 rgba(32,21,11,.11); }
@media (min-width: 700px) { .promo-overlay { padding: 1.5rem; align-items: center; }.promo-panel { min-height: 0; border-radius: 2.1rem; padding: 3rem 3.5rem 3.2rem; }.promo-close { top: 1.6rem; right: 1.6rem; } }
@media (prefers-reduced-motion: reduce) { .promo-panel, .promo-overlay { transition: none !important; } }

/* Painel promocional laranja */
.profile-symbol { border: 0; cursor: pointer; transition: transform .2s ease, background .2s ease; }.profile-symbol:hover, .profile-symbol:focus-visible { transform: rotate(-8deg) scale(1.04); background: #ffad2f; outline: 2px solid #fff; outline-offset: 3px; }
body.promo-open { overflow: hidden; }.promo-overlay { position: fixed; inset: 0; z-index: 40; display: flex; align-items: flex-end; justify-content: center; padding: 0; background: rgba(9,12,16,.62); opacity: 0; pointer-events: none; transition: opacity .28s ease; }.promo-overlay.is-open { opacity: 1; pointer-events: auto; }.promo-panel { position: relative; isolation: isolate; width: min(100%, 46rem); min-height: min(78vh, 46rem); padding: 2rem 1.25rem 2.2rem; overflow: hidden; border-radius: 2.1rem 2.1rem 0 0; color: #20150b; background: linear-gradient(145deg, #ffb52e 0%, #ff881d 46%, #f35b18 100%); box-shadow: 0 -1rem 4rem rgba(0,0,0,.3); transform: translateY(100%); transition: transform .42s cubic-bezier(.2,.8,.2,1); }.promo-overlay.is-open .promo-panel { transform: translateY(0); }.promo-content { position: relative; z-index: 2; width: min(100%, 38rem); margin: 0 auto; }.promo-close { position: absolute; z-index: 4; top: 1.2rem; right: 1.25rem; display: grid; place-items: center; width: 3.1rem; height: 3.1rem; border: 2px solid #20150b; border-radius: 1rem; color: #20150b; background: rgba(255,255,255,.14); font-size: 2rem; line-height: 1; cursor: pointer; }.promo-close:hover, .promo-close:focus-visible { background: #ffe0a4; outline: 2px solid #20150b; outline-offset: 3px; }.promo-mark { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; margin: 1.8rem 0 2rem; border-radius: 1.2rem; color: #ff8a1e; background: #20150b; font-size: 2rem; transform: rotate(-7deg); box-shadow: .5rem .6rem 0 rgba(32,21,11,.13); }.promo-kicker { margin: 0 4rem 1rem 0; font: 700 .68rem var(--font); letter-spacing: .16em; }.promo-panel h2 { max-width: 13ch; margin: 0; font-size: clamp(2.45rem, 10vw, 5.2rem); line-height: .95; letter-spacing: -.07em; font-weight: 900; }.promo-panel > .promo-content > p:not(.promo-kicker):not(.promo-note) { max-width: 36rem; margin: 1.5rem 0; font-size: clamp(.95rem, 3.5vw, 1.22rem); line-height: 1.45; font-weight: 600; }.promo-url { display: flex; align-items: center; width: min(100%, 25rem); min-height: 3.7rem; margin: 1.5rem 0 .85rem; padding: 0 1rem; border: 1px solid rgba(32,21,11,.4); border-radius: .8rem; color: rgba(32,21,11,.68); background: rgba(255,255,255,.78); font-size: .9rem; }.promo-placeholder { margin-left: .35rem; color: rgba(32,21,11,.42); }.promo-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 3rem; min-width: 13rem; min-height: 3.45rem; padding: 0 1.2rem; border-radius: 999px; color: #ffb02c; background: #20150b; font-size: .92rem; font-weight: 800; box-shadow: .45rem .45rem 0 rgba(32,21,11,.16); transition: transform .2s, background .2s; }.promo-cta span { font-size: 1.3rem; }.promo-cta:hover, .promo-cta:focus-visible { background: #3b2614; transform: translateY(-3px); outline: none; }.promo-explore { display: block; width: max-content; margin-top: 1.4rem; border-bottom: 1px solid currentColor; font-size: .83rem; font-weight: 800; }.promo-note { margin: 2.3rem 0 0; font-size: .68rem; font-weight: 700; opacity: .72; }.promo-deco { position: absolute; z-index: 1; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; pointer-events: none; }.promo-deco--one { width: 22rem; height: 22rem; right: -7rem; bottom: -7rem; background: rgba(255,221,132,.16); box-shadow: 0 0 0 2rem rgba(255,221,132,.08), 0 0 0 4rem rgba(255,221,132,.05); }.promo-deco--two { width: 8rem; height: 8rem; right: 4rem; top: 5rem; background: rgba(32,21,11,.1); box-shadow: .8rem .8rem 0 rgba(32,21,11,.11); }
@media (min-width: 700px) { .promo-overlay { padding: 1.5rem; align-items: center; }.promo-panel { min-height: 0; border-radius: 2.1rem; padding: 3rem 3.5rem 3.2rem; }.promo-close { top: 1.6rem; right: 1.6rem; } }
@media (prefers-reduced-motion: reduce) { .promo-panel, .promo-overlay { transition: none !important; } }

.footer-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem .85rem; max-width: 22rem; margin: .85rem auto .35rem; }.footer-meta a { color: rgba(255,255,255,.62); font-size: .52rem; font-weight: 600; text-decoration: none; transition: color .2s ease; }.footer-meta a:hover, .footer-meta a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: .2em; outline: none; }
