/* Asmaneez extensions: quote questionnaire + case-study video. Theme-aware via site tokens. */
.video-frame{margin:0;max-inline-size:60rem;margin-inline:auto}
.video-frame video{display:block;inline-size:100%;aspect-ratio:16/9;background:#000;border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-2)}
.video-frame figcaption{margin-block-start:.9rem;text-align:center}

.q-form{margin-block-start:1.5rem}
.q-step{border:0;margin:0;padding:0;min-inline-size:0}
.q-step+.q-step{margin-block-start:2.75rem;padding-block-start:2.5rem;border-block-start:1px solid var(--line)}
.q-legend{padding:0;margin-block-end:1.4rem;display:block;inline-size:100%}
.q-legend-title{display:block;font-size:clamp(1.3rem,2.4vw,1.65rem);font-weight:620;letter-spacing:-.02em;color:var(--ink)}
.q-hint{display:block;margin-block-start:.35rem;font-size:.95rem;color:var(--ink-2);line-height:1.5}
.q-label{display:flex;align-items:baseline;gap:.45rem;font-size:.875rem;font-weight:550;color:var(--ink);margin-block-end:.6rem}
.q-label .opt{font-weight:400;font-size:.78rem;color:var(--ink-3)}
.q-help{font-size:.9rem;color:var(--ink-2);margin:0 0 1rem;line-height:1.5}
.q-block{display:block}
.q-form [hidden],#demo[hidden]{display:none!important}
.q-record-grid>.field{position:static;inset:auto;z-index:auto;overflow:visible;pointer-events:auto}
.q-record-grid>.field::after{content:none;display:none}
.q-mt{margin-block-start:1.8rem}
.q-block+.q-block,.q-block+.field-grid{margin-block-start:1.6rem}
.q-inline{display:grid;grid-template-columns:6.5rem 1fr;gap:.6rem}

.q-choices{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,15.5rem),1fr))}
.q-choices.q-cols-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.q-opt{display:flex;align-items:flex-start;gap:.65rem;padding:.8rem 1rem;border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--paper);cursor:pointer;font-size:.93rem;line-height:1.4;color:var(--ink);transition:border-color .2s,background .2s}
.q-opt:hover{border-color:var(--blue)}
.q-opt input{flex:none;inline-size:1.1rem;block-size:1.1rem;margin:.1rem 0 0;accent-color:var(--blue)}
.q-opt:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}
.q-opt:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
.q-group+.q-group{margin-block-start:1.6rem}
.q-group-title{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .65rem}

.q-count{align-self:end;display:flex;align-items:baseline;gap:.6rem;padding:1rem 1.2rem;border-radius:var(--r-md);background:var(--blue-soft);border:1px solid var(--line)}
.q-count-num{font-size:2rem;font-weight:650;letter-spacing:-.03em;color:var(--blue);line-height:1}
.q-count-label{font-size:.9rem;color:var(--ink-2)}

.q-records{display:grid;gap:1rem;margin-block-end:1rem}
.q-record{position:relative;padding:1.1rem 1.2rem 1.2rem;border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--paper-2)}
.q-record-grid{display:grid;gap:.9rem;grid-template-columns:1fr 1fr}
.q-record-grid .field-full{grid-column:1/-1}
.q-record .field input,.q-record .field textarea{background:var(--paper)}
.q-remove{position:absolute;inset-block-start:.6rem;inset-inline-end:.7rem;border:0;background:none;color:var(--ink-3);font-size:.82rem;cursor:pointer;padding:.25rem .45rem;border-radius:var(--r-sm)}
.q-remove:hover{color:#d70015;background:var(--neutral-soft)}
@media (max-width:560px){.q-record-grid{grid-template-columns:1fr}}

.q-summary{margin-block-start:1.8rem;padding:1rem 1.2rem;border-radius:var(--r-md);background:var(--paper-2);border:1px solid var(--line);font-size:.92rem;color:var(--ink-2);line-height:1.6}
.q-summary strong{color:var(--ink);font-weight:600}

.q-nav{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.q-nav .btn{margin-block-start:0}

.q-progress{margin-block-end:2rem}
.q-progress-text{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--ink-3);margin:0 0 .6rem}
.q-progress-text span:last-child{color:var(--ink);font-weight:550}
.q-bar{block-size:6px;border-radius:99px;background:var(--neutral-soft);overflow:hidden}
.q-bar span{display:block;block-size:100%;inline-size:0;background:var(--blue);border-radius:99px;transition:inline-size .35s ease}

.q-js .q-step{display:none}
.q-js .q-step.is-current{display:block}
.q-js .q-step+.q-step{margin-block-start:0;padding-block-start:0;border-block-start:0}

.q-done{text-align:center;padding-block:1.5rem}
.q-done h2{margin:0 0 .75rem}
.q-ref{display:inline-block;margin-block:.5rem 1.5rem;padding:.55rem 1.1rem;border-radius:var(--r-pill);background:var(--blue-soft);color:var(--blue);font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.q-next-list{text-align:start;max-inline-size:30rem;margin:0 auto 1.8rem;padding-inline-start:1.2rem;color:var(--ink-2);line-height:1.6}
@media (prefers-reduced-motion:reduce){.q-bar span{transition:none}}

/* Quote flow v2: 5 gentle steps, consistent arrows in LTR and RTL locales. */
.quote-section{padding-block-start:1.5rem}
.quote-card .q-form{margin-block-start:.85rem}
.q-kicker{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.35rem .8rem;background:var(--blue-soft);color:var(--blue);font-size:.76rem;font-weight:600}
.quote-card .q-progress{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-block:0 1.5rem;font-size:.84rem;color:var(--ink-3)}
.quote-card #q-step-title{color:var(--ink);font-weight:600}
.quote-card .q-step+.q-step{margin-block-start:2rem;padding-block-start:2rem;border-block-start:1px solid var(--line)}
.quote-card .q-legend{margin-block-end:1.7rem}
.quote-card .q-legend-title{font-size:clamp(1.3rem,2.1vw,1.6rem)}
.quote-card .q-choices.q-cols-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}
.quote-card .q-choices.q-cols-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
.quote-card .q-opt{min-height:3.2rem}
.quote-card [hidden]{display:none!important}
.quote-card .q-js .q-step{display:none!important}
.quote-card .q-js .q-step.is-current{display:block!important}
.quote-card .q-js .q-step+.q-step{border:0;margin:0;padding:0}
.quote-card .q-budget{display:grid;grid-template-columns:minmax(6.8rem,.45fr) minmax(0,1fr);gap:.75rem}
.quote-card .q-budget .field{min-width:0}
.quote-card .q-nav{direction:ltr;display:flex;gap:.7rem;align-items:center;justify-content:space-between;margin-block-start:2.5rem;border-block-start:1px solid var(--line);padding-block-start:1.4rem}
.quote-card .q-arrow{width:3.8rem;height:3.8rem;flex:none;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s}
.quote-card .q-arrow:hover:not(:disabled){border-color:var(--blue);background:var(--blue-soft)}
.quote-card .q-arrow:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.quote-card .q-arrow:disabled{opacity:.38;cursor:not-allowed}
.quote-card .q-arrow svg{width:1.25rem;height:1.25rem;display:block;transform:none!important}
.quote-card .q-nav-centre{display:flex;gap:1.1rem;align-items:center;justify-content:center;min-width:0}
.quote-card .q-dots{display:flex;gap:.6rem;align-items:center}
.quote-card .q-dots span{display:block;height:.78rem;width:.78rem;background:#d1d5db;border-radius:99px;transition:background .2s,width .2s}
.quote-card .q-dots span.complete{background:#8bbbf5}
.quote-card .q-dots span.active{background:#087af5;width:2.5rem}
.quote-card .q-fraction{white-space:nowrap;color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:.95rem}
.quote-card #q-submit{align-items:center;gap:.6rem}
.quote-card #q-submit svg{width:1.25rem;height:1.25rem}
.quote-card .err:not(:empty){display:block;margin-block-start:.25rem;color:#b42318;font-size:.84rem}
.quote-card [aria-invalid="true"]{border-color:#b42318!important}
.quote-aside .contact-block .k{text-transform:none}
[dir="rtl"] .quote-card .q-opt{flex-direction:row}
[dir="rtl"] .quote-card .q-nav-centre{direction:ltr}
[dir="rtl"] .quote-card .q-arrow svg{transform:none!important}
@media (max-width:600px){.quote-card .q-nav{gap:.35rem}.quote-card .q-arrow{width:3.15rem;height:3.15rem}.quote-card .q-nav-centre{gap:.55rem}.quote-card .q-dots{gap:.32rem}.quote-card .q-dots span{width:.53rem;height:.53rem}.quote-card .q-dots span.active{width:1.4rem}.quote-card .q-fraction{font-size:.84rem}.quote-card .q-budget{grid-template-columns:1fr 2fr}.quote-card #q-submit{padding-inline:.9rem}}

/* Prominent but compact quotation CTA for the supplied English contact page. */
.quote-entry-section{padding-block:1.5rem}
.quote-entry{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;border-radius:var(--r-lg);background:var(--paper-2);border:1px solid var(--line);padding:clamp(1.4rem,3.5vw,2.6rem)}
.quote-entry .h3{margin-block:.3rem .6rem}
.quote-entry .small{margin:0;max-inline-size:42rem}
.quote-entry .btn{flex:none;display:inline-flex;align-items:center;gap:.55rem}
@media (max-width:760px){.quote-entry{display:block}.quote-entry .btn{margin-block-start:1.2rem}}


/* 2026-10-18 — Form field visibility fix.
   site.css uses .field for absolutely positioned, non-interactive hero decoration.
   Its older reset only covers direct children of .field-grid. Quote steps 2, 3,
   and the budget row also contain .field outside .field-grid, so those controls
   were rendered behind the form with pointer-events:none. Scope the reset to
   the quote form, including every nested field group and all languages. */
.quote-card .q-form .field {
  position: static;
  inset: auto;
  z-index: auto;
  overflow: visible;
  pointer-events: auto;
}
.quote-card .q-form .field::after {
  content: none;
  display: none;
}
