/* Valtaris interaction system v1. Only the real marketing shell loads this layer. */
:root{--motion-press:110ms;--motion-hover:190ms;--motion-selection:220ms;--motion-overlay:260ms;--motion-route:180ms;--motion-section:560ms;--motion-ease:cubic-bezier(.22,.7,.2,1)}
@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--motion-route)}
body a,body button,body summary,body select,body input,body textarea{transition-property:color,background-color,border-color,outline-color,transform;transition-duration:var(--motion-hover);transition-timing-function:var(--motion-ease)}
:is(button,.button,.primary-button,.secondary-button,.nav-cta):active:not(:disabled){transform:scale(.975);transition-duration:var(--motion-press)}
button[aria-pressed=true],button[aria-selected=true]{box-shadow:inset 0 -2px 0 currentColor}.currency-switch button[aria-pressed=true]{box-shadow:inset 0 0 0 1px currentColor}
:is(input,textarea,select):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-color:var(--accent)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);cursor:pointer}label:has(input:checked){color:var(--ink)}
:focus-visible{outline:3px solid #743e32;outline-offset:5px}button:disabled{transform:none;cursor:not-allowed;opacity:.55}
.desktop-nav a,.v-footer nav a{position:relative;padding-block:10px}.desktop-nav a::after,.v-footer nav a::after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--motion-hover) var(--motion-ease)}.desktop-nav a[aria-current=page]::after,.desktop-nav a:focus-visible::after,.v-footer nav a:focus-visible::after{transform:scaleX(1)}
.nav-cta span,.button span[aria-hidden]{display:inline-block;transition:transform var(--motion-hover) var(--motion-ease)}
.menu-toggle{min-height:44px;min-width:44px!important}.menu-toggle[aria-expanded=true]{background:var(--ink);color:var(--paper);padding-inline:12px}
.v-nav{position:relative;z-index:40}.v-nav #mobile-nav{z-index:50;padding:24px;box-shadow:0 22px 35px #25292218;border:1px solid var(--line);border-top:0;max-height:calc(100svh - 100px);overflow:auto}.v-nav #mobile-nav a{display:block;padding:14px 0;font-size:23px;line-height:1.2;min-height:50px;border-bottom:1px solid var(--line)}.v-nav #mobile-nav a:last-child{border-bottom:0}
.menu-veil{position:fixed;inset:0;background:#25292244;border:0;z-index:30;cursor:default}.menu-veil[hidden]{display:none}
.route-options button,.studio-price-grid article,.fit-paths>a{transition:transform var(--motion-selection) var(--motion-ease),border-color var(--motion-selection),background-color var(--motion-selection)}
.route-options button[aria-pressed=true]{background:#e8dfd1;border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.route-options button[aria-pressed=true] .route-mark{background:var(--accent);color:#fff}
summary{cursor:pointer;min-height:44px;padding-block:10px}details[open]>summary{color:var(--accent)}dialog{border:1px solid var(--line);box-shadow:0 30px 80px #25292238}dialog::backdrop{background:#25292280;backdrop-filter:blur(3px)}
:is(#brief-error,#inquiry-send-status):not(:empty){padding:12px;border-left:3px solid var(--accent);background:var(--mist)}#inquiry-send:disabled{background:#6a6c64;color:#fff}
@media(hover:hover) and (pointer:fine){.desktop-nav a:hover::after,.v-footer nav a:hover::after{transform:scaleX(1)}.nav-cta:hover span,.button:hover span[aria-hidden]{transform:translate(3px,-3px)}.route-options button:hover:not([aria-pressed=true]){background:#ede8de;border-color:var(--accent);transform:translateX(3px)}.fit-paths>a:hover{transform:translateX(5px)}.studio-price-grid article:has(a:hover){border-color:var(--accent)}select:hover,input:hover,textarea:hover{border-color:#8f7666}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

/* Inverting surfaces must change foreground/background together, never cross-fade through low contrast. */
.menu-toggle,.currency-switch button{transition-property:transform,outline-color,border-color,box-shadow}
