/* THB Cinematic Logo Reveal v5 — CSS-only, restrained and lightweight */
html.thb-ci-locked, body.thb-ci-locked { overflow:hidden!important; }
#thb-cinematic-intro, #thb-cinematic-intro * { box-sizing:border-box; }
#thb-cinematic-intro {
  --green:#173f2d; --muted:#64766a;
  position:fixed; inset:0; z-index:2147483000; display:grid; place-items:center;
  overflow:hidden; isolation:isolate; background:#f8faf7; color:var(--green);
  opacity:1; animation:thbCiSceneIn .55s ease both;
}
#thb-cinematic-intro::before {
  content:""; position:absolute; inset:0 0 auto; height:4px; background:var(--green);
  transform-origin:left; animation:thbCiTopline 1s .15s ease both;
}
#thb-cinematic-intro::after {
  content:""; position:absolute; width:min(72vw,470px); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(225,238,226,.75) 0%,rgba(225,238,226,.42) 48%,rgba(248,250,247,0) 72%);
  opacity:0; transform:scale(.86); animation:thbCiHalo 1.4s .15s ease-out forwards; pointer-events:none;
}
#thb-cinematic-intro .thb-ci-stage {
  position:relative; z-index:2; width:min(90vw,660px); padding:30px 18px 42px;
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
#thb-cinematic-intro .thb-ci-kicker {
  margin:0 0 clamp(25px,4vh,38px); color:var(--muted);
  font:600 10px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.19em; text-transform:uppercase; opacity:0;
  animation:thbCiTextIn .65s .25s ease forwards;
}
#thb-cinematic-intro .thb-ci-emblem {
  width:clamp(72px,10vw,100px); height:clamp(72px,10vw,100px); padding:8px;
  display:grid; place-items:center; background:#fff; border:1px solid #dfe9df;
  border-radius:25px; box-shadow:0 10px 34px rgba(23,63,43,.08);
  opacity:0; transform:translateY(12px) scale(.82);
  animation:thbCiLogoReveal 1.15s .45s cubic-bezier(.2,.75,.25,1) forwards;
}
#thb-cinematic-intro .thb-ci-emblem img { display:block; width:100%; height:100%; object-fit:contain; }
#thb-cinematic-intro .thb-ci-rule {
  width:0; height:1px; margin:24px 0 20px; background:#9db8a1;
  animation:thbCiRuleIn .7s 1.3s ease forwards;
}
#thb-cinematic-intro .thb-ci-overline {
  margin:0 0 8px; color:var(--muted); font:400 15px/1.5 Georgia,"Times New Roman",serif;
  opacity:0; animation:thbCiTextIn .65s 1.45s ease forwards;
}
#thb-cinematic-intro .thb-ci-title {
  margin:0; color:var(--green); font:600 clamp(2.45rem,7vw,4.8rem)/1.02 Georgia,"Times New Roman",serif;
  letter-spacing:-.055em; opacity:0; animation:thbCiTextIn .8s 1.62s ease forwards;
}
#thb-cinematic-intro .thb-ci-title span { color:#47745a; font-style:italic; font-weight:500; }
#thb-cinematic-intro .thb-ci-tagline {
  margin:15px 0 0; color:#5d7063; font:400 13px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif;
  opacity:0; animation:thbCiTextIn .65s 1.9s ease forwards;
}
#thb-cinematic-intro .thb-ci-enter {
  display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:42px;
  margin-top:clamp(22px,3.5vh,30px); padding:0 21px; border:0; border-radius:999px;
  color:#fff; background:var(--green); font:650 11px/1 system-ui,-apple-system,"Segoe UI",sans-serif;
  cursor:pointer; opacity:0; animation:thbCiTextIn .65s 2.1s ease forwards;
}
#thb-cinematic-intro .thb-ci-enter:hover { background:#28563d; }
#thb-cinematic-intro .thb-ci-skip {
  position:absolute; z-index:5; top:clamp(20px,4vw,34px); right:clamp(20px,4vw,34px);
  padding:9px 12px; border:1px solid #dfe8e0; border-radius:999px; color:#53685a;
  background:rgba(248,250,247,.85); font:600 10px/1 system-ui,sans-serif; cursor:pointer;
}
#thb-cinematic-intro .thb-ci-footer {
  position:absolute; right:0; bottom:clamp(22px,4vh,34px); left:0; z-index:3;
  color:#87958a; font:500 9px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.11em; text-align:center; text-transform:uppercase;
  opacity:0; animation:thbCiTextIn .6s 2.05s ease forwards;
}
#thb-cinematic-intro.thb-ci-leaving { pointer-events:none; animation:thbCiSceneOut .35s ease-in forwards; }
@keyframes thbCiSceneIn { from{opacity:0} to{opacity:1} }
@keyframes thbCiSceneOut { to{opacity:0;visibility:hidden} }
@keyframes thbCiTopline { from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes thbCiHalo { 0%{opacity:0;transform:scale(.86)} 45%{opacity:1;transform:scale(1)} 100%{opacity:.72;transform:scale(1.04)} }
@keyframes thbCiLogoReveal { 0%{opacity:0;transform:translateY(12px) scale(.82)} 65%{opacity:1;transform:translateY(-2px) scale(1.025)} 100%{opacity:1;transform:translateY(0) scale(1)} }
@keyframes thbCiRuleIn { to{width:44px} }
@keyframes thbCiTextIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
@media(max-width:600px) {
 #thb-cinematic-intro::after { width:min(90vw,390px); }
 #thb-cinematic-intro .thb-ci-kicker { margin-bottom:27px; font-size:9px; letter-spacing:.14em; }
 #thb-cinematic-intro .thb-ci-title { font-size:clamp(2.25rem,9.5vw,3.4rem); }
 #thb-cinematic-intro .thb-ci-tagline { max-width:260px; }
 #thb-cinematic-intro .thb-ci-emblem { border-radius:21px; }
}
@media(prefers-reduced-motion:reduce) {
 #thb-cinematic-intro, #thb-cinematic-intro * { animation:none!important; transition:none!important; }
 #thb-cinematic-intro .thb-ci-emblem,#thb-cinematic-intro .thb-ci-kicker,#thb-cinematic-intro .thb-ci-overline,
 #thb-cinematic-intro .thb-ci-title,#thb-cinematic-intro .thb-ci-tagline,#thb-cinematic-intro .thb-ci-enter,
 #thb-cinematic-intro .thb-ci-footer { opacity:1; transform:none; }
 #thb-cinematic-intro .thb-ci-rule { width:44px; }
}
