/* Veloriq Studio – styles for menu, site logo, post list, video and form elements. Loaded only on pages that use them. */
/* Menu element */
.vq-menu{display:flex;align-items:center;position:relative}
.vq-menu-list{list-style:none;margin:0;padding:0;display:flex;gap:.25rem 1.75rem;flex-wrap:wrap}
.vq-menu-vertical .vq-menu-list{flex-direction:column}
.vq-menu-list a{display:inline-flex;align-items:center;min-height:44px;padding:0;color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 calc(50% + .8em)/0 1px no-repeat;transition:background-size .35s cubic-bezier(.16,1,.3,1)}
.vq-menu-list a:hover,.vq-menu-list .current-menu-item>a{background-size:100% 1px}
.vq-menu-list .sub-menu{list-style:none;margin:0;padding:.5rem;position:absolute;min-width:200px;background:var(--vq-color-surface,#fff);color:var(--vq-color-ink,#111);border-radius:var(--vq-radius-md,10px);box-shadow:0 18px 40px rgba(0,0,0,.12);display:none;z-index:20}
.vq-menu-list li{position:relative}
.vq-menu-list li:hover>.sub-menu,.vq-menu-list li:focus-within>.sub-menu{display:block}
.vq-menu-toggle{display:none;font:inherit;color:inherit;background:none;border:1px solid currentColor;border-radius:999px;padding:.45em 1.1em;cursor:pointer}
@media (max-width:1024px){
  .vq-collapse-tablet .vq-menu-toggle{display:inline-flex}
  .vq-collapse-tablet.vq-js .vq-menu-panel{display:none;position:absolute;top:calc(100% + .5rem);right:0;min-width:min(86vw,320px);padding:1.25rem;background:var(--vq-color-surface,#fff);color:var(--vq-color-ink,#111);border-radius:var(--vq-radius-md,10px);box-shadow:0 24px 60px rgba(0,0,0,.18);z-index:30}
  .vq-collapse-tablet.vq-js.is-open .vq-menu-panel{display:block}
  .vq-collapse-tablet .vq-menu-list{flex-direction:column;gap:.25rem}
}
@media (max-width:767px){
  .vq-collapse-mobile .vq-menu-toggle{display:inline-flex}
  .vq-collapse-mobile.vq-js .vq-menu-panel{display:none;position:absolute;top:calc(100% + .5rem);right:0;min-width:min(86vw,320px);padding:1.25rem;background:var(--vq-color-surface,#fff);color:var(--vq-color-ink,#111);border-radius:var(--vq-radius-md,10px);box-shadow:0 24px 60px rgba(0,0,0,.18);z-index:30}
  .vq-collapse-mobile.vq-js.is-open .vq-menu-panel{display:block}
  .vq-collapse-mobile .vq-menu-list{flex-direction:column;gap:.25rem}
}
/* Site logo */
.vq-sitelogo-link{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}
.vq-sitelogo-title{font:600 1.25rem/1 var(--vq-font-heading,inherit);letter-spacing:-.01em}
.vq-sitelogo-img{display:block;height:auto;max-height:inherit;width:auto}
/* Post list – grid */
.vq-postlist-items{list-style:none;margin:0;padding:0}
.vq-postlist-grid .vq-postlist-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:inherit;gap:clamp(1.5rem,1rem + 2vw,3rem)}
.vq-card-link{display:flex;flex-direction:column;gap:.6rem;color:inherit;text-decoration:none}
.vq-card-media{display:block;overflow:hidden;border-radius:var(--vq-radius-md,10px);background:var(--vq-color-line,#ddd)}
.vq-card-img{display:block;width:100%;height:100%;object-fit:cover;transition:scale .8s cubic-bezier(.16,1,.3,1)}
.vq-card-link:hover .vq-card-img{scale:1.04}
.vq-card-title{margin:.4rem 0 0;font-family:var(--vq-font-heading,inherit);font-size:var(--vq-font-size-lg,1.4rem);font-weight:500;line-height:1.15}
.vq-card-excerpt{margin:0;color:var(--vq-color-muted,#666)}
.vq-card-cta{font-size:.875rem;font-weight:600}
.vq-card-link:focus-visible{outline:3px solid var(--vq-color-accent,#4b3bff);outline-offset:6px;border-radius:4px}
/* Post list – editorial index with hover image reveal */
.vq-postlist-index .vq-postlist-items{border-top:1px solid currentColor}
.vq-index-row{position:relative;display:grid;grid-template-columns:3rem minmax(0,1fr) minmax(0,16rem);align-items:baseline;gap:1rem;padding:clamp(1rem,.6rem + 1.5vw,2rem) 0;border-bottom:1px solid currentColor;color:inherit;text-decoration:none}
.vq-index-num{font-size:.8rem;opacity:.6;font-variant-numeric:tabular-nums}
.vq-index-title{margin:0;font-family:var(--vq-font-heading,inherit);font-size:clamp(1.75rem,1rem + 3vw,4rem);font-weight:400;line-height:1;letter-spacing:-.03em;transition:translate .5s cubic-bezier(.16,1,.3,1)}
.vq-index-meta{font-size:.9rem;opacity:.75;text-align:end}
.vq-index-media{position:absolute;right:18%;top:50%;width:clamp(160px,18vw,280px);aspect-ratio:4/5;translate:0 -50%;scale:.85;opacity:0;pointer-events:none;overflow:hidden;border-radius:6px;transition:opacity .35s ease,scale .6s cubic-bezier(.16,1,.3,1);z-index:2}
.vq-index-media img{width:100%;height:100%;object-fit:cover;display:block}
@media (hover:hover){.vq-index-row:hover .vq-index-media,.vq-index-row:focus-visible .vq-index-media{opacity:1;scale:1}.vq-index-row:hover .vq-index-title{translate:1rem 0}}
@media (max-width:767px){.vq-index-row{grid-template-columns:2rem minmax(0,1fr)}.vq-index-meta{grid-column:2;text-align:start}.vq-index-media{display:none}}
.vq-postlist-empty{padding:2rem 0;color:var(--vq-color-muted,#666)}
/* Video */
.vq-video{display:block;width:100%;height:auto;background:#000;border-radius:inherit}
/* Form */
.vq-form{display:flex;flex-direction:column;gap:1.25rem}
.vq-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.vq-field{display:flex;flex-direction:column;gap:.4rem;grid-column:1/-1}
.vq-field-half{grid-column:span 1}
@media (max-width:767px){.vq-field-half{grid-column:1/-1}}
.vq-field label{font-weight:600;font-size:.9rem}
.vq-field input:not([type=checkbox]),.vq-field textarea,.vq-field select{width:100%;padding:.85em 1em;border:1px solid #767676;border-color:color-mix(in srgb,var(--vq-color-ink,#111114) 55%,var(--vq-color-surface,#fff));border-radius:var(--vq-radius-md,10px);background:var(--vq-color-surface,#fff);color:var(--vq-color-ink,#111);font:inherit}
.vq-field input:focus-visible,.vq-field textarea:focus-visible,.vq-field select:focus-visible{outline:3px solid var(--vq-color-accent,#4b3bff);outline-offset:1px}
.vq-field [aria-invalid=true]{border-color:#c4273a}
.vq-field-checkbox{flex-direction:row;align-items:center;gap:.6rem;flex-wrap:wrap;min-height:44px}
.vq-field-checkbox input{width:1.5rem;height:1.5rem;flex:none}
.vq-field-checkbox label{font-weight:400}
.vq-req{color:#c4273a;margin-left:.15em}
.vq-field-error{margin:0;color:#b3192e;font-size:.85rem;flex-basis:100%}
.vq-form-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.vq-form-submit{align-self:flex-start;border:0;cursor:pointer;font:inherit}
.vq-form-submit:disabled{opacity:.6;cursor:progress}
.vq-form-message{margin:0;padding:.8rem 1rem;border-radius:var(--vq-radius-md,10px)}
.vq-form-message.is-sent{background:#e6f4ea;color:#14532d}
.vq-form-message.is-error{background:#fdecec;color:#8a1c1c}
.vq-form-message.is-pending{opacity:.7}
.vq-dynamic-pending,.vq-dynamic-empty{display:block;padding:12px;font:500 12px system-ui,sans-serif;color:#6f6b9c;border:1px dashed #c9c6f5}
.vq-scene{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;contain:paint}
.vq-scene>canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;outline:none}
.vq-scene-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .4s ease}
.vq-scene.is-ready>.vq-scene-poster{opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.vq-scene-poster{transition:none}}
