/* Camada de acabamento: mantém a composição e o conteúdo já aprovados. */
:root{--soft-corner:14px;--soft-ease:cubic-bezier(.2,.7,.2,1)}
.cta,.contact-cta{border-radius:var(--soft-corner);transition:background .25s,border-color .25s,box-shadow .3s,transform .3s var(--soft-ease)}
.cta{background:linear-gradient(135deg,#fffaf1,#eae2e9);border-color:#fff9;box-shadow:inset 0 1px 0 #fff9,0 6px 22px #0e08181a}
.contact-cta{background:linear-gradient(120deg,#3c2d43,#292031);border-color:#71597470;box-shadow:inset 0 1px 0 #e6d4e71f,0 7px 20px #392c4214}
.cta svg,.contact-cta svg{transition:transform .3s var(--soft-ease)}
.motion{border-radius:999px;border-color:#e6d8e54d;background:#30243670;box-shadow:inset 0 1px 0 #ffffff10}
.work-tabs{gap:10px;padding-bottom:16px;border-bottom-color:#b8acbc80}
.work-tab{border-radius:12px;border-color:#a594ad45;background:#fffaf229;transition:background .25s,color .25s,border-color .25s,box-shadow .25s}
.work-tab[aria-selected=true]{background:linear-gradient(130deg,#49364e,#302537);border-color:#77607c55;box-shadow:inset 0 1px 0 #fbeeff18,0 4px 13px #32253712}
.work-arrow{width:44px;border-radius:50%;border-color:#9a879d80;background:#fffaf240}
.work-expand{border-radius:50%;box-shadow:0 2px 8px #211a2920}
.work-photo{border-radius:12px;isolation:isolate}.work-photo:after{content:'';position:absolute;inset:0;border:1px solid #5b43631a;border-radius:inherit;pointer-events:none}
.work-viewer{border-radius:18px;overflow:hidden}.viewer-close{border-radius:999px;padding:8px 12px;transition:background .2s}.viewer-close:hover{background:#ffffff0c}
.viewer-footer .work-arrow{background:#ffffff08}
@media(hover:hover){.cta:hover{background:#fffaf4;box-shadow:inset 0 1px 0 #fff,0 9px 26px #110c2024;transform:translateY(-2px)}.contact-cta:hover{background:linear-gradient(120deg,#503955,#35273d);box-shadow:0 10px 24px #392c4221;transform:translateY(-2px)}.cta:hover svg{transform:translateY(2px)}.contact-cta:hover svg{transform:translate(2px,-2px)}.work-tab:not([aria-selected=true]):hover{background:#fefaf3a6;border-color:#94779b77}.work-arrow:not(:disabled):hover{background:#fdf8f1;border-color:#715979}.viewer-footer .work-arrow:not(:disabled):hover{background:#ffffff14}}
.cta:active,.contact-cta:active{transform:translateY(0)}

/* Marfim quente, rosado e luz natural nas áreas claras. */
.header{background:#eee2d6}
.site-footer{background:#e8d9ce}
.works,.contact{isolation:isolate;overflow:hidden;position:relative}
.works{background:radial-gradient(ellipse at 8% 15%,#f7eddfb3,transparent 60%),linear-gradient(125deg,#eddfcf,#e9d9d0 55%,#dcc8d1)}
.about{background:radial-gradient(ellipse at 85% 0%,#55415280,transparent 60%),linear-gradient(130deg,#332735,#241d2a 65%,#302533)}
.contact{background:radial-gradient(ellipse at 10% 40%,#f5e8d980,transparent 65%),linear-gradient(120deg,#eadcce,#decad3)}
.works-inner,.about-inner,.contact-inner{position:relative;z-index:1}
.about:before{z-index:2;border-color:#ecdded18}
.surface-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.surface-atmosphere:after{content:'';position:absolute;inset:0;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.22' filter='url(%23grain)'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:multiply}
.surface-glow{position:absolute;width:min(1000px,100%);height:600px;top:-170px;right:-230px;background:radial-gradient(ellipse,#c1a7c03b,transparent 68%);transform-origin:70% 40%;animation:surface-breathe 16s ease-in-out infinite alternate;animation-play-state:paused}
.surface-glow:after{content:'';position:absolute;inset:100px 280px -100px -170px;background:radial-gradient(ellipse,#fff8eb80,transparent 65%)}
.works .surface-glow,.contact .surface-glow{inset:-20% -15%;width:130%;height:140%;opacity:1;background:linear-gradient(112deg,transparent 22%,#96798226 30%,transparent 39%,#fff4dc66 55%,#a2849133 61%,transparent 71%);filter:blur(24px)}
.works .surface-glow:after,.contact .surface-glow:after{inset:0;background:radial-gradient(ellipse at 16% 18%,#fff7e573,transparent 57%)}
.works .surface-atmosphere:after,.contact .surface-atmosphere:after{opacity:.24}
.about .surface-glow{top:-220px;right:-140px;background:radial-gradient(ellipse,#b98cac26,transparent 66%)}
.about .surface-glow:after{background:radial-gradient(ellipse,#8e647626,transparent 67%)}
.about .surface-atmosphere:after{opacity:.13;mix-blend-mode:screen}
.contact .surface-glow{opacity:.75}
.is-in-view .surface-glow{animation-play-state:running}
@keyframes surface-breathe{from{transform:translate3d(-18px,-9px,0) scale(.97)}to{transform:translate3d(18px,14px,0) scale(1.06)}}

/* Só o JavaScript acrescenta o estado de entrada. Sem JS, tudo é visível. */
.reveal-pending{opacity:0;transform:translate3d(0,18px,0)}
.reveal-pending.is-revealed{opacity:1;transform:translate3d(0,0,0);transition:opacity .7s var(--soft-ease) var(--reveal-delay,0ms),transform .85s var(--soft-ease) var(--reveal-delay,0ms)}
.reveal-pending:focus-within{opacity:1;transform:none;transition:none}
/* As partes do título sobem por uma máscara, preservando as quebras responsivas. */
.reveal-chunk{display:inline-block;clip-path:inset(-.15em -.15em -.2em -.15em)}
.reveal-word{display:inline-block}
.reveal-title.reveal-pending{opacity:1;transform:none}
.reveal-title.reveal-pending .reveal-word{opacity:0;transform:translate3d(0,125%,0)}
.reveal-title.reveal-pending.is-revealed .reveal-word{opacity:1;transform:translate3d(0,0,0);transition:transform .85s cubic-bezier(.2,.75,.2,1),opacity .45s ease;transition-delay:calc(var(--reveal-delay,0ms) + var(--part-index,0)*110ms)}
.reveal-title:focus-within .reveal-word{opacity:1;transform:none;transition:none}
@media(max-width:700px){.work-tabs{gap:8px}.work-tab{border-radius:11px}.work-photo{border-radius:10px}.work-viewer{border-radius:14px}.surface-glow{width:650px;right:-380px;opacity:.7}.about .surface-glow{right:-390px}.reveal-pending{transform:translate3d(0,12px,0)}}
@media(max-width:700px){.works .surface-glow,.contact .surface-glow{inset:-10% -45%;width:190%;height:120%;filter:blur(20px);opacity:.8}}
@media(prefers-reduced-motion:reduce){.surface-glow{animation:none!important}.reveal-pending,.reveal-pending.is-revealed,.reveal-title.reveal-pending .reveal-word{opacity:1!important;transform:none!important;transition:none!important}.reveal-chunk{clip-path:none}.cta:hover,.contact-cta:hover,.cta:hover svg,.contact-cta:hover svg{transform:none}}
