/* V3: compact sticky navigation and one-time registration. */
:root {
  --tai-sticky-offset: 0px;
  --tai-header-height: 96px;
}
html { scroll-padding-top: calc(var(--tai-sticky-offset) + var(--tai-header-height) + 16px); }
body.admin-bar { --tai-sticky-offset: 32px; }
.tai-studio .site-header {
  position: sticky;
  top: var(--tai-sticky-offset);
  z-index: 100;
  box-shadow: 0 3px 14px #0d1b2a14;
}
.tai-studio [id] { scroll-margin-top: 12px; }
.tai-studio .nav-inner { gap: 24px; }
.tai-studio .main-nav { gap: 20px; }
.tai-studio .main-nav a { white-space: nowrap; }
.tai-studio .main-nav a[aria-current] { color: #66d7d5; }
.tai-studio .studio-reading-aside {
  top: calc(var(--tai-sticky-offset) + var(--tai-header-height) + 24px);
}
.tai-studio .skip-link { z-index: 200; top: calc(var(--tai-sticky-offset) + 12px); }
.tai-studio .studio-registration-notice {
  background: #f8e9ba;
  color: #172e3c;
  border-bottom: 1px solid #d9bd71;
}
.tai-studio .studio-registration-notice-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding-block: 16px;
}
.tai-studio .studio-registration-notice p { margin: 0; }
.tai-studio .studio-registration-notice p:first-child {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  line-height: 1.5;
}
.tai-studio .studio-registration-notice strong { font-size: 1rem; font-weight: 800; }
.tai-studio .studio-registration-notice p:first-child span {
  font-size: .6875rem;
  font-weight: 700;
  border: 1px solid #d3b769;
  border-radius: 30px;
  padding: 2px 9px;
}
.tai-studio .studio-registration-notice p+p { font-size: .8125rem; line-height: 1.7; margin-top: 4px; }
.tai-studio .studio-registration-notice-link {
  flex-shrink: 0;
  font-size: .8125rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.tai-studio .studio-registration-notice-link span { display: inline-block; margin-left: 6px; }
.tai-studio .studio-registration-panel {
  margin-top: 42px;
  padding: 32px;
  border: 1px solid #d8c182;
  border-radius: 8px;
  background: #fffbef;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 24px 40px;
  align-items: center;
}
.tai-studio .studio-registration-panel .eyebrow { color: #786024; margin-bottom: 10px; }
.tai-studio .studio-registration-panel h3 { font-size: 1.625rem; line-height: 1.4; letter-spacing: -.03em; }
.tai-studio .studio-registration-panel p:not(.eyebrow) { font-size: .9375rem; line-height: 1.85; margin-top: 12px; max-width: 750px; }
.tai-studio .studio-registration-panel .studio-registration-steps { margin-top: 14px; font-size: .875rem; }
.tai-studio .studio-registration-panel .studio-registration-steps a { text-decoration: underline; text-underline-offset: 3px; }
.tai-studio .studio-registration-panel .button { white-space: nowrap; }
.tai-studio .studio-registration-caption { color: #52636d; font-size: .8125rem; line-height: 1.8; margin-top: 12px; }
.tai-studio .studio-registration-caption a { text-decoration: underline; text-underline-offset: 3px; }
.tai-studio .price-content .studio-registration-caption { margin-top: 8px; }
.tai-studio .studio-floating-controls {
  position: fixed;
  z-index: 90;
  right: max(24px, env(safe-area-inset-right));
  bottom: calc(24px + env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  pointer-events: none;
}
.tai-studio .studio-register-float,
.tai-studio .studio-back-top {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  text-decoration: none;
  line-height: 1.4;
}
.tai-studio .studio-register-float {
  min-height: 60px;
  gap: 12px;
  padding: 12px 21px;
  color: #172e3c;
  background: #edc75b;
  border: 1px solid #d4ad3d;
  box-shadow: 0 6px 24px #0d1b2a26;
  transition: background .2s, box-shadow .2s;
}
.tai-studio .studio-register-float:hover { color: #172e3c; background: #f7d77e; box-shadow: 0 8px 26px #0d1b2a33; }
.tai-studio .studio-register-float strong { display: block; font-size: .9375rem; font-weight: 800; }
.tai-studio .studio-register-float small { display: block; font-size: .75rem; font-weight: 600; margin-top: 2px; }
.tai-studio .studio-whatsapp-icon { width: 25px; height: 25px; flex-shrink: 0; fill: currentColor; stroke: none; }
.tai-studio .studio-back-top {
  min-height: 44px;
  min-width: 44px;
  gap: 6px;
  padding: 10px 15px;
  font-size: .75rem;
  font-weight: 700;
  background: #fff;
  color: #172e3c;
  border: 1px solid #d1dddd;
  box-shadow: 0 4px 16px #0d1b2a1a;
}
.tai-studio .studio-back-top:hover { background: #edf6f5; color: #172e3c; }
.tai-studio .studio-back-top svg { width: 18px; height: 18px; }
.tai-studio .studio-floating-controls a:focus-visible,
.tai-studio .studio-registration-notice-link:focus-visible { outline: 3px solid #16898b; outline-offset: 4px; }
.tai-studio .studio-register-float.is-wiggling { animation: tai-registration-wiggle .65s ease-in-out 1; }
.tai-studio .footer-bottom { padding-bottom: calc(160px + env(safe-area-inset-bottom)); }
@keyframes tai-registration-wiggle {
  0%,100% { transform: translateX(0) rotate(0); }
  20% { transform: translateX(-3px) rotate(-2deg); }
  40% { transform: translateX(3px) rotate(2deg); }
  60% { transform: translateX(-2px) rotate(-1deg); }
  80% { transform: translateX(2px) rotate(1deg); }
}
@media (max-width:1100px) {
  .tai-studio .main-nav { gap: 14px; font-size: .8125rem; }
}
@media (max-width:880px) {
  :root { --tai-header-height: 82px; }
  .tai-studio .main-nav {
    top: 100%;
    padding: 16px;
    gap: 0;
    font-size: .9375rem;
    max-height: calc(100vh - var(--tai-sticky-offset) - var(--tai-header-height) - 12px);
    max-height: calc(100dvh - var(--tai-sticky-offset) - var(--tai-header-height) - 12px);
    overflow-y: auto;
  }
  .tai-studio .main-nav a { white-space: normal; }
  .tai-studio .studio-registration-notice-inner { gap: 14px; }
  .tai-studio .studio-registration-panel { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .tai-studio .studio-registration-panel .button { justify-self: start; }
  .tai-studio .studio-reading-aside { position: static; }
}
@media (max-width:782px) { body.admin-bar { --tai-sticky-offset: 46px; } }
@media (max-width:640px) {
  .tai-studio .studio-registration-notice-inner { flex-direction: column; align-items: flex-start; gap: 9px; padding-block: 15px; }
  .tai-studio .studio-registration-notice strong { font-size: .9375rem; }
  .tai-studio .studio-registration-notice p+p { font-size: .8125rem; }
  .tai-studio .studio-registration-panel { padding: 24px; margin-top: 30px; }
  .tai-studio .studio-registration-panel h3 { font-size: 1.375rem; }
  .tai-studio .studio-registration-panel .button { justify-self: stretch; white-space: normal; }
  .tai-studio .studio-floating-controls { right: max(14px, env(safe-area-inset-right)); bottom: calc(14px + env(safe-area-inset-bottom)); gap: 10px; }
  .tai-studio .studio-register-float { min-height: 54px; padding: 10px 16px; gap: 9px; }
  .tai-studio .studio-register-float strong { font-size: .875rem; }
  .tai-studio .studio-register-float small { font-size: .75rem; }
  .tai-studio .studio-whatsapp-icon { width: 22px; height: 22px; }
  .tai-studio .studio-back-top { padding: 10px; }
  .tai-studio .studio-back-top span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .tai-studio .studio-register-float.is-wiggling { animation: none !important; }
}
