/* CRISTAL NEGRO 6 — the only interaction-state stylesheet. */
:root {
  --motion-press:120ms;--motion-control:180ms;--motion-layer:280ms;--motion-image:420ms;
  --motion-ease:cubic-bezier(.2,.75,.25,1);
}
::selection {background:var(--gold);color:var(--action-ink)}
.gallery-link::selection,.gallery-link *::selection {background:transparent;color:inherit}
:focus-visible {outline:2px solid var(--tone-focus);outline-offset:5px}
section:focus,main:focus {outline:none}
/* Brand feedback belongs to the mark itself, never a surrounding rectangle.
   Keyboard users retain a rounded focus outline. */
[data-motion="brand"] {border-radius:32px;box-shadow:none;background:none}
[data-motion] {
  -webkit-tap-highlight-color:transparent;
  transition:transform var(--motion-control) var(--motion-ease),color var(--motion-control) var(--motion-ease),
    background-color var(--motion-control) var(--motion-ease),border-color var(--motion-control) var(--motion-ease),
    box-shadow var(--motion-control) var(--motion-ease),opacity var(--motion-control) var(--motion-ease),
    text-decoration-color var(--motion-control) var(--motion-ease)!important;
}
[data-motion] .icon,.menu-toggle span,.step-plus,.step-plus::before,.step-plus::after,
.text-link::after,.brand-name,.brand-emblem::before,.photo-zoom {
  transition:transform var(--motion-control) var(--motion-ease),color var(--motion-control) var(--motion-ease),
    background-color var(--motion-control) var(--motion-ease),border-color var(--motion-control) var(--motion-ease),
    opacity var(--motion-control) var(--motion-ease),filter var(--motion-control) var(--motion-ease);
}
[data-motion="link"]:not(.text-link):not(.mobile-nav a):not(.desktop-nav a) {
  text-decoration-line:underline;text-decoration-color:var(--ui-rim);text-decoration-thickness:1px;text-underline-offset:.25em;
}
.gallery-link img {transition:transform var(--motion-image) var(--motion-ease)}
/* Selected state is explicit and gold, never the legacy white/grey pill. */
.desktop-nav a.active,.mobile-nav a.active,.menu-toggle[aria-expanded=true] {
  color:var(--tone-focus);background:var(--ui-selected);box-shadow:inset 0 0 0 1px var(--ui-rim);
}
.service-tabs button[aria-selected=true] {
  color:var(--action-ink);background:var(--action-fill);border-color:var(--gold-bright);
  box-shadow:0 3px 12px #0003,inset 0 1px var(--ui-shine);
}
details[open] {border-bottom-color:var(--ui-rim)}
details[open] .step-plus {color:var(--tone-focus);border-color:var(--tone-focus);background:var(--ui-selected)}
.privacy-ack input:checked {
  border-color:var(--tone-focus);background-color:var(--gold);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-8' fill='none' stroke='%23100d08' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.field [aria-invalid=true] {border-color:var(--tone-focus)}
/* Hover: gold edge/underline first; only primary actions rise 2px. */
@media(hover:hover) and (pointer:fine) {
  [data-motion="action"]:not(:disabled):not([aria-disabled=true]):hover {
    transform:translateY(-2px);border-color:var(--tone-focus);
    box-shadow:0 8px 22px #0004,0 0 0 1px var(--ui-rim),inset 0 1px var(--ui-shine);
  }
  .button.button-light:hover {background:var(--action-fill-hover);color:var(--action-ink)}
  .button.button-outline:hover,.header-cta:hover {background:var(--ui-hover);color:var(--tone-focus)}
  [data-motion="link"]:hover {color:var(--tone-focus);text-decoration-color:currentColor}
  .text-link:hover::after {opacity:1}
  [data-motion="brand"]:hover .brand-name,
  [data-motion="brand"]:hover .brand-emblem::before {filter:brightness(1.18)}
  [data-motion="control"]:not(:disabled):hover {
    color:var(--tone-focus);border-color:var(--tone-focus);background-color:var(--ui-hover);
    box-shadow:inset 0 0 0 1px var(--ui-rim);transform:translateY(-1px);
  }
  .service-tabs button[aria-selected=true]:hover {color:var(--action-ink);background:var(--action-fill-hover)}
  .desktop-nav a:hover,.mobile-nav a:hover {background:var(--ui-hover)}
  [data-motion="disclosure"]:hover,[data-motion="disclosure"]:hover strong {color:var(--tone-focus)}
  [data-motion="disclosure"]:hover .step-plus {background:var(--ui-hover);border-color:var(--tone-focus)}
  [data-motion="field"]:not(:disabled):hover {border-color:var(--tone-accent)}
  [data-motion="check"]:hover {border-color:var(--tone-focus);box-shadow:0 0 0 4px var(--ui-halo)}
  [data-motion="check-label"]:hover {color:var(--tone-focus)}
  [data-motion="photo"]:hover {border-color:var(--tone-focus);box-shadow:0 10px 28px #0003,0 0 0 2px var(--ui-rim)}
  [data-motion="photo"]:hover img {transform:scale(1.018)}
  [data-motion="photo"]:hover .photo-zoom {color:var(--tone-focus);border-color:var(--tone-focus);transform:translateY(-2px)}
}
/* Press: short and self-clearing on release, drag, cancellation or focus loss. */
[data-motion="action"]:not(:disabled):not([aria-disabled=true]):is(:active,.is-pressed) {
  transform:translateY(1px) scale(.98);border-color:var(--tone-focus);
  box-shadow:inset 0 0 0 1px var(--tone-accent),0 0 0 3px var(--ui-halo);transition-duration:var(--motion-press)!important;
}
.button.button-light:is(:active,.is-pressed) {background:var(--action-fill-press);color:var(--action-ink)}
.button.button-outline:is(:active,.is-pressed),.header-cta:is(:active,.is-pressed) {background:var(--ui-selected);color:var(--tone-focus)}
[data-motion="control"]:not(:disabled):is(:active,.is-pressed) {
  transform:scale(.96);color:var(--tone-focus);border-color:var(--tone-focus);background-color:var(--ui-selected);
  box-shadow:inset 0 0 0 1px var(--tone-accent);transition-duration:var(--motion-press)!important;
}
.service-tabs button[aria-selected=true]:is(:active,.is-pressed) {background:var(--action-fill-press);color:var(--action-ink)}
[data-motion="brand"]:is(:active,.is-pressed) .brand-name,
[data-motion="brand"]:is(:active,.is-pressed) .brand-emblem::before {filter:brightness(1.28)}
[data-motion="link"]:is(:active,.is-pressed),[data-motion="disclosure"]:is(:active,.is-pressed),
[data-motion="disclosure"]:is(:active,.is-pressed) strong,[data-motion="check-label"].is-pressed {
  color:var(--tone-focus);text-decoration-color:currentColor;
}
.text-link:is(:active,.is-pressed)::after {opacity:1}
[data-motion="disclosure"]:is(:active,.is-pressed) .step-plus {transform:scale(.9);border-color:var(--tone-focus);background:var(--ui-selected)}
[data-motion="photo"]:is(:active,.is-pressed) {transform:scale(.994);border-color:var(--tone-focus);box-shadow:0 0 0 2px var(--ui-rim)}
[data-motion="photo"]:is(:active,.is-pressed) img {transform:scale(1.008)}
[data-motion="field"]:is(:focus,.is-pressed) {
  border-color:var(--tone-focus);outline:2px solid var(--tone-focus);outline-offset:2px;
  background-color:#101010;box-shadow:0 0 0 4px var(--ui-halo);
}
[data-motion="check"]:is(:active,.is-pressed) {transform:scale(.92);box-shadow:0 0 0 4px var(--ui-halo)}
[data-motion]:disabled,[data-motion][aria-disabled=true] {transform:none!important;box-shadow:none;opacity:.62;cursor:wait}
@keyframes aax-layer-in {from{opacity:.35;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
@keyframes aax-detail-in {from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference) {
  dialog[open],.mobile-nav:not([hidden]),.service-panel:not([hidden]) {animation:aax-layer-in var(--motion-layer) var(--motion-ease) both}
  details[open]>:not(summary) {animation:aax-detail-in var(--motion-layer) var(--motion-ease) both}
  .hero-copy,.reveal-in {animation-duration:var(--motion-image)}
}
@media(prefers-reduced-motion:reduce) {
  [data-motion],[data-motion] .icon,[data-motion] img,[data-motion] .step-plus,.brand-name,.brand-emblem::before,.photo-zoom {
    transform:none!important;transition:none!important;animation:none!important;
  }
}
@media(forced-colors:active) {
  .brand-name {background:none;color:LinkText}
  .brand-emblem img {opacity:1}.brand-emblem::before {display:none}
  .privacy-ack input {appearance:auto;-webkit-appearance:auto}
  [data-motion]:focus-visible {outline-color:Highlight}
}
