/* Readable supporting text in both themes. */
html[data-theme=dark] :is(.micro,.eyebrow,.pmeta span,.notice,.bottom,.herofoot,.skill-tags span,.hint) {
  color: #e1d4eb !important;
}
html[data-theme=light] :is(.micro,.eyebrow,.pmeta span,.notice,.bottom,.herofoot,.skill-tags span,.hint) {
  color: #493158 !important;
}
:is(.micro,.eyebrow,.pmeta span,.notice,.bottom,.herofoot,.skill-tags span,.hint) {
  font-size: 13px !important;
  line-height: 1.65;
}
.micro,.eyebrow { letter-spacing: .1em; }
#pricing .plan .notice { font-size: 14px !important; line-height: 1.75; }
#pricing .plan small { font-size: 14px; }
#pricing .plan li { font-size: 15px; line-height: 1.65; }
#work .pmeta { justify-content: flex-end; }
.direct-contact { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-block: 24px; position: relative; }
.direct-contact a { color: inherit; font-size: 16px; line-height: 1.6; text-decoration-thickness: 1px; text-underline-offset: 5px; min-height: 44px; display: inline-flex; align-items: center; overflow-wrap: anywhere; }
.direct-contact [hidden] { display: none; }
.floating-contact { position: fixed; right: max(22px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); display: flex; align-items: center; padding: 13px 21px; min-height: 48px; border-radius: 999px; background: #dec1fa; color: #271237; box-shadow: 0 6px 24px #08030d77; border: 1px solid #f4deff; text-decoration: none; font-size: 15px; font-weight: 650; z-index: 20; transition: transform .2s,box-shadow .2s; }
.floating-contact:hover { transform: translateY(-3px); box-shadow: 0 8px 30px #10051f99; }
html[data-theme=light] .floating-contact { background: #583271; color: #fff; }
.subscription-consent { display: flex !important; align-items: start; gap: 10px; font-size: 14px !important; letter-spacing: normal !important; line-height: 1.6; }
.subscription-consent input { width: 18px !important; height: 18px; margin: 4px 0 0; flex: none; }
.studio-updates .subscription-status { min-height: 1.6em; font-size: 14px; }
.managed-case { padding-bottom: 32px; margin-bottom: 32px; border-bottom: 1px solid #af8ec44d; }
.managed-case h3 { overflow-wrap: anywhere; line-height: 1.25; }
.case-block p { white-space: pre-line; font-size: 16px; line-height: 1.8; margin-block: 8px 24px; }
.case-block h4 { color: #d9b8ef; font-size: 13px; letter-spacing: .06em; margin-block: 24px 6px; }
html[data-theme=light] .case-block h4 { color: #67417a; }
.case-note { font-size: 14px !important; line-height: 1.75; }
header .logo img { max-width: 160px; max-height: 44px; object-fit: contain; display: block; }
@media (max-width: 600px) {
  .section { padding-inline: 22px; }
  #pricing .plan { padding: 26px 22px; }
  .direct-contact { flex-direction: column; gap: 3px; }
  .floating-contact { bottom: max(16px,env(safe-area-inset-bottom)); right: 16px; padding: 11px 17px; }
  #contact { padding-bottom: 100px; }
  #about .about-heading h2 { font-size: clamp(28px, 8vw, 38px); overflow-wrap: anywhere; }
  #top h1 { max-width: 100%; overflow-wrap: anywhere; }
  .tilted-posters[data-paused=true] { height: auto; perspective: none; mask-image: none; padding-inline: 18px; }
  .tilted-posters[data-paused=true] .tilted-posters__plane { position: static; transform: none; width: 100%; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
  .tilted-posters[data-paused=true] .tilted-posters__track { animation: none; }
  .tilted-posters[data-paused=true] .tilted-posters__loop[aria-hidden], .tilted-posters[data-paused=true] .tilted-posters__loop button:not(:first-child) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
 .floating-contact { transition: none; }
}
#motion-toggle, #footer-motion-toggle, #playground-motion-toggle, .island-footer .cta, .studio-updates p, .brand-proof h2 { font-size: 13px !important; }
html[data-theme=dark] .studio-updates p { color: #e1d4eb; }
html[data-theme=light] .studio-updates p { color: #493158; }
