/* FREELANCE v1.1.48 - CONCEPT-PRODUCTION multi-service public quotation */
body {
    background: #eef3f7;
}
.container.small-container {
    width: calc(100% - 32px);
    max-width: 1240px;
    padding-left: 0;
    padding-right: 0;
}
.fullpage-logo {
    max-width: 190px;
    height: auto;
    margin: 26px 0 18px;
}
.qms-shell {
    --qms-primary: #22a7e5;
    --qms-primary-dark: #137fb1;
    --qms-ink: #243444;
    --qms-muted: #6d7a86;
    --qms-line: #dce4ea;
    --qms-soft: #f5f8fa;
    --qms-white: #fff;
    color: var(--qms-ink);
    font-size: 15px;
}
.qms-shell *, .qms-shell *:before, .qms-shell *:after { box-sizing: border-box; }
.qms-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 28px;
    align-items: start;
    padding: 34px 38px;
    margin-bottom: 18px;
    background: linear-gradient(135deg,#162a3c 0%,#21465f 100%);
    color: #fff;
    border-radius: 0;
    overflow: visible;
    z-index: 30;
    box-shadow: 0 12px 30px rgba(24,46,65,.14);
}
.qms-hero:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 116px;
    height: 4px;
    background: var(--qms-primary);
    border-radius: 0;
}
.qms-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    margin-bottom: 14px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 5px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #cdeefe;
}
.qms-hero h1 { margin: 0 0 8px; font-size: clamp(28px,3.2vw,45px); line-height: 1.08; font-weight: 700; color: #fff; }
.qms-subtitle { margin: 0 0 12px; font-size: 18px; line-height: 1.4; color: #fff; font-weight: 500; }
.qms-intro { max-width: 820px; margin: 0; color: #cfdbe3; line-height: 1.65; }
.qms-language { position: relative; z-index: 80; }
.qms-language-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 5px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-weight: 600;
}
.qms-language-button:hover,.qms-language-button:focus { background: rgba(255,255,255,.14); color: #fff; outline: 2px solid rgba(34,167,229,.35); }
.qms-language-button img,.qms-language-menu img { width: 20px; height: auto; }
.qms-language-menu { position: absolute; right: 0; left: auto; top: calc(100% + 10px); z-index: 95; min-width: 210px; max-height: 340px; overflow-y: auto; }
.qms-alert { display: flex; align-items: center; gap: 10px; padding: 14px 16px; margin: 0 0 18px; border-radius: 6px; font-weight: 600; }
.qms-alert-error { color: #8d2424; background: #fff0f0; border: 1px solid #f3c1c1; }
.qms-section-nav {
    position: sticky;
    top: 10px;
    z-index: 20;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1px;
    margin-bottom: 18px;
    border: 1px solid var(--qms-line);
    border-radius: 7px;
    overflow: hidden;
    box-shadow: 0 7px 20px rgba(30,53,73,.08);
    background: #fff;
}
.qms-section-nav a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    min-width: 0;
    padding: 14px 18px 14px 20px;
    background: #fff;
    color: #43515c;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.3;
    white-space: normal;
    overflow: hidden;
}
.qms-section-nav a + a { border-left: 1px solid var(--qms-line); }
.qms-section-nav a:hover,.qms-section-nav a:focus { color: var(--qms-primary-dark); background: #f3fbff; }
.qms-nav-index { color: var(--qms-primary); flex: 0 0 auto; }
.qms-nav-text { display: block; min-width: 0; color: inherit; }
.qms-section {
    scroll-margin-top: 80px;
    padding: 30px 32px 32px;
    margin-bottom: 18px;
    background: #fff;
    border: 1px solid var(--qms-line);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(31,57,78,.06);
}
.qms-section-heading { display: flex; align-items: flex-start; gap: 16px; padding-bottom: 22px; margin-bottom: 24px; border-bottom: 1px solid var(--qms-line); }
.qms-step { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #eaf7fd; color: var(--qms-primary-dark); font-size: 13px; font-weight: 800; }
.qms-section-heading h2 { margin: 0 0 5px; font-size: 22px; font-weight: 700; color: var(--qms-ink); }
.qms-section-heading p { margin: 0; color: var(--qms-muted); line-height: 1.55; }
.qms-service-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.qms-service-card { position: relative; display: flex; min-height: 148px; padding: 18px; gap: 13px; border: 1px solid var(--qms-line); border-radius: 7px; background: #fff; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.qms-service-card:hover,.qms-service-card:focus-within { border-color: #8fd3f2; box-shadow: 0 8px 20px rgba(34,167,229,.11); transform: translateY(-1px); }
.qms-service-card.is-selected { border-color: var(--qms-primary); box-shadow: 0 0 0 2px rgba(34,167,229,.11); background: #fbfeff; }
.qms-service-card input { position: absolute; opacity: 0; pointer-events: none; }
.qms-service-icon { flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 6px; background: #e9f7fd; color: var(--qms-primary-dark); font-size: 17px; }
.qms-service-text { min-width: 0; display: block; padding-right: 14px; }
.qms-service-text strong { display: block; margin-bottom: 7px; color: #263a4a; font-size: 14px; line-height: 1.3; }
.qms-service-text small { display: block; color: var(--qms-muted); font-size: 12px; line-height: 1.5; }
.qms-service-check { position: absolute; right: 10px; top: 10px; width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid #cfd9e0; border-radius: 50%; color: transparent; font-size: 10px; }
.qms-service-card.is-selected .qms-service-check { background: var(--qms-primary); border-color: var(--qms-primary); color: #fff; }
.qms-subsection { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--qms-line); }
.qms-subsection-title { display: flex; align-items: center; gap: 10px; justify-content: space-between; margin-bottom: 6px; }
.qms-subsection-title h3 { margin: 0; font-size: 15px; font-weight: 700; color: #314453; }
.qms-subsection-title span { padding: 3px 7px; border-radius: 4px; background: #f0f3f5; color: #7b8790; font-size: 10px; text-transform: uppercase; font-weight: 700; }
.qms-help { margin: 0 0 14px; color: var(--qms-muted); font-size: 13px; }
.qms-chip-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.qms-chip { position: relative; cursor: pointer; margin: 0; }
.qms-chip input { position: absolute; opacity: 0; pointer-events: none; }
.qms-chip span { display: inline-flex; align-items: center; min-height: 36px; padding: 7px 11px; border: 1px solid #d6e0e7; border-radius: 5px; background: #fff; color: #4c5b66; font-size: 12px; font-weight: 600; transition: .16s ease; }
.qms-chip input:checked + span { border-color: var(--qms-primary); background: #eaf8fe; color: #147fac; }
.qms-chip.is-disabled { opacity: .42; pointer-events: none; }

.qms-empty-scope { display:flex; align-items:center; justify-content:center; gap:10px; min-height:120px; padding:20px; border:1px dashed #c9d8e2; border-radius:7px; background:#f8fbfd; color:#71808b; text-align:center; }
.qms-empty-scope[hidden] { display:none !important; }
.qms-empty-scope i { color:var(--qms-primary); }
.qms-context-panel { border: 1px solid #dce6ed; border-radius: 7px; overflow: hidden; }
.qms-context-panel[hidden] { display: none !important; }
.qms-panel-header { display: flex; align-items: center; gap: 12px; padding: 17px 18px; background: #f6fafc; border-bottom: 1px solid #e0e8ed; }
.qms-panel-icon { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border-radius: 6px; background: var(--qms-primary); color: #fff; }
.qms-panel-header h3 { margin: 0 0 3px; font-size: 16px; }
.qms-panel-header p { margin: 0; color: #75828c; font-size: 12px; }
.qms-option-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding: 18px; }
.qms-option-card { position: relative; margin: 0; cursor: pointer; }
.qms-option-card input { position: absolute; opacity: 0; pointer-events: none; }
.qms-option-card span { display: flex; align-items: center; min-height: 42px; gap: 8px; padding: 9px 11px; border: 1px solid #d9e2e8; border-radius: 5px; color: #485761; font-size: 12px; font-weight: 600; background: #fff; }
.qms-option-card span i { width: 16px; color: #c1cbd2; }
.qms-option-card input:focus + span,.qms-chip input:focus + span { box-shadow: 0 0 0 3px rgba(34,167,229,.14); border-color: var(--qms-primary); }
.qms-option-card input:checked + span { color: #106f99; border-color: #71c6ed; background: #effaff; }
.qms-option-card input:checked + span i { color: var(--qms-primary); }
.qms-context-fields { padding: 0 18px 18px; }
.qms-grid { display: grid; gap: 16px; }
.qms-grid-1 { grid-template-columns: 1fr; }
.qms-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.qms-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.qms-span-2 { grid-column: 1 / -1; }
.qms-field { min-width: 0; margin: 0 0 2px; }
.qms-field > label,.qms-captcha > label { display: block; margin: 0 0 7px; color: #3e4d59; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.qms-field label em,.qms-consent em,.qms-captcha label em { color: #d74747; font-style: normal; }
.qms-shell .form-control { width: 100%; min-height: 46px; height: auto; padding: 10px 12px; border: 1px solid #ccd7df; border-radius: 5px; background: #fff; color: #293944; box-shadow: none; font-size: 14px; transition: border-color .15s ease, box-shadow .15s ease; }
.qms-shell textarea.form-control { min-height: 112px; line-height: 1.55; resize: vertical; }
.qms-shell .form-control:focus { border-color: var(--qms-primary); box-shadow: 0 0 0 3px rgba(34,167,229,.10); outline: 0; }
.qms-shell .form-control.is-invalid { border-color: #d9534f; box-shadow: 0 0 0 3px rgba(217,83,79,.08); }
.qms-final-grid { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 18px; align-items: stretch; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--qms-line); }
.qms-consent { position: relative; display: flex; align-items: flex-start; gap: 10px; min-height: 76px; padding: 16px; margin: 0; border: 1px solid #d9e3e9; border-radius: 6px; color: #4c5c67; font-size: 13px; font-weight: 500; line-height: 1.5; cursor: pointer; }
.qms-consent input { position: absolute; opacity: 0; }
.qms-consent-box { flex: 0 0 22px; width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid #b9c6ce; border-radius: 4px; color: transparent; }
.qms-consent input:checked + .qms-consent-box { background: var(--qms-primary); border-color: var(--qms-primary); color: #fff; }
.qms-captcha { min-height: 76px; padding: 12px 14px; border: 1px solid #d9e3e9; border-radius: 6px; }
.qms-captcha-row { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; }
.qms-captcha-row span { white-space: nowrap; font-weight: 700; color: #3b4d5b; }
.qms-captcha .form-control { min-height: 40px; }
.qms-submit-row { display: flex; justify-content: flex-end; margin-top: 20px; }
.qms-submit { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 12px 22px; border: 0; border-radius: 5px; background: var(--qms-primary); color: #fff; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; box-shadow: 0 8px 18px rgba(34,167,229,.20); transition: background .18s ease, transform .18s ease; }
.qms-submit:hover,.qms-submit:focus { background: var(--qms-primary-dark); color: #fff; transform: translateY(-1px); outline: 3px solid rgba(34,167,229,.18); }
.qms-submit[disabled] { opacity: .65; cursor: wait; transform: none; }
.qms-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }



/* v1.1.49 - Service color system and icon fallback */
.qms-service-card[data-service-card],
.qms-context-panel[data-service-panel],
.qms-chip[data-secondary-code] {
    --qms-accent: var(--qms-primary);
    --qms-accent-soft: #eaf8fe;
    --qms-accent-fade: rgba(34,167,229,.10);
}
.qms-service-card[data-service-card="video"], .qms-context-panel[data-service-panel="video"], .qms-chip[data-secondary-code="video"] { --qms-accent:#e53935; --qms-accent-soft:#fff0ee; --qms-accent-fade:rgba(229,57,53,.12); }
.qms-service-card[data-service-card="post"], .qms-context-panel[data-service-panel="post"], .qms-chip[data-secondary-code="post"] { --qms-accent:#8e44ad; --qms-accent-soft:#f6effc; --qms-accent-fade:rgba(142,68,173,.12); }
.qms-service-card[data-service-card="graphic"], .qms-context-panel[data-service-panel="graphic"], .qms-chip[data-secondary-code="graphic"] { --qms-accent:#fb8c00; --qms-accent-soft:#fff5e8; --qms-accent-fade:rgba(251,140,0,.12); }
.qms-service-card[data-service-card="web"], .qms-context-panel[data-service-panel="web"], .qms-chip[data-secondary-code="web"] { --qms-accent:#1e88e5; --qms-accent-soft:#edf6ff; --qms-accent-fade:rgba(30,136,229,.12); }
.qms-service-card[data-service-card="training"], .qms-context-panel[data-service-panel="training"], .qms-chip[data-secondary-code="training"] { --qms-accent:#43a047; --qms-accent-soft:#edf8ee; --qms-accent-fade:rgba(67,160,71,.12); }
.qms-service-card[data-service-card="event"], .qms-context-panel[data-service-panel="event"], .qms-chip[data-secondary-code="event"] { --qms-accent:#00897b; --qms-accent-soft:#ebfaf7; --qms-accent-fade:rgba(0,137,123,.12); }
.qms-service-card[data-service-card="strategy"], .qms-context-panel[data-service-panel="strategy"], .qms-chip[data-secondary-code="strategy"] { --qms-accent:#6d4c41; --qms-accent-soft:#f5efed; --qms-accent-fade:rgba(109,76,65,.12); }
.qms-service-card[data-service-card="multiservice"], .qms-context-panel[data-service-panel="multiservice"], .qms-chip[data-secondary-code="multiservice"] { --qms-accent:#546e7a; --qms-accent-soft:#eff3f5; --qms-accent-fade:rgba(84,110,122,.12); }

.qms-service-card[data-service-card] { border-top: 4px solid var(--qms-accent); }
.qms-service-card[data-service-card]:hover,
.qms-service-card[data-service-card]:focus-within { border-color: var(--qms-accent); box-shadow: 0 10px 24px var(--qms-accent-fade); }
.qms-service-card.is-selected[data-service-card] { border-color: var(--qms-accent); box-shadow: 0 0 0 2px var(--qms-accent-fade); background: linear-gradient(180deg, var(--qms-accent-soft) 0%, #ffffff 74%); }
.qms-service-card.is-selected[data-service-card] .qms-service-check { background: var(--qms-accent); border-color: var(--qms-accent); }
.qms-service-card .qms-service-icon,
.qms-context-panel .qms-panel-icon { background: var(--qms-accent-soft); color: var(--qms-accent); border: 1px solid color-mix(in srgb, var(--qms-accent) 22%, #ffffff); }
.qms-context-panel[data-service-panel] { border-left: 4px solid var(--qms-accent); }
.qms-context-panel[data-service-panel] .qms-panel-header { background: linear-gradient(180deg, var(--qms-accent-soft) 0%, #f9fcfd 100%); }
.qms-context-panel[data-service-panel] .qms-option-card input:focus + span { box-shadow: 0 0 0 3px var(--qms-accent-fade); border-color: var(--qms-accent); }
.qms-context-panel[data-service-panel] .qms-option-card input:checked + span { color: var(--qms-accent); border-color: var(--qms-accent); background: var(--qms-accent-soft); }
.qms-context-panel[data-service-panel] .qms-option-card input:checked + span i { color: var(--qms-accent); }
.qms-chip[data-secondary-code] span { border-left: 3px solid var(--qms-accent); }
.qms-chip[data-secondary-code] input:checked + span { border-color: var(--qms-accent); background: var(--qms-accent-soft); color: var(--qms-accent); box-shadow: 0 0 0 1px var(--qms-accent-fade) inset; }

.qms-service-icon i, .qms-panel-icon i { display: none; }
.qms-service-icon::before, .qms-panel-icon::before { display:block; font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; line-height:1; }
.qms-service-card[data-service-card="video"] .qms-service-icon::before, .qms-context-panel[data-service-panel="video"] .qms-panel-icon::before { content:"VID"; }
.qms-service-card[data-service-card="post"] .qms-service-icon::before, .qms-context-panel[data-service-panel="post"] .qms-panel-icon::before { content:"FX"; }
.qms-service-card[data-service-card="graphic"] .qms-service-icon::before, .qms-context-panel[data-service-panel="graphic"] .qms-panel-icon::before { content:"DES"; }
.qms-service-card[data-service-card="web"] .qms-service-icon::before, .qms-context-panel[data-service-panel="web"] .qms-panel-icon::before { content:"WEB"; }
.qms-service-card[data-service-card="training"] .qms-service-icon::before, .qms-context-panel[data-service-panel="training"] .qms-panel-icon::before { content:"PRO"; }
.qms-service-card[data-service-card="event"] .qms-service-icon::before, .qms-context-panel[data-service-panel="event"] .qms-panel-icon::before { content:"LIVE"; font-size:11px; }
.qms-service-card[data-service-card="strategy"] .qms-service-icon::before, .qms-context-panel[data-service-panel="strategy"] .qms-panel-icon::before { content:"IDEA"; font-size:10px; }
.qms-service-card[data-service-card="multiservice"] .qms-service-icon::before, .qms-context-panel[data-service-panel="multiservice"] .qms-panel-icon::before { content:"360"; }

@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
  .qms-service-card .qms-service-icon, .qms-context-panel .qms-panel-icon { border-color: rgba(0,0,0,.08); }
}

@media (max-width: 1050px) {
    .qms-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .qms-option-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .qms-grid-3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .container.small-container { width: calc(100% - 20px); }
    .fullpage-logo { max-width: 165px; margin: 16px 0 12px; }
    .qms-hero { grid-template-columns: 1fr; gap: 16px; padding: 24px 20px; border-radius: 0; }
    .qms-language { justify-self: stretch; }
    .qms-language-button { width: 100%; justify-content: space-between; }
    .qms-section-nav { top: 4px; display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .qms-section-nav a { flex: 0 0 auto; padding: 10px 12px; }
    .qms-section { padding: 22px 18px 24px; scroll-margin-top: 70px; }
    .qms-section-heading { gap: 11px; padding-bottom: 16px; margin-bottom: 18px; }
    .qms-step { flex-basis: 36px; width: 36px; height: 36px; }
    .qms-section-heading h2 { font-size: 19px; }
    .qms-service-grid,.qms-option-grid,.qms-grid-2,.qms-grid-3 { grid-template-columns: 1fr; }
    .qms-service-card { min-height: 112px; }
    .qms-option-grid { padding: 14px; }
    .qms-context-fields { padding: 0 14px 14px; }
    .qms-final-grid { grid-template-columns: 1fr; }
    .qms-submit-row,.qms-submit { width: 100%; }
}
@media (max-width: 420px) {
    .qms-service-card { padding: 14px; }
    .qms-service-text small { font-size: 11px; }
    .qms-chip-grid-language .qms-chip span { min-width: 74px; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
    .qms-service-card,.qms-chip span,.qms-submit,.qms-shell .form-control { transition: none !important; }
}


/* v1.1.51 - better breathing room for section navigation */
@media (max-width: 1200px) {
  .qms-section-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .qms-section-nav { grid-template-columns: 1fr; }
  .qms-section-nav a { padding: 13px 16px; }
}

/* v1.1.53 - clear guidance for potentially ambiguous fields */
.qms-field-help {
    display: block;
    margin-top: 6px;
    color: #70808c;
    font-size: 11px;
    line-height: 1.45;
}
.qms-field-help::before {
    content: "i";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    margin-right: 5px;
    border: 1px solid #a9bac6;
    border-radius: 50%;
    color: #607987;
    font-size: 9px;
    font-weight: 800;
    vertical-align: 1px;
}
.qms-shell .form-control::placeholder {
    color: #a1adb6;
    opacity: 1;
}
.qms-shell textarea.form-control::placeholder {
    line-height: 1.5;
}
.qms-shell input[data-qms-phone]:invalid:not(:placeholder-shown) {
    border-color: #d9534f;
}
@media (max-width: 767px) {
    .qms-field-help {
        font-size: 10.5px;
        line-height: 1.4;
    }
}

/* v1.1.58 - context-aware project qualification fields */
[data-qms-conditional][hidden] {
    display: none !important;
}
