*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:#000}body{overflow-x:hidden;overflow-y:auto}body.intro-active{overflow:hidden}#site{width:100%;min-height:100svh;background:#000;text-align:center;padding:24px 16px}#site h1{margin:0;color:#fff;font:600 clamp(36px,8vw,48px)/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.03em}#site h1 em{font-style:italic;font-weight:600}.intro{position:fixed;z-index:2;inset:0;display:grid;place-items:center;background:#000}.intro.hidden{opacity:0;pointer-events:none}.intro.finished{display:none}.intro video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.intro button{position:relative;z-index:1;background:#000;color:#fff;border:1px solid #fff;padding:15px 20px;font:12px 'Courier New',monospace;letter-spacing:.08em;cursor:pointer}.intro button:focus-visible{outline:2px solid #fff;outline-offset:4px}.intro.playing #play-button{display:none}

.intro .skip-button{position:absolute;right:20px;bottom:24px;z-index:1;background:#000;color:#fff;border:1px solid #fff;padding:12px 15px;font:12px 'Courier New',monospace;letter-spacing:.06em}.intro .skip-button[hidden]{display:none}

.photo-embed{width:min(100%,780px);margin:28px auto 0;padding:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#111;border:1px solid #303030;border-left:3px solid #bdbdbd;border-radius:5px}.photo-embed img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}

.verses,.skills{width:min(100%,780px);margin-inline:auto;text-align:left}.verses{margin-top:88px}.section-label{font:10px 'Courier New',monospace;letter-spacing:.2em;color:#858585;margin-bottom:18px}.verse{margin:0;padding:29px 0 30px;border-top:1px solid #303030}.verse:last-child{border-bottom:1px solid #303030}.verse p{font:600 clamp(27px,5.6vw,42px)/1.14 'Cormorant Garamond',Georgia,serif;margin:0 0 15px;color:#eee}.verse cite{display:block;font:10px 'Courier New',monospace;font-style:normal;letter-spacing:.08em;color:#888}.verse cite a{color:inherit;text-decoration:none}.verse cite a:hover{color:#fff}.verse cite a:focus-visible{outline:1px solid #fff;outline-offset:4px}
.skills{margin-top:88px;margin-bottom:110px}.skills h2{font:600 clamp(28px,6vw,42px)/1.05 'Cormorant Garamond',Georgia,serif;margin:0 0 24px;color:#fff}.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.skill{position:relative;overflow:hidden;min-height:205px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#070707;color:#fff;border:1px solid #353535;cursor:pointer}.skill:focus-visible{outline:1px solid #fff;outline-offset:3px}.skill-code{position:relative;font:900 clamp(52px,9vw,96px)/.9 Impact,'Arial Black',sans-serif;letter-spacing:-.04em;-webkit-text-stroke:1px #fff;color:transparent}.skill-code::before,.skill-code::after{content:attr(data-text);position:absolute;inset:0;opacity:0;white-space:nowrap;color:#fff;-webkit-text-stroke:0;pointer-events:none}.skill.active .skill-code,.skill:hover .skill-code{color:#fff}.skill.active .skill-code::before{opacity:1;clip-path:inset(17% 0 65% 0);animation:skill-glitch-a .17s steps(2,end) 4}.skill.active .skill-code::after{opacity:.8;clip-path:inset(64% 0 12% 0);animation:skill-glitch-b .14s steps(2,end) 5}.skill-name{font:10px 'Courier New',monospace;letter-spacing:.12em;color:#aaa}.skill.active .skill-name{color:#fff}@keyframes skill-glitch-a{50%{transform:translate(-7px,2px)}}@keyframes skill-glitch-b{50%{transform:translate(8px,-2px)}}
@media(max-width:520px){.verses{margin-top:72px}.verse{padding:24px 0}.verse p{font-size:29px}.skills{margin-top:74px;margin-bottom:85px}.skill{min-height:142px;gap:8px}.skill-code{font-size:clamp(43px,12vw,61px)}.skill-name{font-size:8px;letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){.skill.active .skill-code::before,.skill.active .skill-code::after{animation:none;opacity:0}}

/* Versículos compactos em um único embed */
.verses{margin-top:72px;padding:18px 22px 4px;background:#0d0d0d;border:1px solid #303030;border-left:3px solid #bdbdbd;border-radius:5px}.verses .section-label{margin-bottom:5px}.verse{padding:16px 0 17px;border-color:#292929}.verse:last-child{border-bottom:0}.verse-trigger{display:block;width:100%;padding:0;margin:0 0 9px;background:none;border:0;color:#eee;text-align:left;font:600 clamp(18px,3vw,23px)/1.16 'Cormorant Garamond',Georgia,serif;cursor:pointer}.verse-trigger:hover{color:#fff;text-shadow:0 0 12px rgba(255,255,255,.42)}.verse-trigger:focus-visible{outline:1px solid #fff;outline-offset:4px}.verse cite{font-size:9px}.skills{margin-top:72px}
/* A visão abre sobre o site e revela o trono com luz contínua. */
body.scene-open{overflow:hidden}.throne-scene[hidden]{display:none}.throne-scene{position:fixed;z-index:5;inset:0;display:grid;place-items:center;background:#000;overflow:hidden;isolation:isolate}.scene-beam{position:absolute;inset:-20% -30%;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.35) 36%,transparent 78%);clip-path:polygon(43% 0,57% 0,81% 100%,19% 100%);filter:blur(22px);opacity:0}.scene-glow{position:absolute;width:min(1050px,160vw);aspect-ratio:1;top:0;left:50%;transform:translateX(-50%);background:radial-gradient(circle at 50% 38%,#fff 0%,rgba(255,255,255,.7) 10%,rgba(255,255,255,.28) 27%,transparent 64%);filter:blur(26px);opacity:0}.throne-art{position:relative;z-index:1;width:min(78vw,520px);height:auto;max-height:82svh;overflow:visible;opacity:0;transform:translateY(42px) scale(.85);filter:drop-shadow(0 0 20px rgba(255,255,255,.55))}.throne-scene.show .scene-beam{animation:beam-in 2.1s ease-out forwards}.throne-scene.show .scene-glow{animation:glow-in 2.2s ease-out forwards}.throne-scene.show .throne-art{animation:throne-in 1.4s cubic-bezier(.18,.7,.2,1) .12s forwards}.scene-close{position:absolute;z-index:3;top:max(18px,env(safe-area-inset-top));right:22px;width:42px;height:42px;border:1px solid #888;background:#050505;color:#fff;font:30px/1 Arial,sans-serif;cursor:pointer}.scene-close:hover{background:#fff;color:#000}.scene-close:focus-visible{outline:2px solid #fff;outline-offset:4px}.scene-caption{position:absolute;z-index:2;bottom:max(26px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:#ddd;font:10px 'Courier New',monospace;letter-spacing:.22em;opacity:0}.throne-scene.show .scene-caption{animation:caption-in 1s ease 1.1s forwards}@keyframes beam-in{0%{opacity:0}35%{opacity:1}100%{opacity:.82}}@keyframes glow-in{0%{opacity:0;transform:translateX(-50%) scale(.45)}55%{opacity:1}100%{opacity:1;transform:translateX(-50%) scale(1)}}@keyframes throne-in{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes caption-in{to{opacity:1}}
@media(max-width:520px){.verses{margin-top:62px;padding:14px 15px 2px}.verse{padding:14px 0}.verse-trigger{font-size:19px}.skills{margin-top:68px}.throne-art{width:min(95vw,440px)}.scene-beam{inset:-10% -65%}.scene-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.throne-scene.show .scene-beam,.throne-scene.show .scene-glow,.throne-scene.show .throne-art,.throne-scene.show .scene-caption{animation:none;opacity:1}.throne-scene.show .scene-beam{opacity:.82}.throne-scene.show .scene-glow{opacity:1}.throne-scene.show .throne-art{transform:none}}

.scene-beam,.scene-glow,.throne-art,.scene-caption{pointer-events:none}

.photo-embed .photo-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.photo-embed .photo-open:focus-visible{outline:2px solid #fff;outline-offset:3px}.photo-embed .photo-open:hover img{opacity:.84}body.photo-open{overflow:hidden}.photo-viewer[hidden]{display:none}.photo-viewer{position:fixed;z-index:7;inset:0;display:flex;align-items:center;justify-content:center;padding:72px 20px 20px;background:#000}.photo-viewer img{display:block;width:calc(100vw - 40px);height:calc(100svh - 92px);max-width:100%;object-fit:contain}.photo-back{position:absolute;z-index:1;top:max(18px,env(safe-area-inset-top));left:20px;padding:12px 15px;background:#050505;color:#fff;border:1px solid #777;font:11px 'Courier New',monospace;letter-spacing:.08em;cursor:pointer}.photo-back:hover{background:#fff;color:#000}.photo-back:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:520px){.photo-viewer{padding:64px 8px 12px}.photo-viewer img{width:calc(100vw - 16px);height:calc(100svh - 76px)}.photo-back{left:12px;top:max(12px,env(safe-area-inset-top))}}

/* Contato direto, no mesmo preto e branco do resto do site. */
.skills{margin-bottom:76px}
.contact{width:min(100%,780px);margin:0 auto;padding:30px 0 max(78px,env(safe-area-inset-bottom));border-top:1px solid #555;text-align:left;color:#fff}
.contact-intro{margin:0 0 16px;color:#aaa;font:15px/1.4 'Courier New',monospace}
.contact-link{display:inline-flex;align-items:center;gap:13px;max-width:100%;padding:14px 16px;border:1px solid #777;background:#080808;color:#fff;text-decoration:none}
.contact-whatsapp-icon{width:38px;height:38px;flex:none}
.contact-number{font:700 clamp(17px,4.7vw,29px)/1.2 'Courier New',monospace;letter-spacing:-.07em;white-space:nowrap}
.contact-link:hover{background:#151515;border-color:#fff}
.contact-link:focus-visible{outline:2px solid #fff;outline-offset:5px}
.ambient-video[hidden]{display:none}
.ambient-video{position:fixed;z-index:1;inset:0;display:block;width:100vw;height:100dvh;object-fit:cover;opacity:.18;filter:grayscale(1) contrast(1.7);mix-blend-mode:screen;pointer-events:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.offer-card{position:relative;isolation:isolate;overflow:hidden;width:min(100%,620px);margin-top:36px;padding:32px 40px;border:1px solid #72161d;background:radial-gradient(circle at 15% 0,rgba(94,8,15,.24),transparent 45%),#060303;box-shadow:5px 5px 0 #1e0508;color:#efe4e4}
.offer-card::before{content:"";position:absolute;z-index:0;inset:-40%;background:url('assets/grain-noise.svg') repeat;opacity:.18;mix-blend-mode:screen;pointer-events:none}
.offer-card::after{content:"";position:absolute;z-index:0;left:0;right:0;top:-35%;height:26%;background:repeating-linear-gradient(180deg,transparent 0 2px,rgba(225,29,43,.23) 3px 4px,transparent 5px 8px);opacity:0;pointer-events:none}
.offer-cross{position:absolute;z-index:3;left:8px;top:8px;width:21px;height:21px;filter:drop-shadow(0 0 7px #d21728);pointer-events:none}
.offer-cross::before,.offer-cross::after{content:"";position:absolute;background:#ed2432;box-shadow:0 0 8px #bd1020}
.offer-cross::before{width:5px;height:21px;left:8px;top:0}
.offer-cross::after{width:17px;height:5px;left:2px;top:6px}
.contact-work{position:relative;z-index:2;max-width:540px;margin:0;color:#f1e8e8;font:600 20px/1.35 'Cormorant Garamond',Georgia,serif;letter-spacing:.005em}
.offer-word{display:inline-block;white-space:nowrap}
.offer-char{display:inline-block;transition:opacity .06s linear;color:inherit}
.offer-char.is-missing{opacity:0}
.offer-card.is-visible{animation:offer-red-arrive .55s steps(3,end) both,offer-red-border 4.2s steps(1,end) infinite}
.offer-card.is-visible::before{animation:offer-grain .38s steps(3,end) infinite}
.offer-card.is-visible::after{animation:offer-red-scan 3.6s linear infinite}
.offer-card.is-visible .offer-cross{animation:offer-cross-travel 7s linear infinite}
.offer-card.is-visible .offer-visual{animation:offer-text-fault 4.2s steps(1,end) infinite}
@keyframes offer-red-arrive{0%{opacity:.35;transform:translateX(-9px);filter:contrast(2)}55%{opacity:1;transform:translateX(3px)}100%{opacity:1;transform:none;filter:none}}
@keyframes offer-red-border{0%,67%,70%,100%{border-color:#72161d}68%{border-color:#ed2432}69%{border-color:#2d0509}}
@keyframes offer-grain{0%{transform:translate(0,0)}33%{transform:translate(-18px,11px)}66%{transform:translate(12px,-17px)}100%{transform:translate(0,0)}}
@keyframes offer-red-scan{0%{top:-35%;opacity:0}3%{opacity:.55}25%{top:115%;opacity:.3}26%,100%{top:115%;opacity:0}}
@keyframes offer-text-fault{0%,43%,46%,77%,80%,100%{color:#f1e8e8;text-shadow:none}44%,78%{color:#ffb9bf;text-shadow:3px 0 #ed2432,-2px 0 #440009}45%,79%{color:#cc5962;text-shadow:-3px 0 #fff}}
@keyframes offer-cross-travel{0%{left:8px;top:8px}25%{left:calc(100% - 29px);top:8px}50%{left:calc(100% - 29px);top:calc(100% - 29px)}75%{left:8px;top:calc(100% - 29px)}100%{left:8px;top:8px}}
@media(max-width:520px){.skills{margin-bottom:60px}.contact{padding-top:25px}.contact-intro{font-size:13px}.contact-link{gap:9px;padding:12px}.contact-whatsapp-icon{width:30px;height:30px}.offer-card{margin-top:34px;padding:29px 32px;box-shadow:3px 3px 0 #1e0508}.contact-work{font-size:18px;line-height:1.32}}
