/* Página "em construção" — tiagobernardo.pt */
:root{
  --tbc-bg:#0B141C;--tbc-line:#1C2A36;--tbc-line-2:#34465A;
  --tbc-text:#EFE8DA;--tbc-text-2:#B9C6CF;--tbc-muted:#8FA3B2;--tbc-dim:#6E8495;
  --tbc-gold:#D4B483;
  --tbc-serif:'Instrument Serif',Georgia,serif;
  --tbc-sans:'Bricolage Grotesque',system-ui,sans-serif;
  --tbc-ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html,body.tbc-cs{margin:0;background:var(--tbc-bg);color:var(--tbc-text)}
body.tbc-cs{font-family:var(--tbc-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.tbc-cs a{color:var(--tbc-text);text-decoration:none}
.tbc-cs a:hover{color:var(--tbc-gold)}

.tbc-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;position:relative;isolation:isolate}
/* Luz suave por trás do título */
.tbc-page::before{content:"";position:absolute;z-index:-1;width:70vmax;height:70vmax;left:50%;top:42%;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(212,180,131,.09),rgba(212,180,131,0));pointer-events:none;animation:tbc-breathe 9s ease-in-out infinite}

.tbc-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:32px clamp(20px,4vw,48px)}
.tbc-logo{font-family:var(--tbc-serif);font-size:28px;letter-spacing:-.01em}
.tbc-social{display:flex;gap:28px;font-size:14px;letter-spacing:.06em;text-transform:uppercase}

.tbc-main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:40px clamp(20px,6vw,96px) 72px;max-width:1320px;width:100%;margin:0 auto}
.tbc-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 36px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--tbc-muted)}
.tbc-pulse{width:8px;height:8px;border-radius:50%;background:var(--tbc-gold);box-shadow:0 0 0 0 rgba(212,180,131,.6);animation:tbc-pulse 2.4s ease-out infinite}
.tbc-title{margin:0;font-family:var(--tbc-serif);font-weight:400;font-size:clamp(60px,11vw,176px);line-height:.92;letter-spacing:-.03em;max-width:12ch}
.tbc-title em{font-style:italic;color:var(--tbc-gold)}
.tbc-mask{display:block;overflow:hidden;padding-bottom:.08em}
.tbc-line{display:block}
.tbc-lead{margin:40px 0 0;max-width:540px;font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--tbc-text-2)}
.tbc-btn{display:inline-flex;align-items:center;gap:16px;align-self:flex-start;margin-top:48px;padding:20px 32px;background:var(--tbc-text);color:var(--tbc-bg)!important;font-size:16px;letter-spacing:.02em;transition:background .4s,color .4s}
.tbc-btn:hover{background:var(--tbc-gold)}
.tbc-arrow{display:inline-block;transition:transform .5s var(--tbc-ease)}
.tbc-btn:hover .tbc-arrow{transform:translateX(6px)}

.tbc-marquee{border-top:1px solid var(--tbc-line);border-bottom:1px solid var(--tbc-line);overflow:hidden;padding:24px 0}
.tbc-track{display:flex;align-items:center;gap:48px;padding-right:48px;width:max-content;font-family:var(--tbc-serif);font-style:italic;font-size:clamp(24px,2.6vw,34px);color:var(--tbc-dim);white-space:nowrap;animation:tbc-marquee 45s linear infinite}
.tbc-dot{color:var(--tbc-gold);font-size:12px;font-style:normal}

.tbc-foot{display:flex;justify-content:space-between;gap:16px;padding:24px clamp(20px,4vw,48px);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--tbc-muted)}

/* Animações */
@keyframes tbc-line{from{transform:translateY(105%)}to{transform:none}}
@keyframes tbc-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes tbc-marquee{to{transform:translateX(-50%)}}
@keyframes tbc-pulse{0%{box-shadow:0 0 0 0 rgba(212,180,131,.6)}70%{box-shadow:0 0 0 12px rgba(212,180,131,0)}100%{box-shadow:0 0 0 0 rgba(212,180,131,0)}}
@keyframes tbc-breathe{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
.tbc-line{animation:tbc-line 1.2s var(--tbc-ease) .15s both}
.tbc-in{animation:tbc-up 1s var(--tbc-ease) both}
.tbc-d1{animation-delay:.05s}.tbc-d2{animation-delay:.5s}.tbc-d3{animation-delay:.7s}

/* Barra de administração do WordPress */
.admin-bar .tbc-page{min-height:calc(100vh - 32px)}

@media (max-width:600px){
  .tbc-social{gap:18px;font-size:12px}
  .tbc-btn{align-self:stretch;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){
  .tbc-cs *,.tbc-page::before{animation:none!important;transition:none!important}
}
