/* Brand only; classic keeps its own motion. */
:root {
  --theme-duration: 360ms;
  --portrait-duration: 420ms;
  --press-duration: 140ms;
  --motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.profile { position: relative; --profile-gap: clamp(1.25rem, 3.5vw, 3.25rem); }
.brand-ornament {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: clamp(1rem, 5vw, 5rem);
  inline-size: clamp(10rem, 30vw, 26rem);
  block-size: var(--profile-gap);
  background: var(--brand-accent);
  mask: url("ornament.6040294fd7af.svg?v=20260909.1") center / 100% auto no-repeat;
  -webkit-mask: url("ornament.6040294fd7af.svg?v=20260909.1") center / 100% auto no-repeat;
  opacity: 0.65;
  pointer-events: none;
}
.profile::before {
  position: absolute;
  z-index: 1;
  inset-block-start: var(--profile-gap);
  inset-inline: 1px;
  block-size: 1px;
  background: var(--brand-accent);
  content: "";
  opacity: 0.65;
  transform-origin: left;
  pointer-events: none;
}

/* Stable light veil plus an opacity layer avoids snapping gradient colors. */
.portrait-frame::before {
  background: linear-gradient(180deg, rgb(13 27 42 / 8%) 0 45%, transparent 62%),
    linear-gradient(0deg, rgb(13 27 42 / 64%), transparent 34%);
}
.portrait-frame::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgb(13 27 42 / 11%) 0 45%, transparent 62%),
    linear-gradient(0deg, rgb(13 27 42 / 39%), transparent 34%);
  opacity: 0;
  pointer-events: none;
}
:root[data-theme="dark"] .portrait-frame::after { opacity: 1; }

:root.theme-transitions :where(
  body, .profile-card, .site-header, .brand__signature, .brand-ornament,
  .language-selector summary, .language-selector ul, .language-selector a,
  .theme-toggle__track, .theme-toggle__thumb, .theme-toggle__icon,
  .eyebrow, .section-heading__kicker, .professional-title, .positioning,
  .professional-claims__item, .contact-actions__label, .contact-actions__list,
  .contact-actions__list li, .contact-action, .action-icon, .social-actions__label,
  .social-actions__list, .social-actions__list li, .social-action, .social-action__copy span,
  .location, .about, address, .about__copy, .profile-details, .location__route,
  .trust-ledger dt, .trust-ledger dd, .trust-ledger > div, .trust-boundary,
  .schedule dt, .schedule dd, .schedule > div, .site-footer,
  .mobile-action-dock, .mobile-action-dock__link, .share-utility,
  .share-utilities__status, .share-utilities__label, .share-utilities__manual input,
  .channel-dialog, .channel-option, .channel-dialog__close, .channel-dialog__kicker,
  #channel-dialog-description
),
.theme-transitions .profile-page::before,
.theme-transitions .profile-page::after,
.theme-transitions .profile::before,
.theme-transitions .identity::after,
.theme-transitions .channel-dialog::backdrop {
  transition-duration: var(--theme-duration);
  transition-property: color, background-color, border-color, box-shadow;
  transition-timing-function: var(--motion-ease);
}
:root.theme-transitions .theme-toggle__thumb {
  transition-property: transform, background-color, box-shadow;
}
.theme-transitions .portrait-frame__image {
  transition: filter var(--portrait-duration) var(--motion-ease),
    transform var(--portrait-duration) var(--motion-ease);
}
.theme-transitions .portrait-frame::after {
  transition: opacity var(--portrait-duration) var(--motion-ease);
}

/* Keep the hit target and its ring still; only the inner mark moves. */
:root .profile-page :is(.contact-action__arrow, .social-action__arrow, .location__route-arrow, .mobile-action-dock__arrow) {
  transform: none;
}
:is(.contact-action__arrow, .social-action__arrow, .location__route-arrow, .mobile-action-dock__arrow) svg,
.action-icon svg, .mobile-action-dock__icon svg {
  transition: transform var(--press-duration) var(--motion-ease);
}
:is(.contact-action, .social-action, .location__route, .mobile-action-dock__link):focus-visible svg[data-direction-icon] {
  transform: translate(2px, -2px);
}
:is(.contact-action, .location__route, .mobile-action-dock__link):focus-visible :is(.action-icon, .mobile-action-dock__icon) {
  background: color-mix(in srgb, currentcolor 10%, transparent);
  border-color: currentcolor;
}
@media (hover: hover) and (pointer: fine) {
  :is(.contact-action, .social-action, .location__route, .mobile-action-dock__link):hover svg[data-direction-icon] {
    transform: translate(2px, -2px);
  }
  :is(.contact-action, .location__route, .mobile-action-dock__link):hover :is(.action-icon, .mobile-action-dock__icon) {
    background: color-mix(in srgb, currentcolor 10%, transparent);
    border-color: currentcolor;
  }
}
:is(.contact-action, .social-action, .location__route, .mobile-action-dock__link, .channel-option, .share-utility):active {
  box-shadow: inset 0 0 0 1px currentcolor;
  transition-duration: var(--press-duration);
}
:is(.contact-action, .location__route):active .action-icon svg,
.mobile-action-dock__link:active .mobile-action-dock__icon svg {
  transform: scale(0.94);
}

.share-utility__feedback { display: grid; inline-size: 1rem; block-size: 1rem; }
.share-utility__feedback svg { grid-area: 1 / 1; inline-size: 1rem; block-size: 1rem; }
.share-utility__check { opacity: 0; }
[data-share-state="shared"] .share-utility__check,
[data-share-state="copied"] .share-utility__check { opacity: 1; }
:is([data-share-state="shared"], [data-share-state="copied"]) .share-utility__feedback [data-direction-icon] { opacity: 0; }
.share-utility__feedback svg { transition: opacity 160ms ease; }
:is([data-share-state="shared"], [data-share-state="copied"]) .share-utilities__status {
  color: var(--ink);
  border-inline-start: 2px solid var(--bronze-dark);
  padding-inline-start: 0.5rem;
}

@media (prefers-reduced-motion: no-preference) {
  .brand-ornament { animation: brand-ornament-enter 640ms var(--motion-ease) 40ms 1 backwards; }
  .profile::before { animation: brand-rule-enter 580ms var(--motion-ease) 1 backwards; }
  h1, .professional-title, .positioning, .contact-action--primary { animation-duration: 400ms; }
  h1 { animation-delay: 40ms; }
  .professional-title { animation-delay: 120ms; }
  .positioning { animation-delay: 200ms; }
  .contact-action--primary { animation-delay: 280ms; }
}
@keyframes brand-ornament-enter {
  from { opacity: 0; transform: translateX(12px); }
  to { opacity: 0.65; transform: translateX(0); }
}
@keyframes brand-rule-enter {
  from { opacity: 0.2; transform: scaleX(0.15); }
  to { opacity: 0.65; transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
  :root { --theme-duration: 0.01ms; --portrait-duration: 0.01ms; --press-duration: 0.01ms; }
  .brand-ornament, .profile::before { animation: none; }
  :root .profile-page svg[data-direction-icon], :root .profile-page .action-icon svg,
  :root .profile-page .mobile-action-dock__icon svg { transform: none; }
  .share-utility__feedback svg { transition-duration: 0.01ms; }
}
@media (forced-colors: active) {
  .brand-ornament, .profile::before, .portrait-frame::after { display: none; }
  :root .brand__signature { background-color: CanvasText; forced-color-adjust: none; }
}
