.qs-hero {background: var(--pf-bg-2);
            padding: clamp(4rem, 8vw, 6rem) 0 clamp(3rem, 6vw, 5rem);
            position: relative;
            overflow: hidden;}
.qs-hero__diag {position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            opacity: 0.5;
            pointer-events: none;}
.qs-hero__wrap {position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: clamp(2.5rem, 5vw, 5rem);
            align-items: center;}
.qs-hero__eyebrow-row {display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-bottom: 1.25rem;}
.qs-hero__h1 {font-family: var(--ff-head);
            font-size: clamp(2.5rem, 5vw, 4rem);
            font-weight: 800;
            color: var(--pf-text);
            line-height: 1.08;
            margin: 0 0 1.25rem;}
.qs-hero__h1 em {font-style: normal;
            color: var(--pf-accent);}
.qs-hero__sub {font-size: 1rem;
            line-height: 1.7;
            color: var(--pf-text-muted);
            font-weight: 500;
            margin: 0 0 2rem;
            max-width: 480px;}
.qs-hero__stats {display: flex;
            gap: 0;
            border: 1px solid var(--pf-edge);
            border-radius: 10px;
            overflow: hidden;
            width: fit-content;}
.qs-hero__stat {padding: 0.75rem 1.375rem;
            display: flex;
            flex-direction: column;
            gap: 0.2rem;}
.qs-hero__stat + .qs-hero__stat {border-left: 1px solid var(--pf-edge);}
.qs-hero__stat-val {font-family: var(--ff-head);
            font-size: 1.25rem;
            font-weight: 800;
            color: var(--pf-accent);
            line-height: 1;}
.qs-hero__stat-lbl {font-size: 0.75rem;
            font-weight: 600;
            color: var(--pf-text-muted);
            text-transform: uppercase;
            letter-spacing: 0.06em;}
.qs-hero__panel {background: var(--pf-bg-3);
            border: 1px solid var(--pf-edge);
            border-radius: 16px;
            padding: 2.25rem 2rem;
            box-shadow: 0 0 0 1px var(--pf-edge), 0 32px 80px rgba(17,7,32,0.5), inset 0 1px 0 rgba(211,79,122,0.18);}
.qs-hero__panel-quote {font-family: var(--ff-head);
            font-size: 5rem;
            font-weight: 800;
            color: var(--pf-accent);
            line-height: 0.8;
            opacity: 0.25;
            margin-bottom: 1rem;
            display: block;}
.qs-hero__panel-text {font-size: 1.0625rem;
            line-height: 1.7;
            color: var(--pf-text-soft);
            font-weight: 600;
            margin: 0 0 1.75rem;}
.qs-hero__panel-tags {display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;}
.qs-hero__panel-tag {display: inline-flex;
            align-items: center;
            gap: 0.375rem;
            padding: 0.375rem 0.75rem;
            border: 1px solid var(--pf-edge);
            border-radius: 999px;
            font-size: 0.8125rem;
            font-weight: 700;
            color: var(--pf-text-muted);
            background: rgba(78,8,92,0.3);}
.qs-model {background: var(--pf-bg);
            padding: clamp(4rem, 8vw, 6rem) 0;
            position: relative;
            overflow: hidden;}
.qs-model__ghost {position: absolute;
            right: -0.05em;
            top: 50%;
            transform: translateY(-50%);
            font-family: var(--ff-head);
            font-size: clamp(8rem, 20vw, 18rem);
            font-weight: 800;
            line-height: 1;
            color: var(--pf-accent);
            opacity: 0.04;
            pointer-events: none;
            user-select: none;
            letter-spacing: -0.04em;}
.qs-model__wrap {position: relative;
            z-index: 1;}
.qs-model__top {margin-bottom: 3rem;}
.qs-model__h2 {font-family: var(--ff-head);
            font-size: clamp(1.75rem, 3vw, 2.5rem);
            font-weight: 800;
            color: var(--pf-text);
            line-height: 1.15;
            margin: 0 0 0.75rem;}
.qs-model__intro {font-size: 0.9375rem;
            color: var(--pf-text-muted);
            font-weight: 500;
            line-height: 1.65;
            max-width: 600px;
            margin: 0;}
.qs-model__cols {display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0;
            border: 1px solid var(--pf-edge);
            border-radius: 12px;
            overflow: hidden;}
.qs-model__col {padding: 2rem 1.75rem;
            display: flex;
            flex-direction: column;
            gap: 0.75rem;}
.qs-model__col + .qs-model__col {border-left: 1px solid var(--pf-edge);}
.qs-model__col-label {font-size: 0.6875rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: var(--pf-accent);}
.qs-model__col-text {font-size: 0.875rem;
            line-height: 1.7;
            color: var(--pf-text-muted);
            font-weight: 500;}
.qs-principles {background: var(--pf-bg-2);
            padding: clamp(4rem, 8vw, 6rem) 0;}
.qs-principles__wrap {display: grid;
            grid-template-columns: 2fr 3fr;
            gap: clamp(3rem, 5vw, 5rem);
            align-items: start;}
.qs-principles__left {position: sticky;
            top: 32px;}
.qs-principles__eyebrow-row {display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-bottom: 1.25rem;}
.qs-principles__h2 {font-family: var(--ff-head);
            font-size: clamp(2rem, 3.5vw, 2.75rem);
            font-weight: 800;
            color: var(--pf-text);
            line-height: 1.12;
            margin: 0 0 1rem;}
.qs-principles__desc {font-size: 0.9375rem;
            line-height: 1.65;
            color: var(--pf-text-muted);
            font-weight: 500;
            margin: 0;}
.qs-principles__rows {border-top: 1px solid var(--pf-border);}
.qs-principles__row {display: flex;
            align-items: flex-start;
            gap: 1.125rem;
            padding: 26px 0;
            border-bottom: 1px solid var(--pf-border);
            transition: padding-left 0.22s ease, background 0.22s ease;}
.qs-principles__row:hover {padding-left: 14px;
            background: rgba(211,79,122,0.04);}
.qs-principles__row-num {font-family: var(--ff-head);
            font-size: 1.25rem;
            font-weight: 800;
            color: var(--pf-border);
            line-height: 1;
            min-width: 28px;
            padding-top: 3px;
            flex-shrink: 0;
            transition: color 0.22s ease;}
.qs-principles__row:hover .qs-principles__row-num {color: var(--pf-accent);}
.qs-principles__row-ico-wrap {flex-shrink: 0;
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(56,23,90,0.55);
            border: 1px solid var(--pf-border);
            border-radius: 8px;
            margin-top: 1px;
            transition: background 0.22s ease, border-color 0.22s ease;}
.qs-principles__row:hover .qs-principles__row-ico-wrap {background: rgba(211,79,122,0.12);
            border-color: rgba(211,79,122,0.35);}
.qs-principles__row-body {display: flex;
            flex-direction: column;
            gap: 0.35rem;}
.qs-principles__row-title {font-family: var(--ff-head);
            font-size: 1rem;
            font-weight: 700;
            color: var(--pf-text);
            line-height: 1.3;}
.qs-principles__row-desc {font-size: 0.875rem;
            line-height: 1.65;
            color: var(--pf-text-muted);}
.qs-process {background: var(--pf-bg);
            padding: clamp(4rem, 8vw, 6rem) 0;}
.qs-process__top {text-align: center;
            margin-bottom: 3.5rem;}
.qs-process__eyebrow-row {display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            margin-bottom: 1rem;}
.qs-process__h2 {font-family: var(--ff-head);
            font-size: clamp(1.75rem, 3vw, 2.5rem);
            font-weight: 800;
            color: var(--pf-text);
            line-height: 1.15;
            margin: 0 0 0.75rem;}
.qs-process__sub {font-size: 0.9375rem;
            color: var(--pf-text-muted);
            font-weight: 500;
            margin: 0 auto;
            max-width: 540px;
            line-height: 1.65;}
.qs-process__timeline {display: grid;
            grid-template-columns: repeat(4, 1fr);
            position: relative;}
.qs-process__timeline::before {content: '';
            position: absolute;
            top: 22px;
            left: calc(12.5% + 1px);
            right: calc(12.5% + 1px);
            height: 1px;
            background: linear-gradient(90deg, var(--pf-accent) 0%, var(--pf-border) 100%);}
.qs-process__step {padding: 0 1.25rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;}
.qs-process__step-badge {width: 44px;
            height: 44px;
            border-radius: 50%;
            background: var(--pf-bg-3);
            border: 1px solid var(--pf-edge);
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--ff-head);
            font-size: 0.875rem;
            font-weight: 800;
            color: var(--pf-accent);
            flex-shrink: 0;
            position: relative;
            z-index: 1;}
.qs-process__step:first-child .qs-process__step-badge {background: var(--pf-accent);
            border-color: var(--pf-accent);
            color: #fff;}
.qs-process__step-body {display: flex;
            flex-direction: column;
            gap: 0.5rem;}
.qs-process__step-title {font-family: var(--ff-head);
            font-size: 1rem;
            font-weight: 700;
            color: var(--pf-text);
            line-height: 1.3;}
.qs-process__step-text {font-size: 0.875rem;
            line-height: 1.65;
            color: var(--pf-text-muted);
            font-weight: 500;}
.qs-criteria {background: var(--pf-bg-2);
            padding: clamp(4rem, 8vw, 6rem) 0;}
.qs-criteria__top {margin-bottom: 2.5rem;}
.qs-criteria__eyebrow-row {display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-bottom: 1rem;}
.qs-criteria__h2 {font-family: var(--ff-head);
            font-size: clamp(1.75rem, 3vw, 2.5rem);
            font-weight: 800;
            color: var(--pf-text);
            line-height: 1.15;
            margin: 0 0 0.75rem;}
.qs-criteria__sub {font-size: 0.9375rem;
            color: var(--pf-text-muted);
            font-weight: 500;
            max-width: 560px;
            line-height: 1.65;
            margin: 0;}
.qs-criteria__grid {display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1.25rem;}
.qs-criteria__card {background: var(--pf-bg-3);
            border: 1px solid var(--pf-edge);
            border-radius: 12px;
            padding: 2rem;
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 1.5rem;
            align-items: start;
            transition: border-color 0.2s ease;}
.qs-criteria__card:hover {border-color: rgba(211,79,122,0.45);}
.qs-criteria__card-num {font-family: var(--ff-head);
            font-size: 2.5rem;
            font-weight: 800;
            color: var(--pf-border);
            line-height: 1;
            padding-top: 2px;}
.qs-criteria__card-body {display: flex;
            flex-direction: column;
            gap: 0.5rem;}
.qs-criteria__card-title {font-family: var(--ff-head);
            font-size: 1.125rem;
            font-weight: 700;
            color: var(--pf-text);
            line-height: 1.25;}
.qs-criteria__card-text {font-size: 0.875rem;
            line-height: 1.7;
            color: var(--pf-text-muted);
            font-weight: 500;}
.qs-commit {background: var(--pf-bg);
            padding: clamp(4rem, 8vw, 6rem) 0;}
.qs-commit__wrap {display: grid;
            grid-template-columns: 1fr 1fr;
            gap: clamp(3rem, 5vw, 5rem);
            align-items: start;}
.qs-commit__eyebrow-row {display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-bottom: 1.25rem;}
.qs-commit__h2 {font-family: var(--ff-head);
            font-size: clamp(1.875rem, 3vw, 2.5rem);
            font-weight: 800;
            color: var(--pf-text);
            line-height: 1.12;
            margin: 0 0 1.25rem;}
.qs-commit__text {font-size: 0.9375rem;
            line-height: 1.7;
            color: var(--pf-text-muted);
            font-weight: 500;
            margin: 0 0 1rem;}
.qs-commit__checklist {border-top: 1px solid var(--pf-border);}
.qs-commit__item {display: flex;
            align-items: flex-start;
            gap: 0.875rem;
            padding: 1rem 0;
            border-bottom: 1px solid var(--pf-border);}
.qs-commit__item-check {width: 20px;
            height: 20px;
            border-radius: 50%;
            background: rgba(211,79,122,0.15);
            border: 1px solid rgba(211,79,122,0.4);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            margin-top: 1px;}
.qs-commit__item-check img {width: 10px;
            height: 10px;}
.qs-commit__item-text {font-size: 0.9375rem;
            font-weight: 600;
            color: var(--pf-text-soft);
            line-height: 1.5;}
.qs-cta {background: var(--pf-bg-2);
            padding: clamp(4rem, 8vw, 6rem) 0;
            position: relative;
            overflow: hidden;}
.qs-cta::before {content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(ellipse at 50% 120%, rgba(211,79,122,0.14) 0%, transparent 65%);
            pointer-events: none;}
.qs-cta__wrap {position: relative;
            z-index: 1;
            text-align: center;
            max-width: 640px;
            margin: 0 auto;}
.qs-cta__h2 {font-family: var(--ff-head);
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 800;
            color: var(--pf-text);
            line-height: 1.1;
            margin: 0 0 1rem;}
.qs-cta__sub {font-size: 1rem;
            line-height: 1.65;
            color: var(--pf-text-muted);
            font-weight: 500;
            margin: 0 0 2.25rem;}
.qs-cta__btns {display: flex;
            gap: 1rem;
            justify-content: center;
            flex-wrap: wrap;}
@media (max-width: 1024px) {
    .qs-hero__wrap {grid-template-columns: 1fr;}
    .qs-hero__panel {display: none;}
    .qs-principles__wrap {grid-template-columns: 1fr;}
    .qs-principles__left {position: static;}
    .qs-commit__wrap {grid-template-columns: 1fr;}
}
@media (max-width: 768px) {
    .qs-process__timeline {grid-template-columns: 1fr 1fr; gap: 2rem;}
    .qs-process__timeline::before {display: none;}
    .qs-criteria__grid {grid-template-columns: 1fr;}
    .qs-model__cols {grid-template-columns: 1fr; border-radius: 12px;}
    .qs-model__col + .qs-model__col {border-left: none; border-top: 1px solid var(--pf-edge);}
}
@media (max-width: 599px) {
    .qs-process__timeline {grid-template-columns: 1fr;}
    .qs-hero__stats {flex-direction: column; width: 100%;}
    .qs-hero__stat + .qs-hero__stat {border-left: none; border-top: 1px solid var(--pf-edge);}
}
