:root {
    --bg: #f4f5f7;
    --surface: #ffffff;
    --surface-2: #fff4f5;
    --surface-3: #f6f7f9;
    --ink: #23262b;
    --muted: #5e6772;
    --muted-2: #7d8793;
    --line: rgba(35, 38, 43, 0.10);
    --line-strong: rgba(35, 38, 43, 0.18);
    --brand-yellow: #ff6a70;
    --brand-red: #ff4d57;
    --brand-red-deep: #e93f4b;
    --brand-dark: #23262b;
    --dark: #1e2126;
    --dark-2: #2a2f36;
    --light-on-dark: #f8f9fb;
    --gutter: clamp(24px, 4vw, 48px);
    --section-y: clamp(86px, 11vw, 128px);
    --radius-xl: 32px;
    --radius-lg: 24px;
    --radius-md: 18px;
    --shadow-soft: 0 14px 34px rgba(0, 0, 0, 0.06);
    --shadow-card: 0 18px 38px rgba(19, 19, 19, 0.07);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: 'Roboto', system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
p { margin: 0; }

.skip-link {
    position: absolute;
    left: -999px;
    top: 10px;
    background: #fff;
    color: #000;
    padding: 10px 12px;
    z-index: 200;
}
.skip-link:focus { left: 12px; }

.container {
    width: min(1240px, calc(100% - var(--gutter) * 2));
    margin: 0 auto;
}

.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 100;
    padding: 18px 0;
    transition: background .25s ease, box-shadow .25s ease, padding .25s ease;
}
.site-header.is-scrolled {
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    backdrop-filter: blur(14px);
    padding: 14px 0;
}
.header-grid {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 28px;
}
.brand { display: inline-flex; align-items: center; }
.brand-logo { width: clamp(168px, 17vw, 222px); }
.main-nav {
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}
.main-nav a {
    font-size: 15px;
    color: rgba(23, 23, 23, 0.78);
    transition: color .2s ease;
}
.main-nav a:hover,
.main-nav a:focus-visible { color: var(--ink); }
.header-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: 999px;
    background: var(--brand-red);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 10px 24px rgba(255, 77, 87, 0.24);
}
.nav-toggle {
    display: none;
    border: 0;
    background: transparent;
    padding: 0;
    width: 42px;
    height: 42px;
    place-items: center;
}
.nav-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--ink);
    margin: 4px 0;
    border-radius: 999px;
}

.hero {
    position: relative;
    overflow: clip;
    padding: 150px 0 90px;
    min-height: 100svh;
    background:
        linear-gradient(180deg, #ffffff 0%, #f6f7f9 100%);
}
.hero-orb {
    position: absolute;
    border-radius: 999px;
    filter: none;
    opacity: 1;
    pointer-events: none;
}
.hero-orb--yellow {
    width: 220px;
    height: 220px;
    top: 112px;
    right: 14%;
    background: rgba(255, 77, 87, 0.14);
}
.hero-orb--red {
    width: 180px;
    height: 180px;
    right: 4%;
    bottom: 130px;
    background: rgba(255, 77, 87, 0.08);
}
.hero-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(520px, .98fr);
    gap: 70px;
    align-items: center;
}
.eyebrow,
.section-index {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(23, 23, 23, 0.66);
}
.eyebrow-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--brand-red);
}
.hero h1,
.section-heading h2,
.dark-head h2,
.story-copy h2,
.final-cta h2 {
    margin: 18px 0 0;
    font-size: clamp(38px, 5vw, 68px);
    line-height: 1.04;
    letter-spacing: -.04em;
    font-weight: 300;
}
.hero h1 span { color: var(--brand-red); }
.hero-copy > p {
    margin-top: 28px;
    max-width: 650px;
    font-size: 18px;
    line-height: 1.72;
    color: var(--muted);
    font-weight: 300;
}
.button-row {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 34px;
}
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 24px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.button:hover { transform: translateY(-1px); }
.button--dark { background: var(--brand-red); color: #fff; box-shadow: 0 12px 24px rgba(255, 77, 87, 0.20); }
.button--light { background: var(--brand-red); color: #fff; box-shadow: 0 12px 24px rgba(255, 77, 87, 0.20); }
.button--ghost {
    background: #ffffff;
    border: 1px solid rgba(35, 38, 43, 0.10);
    color: var(--ink);
}
.button--outline {
    border: 1px solid rgba(35, 38, 43, 0.14);
    background: transparent;
    color: var(--ink);
}
.button--text {
    padding: 0;
    min-height: auto;
    border-radius: 0;
    color: var(--ink);
}
.hero-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 42px;
}
.hero-meta div {
    padding: 18px 20px;
    background: #ffffff;
    border: 1px solid rgba(35, 38, 43, 0.08);
    border-radius: 20px;
    box-shadow: var(--shadow-soft);
}
.hero-meta strong {
    display: block;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -.02em;
}
.hero-meta span {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    color: var(--muted);
}

.hero-stage {
    position: relative;
    height: 620px;
}
.floating-window,
.floating-card {
    position: absolute;
    will-change: transform;
}
.window--rear {
    top: 40px;
    left: 0;
    width: 66%;
    padding: 16px;
    border-radius: 26px;
    background: #ffffff;
    border: 1px solid rgba(35, 38, 43, 0.08);
    box-shadow: var(--shadow-card);
}
.window--main {
    top: 126px;
    right: 0;
    width: 78%;
    padding: 16px;
    border-radius: 28px;
    background: #ffffff;
    border: 1px solid rgba(35, 38, 43, 0.08);
    box-shadow: 0 22px 48px rgba(24, 28, 34, 0.10);
}
.window-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    padding: 0 4px 12px;
}
.window-bar i {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #dfdfdf;
}
.window-bar i:first-child { background: var(--brand-red); }
.window-bar i:nth-child(2) { background: var(--brand-yellow); }
.window-bar i:nth-child(3) { background: #dadada; }
.window-bar span {
    margin-left: 6px;
    font-size: 11px;
    color: var(--muted-2);
    letter-spacing: .02em;
}
.ui-shell {
    height: 360px;
    display: grid;
    grid-template-columns: 82px 1fr;
    overflow: hidden;
    border-radius: 22px;
    background: #fffdfc;
}
.ui-shell--architecture {
    grid-template-columns: 88px 1fr;
    height: 250px;
    background: #fff3f4;
}
.mini-sidebar {
    background: var(--brand-dark);
    position: relative;
}
.mini-sidebar::after {
    content: '';
    position: absolute;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: var(--brand-red);
    top: 22px;
    left: 22px;
}
.mini-main { padding: 28px; }
.mini-topline {
    width: 44%;
    height: 16px;
    border-radius: 999px;
    background: rgba(23, 23, 23, 0.18);
}
.mini-grid {
    display: grid;
    gap: 12px;
    margin-top: 24px;
}
.mini-grid.three { grid-template-columns: repeat(3, 1fr); }
.mini-grid b,
.mini-lines i {
    display: block;
    border-radius: 16px;
    background: rgba(23, 23, 23, 0.08);
}
.mini-grid b { height: 82px; }
.mini-lines { margin-top: 18px; }
.mini-lines i {
    height: 10px;
    width: 100%;
    margin-top: 10px;
}
.mini-lines i:nth-child(2) { width: 78%; }
.mini-lines i:nth-child(3) { width: 86%; }
.mini-lines i:nth-child(4) { width: 66%; }
.mock-side {
    background: var(--brand-dark);
    padding: 18px 14px;
}
.mock-logo {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    background: var(--brand-red);
    margin-bottom: 20px;
}
.mock-side span {
    display: block;
    width: 100%;
    height: 10px;
    margin-top: 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
}
.mock-side .active { background: rgba(255, 79, 82, 0.88); }
.mock-content { padding: 24px; }
.mock-head,
.screen-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.mock-head small,
.screen-title-row small {
    display: block;
    font-size: 11px;
    color: var(--muted);
}
.mock-head strong,
.screen-title-row strong {
    display: block;
    margin-top: 4px;
    font-size: 21px;
    font-weight: 500;
}
.mock-head button {
    min-width: 84px;
    height: 36px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 77, 87, 0.12);
    color: var(--brand-dark);
    font-size: 12px;
    font-weight: 600;
}
.mock-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 22px;
}
.mock-kpis div {
    padding: 16px;
    border-radius: 16px;
    background: rgba(35, 38, 43, 0.04);
}
.mock-kpis small {
    display: block;
    font-size: 11px;
    color: var(--muted);
}
.mock-kpis strong {
    display: block;
    margin-top: 5px;
    font-size: 17px;
    line-height: 1.35;
    letter-spacing: -.02em;
}
.mock-chart,
.screen-chart {
    position: relative;
    height: 114px;
    margin-top: 18px;
    border-radius: 20px;
    background: rgba(255, 77, 87, 0.10);
    overflow: hidden;
}
.chart-line {
    position: absolute;
    left: 24px;
    right: 20px;
    top: 52%;
    height: 2px;
    border-radius: 999px;
    background: transparent;
}
.chart-line::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--brand-red), var(--brand-red-deep));
    clip-path: polygon(0 80%, 12% 48%, 24% 68%, 34% 24%, 48% 52%, 62% 18%, 77% 64%, 100% 30%, 100% 100%, 0 100%);
}
.chart-line.two { top: 62%; opacity: .46; }
.chart-line.two::before { background: linear-gradient(90deg, #bdbdbd, #d6d6d6); }
.mock-table,
.screen-list {
    margin-top: 18px;
}
.mock-table i,
.screen-list b {
    display: block;
    height: 11px;
    margin-top: 10px;
    border-radius: 999px;
    background: rgba(23, 23, 23, 0.09);
}
.mock-table i:nth-child(2),
.screen-list b:nth-child(2) { width: 86%; }
.mock-table i:nth-child(3),
.screen-list b:nth-child(3) { width: 93%; }
.mock-table i:nth-child(4),
.screen-list b:nth-child(4) { width: 70%; }
.card--status,
.card--metric {
    padding: 16px 18px;
    border-radius: 18px;
    box-shadow: var(--shadow-card);
}
.card--status {
    left: 40px;
    bottom: 38px;
    background: #ffffff;
    border: 1px solid rgba(35, 38, 43, 0.06);
}
.card--metric {
    top: 90px;
    right: 30px;
    background: var(--brand-red);
    color: #fff;
    backdrop-filter: blur(4px);
}
.card--status span,
.card--metric small {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--muted);
}
.card--metric small,
.card--metric strong { color: #fff; }
.card--status strong,
.card--metric strong {
    display: block;
    margin-top: 6px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
}

main > section {
    padding: var(--section-y) 0;
}
.tinted-section { background: #ffffff; }
.tinted-section-soft { background: #f7f8fa; }
.dark-tint { background: #171717; color: var(--light-on-dark); }
.section-heading {
    max-width: 760px;
}
.section-heading > p,
.dark-head > p {
    max-width: 680px;
}
.services-layout,
.story-layout,
.process-layout,
.final-cta-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .95fr);
    gap: 42px;
    align-items: end;
}
.section-heading--split,
.dark-head {
    display: block;
}
.section-heading h2,
.dark-head h2,
.story-copy h2 {
    font-size: clamp(30px, 2.6vw, 42px);
    margin-top: 12px;
}
.section-heading p,
.dark-head p,
.process-copy p,
.story-copy p,
.final-cta p {
    margin-top: 18px;
    font-size: 17px;
    line-height: 1.72;
    color: var(--muted);
    font-weight: 300;
}
.dark-head p,
.dark-tint .process-copy p,
.final-cta p { color: rgba(245, 242, 235, 0.72); }
.dark-head .section-index,
.process-copy .section-index,
.final-cta .section-index { color: rgba(245, 242, 235, 0.58); }

.phase-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 54px;
}
.phase {
    padding: 28px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: var(--shadow-soft);
}
.phase:nth-child(2) { background: #ffffff; }
.phase:nth-child(3) { background: #f7f8fa; }
.phase-top {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.phase-top span {
    font-size: 12px;
    color: var(--muted-2);
    letter-spacing: .12em;
}
.phase-top i {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: var(--brand-red);
}
.phase h3 { margin: 20px 0 0; font-size: 28px; font-weight: 400; letter-spacing: -.03em; }
.phase p {
    margin-top: 14px;
    min-height: 80px;
    color: var(--muted);
    line-height: 1.68;
    font-size: 15px;
}
.phase ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}
.phase li {
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255, 77, 87, 0.08);
    font-size: 13px;
}

.project-grid {
    display: grid;
    gap: 28px;
    margin-top: 58px;
}
.project-feature {
    display: grid;
    grid-template-columns: minmax(290px, .72fr) minmax(0, 1.28fr);
    gap: 28px;
    align-items: center;
    padding: 30px;
    border-radius: var(--radius-xl);
    background: #ffffff;
    box-shadow: var(--shadow-soft);
}
.project-feature:nth-child(2n) { background: #f7f8fa; }
.project-feature:nth-child(3n) { background: #ffffff; }
.project-kicker {
    margin-top: 18px;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
}
.project-info h3 {
    margin: 10px 0 0;
    font-size: 38px;
    letter-spacing: -.04em;
    font-weight: 400;
}
.project-info p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.74;
    color: var(--muted);
}
.tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}
.tag-row span,
.screen-module-chips span,
.tech-strip span {
    padding: 9px 12px;
    border-radius: 999px;
    font-size: 12px;
    background: rgba(255, 77, 87, 0.08);
}
.project-note {
    margin-top: 18px;
    font-size: 13px;
    color: var(--muted-2);
}
.project-info > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    font-size: 14px;
    font-weight: 500;
}
.project-screen {
    padding: 14px;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(23, 23, 23, 0.06);
}
.screen-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 6px 14px;
}
.screen-toolbar i {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #dfdfdf;
}
.screen-toolbar i:first-child { background: var(--brand-red); }
.screen-toolbar i:nth-child(2) { background: var(--brand-yellow); }
.screen-toolbar span {
    margin-left: 6px;
    font-size: 11px;
    color: var(--muted-2);
}

.project-real-shot-wrap {
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(35, 38, 43, 0.06);
}

.project-real-shot {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: top left;
    display: block;
}
.screen-placeholder {
    display: grid;
    grid-template-columns: 86px 1fr;
    height: 360px;
    overflow: hidden;
    border-radius: 22px;
    background: #fffdfc;
}
.screen-side {
    background: var(--brand-dark);
    position: relative;
}
.screen-side::before,
.screen-side::after {
    content: '';
    position: absolute;
    left: 20px;
    right: 20px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
}
.screen-side::before { top: 24px; height: 36px; background: #ef4f58; }
.screen-side::after { top: 78px; height: 10px; }
.screen-main { padding: 24px; }
.screen-status {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 77, 87, 0.12);
    font-size: 12px;
    color: var(--brand-dark);
}
.screen-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 18px;
}
.screen-cards i {
    display: block;
    height: 92px;
    border-radius: 18px;
    background: rgba(255, 77, 87, 0.08);
}
.screen-module-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.process-copy {
    position: sticky;
    top: 120px;
    align-self: start;
}
.process-rail {
    display: grid;
    gap: 14px;
}
.process-step {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 22px 24px;
    border-radius: 24px;
    background: rgba(255, 77, 87, 0.12);
    opacity: .46;
    transform: translateX(14px);
    transition: opacity .3s ease, transform .3s ease, background .3s ease;
}
.process-step.is-active {
    opacity: 1;
    transform: none;
    background: rgba(255, 255, 255, 0.09);
}
.process-step h3 {
    margin: 0;
    font-size: 28px;
    font-weight: 400;
    letter-spacing: -.03em;
}
.process-step p {
    margin-top: 8px;
    color: rgba(245, 242, 235, 0.7);
    font-size: 15px;
    line-height: 1.68;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 56px;
}
.product-card {
    border-radius: 24px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(35, 38, 43, 0.06);
    box-shadow: var(--shadow-soft);
}
.product-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 220px;
    background: rgba(255, 77, 87, 0.10);
}
.product-visual > span {
    position: absolute;
    top: 18px;
    left: 18px;
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
}
.product-ui {
    width: 72%;
    height: 52%;
    padding: 18px;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 18px 32px rgba(0, 0, 0, 0.08);
}
.product-ui i {
    display: block;
    height: 8px;
    margin-top: 10px;
    border-radius: 999px;
    background: rgba(23, 23, 23, 0.08);
}
.product-ui i:first-child { width: 40%; background: rgba(23, 23, 23, 0.22); }
.product-body { padding: 24px; }
.product-body small {
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
}
.product-body h3 {
    margin: 12px 0 0;
    font-size: 24px;
    line-height: 1.24;
    font-weight: 500;
    letter-spacing: -.03em;
}
.product-body p {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--muted);
    min-height: 110px;
}
.price-line {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}
.price-line div {
    padding: 14px;
    border-radius: 16px;
    background: rgba(35, 38, 43, 0.04);
}
.price-line span {
    display: block;
    font-size: 12px;
    color: var(--muted);
}
.price-line strong {
    display: block;
    margin-top: 8px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
}
.section-action {
    display: flex;
    justify-content: flex-end;
    margin-top: 34px;
}

.capabilities-dark {
    color: var(--light-on-dark);
    background: var(--dark);
}
.capability-list {
    display: grid;
    gap: 14px;
    margin-top: 56px;
}
.capability-list a {
    display: grid;
    grid-template-columns: 1fr minmax(220px, 1fr) 28px;
    gap: 18px;
    align-items: center;
    min-height: 88px;
    padding: 0 22px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255,255,255,0.05);
    transition: transform .2s ease, background .2s ease;
}
.capability-list a:hover {
    transform: translateX(4px);
    background: rgba(255, 77, 87, 0.12);
}
.capability-list span {
    font-size: 12px;
    color: rgba(245, 242, 235, 0.5);
    letter-spacing: .12em;
}
.capability-list strong {
    font-size: 20px;
    font-weight: 500;
}
.capability-list em {
    font-style: normal;
    color: rgba(245, 242, 235, 0.65);
    line-height: 1.58;
    font-size: 14px;
}
.capability-list b { text-align: right; }
.tech-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 32px;
}
.tech-strip span {
    color: var(--light-on-dark);
    background: rgba(255, 77, 87, 0.12);
}

.services-layout { align-items: start; }
.service-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.service-card {
    position: relative;
    min-height: 206px;
    padding: 24px 24px 24px 26px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: var(--shadow-soft);
}
.service-card:nth-child(2n) { background: #f7f8fa; }
.service-card strong {
    display: block;
    margin-top: 0;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: -.03em;
}
.service-card p {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.68;
    color: var(--muted);
}
.service-card b {
    position: absolute;
    right: 24px;
    bottom: 24px;
    font-size: 18px;
}

.reference-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 52px;
}
.reference-grid div {
    min-height: 124px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: var(--shadow-soft);
}
.reference-grid span {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -.02em;
}

.tools-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 52px;
}
.tool-item {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    padding: 24px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: var(--shadow-soft);
}
.tool-item:nth-child(4n + 2) { background: #f7f8fa; }
.tool-item:nth-child(4n + 4) { background: #ffffff; }
.tool-group {
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
}
.tool-item h3 {
    margin: 24px 0 0;
    font-size: 24px;
    line-height: 1.24;
    font-weight: 500;
    letter-spacing: -.03em;
}
.tool-item p {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.68;
    color: var(--muted);
}
.tool-item div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 20px;
}
.tool-item em {
    font-style: normal;
    font-size: 13px;
    color: var(--muted-2);
}

.story-side {
    display: flex;
    flex-direction: column;
    align-self: start;
}
.story-rule {
    width: 100%;
    height: 4px;
    margin: 30px 0 16px;
    border-radius: 999px;
    background: var(--brand-red);
}
.story-side small {
    font-size: 13px;
    color: var(--muted-2);
}
.story-copy p + p { margin-top: 16px; }
.story-copy a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 26px;
    font-size: 14px;
    font-weight: 500;
}

.blog-section {
    background: #ffffff;
}
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 52px;
}
.blog-grid article {
    display: flex;
    flex-direction: column;
    min-height: 220px;
    padding: 24px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: var(--shadow-soft);
}
.blog-grid article > span {
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
}
.blog-grid h3 {
    margin: 24px 0 0;
    font-size: 24px;
    line-height: 1.32;
    font-weight: 400;
    letter-spacing: -.03em;
}
.blog-grid article div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 28px;
}
.blog-grid small {
    font-size: 13px;
    color: var(--muted-2);
}

.final-cta {
    color: var(--light-on-dark);
    background: var(--brand-dark);
}
.final-cta .section-index { color: rgba(255,255,255,0.56); }
.final-cta h2 { margin-top: 14px; }
.final-cta .button { justify-self: end; }

.site-footer {
    padding: 74px 0 28px;
    color: var(--light-on-dark);
    background: #171a1f;
}
.footer-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.35fr) minmax(135px, .82fr) minmax(145px, .9fr) minmax(165px, 1fr) minmax(120px, .72fr);
    gap: clamp(24px, 2.4vw, 38px);
    align-items: start;
}
.footer-grid > div { min-width: 0; }
.footer-logo { width: 220px; }
.footer-intro p {
    margin-top: 20px;
    max-width: 360px;
    font-size: 15px;
    line-height: 1.72;
    color: rgba(245, 242, 235, 0.72);
}
.footer-contact-lines {
    display: grid;
    gap: 10px;
    margin-top: 20px;
}
.footer-contact-lines a,
.footer-contact-lines span {
    font-size: 14px;
    color: rgba(245, 242, 235, 0.74);
}
.site-footer h3 {
    margin: 0 0 16px;
    font-size: 12px;
    color: rgba(245, 242, 235, 0.5);
    letter-spacing: .12em;
    text-transform: uppercase;
}
.site-footer a {
    display: block;
    margin: 10px 0;
    color: rgba(245, 242, 235, 0.8);
    font-size: 14px;
}
.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 48px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    font-size: 12px;
    color: rgba(245, 242, 235, 0.5);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1);
}
.reveal.is-visible { opacity: 1; transform: none; }
.reveal--delay { transition-delay: .12s; }


@media (max-width: 1380px) and (min-width: 1181px) {
    .footer-grid {
        grid-template-columns: minmax(230px, 1.25fr) repeat(4, minmax(115px, 1fr));
        gap: 24px;
    }
    .site-footer a { font-size: 13px; }
}

@media (max-width: 1180px) {
    .main-nav { display: none; }
    .nav-toggle {
        display: inline-grid;
        justify-self: end;
    }
    .header-grid { grid-template-columns: auto 1fr auto auto; }
    .main-nav.is-open {
        display: flex;
        position: absolute;
        top: calc(100% + 8px);
        left: var(--gutter);
        right: var(--gutter);
        padding: 20px;
        border-radius: 20px;
        background: #ffffff;
        box-shadow: 0 18px 36px rgba(0, 0, 0, 0.08);
        flex-direction: column;
        align-items: flex-start;
    }
    .hero-layout,
    .services-layout,
    .section-heading--split,
    .dark-head,
    .story-layout,
    .process-layout,
    .final-cta-inner {
        grid-template-columns: 1fr;
    }
    .hero-stage {
        max-width: 860px;
        width: 100%;
        margin-inline: auto;
    }
    .product-grid,
    .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-cards,
    .tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    :root { --section-y: 84px; }
    .header-grid { grid-template-columns: auto 1fr auto; }
    .header-cta { display: none; }
    .hero {
        min-height: auto;
        padding-top: 128px;
    }
    .hero-meta { grid-template-columns: 1fr; }
    .hero-stage { height: 470px; }
    .window--rear { display: none; }
    .window--main {
        width: 100%;
        top: 36px;
    }
    .floating-card { display: none; }
    .phase-grid,
    .reference-grid,
    .capability-list,
    .service-cards,
    .tools-grid,
    .blog-grid,
    .product-grid { grid-template-columns: 1fr; }
    .project-feature { grid-template-columns: 1fr; }
    .project-screen { order: -1; }
    .capability-list a { grid-template-columns: 1fr 24px; }
    .capability-list em { display: none; }
    .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .footer-intro { grid-column: 1 / -1; }
    .final-cta .button { justify-self: start; }
}

@media (max-width: 640px) {
    .brand-logo { width: 160px; }
    .hero h1,
    .section-heading h2,
    .dark-head h2,
    .story-copy h2,
    .final-cta h2 { font-size: 34px; }
    .hero-copy > p,
    .section-heading p,
    .dark-head p,
    .process-copy p,
    .story-copy p,
    .final-cta p { font-size: 15px; }
    .button-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .hero-stage { height: 340px; }
    .ui-shell,
    .screen-placeholder { grid-template-columns: 64px 1fr; }
    .ui-shell { height: 260px; }
    .screen-placeholder { height: 300px; }
    .mock-content,
    .screen-main { padding: 16px; }
    .mock-kpis,
    .screen-cards { grid-template-columns: 1fr; }
    .reference-grid { grid-template-columns: 1fr 1fr; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .process-step {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .floating-window,
    .floating-card { transition: none; }
}

.main-nav a:hover, .main-nav a:focus-visible, .button--text:hover, .button--ghost:hover { color: var(--brand-red); }
.section-index { color: var(--brand-red); }
.phase-top i, .story-rule { background: var(--brand-red); }
.tag-row span, .screen-module-chips span { color: var(--brand-red-deep); }
.hero-meta strong, .project-info > a, .story-copy a, .tool-item b, .service-card b, .blog-grid article a { color: var(--brand-red); }
.project-feature, .phase, .tool-item, .blog-grid article, .service-card, .reference-grid div, .product-card { border: 1px solid rgba(35,38,43,0.05); }
.references-section .button--text, .section-action .button--text { color: var(--brand-red); }

/* v0.7 — premium motion & interaction pass */
.scroll-progress {
    position: fixed;
    z-index: 160;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    transform: scaleX(0);
    transform-origin: left center;
    background: var(--brand-red);
    pointer-events: none;
    will-change: transform;
}

.site-header .brand-logo {
    transition: width .28s cubic-bezier(.2,.7,.2,1), transform .28s cubic-bezier(.2,.7,.2,1);
}
.site-header.is-scrolled .brand-logo {
    width: clamp(154px, 15.5vw, 202px);
    transform: translateY(-1px);
}
.site-header.is-scrolled {
    box-shadow: 0 14px 36px rgba(24, 28, 34, 0.07);
}

.main-nav a {
    position: relative;
    padding: 8px 0;
}
.main-nav a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    height: 2px;
    border-radius: 999px;
    background: var(--brand-red);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .24s cubic-bezier(.2,.7,.2,1);
}
.main-nav a:hover::after,
.main-nav a:focus-visible::after {
    transform: scaleX(1);
    transform-origin: left center;
}

.header-cta,
.button,
.project-info > a,
.story-copy a,
.service-card,
.tool-item,
.blog-grid article,
.product-card,
.reference-grid div,
.phase,
.project-screen {
    transition-timing-function: cubic-bezier(.2,.7,.2,1);
}
.header-cta span,
.button span,
.project-info > a span,
.story-copy a span {
    display: inline-block;
    transition: transform .22s cubic-bezier(.2,.7,.2,1);
}
.header-cta:hover span,
.button:hover span,
.project-info > a:hover span,
.story-copy a:hover span {
    transform: translate(3px, -2px);
}
.header-cta:hover,
.button--dark:hover {
    background: var(--brand-red-deep);
    box-shadow: 0 14px 28px rgba(255, 77, 87, .26);
}
.button:active,
.header-cta:active {
    transform: translateY(1px) scale(.985);
}

.hero-copy .eyebrow {
    transition: letter-spacing .35s ease;
}
.hero-copy:hover .eyebrow {
    letter-spacing: .135em;
}
.hero-orb {
    transition: transform 1.1s cubic-bezier(.2,.7,.2,1);
}
.hero:hover .hero-orb--yellow { transform: translate(-10px, 8px) rotate(-3deg); }
.hero:hover .hero-orb--red { transform: translate(9px, -7px) rotate(4deg); }

.window--main {
    animation: af-drift-main 8s ease-in-out infinite alternate;
}
.window--rear {
    animation: af-drift-rear 10s ease-in-out infinite alternate;
}
.card--status {
    animation: af-drift-card 7s ease-in-out infinite alternate;
}
.card--metric {
    animation: af-drift-card 9s ease-in-out infinite alternate-reverse;
}
@keyframes af-drift-main {
    from { transform: translateY(0) rotate(.001deg); }
    to { transform: translateY(-7px) rotate(.35deg); }
}
@keyframes af-drift-rear {
    from { transform: translateY(0) rotate(-.25deg); }
    to { transform: translateY(6px) rotate(.2deg); }
}
@keyframes af-drift-card {
    from { transform: translateY(0); }
    to { transform: translateY(-5px); }
}

.hero-meta div {
    transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s ease, border-color .25s ease;
}
.hero-meta div:hover {
    transform: translateY(-4px);
    border-color: rgba(255,77,87,.18);
    box-shadow: 0 18px 38px rgba(24, 28, 34, .08);
}

.section-index {
    position: relative;
    padding-left: 20px;
}
.section-index::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: currentColor;
    transform: translateY(-50%);
}
.dark-head .section-index::before,
.process-copy .section-index::before,
.final-cta .section-index::before {
    background: currentColor;
}

.phase {
    position: relative;
    overflow: hidden;
    transition: transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.phase::after {
    content: '';
    position: absolute;
    left: 28px;
    bottom: 0;
    width: 54px;
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: var(--brand-red);
    transform: scaleX(.35);
    transform-origin: left center;
    transition: transform .28s cubic-bezier(.2,.7,.2,1);
}
.phase:hover {
    transform: translateY(-6px);
    border-color: rgba(255,77,87,.14);
    box-shadow: 0 20px 44px rgba(24, 28, 34, .08);
}
.phase:hover::after { transform: scaleX(1); }
.phase li {
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.phase li:hover {
    background: rgba(255,77,87,.12);
    color: var(--brand-red-deep);
    transform: translateY(-1px);
}

.project-feature {
    transition: box-shadow .3s ease, border-color .3s ease;
}
.project-feature:hover {
    border-color: rgba(255,77,87,.14);
    box-shadow: 0 24px 58px rgba(24, 28, 34, .09);
}
.project-screen {
    transition: transform .42s cubic-bezier(.2,.7,.2,1), box-shadow .42s ease;
    transform-origin: center center;
}
.project-feature:hover .project-screen {
    transform: translateY(-5px) scale(1.006);
    box-shadow: inset 0 0 0 1px rgba(255,77,87,.08), 0 20px 42px rgba(24,28,34,.08);
}
.screen-side::before {
    transition: width .35s cubic-bezier(.2,.7,.2,1), right .35s cubic-bezier(.2,.7,.2,1);
}
.project-feature:hover .screen-side::before {
    right: 14px;
}
.screen-cards i {
    transition: transform .3s cubic-bezier(.2,.7,.2,1), background .3s ease;
}
.project-feature:hover .screen-cards i:nth-child(1) { transform: translateY(-4px); background: rgba(255,77,87,.08); }
.project-feature:hover .screen-cards i:nth-child(2) { transform: translateY(-2px); }
.project-feature:hover .screen-cards i:nth-child(3) { transform: translateY(-5px); background: rgba(35,38,43,.08); }
.tag-row span,
.screen-module-chips span,
.tech-strip span {
    transition: transform .18s ease, background .18s ease;
}
.tag-row span:hover,
.screen-module-chips span:hover {
    transform: translateY(-2px);
    background: rgba(255,77,87,.13);
}

.process-step {
    position: relative;
    overflow: hidden;
}
.process-step::before {
    content: '';
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 3px;
    border-radius: 999px;
    background: var(--brand-red);
    transform: scaleY(0);
    transform-origin: center bottom;
    transition: transform .32s cubic-bezier(.2,.7,.2,1);
}
.process-step.is-active::before { transform: scaleY(1); }

.product-card,
.service-card,
.tool-item,
.blog-grid article,
.reference-grid div {
    transition: transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.product-card:hover,
.service-card:hover,
.tool-item:hover,
.blog-grid article:hover,
.reference-grid div:hover {
    transform: translateY(-5px);
    border-color: rgba(255,77,87,.14);
    box-shadow: 0 22px 48px rgba(24,28,34,.09);
}
.product-card:hover .product-ui {
    transform: translateY(-4px) rotate(-.4deg);
}
.product-ui {
    transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
}
.product-card:hover .product-ui {
    box-shadow: 0 22px 38px rgba(24,28,34,.10);
}
.service-card b,
.tool-item b,
.blog-grid article a {
    transition: transform .2s cubic-bezier(.2,.7,.2,1);
}
.service-card:hover b,
.tool-item:hover b,
.blog-grid article:hover a {
    transform: translate(3px, -3px);
}
.reference-grid div:hover span {
    color: var(--brand-red-deep);
}
.reference-grid span {
    transition: color .22s ease, transform .22s ease;
}

.capability-list a {
    position: relative;
    overflow: hidden;
}
.capability-list a::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--brand-red);
    transform: scaleY(0);
    transform-origin: bottom center;
    transition: transform .28s cubic-bezier(.2,.7,.2,1);
}
.capability-list a:hover::before { transform: scaleY(1); }
.capability-list a:hover strong { color: #fff; }
.capability-list strong {
    transition: color .2s ease;
}

.story-copy a {
    position: relative;
}
.story-copy a::after,
.project-info > a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;
    width: calc(100% - 24px);
    height: 2px;
    background: var(--brand-red);
    transform: scaleX(.28);
    transform-origin: left;
    transition: transform .25s cubic-bezier(.2,.7,.2,1);
}
.story-copy a:hover::after,
.project-info > a:hover::after {
    transform: scaleX(1);
}

.final-cta {
    position: relative;
    overflow: hidden;
}
.final-cta::after {
    content: '';
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    right: -80px;
    top: -80px;
    border: 38px solid rgba(255,77,87,.12);
    pointer-events: none;
    transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.final-cta:hover::after { transform: scale(1.08) rotate(12deg); }
.final-cta .container { position: relative; z-index: 1; }

/* Reveal motion is intentionally varied to avoid a repeated template rhythm. */
.reveal {
    --reveal-delay: 0ms;
    transition-delay: var(--reveal-delay);
}
.reveal-motion-left { transform: translate3d(-24px, 10px, 0); }
.reveal-motion-right { transform: translate3d(24px, 10px, 0); }
.reveal-motion-soft { transform: translate3d(0, 14px, 0) scale(.992); }
.reveal-motion-fade { transform: none; }
.reveal-motion-left.is-visible,
.reveal-motion-right.is-visible,
.reveal-motion-soft.is-visible,
.reveal-motion-fade.is-visible { transform: none; }

@media (max-width: 900px) {
    .window--main,
    .window--rear,
    .card--status,
    .card--metric { animation: none; }
    .project-feature:hover .project-screen,
    .product-card:hover,
    .service-card:hover,
    .tool-item:hover,
    .blog-grid article:hover,
    .reference-grid div:hover,
    .phase:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .scroll-progress { display: none; }
    .window--main,
    .window--rear,
    .card--status,
    .card--metric { animation: none !important; }
    .hero-orb,
    .project-screen,
    .product-ui,
    .phase,
    .service-card,
    .tool-item,
    .blog-grid article,
    .reference-grid div { transition: none !important; }
}


/* v0.8 — sequence numbers removed; projects condensed into a 2×2 editorial grid */
.project-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 52px;
}
.project-feature {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: stretch;
    padding: 20px;
    min-width: 0;
    border-radius: 28px;
}
.project-feature:nth-child(2n) { background: #f7f8fa; }
.project-feature:nth-child(3n) { background: #ffffff; }
.project-screen {
    order: -1;
    width: 100%;
    margin-bottom: 24px;
    padding: 10px;
    border-radius: 22px;
}
.project-info {
    padding: 2px 4px 5px;
}
.project-kicker {
    margin-top: 0;
}
.project-info h3 {
    font-size: 31px;
    margin-top: 8px;
}
.project-info p {
    font-size: 15px;
    line-height: 1.65;
    min-height: 98px;
}
.project-note {
    margin-top: 14px;
}
.project-info > a {
    margin-top: 18px;
}
.screen-placeholder {
    height: 248px;
    grid-template-columns: 64px 1fr;
    border-radius: 18px;
}
.screen-main {
    padding: 17px;
}
.screen-title-row strong {
    font-size: 17px;
}
.screen-cards {
    gap: 8px;
    margin-top: 12px;
}
.screen-cards i {
    height: 56px;
    border-radius: 13px;
}
.screen-chart {
    height: 64px;
    margin-top: 10px;
    border-radius: 14px;
}
.screen-module-chips {
    gap: 6px;
    margin-top: 10px;
}
.screen-module-chips span {
    padding: 6px 8px;
    font-size: 10px;
}
.screen-list {
    display: none;
}
.screen-status {
    padding: 6px 9px;
    font-size: 10px;
}
.screen-toolbar {
    padding-bottom: 9px;
}
.screen-toolbar span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Decorative sequence numbering is intentionally not used anywhere. */
.phase-top {
    min-height: 14px;
}
.process-step {
    padding-left: 26px;
}
.capability-list a {
    grid-template-columns: minmax(190px, .9fr) minmax(240px, 1.1fr) 28px;
}
.service-card strong {
    margin-top: 0;
}

@media (max-width: 900px) {
    .project-grid {
        grid-template-columns: 1fr;
    }
    .project-info p {
        min-height: 0;
    }
    .capability-list a {
        grid-template-columns: 1fr 24px;
    }
}

@media (max-width: 640px) {
    .project-feature {
        padding: 14px;
    }
    .project-screen {
        margin-bottom: 20px;
    }
    .screen-placeholder {
        height: 230px;
        grid-template-columns: 52px 1fr;
    }
    .screen-module-chips span:nth-child(n+4) {
        display: none;
    }
}


/* v0.9 — Yetkinlikler: daha minimal, daha sıkı ve section başlığı dikey akışta */
.capabilities-dark {
    padding-top: clamp(78px, 8vw, 104px);
    padding-bottom: clamp(78px, 8vw, 104px);
}
.capabilities-dark .dark-head {
    display: block;
    max-width: 760px;
}
.capabilities-dark .dark-head .section-index {
    display: inline-flex;
    margin-bottom: 0;
}
.capabilities-dark .dark-head h2 {
    margin-top: 12px;
    max-width: 620px;
}
.capabilities-dark .dark-head p {
    margin-top: 14px;
    max-width: 680px;
}
.capabilities-dark .capability-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 38px;
}
.capabilities-dark .capability-list a {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) 24px;
    grid-template-areas:
        "title arrow"
        "desc arrow";
    gap: 5px 14px;
    align-items: center;
    padding: 18px 20px;
    border-radius: 16px;
    background: rgba(255,255,255,.035);
}
.capabilities-dark .capability-list a:hover {
    transform: translateY(-2px);
    background: rgba(255,77,87,.10);
}
.capabilities-dark .capability-list strong {
    grid-area: title;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 500;
}
.capabilities-dark .capability-list em {
    grid-area: desc;
    font-size: 12px;
    line-height: 1.5;
    color: rgba(248,249,251,.56);
}
.capabilities-dark .capability-list b {
    grid-area: arrow;
    align-self: center;
    font-size: 14px;
    color: rgba(248,249,251,.55);
}
.capabilities-dark .tech-strip {
    gap: 8px;
    margin-top: 24px;
}
.capabilities-dark .tech-strip span {
    padding: 7px 10px;
    font-size: 11px;
    background: rgba(255,255,255,.055);
    color: rgba(248,249,251,.68);
}

@media (max-width: 900px) {
    .capabilities-dark .capability-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .capabilities-dark .capability-list {
        margin-top: 28px;
    }
    .capabilities-dark .capability-list a {
        padding: 16px 17px;
    }
    .capabilities-dark .capability-list em {
        display: block;
    }
}

/* Projects directory */
.main-nav a.is-active {
    color: var(--brand-red);
    font-weight: 500;
}

.projects-page-hero {
    padding: 156px 0 84px;
    background: #fff;
}
.projects-page-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .75fr);
    gap: 90px;
    align-items: end;
}
.projects-page-hero h1 {
    max-width: 760px;
    margin: 14px 0 0;
    font-size: clamp(38px, 4.2vw, 62px);
    line-height: 1.06;
    letter-spacing: -.04em;
    font-weight: 300;
}
.projects-page-hero__copy {
    padding-bottom: 4px;
}
.projects-page-hero__copy p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--muted);
    font-weight: 300;
}
.projects-page-hero__copy p + p {
    margin-top: 14px;
}

.project-directory {
    padding: 56px 0 var(--section-y);
    background: #f5f6f8;
}
.project-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 30px;
}
.project-filter button {
    appearance: none;
    border: 0;
    padding: 10px 15px;
    border-radius: 999px;
    background: #fff;
    color: var(--muted);
    font: inherit;
    font-size: 13px;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(35,38,43,.07);
    transition: color .2s ease, background .2s ease, transform .2s ease;
}
.project-filter button:hover {
    color: var(--ink);
    transform: translateY(-1px);
}
.project-filter button.is-active {
    background: var(--brand-red);
    color: #fff;
    box-shadow: none;
}
.project-directory-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.project-directory-card {
    min-width: 0;
    overflow: hidden;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(28,31,37,.06);
    border: 1px solid rgba(35,38,43,.05);
    transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease;
}
.project-directory-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 52px rgba(28,31,37,.10);
}
.project-directory-card.is-hidden {
    display: none;
}
.project-directory-card__visual {
    display: block;
    padding: 16px 16px 0;
}
.project-screen--directory {
    margin: 0;
    padding: 10px;
    background: #f8f9fb;
}
.screen-placeholder--directory {
    height: 300px;
}
.project-real-shot--directory {
    height: 300px;
}
.project-directory-card__body {
    padding: 24px 28px 28px;
}
.project-directory-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    color: var(--muted-2);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.project-directory-card__meta span:first-child {
    color: var(--brand-red);
    font-weight: 500;
}
.project-directory-card h2 {
    margin: 10px 0 0;
    font-size: 30px;
    line-height: 1.16;
    letter-spacing: -.035em;
    font-weight: 400;
}
.project-directory-card__body > p {
    margin-top: 14px;
    min-height: 78px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.68;
}
.project-directory-card .tag-row {
    margin-top: 18px;
}
.project-directory-card__link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 22px;
    color: var(--brand-red);
    font-size: 14px;
    font-weight: 500;
}
.project-directory-card__link span {
    transition: transform .2s ease;
}
.project-directory-card:hover .project-directory-card__link span {
    transform: translate(2px,-2px);
}
.projects-page-cta {
    padding: 84px 0;
    color: #fff;
    background: var(--brand-dark);
}
.projects-page-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 48px;
    align-items: end;
}
.projects-page-cta .section-index {
    color: rgba(255,255,255,.58);
}
.projects-page-cta h2 {
    margin: 12px 0 0;
    max-width: 620px;
    font-size: clamp(32px, 3.3vw, 48px);
    line-height: 1.08;
    letter-spacing: -.035em;
    font-weight: 300;
}
.projects-page-cta p {
    max-width: 670px;
    margin-top: 16px;
    color: rgba(255,255,255,.66);
    font-size: 15px;
    line-height: 1.7;
}

@media (max-width: 980px) {
    .projects-page-hero__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .projects-page-hero__copy {
        max-width: 720px;
    }
    .project-directory-grid {
        grid-template-columns: 1fr;
    }
    .projects-page-cta__inner {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .projects-page-cta .button {
        justify-self: start;
    }
}

@media (max-width: 640px) {
    .projects-page-hero {
        padding-top: 126px;
        padding-bottom: 64px;
    }
    .projects-page-hero h1 {
        font-size: 36px;
    }
    .project-directory {
        padding-top: 38px;
    }
    .project-filter {
        margin-bottom: 22px;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
    }
    .project-filter::-webkit-scrollbar { display: none; }
    .project-filter button { flex: 0 0 auto; }
    .project-directory-card__visual {
        padding: 10px 10px 0;
    }
    .screen-placeholder--directory,
    .project-real-shot--directory {
        height: 230px;
    }
    .project-directory-card__body {
        padding: 22px;
    }
    .project-directory-card h2 {
        font-size: 27px;
    }
    .project-directory-card__body > p {
        min-height: 0;
    }
}

/* v1.4 — Project detail / GEYU case study */
.case-page { background: #f5f6f8; }
.case-hero { padding: 156px 0 96px; background: #fff; }
.case-hero__grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:90px; align-items:end; }
.case-back { display:inline-flex; margin-bottom:34px; font-size:13px; color:var(--muted); }
.case-hero h1 { max-width:850px; margin:16px 0 0; font-size:clamp(38px,4.4vw,62px); line-height:1.06; letter-spacing:-.04em; font-weight:300; }
.case-hero__copy>p { max-width:760px; margin-top:24px; color:var(--muted); font-size:18px; line-height:1.72; font-weight:300; }
.case-hero__actions { display:flex; gap:14px; margin-top:30px; flex-wrap:wrap; }
.case-hero__facts { display:grid; gap:10px; }
.case-hero__facts>div { padding:18px 20px; border-radius:18px; background:#f6f7f9; border:1px solid rgba(35,38,43,.06); }
.case-hero__facts span { display:block; color:var(--muted-2); font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.case-hero__facts strong { display:block; margin-top:7px; font-size:15px; line-height:1.5; font-weight:500; }
.case-intro,.case-architecture,.case-modules,.case-outcome { padding:96px 0; }
.case-split { display:grid; grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr); gap:64px; align-items:start; }
.case-split__copy p { max-width:760px; margin-top:0; color:var(--muted); font-size:17px; line-height:1.8; font-weight:300; }
.case-split__copy p + p { margin-top:18px; }
.case-intro__grid,.case-outcome__grid { display:grid; grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr); gap:64px; }
.case-intro__content h2,.case-heading h2 { margin:12px 0 0; font-size:clamp(31px,3.2vw,46px); line-height:1.14; letter-spacing:-.035em; font-weight:300; }
.case-intro__content p,.case-heading p,.case-outcome__copy p { max-width:780px; margin-top:18px; color:var(--muted); font-size:16px; line-height:1.78; font-weight:300; }
.case-architecture { background:#fff; }
.case-heading { max-width:760px; }
.role-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:52px; }
.role-card { min-height:250px; padding:26px; border-radius:24px; background:#f6f7f9; border:1px solid rgba(35,38,43,.05); transition:transform .25s ease,background .25s ease; }
.role-card:hover { transform:translateY(-4px); }
.role-card--accent { background:var(--brand-red); color:#fff; }
.role-card>span { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--brand-red); }
.role-card--accent>span,.role-card--accent p { color:rgba(255,255,255,.76); }
.role-card h3 { margin:28px 0 0; font-size:22px; line-height:1.3; font-weight:500; letter-spacing:-.025em; }
.role-card p { margin-top:12px; font-size:14px; line-height:1.7; color:var(--muted); }
.case-scroll-story { position:relative; padding:120px 0; background:#202328; color:#fff; }
.case-scroll-story .section-index { color:var(--brand-red); }
.case-scroll-story__layout { display:grid; grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr); gap:56px; align-items:start; }
.case-story__copy { min-height:1780px; }
.case-heading--sticky { position:sticky; top:112px; padding-bottom:26px; z-index:3; background:#202328; }
.case-heading--sticky h2 { color:#fff; }
.case-heading--sticky p { color:rgba(255,255,255,.62); }
.case-story__steps { display:grid; gap:150px; padding-top:340px; }
.case-story__step { min-height:230px; max-width:420px; opacity:.34; transform:translateY(18px); transition:opacity .35s ease,transform .35s ease; position:relative; z-index:1; }
.case-story__step.is-active { opacity:1; transform:none; }
.case-story__step>span { color:var(--brand-red); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.case-story__step h3 { margin:14px 0 0; font-size:25px; line-height:1.24; font-weight:400; letter-spacing:-.03em; }
.case-story__step p { margin-top:14px; color:rgba(255,255,255,.68); font-size:15px; line-height:1.72; }
.case-story__step a { display:inline-flex; align-items:center; gap:8px; margin-top:20px; font-size:13px; color:#fff; }
.case-story__visual { position:sticky; top:110px; }
.case-browser { padding:12px; border-radius:28px; background:#f7f8fa; box-shadow:0 30px 70px rgba(0,0,0,.28); transform:perspective(1400px) rotateY(-2deg); transition:transform .4s ease; }
.case-browser:hover { transform:perspective(1400px) rotateY(0deg); }
.case-browser__bar { height:38px; display:flex; align-items:center; gap:7px; padding:0 5px; }
.case-browser__bar i { width:9px; height:9px; border-radius:50%; background:#d8dbe0; }
.case-browser__bar i:first-child { background:var(--brand-red); }
.case-browser__bar i:nth-child(2) { background:#ff8d93; }
.case-browser__bar span { margin-left:7px; font-size:11px; color:#69717c; }
.case-browser__viewport { position:relative; aspect-ratio:16/10; overflow:hidden; border-radius:19px; background:#fff; }
.case-browser__frame { position:absolute; inset:0; margin:0; opacity:0; transform:scale(1.035) translateY(8px); transition:opacity .55s ease,transform .75s cubic-bezier(.2,.7,.2,1); pointer-events:none; }
.case-browser__frame.is-active { opacity:1; transform:scale(1) translateY(0); z-index:2; }
.case-browser__frame img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.case-browser__frame { overflow:hidden; border-radius:19px; }
.case-story__caption { display:flex; justify-content:space-between; gap:20px; margin-top:16px; padding:0 6px; color:rgba(255,255,255,.62); font-size:11px; }
.case-story__caption span { color:#fff; }
.case-story__caption em { font-style:normal; }
.case-modules { background:#fff; }
.case-module-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:50px; }
.case-module { min-height:205px; padding:24px; border-radius:22px; background:#f6f7f9; border:1px solid rgba(35,38,43,.05); }
.case-module:nth-child(3n+2) { background:#fff; }
.case-module h3 { margin:0; font-size:19px; font-weight:500; letter-spacing:-.02em; }
.case-module p { margin-top:14px; color:var(--muted); font-size:14px; line-height:1.7; }
.case-tech { padding:110px 0; background:#202328; color:#fff; }
.case-tech__grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr); gap:56px; align-items:start; }
.case-tech .case-heading h2 { color:#fff; }
.case-tech .case-heading p { color:rgba(255,255,255,.64); }
.case-tech__stack { display:grid; gap:10px; }
.case-tech__stack>div { display:grid; grid-template-columns:94px minmax(0,1fr); gap:18px; padding:18px 20px; border-radius:16px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.05); min-width:0; }
.case-tech__stack span { color:var(--brand-red); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.case-tech__stack strong { font-size:14px; line-height:1.6; font-weight:400; color:rgba(255,255,255,.82); display:block; min-width:0; }
.case-outcome { background:#f7f8fa; }
.case-outcome .case-heading h2 { max-width:420px; }
.case-note { padding:16px 18px; border-radius:16px; background:#fff; border-left:3px solid var(--brand-red); font-size:14px!important; }

.geyu-preview {
    height: 100%;
    padding: 26px;
    background: #ffffff;
    color: #23262b;
}
.geyu-preview h4 {
    margin: 10px 0 0;
    font-size: clamp(20px, 2vw, 34px);
    line-height: 1.16;
    letter-spacing: -.03em;
    font-weight: 400;
}
.geyu-preview p,
.geyu-preview li,
.geyu-preview small {
    color: #5f6771;
    font-size: 13px;
    line-height: 1.6;
}
.geyu-preview__badge, .geyu-preview__kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #fff4f5;
    color: var(--brand-red);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.geyu-preview__actions, .geyu-preview__chiprow {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}
.geyu-preview__actions span, .geyu-preview__chiprow span {
    padding: 9px 12px;
    border-radius: 999px;
    background: #f5f7fa;
    font-size: 12px;
    color: #313741;
}
.geyu-preview__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}
.geyu-preview__metrics div, .geyu-preview__tiles article, .geyu-preview__panel {
    border: 1px solid rgba(35,38,43,.08);
    border-radius: 18px;
    background: #ffffff;
}
.geyu-preview__metrics div { padding: 14px; }
.geyu-preview__metrics small { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#7b8692; }
.geyu-preview__metrics strong { display:block; margin-top:8px; font-size:24px; line-height:1; color:#23262b; font-weight:500; }
.geyu-preview__tiles { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.geyu-preview__tiles article { padding: 15px; background:#f7f8fa; }
.geyu-preview__tiles strong { display:block; font-size:14px; line-height:1.35; }
.geyu-preview__tiles p { margin-top:8px; font-size:12px; line-height:1.55; }
.geyu-preview__split { display:grid; grid-template-columns: 1.08fr .92fr; gap: 12px; height: 100%; }
.geyu-preview__split--institution { grid-template-columns: 1.1fr .9fr; }
.geyu-preview__panel { padding: 18px; }
.geyu-preview__panel--soft { background: linear-gradient(180deg, #fff8f8 0%, #ffffff 100%); }
.geyu-preview__panel--accent { background: linear-gradient(180deg, #fff4f5 0%, #ffffff 100%); }
.geyu-preview__panel ul { margin: 16px 0 0; padding-left: 18px; }
.geyu-preview__formline { height: 40px; border-radius: 12px; background: #f6f7f9; margin-top: 12px; border: 1px solid rgba(35,38,43,.06); }
.geyu-preview__formrow { display:grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.geyu-preview__formrow span { height: 16px; border-radius: 999px; background: #eceff3; }
.geyu-preview__button { margin-top: 14px; display:flex; align-items:center; justify-content:center; height: 42px; border-radius: 12px; background: var(--brand-red); color:#fff; font-size:13px; font-weight:500; }
.geyu-preview__button--ghost { background:#f6f7f9; color:#313741; }
.geyu-preview__divider { margin-top: 12px; color:#8b95a0; font-size:11px; text-align:center; text-transform:uppercase; letter-spacing:.08em; }
.geyu-preview__footer-note { margin-top: 12px; padding: 12px 14px; border-radius: 14px; background:#f7f8fa; font-size:12px; color:#68717b; }
.geyu-preview--institution .geyu-preview__panel p { margin-top: 12px; }
.case-story__mobile-shot .geyu-preview { padding: 18px; }
.case-browser__frame .geyu-preview { min-height: 100%; }
.case-next { padding:90px 0; background:var(--brand-red); color:#fff; }
.case-next .section-index { color:rgba(255,255,255,.66); }
.case-next__inner { display:flex; justify-content:space-between; gap:40px; align-items:end; }
.case-next h2 { margin:10px 0 0; font-size:clamp(30px,3.2vw,46px); line-height:1.12; font-weight:300; letter-spacing:-.035em; }
.case-next .button--light { background:#fff; color:#23262b; box-shadow:none; }
@media(max-width:1100px){
  .case-hero__grid,.case-tech__grid{grid-template-columns:1fr;gap:48px}.case-hero__facts{grid-template-columns:repeat(2,1fr)}
  .role-grid,.case-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-scroll-story__layout{grid-template-columns:1fr;gap:40px}.case-story__copy{min-height:0}.case-heading--sticky{position:static;padding-bottom:0;background:transparent}.case-story__steps{gap:26px;padding-top:24px}.case-story__step{min-height:0;max-width:none;opacity:1;transform:none;padding:22px;border-radius:20px;background:rgba(255,255,255,.05)}.case-story__visual{position:relative;top:auto;order:-1}.case-browser{transform:none}.case-split{grid-template-columns:1fr;gap:26px}
}
@media(max-width:760px){
  .case-hero{padding-top:128px}.case-hero h1{font-size:38px}.case-hero__facts{grid-template-columns:1fr}.case-intro__grid,.case-outcome__grid{grid-template-columns:1fr;gap:30px}.role-grid,.case-module-grid{grid-template-columns:1fr}.case-intro,.case-architecture,.case-modules,.case-outcome,.case-tech,.case-scroll-story{padding:72px 0}.case-browser__viewport{aspect-ratio:4/3}.case-story__caption{flex-direction:column;gap:4px}.case-next__inner{align-items:flex-start;flex-direction:column}.case-tech__stack>div{grid-template-columns:1fr;gap:7px}.geyu-preview{padding:16px}.geyu-preview__metrics,.geyu-preview__tiles,.geyu-preview__split,.geyu-preview__split--institution{grid-template-columns:1fr}.geyu-preview__tiles{gap:8px}
}
@media(prefers-reduced-motion:reduce){.case-browser__frame,.case-story__step,.role-card,.case-browser{transition:none!important;transform:none!important}}
.case-story__mobile-shot{display:none}
@media(max-width:1100px){
  .case-story__mobile-shot{display:block;margin-top:18px;overflow:hidden;border-radius:16px;background:#fff;border:1px solid rgba(255,255,255,.08)}
}


/* v16 — case studies: product/business language only; stable scroll story */
.case-scroll-story__layout {
    grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
    gap: 64px;
}
.case-story__copy {
    min-height: 0;
}
.case-heading--story {
    position: static;
    max-width: 430px;
    margin-bottom: 72px;
}
.case-heading--story h2 {
    color: #fff;
}
.case-heading--story p {
    color: rgba(255,255,255,.62);
}
.case-story__steps {
    display: grid;
    gap: 110px;
    padding-top: 0;
}
.case-story__step {
    min-height: 310px;
    max-width: 430px;
    padding-top: 8px;
}
.case-story__visual {
    position: sticky;
    top: 116px;
    align-self: start;
}
.case-tech { display:none !important; }

@media (max-width: 1100px) {
    .case-scroll-story__layout { grid-template-columns: 1fr; gap: 40px; }
    .case-heading--story { margin-bottom: 28px; max-width: 720px; }
    .case-story__steps { gap: 28px; }
    .case-story__step { min-height: 0; max-width: none; }
    .case-story__visual { position: relative; top: auto; order: -1; }
}

/* v17 — Aipresio case study */
.aipresio-case {
    --aip-navy: #151a3a;
    --aip-navy-2: #202750;
    --aip-pink: #d63cac;
    --aip-purple: #7058f6;
    --aip-cyan: #4ca9f7;
}
.aipresio-case__hero {
    background: #fff;
}
.aipresio-case__hero .section-index,
.aipresio-approach .section-index,
.aipresio-modules .section-index,
.aipresio-outcome .section-index {
    color: var(--aip-pink);
}
.aipresio-case__hero .case-hero__facts > div:nth-child(2),
.aipresio-case__hero .case-hero__facts > div:nth-child(4) {
    background: #f8f6ff;
}
.aipresio-signal-grid .role-card > span {
    color: var(--aip-pink);
}
.aipresio-signal-grid .aipresio-accent-card {
    background: var(--aip-navy);
}
.aipresio-signal-grid .aipresio-accent-card > span,
.aipresio-signal-grid .aipresio-accent-card p {
    color: rgba(255,255,255,.72);
}
.aipresio-story {
    background: var(--aip-navy);
}
.aipresio-story .section-index,
.aipresio-story .case-story__step > span {
    color: #f162c5;
}
.aipresio-browser {
    background: #f7f7fb;
}
.aipresio-browser .case-browser__bar i:first-child { background: #d63cac; }
.aipresio-browser .case-browser__bar i:nth-child(2) { background: #7058f6; }
.aipresio-browser .case-browser__viewport { background: #fff; }
.aipresio-next {
    background: var(--aip-navy);
}
.aipresio-next .section-index { color: rgba(255,255,255,.58); }

.aip-preview {
    height: 100%;
    padding: 22px;
    background: #fff;
    color: #171b33;
}
.aip-preview h4 {
    margin: 8px 0 0;
    font-size: clamp(18px, 1.9vw, 30px);
    line-height: 1.18;
    letter-spacing: -.03em;
    font-weight: 500;
}
.aip-preview p {
    color: #69717f;
    font-size: 12px;
    line-height: 1.55;
}
.aip-preview__topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #151a3a;
    color: #fff;
}
.aip-preview__topbar strong {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -.02em;
}
.aip-preview__topbar span {
    font-size: 10px;
    color: rgba(255,255,255,.72);
    text-transform: uppercase;
    letter-spacing: .08em;
}
.aip-preview__summary {
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #f7f7fb;
    border-left: 3px solid #d63cac;
}
.aip-preview__summary small,
.aip-roadmap__head > span {
    color: #d63cac;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .1em;
}
.aip-preview__summary h4 { font-size: 20px; }
.aip-preview__summary p { margin-top: 7px; }
.aip-preview__score-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}
.aip-preview__score-grid > div {
    padding: 12px;
    border: 1px solid #e3e6ed;
    border-radius: 12px;
    min-width: 0;
}
.aip-preview__score-grid span {
    display: block;
    min-height: 30px;
    font-size: 10px;
    line-height: 1.35;
    color: #39404d;
    font-weight: 500;
}
.aip-preview__score-grid strong {
    display: block;
    margin-top: 8px;
    color: #d63cac;
    font-size: 24px;
    font-weight: 600;
    line-height: 1;
}
.aip-preview__score-grid strong em {
    font-style: normal;
    font-size: 10px;
    color: #828a96;
    font-weight: 400;
}
.aip-preview__score-grid small {
    display: block;
    margin-top: 7px;
    color: #9a6a91;
    font-size: 9px;
}
.aip-preview__findings {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 8px;
    margin-top: 12px;
}
.aip-preview__findings div {
    padding: 10px 12px;
    border-radius: 11px;
    background: #f7f7fb;
}
.aip-preview__findings span {
    color: #d63cac;
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.aip-preview__findings p { margin-top: 5px; font-size: 10px; }

.aip-business__hero {
    padding: 20px;
    border-radius: 18px;
    background: #151a3a;
    color: #fff;
}
.aip-business__brand {
    color: #f162c5;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .11em;
}
.aip-business__hero > span {
    display: block;
    margin-top: 7px;
    color: rgba(255,255,255,.55);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.aip-business__hero h4 { color: #fff; max-width: 580px; }
.aip-business__actions {
    display: flex;
    gap: 8px;
    margin-top: 14px;
}
.aip-business__actions span {
    padding: 8px 11px;
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    font-size: 10px;
}
.aip-business__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 9px;
    margin-top: 12px;
}
.aip-business__facts div {
    padding: 12px 14px;
    border-radius: 12px;
    background: #f6f7fb;
}
.aip-business__facts small {
    display: block;
    color: #888f9b;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.aip-business__facts strong {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    font-weight: 500;
}
.aip-business__content {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 9px;
    margin-top: 12px;
}
.aip-business__content article {
    padding: 13px;
    border: 1px solid #e8eaf0;
    border-radius: 12px;
}
.aip-business__content strong { font-size: 12px; font-weight: 500; }
.aip-business__content p { margin-top: 6px; font-size: 10px; }

.aip-roadmap__head {
    padding-bottom: 14px;
    border-bottom: 1px solid #e7e9ef;
}
.aip-roadmap__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 10px;
    margin-top: 14px;
}
.aip-roadmap__steps article {
    padding: 15px;
    border-radius: 14px;
    background: #f7f7fb;
    border-top: 3px solid #d63cac;
}
.aip-roadmap__steps span {
    color: #d63cac;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .1em;
}
.aip-roadmap__steps strong {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 500;
}
.aip-roadmap__steps p { margin-top: 8px; font-size: 10px; }
.aip-roadmap__potential {
    margin-top: 14px;
    padding: 13px 14px;
    border-radius: 14px;
    background: #151a3a;
}
.aip-roadmap__potential small {
    color: rgba(255,255,255,.62);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.aip-roadmap__bars {
    display: grid;
    gap: 7px;
    margin-top: 10px;
}
.aip-roadmap__bars i {
    display: block;
    width: var(--w);
    height: 7px;
    border-radius: 999px;
    background: #7058f6;
}

@media (max-width: 760px) {
    .aip-preview { padding: 15px; }
    .aip-preview__score-grid,
    .aip-preview__findings,
    .aip-business__facts,
    .aip-business__content,
    .aip-roadmap__steps { grid-template-columns: 1fr; }
    .aip-preview__score-grid > div,
    .aip-preview__findings div,
    .aip-business__content article { padding: 11px; }
    .aip-preview__score-grid span { min-height: 0; }
}

/* v18 — SayaçApp case study */
.sayacapp-case {
    --sayac-ink: #1f2933;
    --sayac-soft: #eef3f7;
    --sayac-blue: #3c6f93;
    --sayac-green: #3f8d73;
}
.sayacapp-case__hero {
    background: #ffffff;
}
.sayacapp-case__hero .case-hero__facts > div:nth-child(2),
.sayacapp-case__hero .case-hero__facts > div:nth-child(4) {
    background: #f3f6f8;
}
.sayacapp-approach {
    background: #f7f9fb;
}
.sayac-role-grid .role-card--accent {
    background: var(--brand-red);
}
.sayacapp-story {
    background: #1e252b;
}
.sayacapp-story .section-index,
.sayacapp-story .case-story__step > span {
    color: #ff626b;
}
.sayac-browser {
    background: #edf1f4;
}
.sayac-browser .case-browser__bar i:first-child { background: var(--brand-red); }
.sayac-browser .case-browser__bar i:nth-child(2) { background: #90a3b1; }
.sayac-browser__viewport {
    background: #e9eef2;
}
.sayac-preview {
    height: 100%;
    padding: 22px;
    background: #f4f6f8;
    color: var(--sayac-ink);
    overflow: hidden;
}
.sayac-appbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 16px;
    border-radius: 17px;
    background: #ffffff;
    border: 1px solid rgba(31,41,51,.07);
}
.sayac-appbar small,
.sayac-preview small {
    display: block;
    color: #7a8791;
    font-size: 10px;
    line-height: 1.4;
}
.sayac-appbar strong {
    display: block;
    margin-top: 3px;
    font-size: 17px;
    font-weight: 600;
}
.sayac-appbar > span,
.sayac-online,
.sayac-done {
    padding: 8px 10px;
    border-radius: 999px;
    background: #eef3f6;
    color: #52626e;
    font-size: 10px;
    font-style: normal;
}
.sayac-online { color: var(--sayac-green)!important; background: #eaf5f0!important; }
.sayac-done { color: var(--sayac-green)!important; background: #eaf5f0!important; }
.sayac-search {
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 13px;
    background: #ffffff;
    border: 1px solid rgba(31,41,51,.07);
    color: #84909a;
    font-size: 11px;
}
.sayac-subscriber {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    gap: 12px;
    align-items: center;
    margin-top: 12px;
    padding: 14px;
    border-radius: 15px;
    background: #fff;
    border: 1px solid rgba(31,41,51,.07);
}
.sayac-avatar {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: #fff0f1;
    color: var(--brand-red);
    font-size: 12px;
    font-weight: 700;
}
.sayac-subscriber strong { display:block; font-size:13px; }
.sayac-subscriber span { display:block; margin-top:3px; color:#7b8790; font-size:10px; }
.sayac-subscriber em { font-style:normal; padding:7px 9px; border-radius:999px; background:#f3f5f7; font-size:9px; color:#697681; }
.sayac-reading-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 9px;
    margin-top: 12px;
}
.sayac-reading-grid > div,
.sayac-balance-card > div {
    padding: 13px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(31,41,51,.07);
}
.sayac-reading-grid .is-focus { border-color: rgba(255,77,87,.38); box-shadow: 0 0 0 2px rgba(255,77,87,.06); }
.sayac-reading-grid strong,
.sayac-balance-card strong { display:block; margin-top:6px; font-size:16px; font-weight:600; }
.sayac-payment-toggle {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:12px;
    padding:12px 14px;
    border-radius:14px;
    background:#fff;
}
.sayac-payment-toggle > span { font-size:11px; color:#63717c; }
.sayac-payment-toggle > div { display:flex; gap:5px; padding:4px; background:#f1f4f6; border-radius:999px; }
.sayac-payment-toggle b { padding:7px 10px; border-radius:999px; color:#7a8791; font-size:9px; font-weight:500; }
.sayac-payment-toggle b.is-active { background:var(--brand-red); color:#fff; }
.sayac-amount {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:12px;
    padding:12px 14px;
    border-radius:14px;
    background:#252e35;
    color:#fff;
}
.sayac-amount span { font-size:10px; color:rgba(255,255,255,.65); }
.sayac-amount strong { font-size:18px; }
.sayac-primary {
    display:flex;
    align-items:center;
    justify-content:center;
    height:42px;
    margin-top:12px;
    border-radius:13px;
    background:var(--brand-red);
    color:#fff;
    font-size:12px;
    font-weight:600;
}
.sayac-preview--receipt {
    padding-inline: 34px;
}
.sayac-receipt-paper {
    max-width: 360px;
    margin: 14px auto 0;
    padding: 22px 22px 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(28,37,44,.08);
    border-radius: 6px;
    border-top: 4px solid var(--brand-red);
}
.sayac-receipt-head { text-align:center; padding-bottom:14px; border-bottom:1px dashed #cfd6db; }
.sayac-receipt-head strong { display:block; font-size:14px; letter-spacing:.06em; }
.sayac-receipt-head span { display:block; margin-top:4px; color:#7b8790; font-size:10px; }
.sayac-receipt-row { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px dashed #e0e4e7; font-size:10px; }
.sayac-receipt-row span { color:#7b8790; }
.sayac-receipt-row strong { font-weight:500; }
.sayac-receipt-total { display:flex; justify-content:space-between; align-items:center; padding:14px 0 6px; }
.sayac-receipt-total span { font-size:11px; color:#687681; }
.sayac-receipt-total strong { font-size:20px; }
.sayac-receipt-paid { width:max-content; margin:12px auto 0; padding:7px 12px; border:2px solid var(--sayac-green); color:var(--sayac-green); border-radius:7px; font-size:11px; font-weight:700; letter-spacing:.08em; transform:rotate(-3deg); }
.sayac-action-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; max-width:420px; margin:14px auto 0; }
.sayac-action-row span { display:flex; justify-content:center; align-items:center; height:38px; border-radius:12px; background:#fff; border:1px solid rgba(31,41,51,.07); font-size:10px; color:#52626e; }
.sayac-action-row span:first-child { background:var(--brand-red); color:#fff; border-color:transparent; }
.sayac-payment-search {
    position:relative;
    margin-top:12px;
    padding:13px 42px 13px 14px;
    border-radius:14px;
    background:#fff;
    border:1px solid rgba(31,41,51,.07);
}
.sayac-payment-search small { text-transform:uppercase; letter-spacing:.08em; }
.sayac-payment-search strong { display:block; margin-top:5px; font-size:13px; }
.sayac-payment-search > span { position:absolute; right:14px; top:50%; transform:translateY(-50%); color:#7b8790; font-size:18px; }
.sayac-balance-card { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:12px; }
.sayac-debt-list { display:grid; gap:8px; margin-top:12px; }
.sayac-debt-list > div { display:flex; justify-content:space-between; align-items:center; padding:11px 13px; border-radius:12px; background:#fff; border:1px solid rgba(31,41,51,.06); font-size:10px; }
.sayac-debt-list .is-selected { border-color:rgba(255,77,87,.4); background:#fff6f7; }
.sayac-collect-row { display:flex; justify-content:space-between; align-items:center; margin-top:12px; padding:12px 14px; border-radius:14px; background:#252e35; color:#fff; }
.sayac-collect-row strong { display:block; margin-top:4px; font-size:17px; }
.sayac-collect-row span { padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.09); font-size:9px; }
.sayacapp-modules .case-module:nth-child(3n+2) { background:#f4f7f9; }
.sayacapp-outcome { background:#f5f7f9; }
.sayacapp-next { background:var(--brand-red); }

@media (max-width: 760px) {
    .sayac-preview { padding: 14px; }
    .sayac-reading-grid,
    .sayac-balance-card { grid-template-columns:1fr 1fr; }
    .sayac-reading-grid > div:last-child,
    .sayac-balance-card > div:last-child { grid-column:1 / -1; }
    .sayac-subscriber { grid-template-columns:38px 1fr; }
    .sayac-subscriber em { display:none; }
    .sayac-preview--receipt { padding-inline:14px; }
}

/* v20 — ProjectBoards case study */
.projectboards-case {
    --pb-ink: #222733;
    --pb-soft: #f2f4f8;
    --pb-blue: #6177f4;
    --pb-purple: #8a64e8;
    --pb-green: #37a77c;
}
.projectboards-case__hero { background: #fff; }
.projectboards-case__hero .case-hero__facts > div:nth-child(2),
.projectboards-case__hero .case-hero__facts > div:nth-child(4) { background: #f4f5f8; }
.projectboards-approach { background: #f7f8fa; }
.projectboards-role-grid .role-card--accent { background: var(--brand-red); }
.projectboards-story { background: #1f2228; }
.projectboards-story .section-index,
.projectboards-story .case-story__step > span { color: #ff626b; }
.projectboards-browser { background: #eef0f5; }
.projectboards-browser__viewport { background: #eceff4; }

.pb-preview {
    height: 100%;
    padding: 20px;
    background: #f4f6fa;
    color: var(--pb-ink);
    overflow: hidden;
}
.pb-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 15px;
    border-radius: 15px;
    background: #fff;
    border: 1px solid rgba(34,39,51,.07);
}
.pb-topbar small {
    display: block;
    color: #8a929f;
    font-size: 9px;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.pb-topbar strong {
    display: block;
    margin-top: 3px;
    font-size: 16px;
    font-weight: 600;
}
.pb-team { display: flex; align-items: center; }
.pb-team i,
.pb-team span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    margin-left: -5px;
    border-radius: 50%;
    border: 2px solid #fff;
    background: #edf0f6;
    color: #596374;
    font-style: normal;
    font-size: 9px;
    font-weight: 600;
}
.pb-team i:first-child { margin-left: 0; background: #fff0f1; color: var(--brand-red); }
.pb-team i:nth-child(2) { background: #eef0ff; color: #6177f4; }
.pb-team i:nth-child(3) { background: #f4efff; color: #8a64e8; }
.pb-board {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 10px;
    margin-top: 12px;
}
.pb-board > section {
    min-width: 0;
    padding: 10px;
    border-radius: 15px;
    background: #eceff4;
}
.pb-column-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 2px 2px 9px;
}
.pb-column-head strong { font-size: 10px; font-weight: 600; }
.pb-column-head span {
    display: grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    background: #dfe3ea;
    color: #707a89;
    font-size: 8px;
}
.pb-board article {
    margin-top: 8px;
    padding: 11px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(34,39,51,.06);
    box-shadow: 0 5px 14px rgba(40,46,60,.04);
}
.pb-board article.is-active { border-color: rgba(255,77,87,.26); }
.pb-board article em {
    display: inline-block;
    padding: 4px 6px;
    border-radius: 999px;
    background: #f1f3f7;
    color: #758090;
    font-size: 7px;
    font-style: normal;
}
.pb-board article.is-active em { background: #fff0f1; color: var(--brand-red); }
.pb-board article h4 {
    margin: 7px 0 0;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 600;
}
.pb-board article p { margin-top: 4px; color: #8a929f; font-size: 8px; line-height: 1.4; }
.pb-board article > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin-top: 9px;
}
.pb-board article > div span { color: #87909d; font-size: 7px; }
.pb-board article > div b {
    display: grid;
    place-items: center;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    background: #eef0f6;
    color: #596374;
    font-size: 7px;
}

.pb-range { display: flex; gap: 5px; padding: 4px; border-radius: 999px; background: #f0f2f6; }
.pb-range span { padding: 6px 9px; border-radius: 999px; color: #7b8491; font-size: 8px; }
.pb-range span.is-active { background: #fff; color: #2d3440; box-shadow: 0 2px 8px rgba(34,39,51,.06); }
.pb-roadmap-head {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    gap: 1px;
    margin-top: 13px;
    padding-left: 112px;
    color: #8a929e;
    font-size: 8px;
    text-align: center;
}
.pb-roadmap-grid {
    display: grid;
    gap: 8px;
    margin-top: 7px;
    padding: 10px;
    border-radius: 15px;
    background: #fff;
    border: 1px solid rgba(34,39,51,.07);
}
.pb-roadmap-row {
    display: grid;
    grid-template-columns: 95px 1fr;
    gap: 10px;
    align-items: center;
}
.pb-roadmap-row > strong { font-size: 9px; font-weight: 500; }
.pb-roadmap-row > div {
    position: relative;
    height: 31px;
    border-radius: 9px;
    background: repeating-linear-gradient(90deg,#f4f5f8 0,#f4f5f8 calc(16.666% - 1px),#e5e8ee calc(16.666% - 1px),#e5e8ee 16.666%);
}
.pb-roadmap-row i {
    position: absolute;
    left: var(--left);
    top: 5px;
    width: var(--width);
    height: 21px;
    display: flex;
    align-items: center;
    padding: 0 9px;
    border-radius: 7px;
    background: #6177f4;
    color: #fff;
    font-size: 7px;
    font-style: normal;
}
.pb-roadmap-row:nth-child(2) i { background: #8a64e8; }
.pb-roadmap-row:nth-child(3) i { background: #37a77c; }
.pb-roadmap-row:nth-child(4) i { background: #ff626b; }
.pb-roadmap-note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 13px;
    background: #222733;
    color: #fff;
}
.pb-roadmap-note span { color: #aab1bd; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.pb-roadmap-note strong { font-size: 10px; font-weight: 500; }

.pb-status {
    padding: 7px 10px;
    border-radius: 999px;
    background: #eaf6f1;
    color: #318865;
    font-size: 8px;
}
.pb-collab-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 11px;
    margin-top: 12px;
}
.pb-files,
.pb-chat {
    min-width: 0;
    padding: 13px;
    border-radius: 15px;
    background: #fff;
    border: 1px solid rgba(34,39,51,.07);
}
.pb-pane-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-bottom: 10px;
    border-bottom: 1px solid #edf0f4;
}
.pb-pane-title strong { font-size: 10px; font-weight: 600; }
.pb-pane-title span { color: #7e8794; font-size: 8px; }
.pb-folder,
.pb-file,
.pb-message {
    display: grid;
    align-items: center;
    gap: 9px;
    margin-top: 9px;
    padding: 9px;
    border-radius: 11px;
    background: #f7f8fa;
}
.pb-folder { grid-template-columns: 27px 1fr; }
.pb-folder i {
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border-radius: 8px;
    background: #eef0ff;
    color: #6177f4;
    font-style: normal;
    font-size: 10px;
}
.pb-folder strong,
.pb-file strong,
.pb-message strong { display:block; font-size:9px; font-weight:600; }
.pb-folder small,
.pb-file small,
.pb-message small { display:block; margin-top:2px; color:#89919e; font-size:7px; }
.pb-file { grid-template-columns: 28px 1fr auto; }
.pb-file > span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: #fff0f1;
    color: var(--brand-red);
    font-size: 7px;
    font-weight: 700;
}
.pb-file > b { color:#8a929d; font-size:10px; }
.pb-message { grid-template-columns: 28px 1fr; align-items:start; background:#f6f7fb; }
.pb-message > b {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#eef0ff;
    color:#6177f4;
    font-size:7px;
}
.pb-message.is-me { background:#fff6f7; }
.pb-message.is-me > b { background:#ffe9eb; color:var(--brand-red); }
.pb-message p { margin-top:4px; color:#606977; font-size:8px; line-height:1.45; }
.pb-message em { color:#6177f4; font-style:normal; }
.pb-reference {
    display:grid;
    grid-template-columns:27px 1fr;
    gap:9px;
    align-items:center;
    margin:9px 0 0 37px;
    padding:8px 10px;
    border-radius:10px;
    border:1px dashed #cdd3dd;
}
.pb-reference > span { color:#6177f4; }
.pb-reference small { display:block; color:#8a929e; font-size:7px; }
.pb-reference strong { display:block; margin-top:2px; font-size:9px; }
.pb-input {
    margin-top:10px;
    padding:11px 12px;
    border-radius:10px;
    background:#f6f7f9;
    color:#9aa2ad;
    font-size:8px;
}
.projectboards-modules .case-module:nth-child(3n+2) { background: #f4f5f8; }
.projectboards-outcome { background: #f5f6f8; }
.projectboards-next { background: var(--brand-red); }

@media (max-width: 760px) {
    .pb-preview { padding: 13px; }
    .pb-board { grid-template-columns: 1fr; }
    .pb-board > section:nth-child(n+2) { display: none; }
    .pb-roadmap-head { padding-left: 0; }
    .pb-roadmap-row { grid-template-columns: 76px 1fr; }
    .pb-collab-grid { grid-template-columns: 1fr; }
    .pb-files { display: none; }
}

/* v21 — Onayso case study */
.onayso-case {
    --onayso-ink: #252933;
    --onayso-soft: #f5f6fa;
    --onayso-purple: #6f67d9;
    --onayso-green: #2e9d72;
    --onayso-amber: #d79a32;
}
.onayso-case__hero { background: #fff; }
.onayso-case__hero .case-hero__facts > div:nth-child(2),
.onayso-case__hero .case-hero__facts > div:nth-child(4) { background: #f5f6fa; }
.onayso-intro { background: #f7f8fa; }
.onayso-approach { background: #fff; }
.onayso-role-grid .role-card--accent { background: var(--brand-red); }
.onayso-story { background: #1f2228; }
.onayso-story .section-index,
.onayso-story .case-story__step > span { color: #ff626b; }
.onayso-browser { background: #f0f1f5; }
.onayso-browser__viewport { background: #f1f3f7; }
.onayso-preview {
    height: 100%;
    padding: 20px;
    color: var(--onayso-ink);
    background: #f4f5f8;
    overflow: hidden;
}
.onayso-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 15px;
    border-radius: 15px;
    background: #fff;
    border: 1px solid rgba(37,41,51,.07);
}
.onayso-topbar small { display:block; color:#89919d; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.onayso-topbar strong { display:block; margin-top:3px; font-size:15px; font-weight:600; }
.onayso-platforms { display:flex; gap:5px; }
.onayso-platforms span {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:9px;
    background:#f2f3f7;
    color:#737c8a;
    font-size:8px;
    font-weight:600;
}
.onayso-platforms span:first-child { background:#fff0f1; color:var(--brand-red); }
.onayso-calendar-strip {
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:6px;
    margin-top:10px;
}
.onayso-calendar-strip span {
    display:flex;
    align-items:center;
    justify-content:center;
    height:29px;
    border-radius:9px;
    background:#e9ecf1;
    color:#7f8895;
    font-size:8px;
}
.onayso-calendar-strip span.is-active { background:var(--brand-red); color:#fff; }
.onayso-post-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:11px;
}
.onayso-post-grid article {
    min-width:0;
    overflow:hidden;
    border-radius:14px;
    background:#fff;
    border:1px solid rgba(37,41,51,.06);
}
.onayso-post-image {
    position:relative;
    height:118px;
    overflow:hidden;
    background:#e5e8ed;
}
.onayso-post-image::before,
.onayso-post-image::after,
.onayso-post-image i,
.onayso-post-image b { content:''; position:absolute; display:block; }
.onayso-post-image--a { background:#d9c4b0; }
.onayso-post-image--a::before { width:72px; height:72px; border-radius:50%; background:#5f3928; left:50%; top:22px; transform:translateX(-50%); }
.onayso-post-image--a::after { width:92px; height:14px; border-radius:999px; background:#f5eee8; left:50%; bottom:13px; transform:translateX(-50%); }
.onayso-post-image--b { background:#dfe1e9; }
.onayso-post-image--b::before { inset:18px; border-radius:12px; background:#262a31; }
.onayso-post-image--b::after { width:48%; height:8px; border-radius:999px; background:#ff626b; left:25%; top:48%; }
.onayso-post-image--c { background:#d8e6df; }
.onayso-post-image--c::before { width:65px; height:86px; border-radius:16px; background:#fff; left:50%; top:15px; transform:translateX(-50%) rotate(-4deg); box-shadow:0 10px 25px rgba(30,40,35,.09); }
.onayso-post-image--c::after { width:28px; height:28px; border-radius:50%; background:#567564; left:50%; top:36px; transform:translateX(-50%); }
.onayso-post-copy { padding:11px; }
.onayso-post-copy small { display:block; color:#9097a2; font-size:7px; }
.onayso-post-copy strong { display:block; margin-top:5px; font-size:10px; font-weight:600; }
.onayso-post-copy p { margin-top:4px; color:#7d8591; font-size:8px; line-height:1.45; }
.onayso-status { padding:7px 10px; border-radius:999px; font-size:8px; }
.onayso-status--revision { background:#fff3e2; color:#b67a1e; }
.onayso-status--approved { background:#eaf6f1; color:#298461; }
.onayso-review-layout {
    display:grid;
    grid-template-columns:.88fr 1.12fr;
    gap:11px;
    margin-top:11px;
}
.onayso-social-mock,
.onayso-comments {
    min-width:0;
    border-radius:15px;
    background:#fff;
    border:1px solid rgba(37,41,51,.07);
    overflow:hidden;
}
.onayso-social-head { display:grid; grid-template-columns:30px 1fr auto; gap:8px; align-items:center; padding:10px 11px; }
.onayso-social-head i { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#2f3440; color:#fff; font-style:normal; font-size:8px; }
.onayso-social-head strong { display:block; font-size:9px; }
.onayso-social-head small { display:block; margin-top:2px; color:#8b939e; font-size:7px; }
.onayso-social-head > span { color:#888f9a; font-size:10px; }
.onayso-social-media { position:relative; height:190px; background:#d9c5b0; overflow:hidden; }
.onayso-social-media::before { content:''; position:absolute; width:105px; height:105px; border-radius:50%; background:#5f3928; left:50%; top:30px; transform:translateX(-50%); }
.onayso-social-media::after { content:''; position:absolute; width:145px; height:18px; border-radius:999px; background:#f6efea; left:50%; bottom:22px; transform:translateX(-50%); }
.onayso-social-caption { padding:10px 12px 13px; color:#5f6672; font-size:8px; line-height:1.45; }
.onayso-social-caption strong { color:#2d323b; }
.onayso-comments { padding:12px; }
.onayso-comment-head { display:flex; justify-content:space-between; gap:10px; padding-bottom:10px; border-bottom:1px solid #edf0f3; }
.onayso-comment-head strong { font-size:10px; }
.onayso-comment-head span { color:#8d95a0; font-size:8px; }
.onayso-comments article { display:grid; grid-template-columns:28px 1fr; gap:9px; margin-top:10px; padding:10px; border-radius:11px; background:#f6f7fa; }
.onayso-comments article > b { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#fff0f1; color:var(--brand-red); font-size:8px; }
.onayso-comments article.is-team { background:#f1f2fb; }
.onayso-comments article.is-team > b { background:#e9e7ff; color:var(--onayso-purple); }
.onayso-comments article strong { display:block; font-size:8px; }
.onayso-comments article p { margin-top:4px; color:#626b78; font-size:8px; line-height:1.45; }
.onayso-comments article small { display:block; margin-top:5px; color:#99a0aa; font-size:7px; }
.onayso-comment-box { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; padding:10px 11px; border-radius:10px; background:#f5f6f8; color:#9aa2ac; font-size:8px; }
.onayso-comment-box span { padding:6px 8px; border-radius:8px; background:var(--brand-red); color:#fff; }
.onayso-approval-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:11px; }
.onayso-approval-summary > div { padding:14px; border-radius:13px; background:#fff; border:1px solid rgba(37,41,51,.06); }
.onayso-approval-summary small { display:block; color:#8c949f; font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.onayso-approval-summary strong { display:block; margin-top:6px; font-size:21px; font-weight:600; }
.onayso-approval-summary span { display:block; margin-top:4px; color:#858e99; font-size:7px; }
.onayso-approval-list { display:grid; gap:7px; margin-top:10px; }
.onayso-approval-list article { display:grid; grid-template-columns:9px 1fr auto; gap:10px; align-items:center; padding:10px 12px; border-radius:11px; background:#fff; border:1px solid rgba(37,41,51,.06); }
.onayso-approval-list i { width:9px; height:9px; border-radius:50%; background:#d9dee4; }
.onayso-approval-list i.is-approved { background:var(--onayso-green); }
.onayso-approval-list i.is-revision { background:var(--onayso-amber); }
.onayso-approval-list small { display:block; color:#8d95a0; font-size:7px; }
.onayso-approval-list strong { display:block; margin-top:3px; font-size:9px; }
.onayso-approval-list > article > span { padding:6px 8px; border-radius:999px; background:#f2f4f7; color:#727b88; font-size:7px; }
.onayso-approve-action { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; padding:11px 13px; border-radius:12px; background:#252933; color:#fff; }
.onayso-approve-action span { color:#aeb5bf; font-size:8px; }
.onayso-approve-action strong { padding:7px 10px; border-radius:9px; background:var(--brand-red); font-size:8px; font-weight:500; }
.onayso-modules .case-module:nth-child(3n+2) { background:#f4f5f8; }
.onayso-outcome { background:#f6f7f9; }
.onayso-next { background:var(--brand-red); }

@media (max-width:760px) {
    .onayso-preview { padding:13px; }
    .onayso-platforms span:nth-child(n+4) { display:none; }
    .onayso-post-grid { grid-template-columns:1fr; }
    .onayso-post-grid article:nth-child(n+2) { display:none; }
    .onayso-review-layout { grid-template-columns:1fr; }
    .onayso-comments { display:none; }
    .onayso-approval-summary { grid-template-columns:1fr 1fr; }
    .onayso-approval-summary > div:last-child { grid-column:1 / -1; }
}

/* v22 — Mikro ERP case study */
.mikroerp-case {
    --mikro-navy: #23355e;
    --mikro-soft: #f3f4f9;
    --mikro-panel: #ffffff;
    --mikro-coral: #e86468;
}
.mikroerp-case__hero { background: #fff; }
.mikroerp-case__hero .case-hero__facts > div:nth-child(2),
.mikroerp-case__hero .case-hero__facts > div:nth-child(4) { background: #f4f5f9; }
.mikroerp-intro { background: #f5f6f9; }
.mikroerp-approach { background: #fff; }
.mikroerp-role-grid .role-card--accent { background: var(--mikro-coral); }
.mikroerp-story { background: #202329; }
.mikroerp-story .section-index,
.mikroerp-story .case-story__step > span { color: #ff646b; }
.mikroerp-browser { background: #eef0f5; }
.mikroerp-browser__viewport { background: #eef0f5; }
.mikroerp-browser__viewport .case-browser__frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.mikroerp-mobile-shot img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
}
.mikroerp-modules .case-module:nth-child(3n+2) { background: #f4f5f9; }
.mikroerp-outcome { background: #f5f6f8; }
.mikroerp-next { background: var(--brand-red); }

/* The real ERP UI is the hero of this case study; keep the story copy compact. */
.mikroerp-story .case-story__steps { gap: 148px; }
.mikroerp-story .case-story__step { max-width: 405px; }
.mikroerp-story .case-story__step h3 { font-size: 24px; }
.mikroerp-story .case-story__visual { top: 106px; }

@media (max-width: 1100px) {
    .mikroerp-story .case-story__steps { gap: 24px; }
    .mikroerp-story .case-story__step { max-width: none; }
}

/* v23 — ShoeApp case study */
.shoeapp-case {
    --shoe-ink: #20242a;
    --shoe-soft: #f3f1ee;
    --shoe-warm: #d9b08c;
    --shoe-brown: #7a5137;
    --shoe-green: #4d7e6a;
}
.shoeapp-case__hero { background:#fff; }
.shoeapp-case__hero .case-hero__facts > div:nth-child(2),
.shoeapp-case__hero .case-hero__facts > div:nth-child(4) { background:#f5f3f0; }
.shoeapp-intro { background:#f6f5f3; }
.shoeapp-approach { background:#fff; }
.shoeapp-role-grid .role-card--accent { background:#7a5137; }
.shoeapp-role-grid .role-card--accent > span,
.shoeapp-role-grid .role-card--accent p { color:rgba(255,255,255,.78); }
.shoeapp-story { background:#202328; }
.shoeapp-story .section-index,
.shoeapp-story .case-story__step > span { color:#f0b27f; }
.shoeapp-browser { background:#efebe7; }
.shoeapp-browser__viewport { background:#f4f2ef; }
.shoeapp-modules .case-module:nth-child(3n+2) { background:#f5f3f0; }
.shoeapp-outcome { background:#f6f5f3; }
.shoeapp-next { background:var(--brand-red); }

.shoe-preview {
    width:100%;
    height:100%;
    padding:18px;
    color:var(--shoe-ink);
    background:#f4f2ef;
    overflow:hidden;
}
.shoe-preview__topbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-radius:15px;
    background:#fff;
    border:1px solid rgba(32,36,42,.06);
}
.shoe-preview__topbar small { display:block; color:#9a938c; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.shoe-preview__topbar strong { display:block; margin-top:3px; font-size:14px; font-weight:600; }
.shoe-preview__topbar > span { padding:8px 11px; border-radius:10px; background:#282c32; color:#fff; font-size:8px; }
.shoe-preview__filters { display:grid; grid-template-columns:1.2fr .85fr .85fr auto; gap:8px; margin-top:10px; }
.shoe-preview__filters i,
.shoe-preview__filters b { height:28px; border-radius:9px; background:#e8e5e1; }
.shoe-preview__filters b { width:34px; background:#d9b08c; }
.shoe-model-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:10px; }
.shoe-model-grid article { padding:8px; border-radius:14px; background:#fff; border:1px solid rgba(32,36,42,.06); min-width:0; }
.shoe-model { position:relative; height:132px; border-radius:11px; overflow:hidden; background:#e7e1db; }
.shoe-model::before { content:''; position:absolute; left:17%; right:12%; top:47%; height:28%; border-radius:50% 65% 35% 45%; transform:rotate(-8deg); background:#5d5149; box-shadow:inset -10px -8px 0 rgba(0,0,0,.08); }
.shoe-model::after { content:''; position:absolute; left:14%; right:8%; bottom:22%; height:10%; border-radius:999px; background:#f3eee9; transform:rotate(-5deg); }
.shoe-model--b { background:#d9dce1; }.shoe-model--b::before{background:#262a31;}
.shoe-model--c { background:#e6ddd2; }.shoe-model--c::before{background:#b57a4b;}
.shoe-model--d { background:#dfe4de; }.shoe-model--d::before{background:#52655b;}
.shoe-model-grid strong { display:block; margin-top:8px; font-size:9px; font-weight:600; }
.shoe-model-grid small { display:block; margin-top:3px; color:#92989f; font-size:7px; }
.shoe-order-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:10px; }
.shoe-order-summary > div { padding:12px; border-radius:13px; background:#fff; border:1px solid rgba(32,36,42,.06); }
.shoe-order-summary small { display:block; color:#8d949d; font-size:8px; text-transform:uppercase; letter-spacing:.07em; }
.shoe-order-summary strong { display:block; margin-top:5px; font-size:22px; font-weight:600; }
.shoe-order-table { margin-top:10px; overflow:hidden; border-radius:14px; background:#fff; border:1px solid rgba(32,36,42,.06); }
.shoe-order-table > div { display:grid; grid-template-columns:.8fr 1.2fr .7fr .9fr; gap:8px; align-items:center; min-height:43px; padding:0 12px; border-top:1px solid #eef0f2; font-size:8px; }
.shoe-order-table > div:first-child { border-top:0; }
.shoe-order-table__head { min-height:32px!important; color:#969da5; background:#fafafa; text-transform:uppercase; letter-spacing:.07em; }
.shoe-order-table strong { font-weight:600; }.shoe-order-table span { color:#666f79; }
.shoe-order-table em { justify-self:start; padding:6px 8px; border-radius:999px; font-style:normal; font-size:7px; }
.shoe-order-table em.is-new { background:#fff0e3; color:#ad6a27; }
.shoe-order-table em.is-progress { background:#eef0fb; color:#5c66a1; }
.shoe-order-table em.is-done { background:#eaf5f0; color:#3f7c63; }
.shoe-stock-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:10px; margin-top:10px; }
.shoe-stock-card,.shoe-current-card { padding:14px; border-radius:14px; background:#fff; border:1px solid rgba(32,36,42,.06); }
.shoe-card-head { display:flex; justify-content:space-between; gap:8px; align-items:center; padding-bottom:10px; border-bottom:1px solid #eef0f2; }
.shoe-card-head strong { font-size:10px; font-weight:600; }.shoe-card-head small { color:#999fa7; font-size:7px; }
.shoe-stock-bars { display:grid; gap:13px; margin-top:14px; }
.shoe-stock-bars > div { display:grid; grid-template-columns:28px 1fr 26px; gap:8px; align-items:center; }
.shoe-stock-bars span,.shoe-stock-bars strong { font-size:8px; }.shoe-stock-bars strong { text-align:right; font-weight:600; }
.shoe-stock-bars i { display:block; height:7px; overflow:hidden; border-radius:999px; background:#ece9e5; }
.shoe-stock-bars b { display:block; height:100%; border-radius:inherit; background:#a87958; }
.shoe-current-list { display:grid; gap:7px; margin-top:10px; }
.shoe-current-list > div { display:grid; grid-template-columns:28px 1fr auto; gap:8px; align-items:center; padding:8px; border-radius:10px; background:#f7f6f4; }
.shoe-current-list i { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:#e9e2db; color:#76533d; font-style:normal; font-size:8px; font-weight:600; }
.shoe-current-list strong { display:block; font-size:8px; }.shoe-current-list small { display:block; margin-top:2px; color:#949aa2; font-size:7px; }
.shoe-current-list b { color:#4d7e6a; font-size:7px; font-weight:500; }

@media (max-width:760px) {
    .shoe-preview { padding:12px; }
    .shoe-model-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .shoe-model-grid article:nth-child(n+3) { display:none; }
    .shoe-order-table > div { grid-template-columns:.9fr 1fr .8fr; }
    .shoe-order-table > div > :nth-child(3) { display:none; }
    .shoe-stock-layout { grid-template-columns:1fr; }
    .shoe-current-card { display:none; }
}

/* v24 — Depo & Stok Takip case study */
.depo-case {
    --depo-ink: #20262b;
    --depo-soft: #eef4f3;
    --depo-teal: #3c766f;
    --depo-teal-dark: #2f5f5a;
    --depo-mint: #dfece9;
    --depo-orange: #c87946;
}
.depo-case__hero { background:#fff; }
.depo-case__hero .case-hero__facts > div:nth-child(2),
.depo-case__hero .case-hero__facts > div:nth-child(4) { background:#f1f6f5; }
.depo-intro { background:#f3f6f5; }
.depo-approach { background:#fff; }
.depo-role-grid .role-card--accent { background:var(--depo-teal); }
.depo-role-grid .role-card--accent > span,
.depo-role-grid .role-card--accent p { color:rgba(255,255,255,.78); }
.depo-story { background:#20252a; }
.depo-story .section-index,
.depo-story .case-story__step > span { color:#77b8ad; }
.depo-browser { background:#eaf0ef; }
.depo-browser__viewport { background:#edf2f1; }
.depo-modules .case-module:nth-child(3n+2) { background:#f0f5f4; }
.depo-outcome { background:#f3f6f5; }
.depo-next { background:var(--brand-red); }

.depo-preview {
    width:100%;
    height:100%;
    padding:18px;
    color:var(--depo-ink);
    background:#edf2f1;
    overflow:hidden;
}
.depo-preview__topbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-radius:15px;
    background:#fff;
    border:1px solid rgba(32,38,43,.06);
}
.depo-preview__topbar small { display:block; color:#8f9a98; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.depo-preview__topbar strong { display:block; margin-top:3px; font-size:14px; font-weight:600; }
.depo-preview__topbar > span { padding:8px 11px; border-radius:10px; background:var(--depo-teal); color:#fff; font-size:8px; }
.depo-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:10px; }
.depo-summary-grid article { padding:12px; border-radius:13px; background:#fff; border:1px solid rgba(32,38,43,.06); }
.depo-summary-grid small { display:block; color:#8e9896; font-size:7px; text-transform:uppercase; letter-spacing:.08em; }
.depo-summary-grid strong { display:block; margin-top:5px; font-size:23px; line-height:1; font-weight:600; }
.depo-summary-grid em { display:block; margin-top:5px; color:#9da5a3; font-size:7px; font-style:normal; }
.depo-stock-panel { margin-top:10px; padding:14px; border-radius:14px; background:#fff; border:1px solid rgba(32,38,43,.06); }
.depo-panel-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:10px; border-bottom:1px solid #edf0ef; }
.depo-panel-head strong { font-size:10px; font-weight:600; }
.depo-panel-head small { color:#9aa2a0; font-size:7px; }
.depo-stock-list { display:grid; gap:11px; margin-top:12px; }
.depo-stock-list > div { display:grid; grid-template-columns:82px 1fr 32px; gap:10px; align-items:center; }
.depo-stock-list span b { display:block; font-size:8px; font-weight:600; }
.depo-stock-list span small { display:block; margin-top:2px; color:#9aa2a0; font-size:7px; }
.depo-stock-list i { display:block; height:8px; overflow:hidden; border-radius:999px; background:#e9eeed; }
.depo-stock-list i em { display:block; height:100%; border-radius:inherit; background:var(--depo-teal); }
.depo-stock-list > div > strong { text-align:right; font-size:8px; font-weight:600; }
.depo-stock-list .is-critical i em { background:var(--depo-orange); }
.depo-stock-list .is-critical > strong { color:var(--depo-orange); }

.depo-movement-filter { display:grid; grid-template-columns:1.1fr .8fr .8fr auto; gap:8px; margin-top:10px; }
.depo-movement-filter i,.depo-movement-filter b { height:28px; border-radius:9px; background:#dfe8e6; }
.depo-movement-filter b { width:34px; background:#78a9a1; }
.depo-movement-table { margin-top:10px; overflow:hidden; border-radius:14px; background:#fff; border:1px solid rgba(32,38,43,.06); }
.depo-movement-table > div { display:grid; grid-template-columns:.7fr .9fr .85fr .9fr .65fr; gap:8px; align-items:center; min-height:43px; padding:0 12px; border-top:1px solid #edf0ef; font-size:8px; }
.depo-movement-table > div:first-child { border-top:0; }
.depo-movement-table__head { min-height:32px!important; color:#969f9d; background:#f8faf9; text-transform:uppercase; letter-spacing:.07em; }
.depo-movement-table small,.depo-movement-table span { color:#707a78; font-size:8px; }
.depo-movement-table strong,.depo-movement-table b { font-size:8px; font-weight:600; }
.depo-movement-table b { text-align:right; }
.depo-movement-table em { justify-self:start; padding:6px 8px; border-radius:999px; font-style:normal; font-size:7px; }
.depo-movement-table em.is-in { background:#e7f2ee; color:#397766; }
.depo-movement-table em.is-out { background:#fff0e9; color:#aa613b; }
.depo-movement-table em.is-transfer { background:#edf0f7; color:#5a688b; }

.depo-warehouse-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:10px; margin-top:10px; }
.depo-warehouse-list { display:grid; gap:8px; }
.depo-warehouse-list article { display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:center; padding:12px; border-radius:13px; background:#fff; border:1px solid rgba(32,38,43,.06); }
.depo-warehouse-list article.is-active { border-color:rgba(60,118,111,.35); box-shadow:inset 3px 0 0 var(--depo-teal); }
.depo-warehouse-list article > span { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#e7efed; color:var(--depo-teal-dark); font-size:9px; font-weight:600; }
.depo-warehouse-list strong { display:block; font-size:9px; font-weight:600; }
.depo-warehouse-list small { display:block; margin-top:3px; color:#979f9d; font-size:7px; }
.depo-warehouse-list b { color:var(--depo-teal); font-size:9px; font-weight:600; }
.depo-critical-card { padding:14px; border-radius:14px; background:#fff; border:1px solid rgba(32,38,43,.06); }
.depo-critical-list { display:grid; gap:13px; margin-top:14px; }
.depo-critical-list > div { display:grid; grid-template-columns:48px 1fr 26px; gap:8px; align-items:center; }
.depo-critical-list span,.depo-critical-list strong { font-size:8px; }
.depo-critical-list strong { text-align:right; font-weight:600; }
.depo-critical-list i { display:block; height:7px; overflow:hidden; border-radius:999px; background:#eef0ef; }
.depo-critical-list i b { display:block; height:100%; border-radius:inherit; background:var(--depo-orange); }
.depo-transfer-card { margin-top:16px; padding:12px; border-radius:12px; background:#f3f7f6; }
.depo-transfer-card small { display:block; color:#929b99; font-size:7px; text-transform:uppercase; letter-spacing:.07em; }
.depo-transfer-card strong { display:block; margin-top:5px; font-size:10px; font-weight:600; }
.depo-transfer-card span { display:block; margin-top:3px; color:#7e8886; font-size:7px; }

@media (max-width:760px) {
    .depo-preview { padding:12px; }
    .depo-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .depo-summary-grid article:last-child { display:none; }
    .depo-stock-list > div { grid-template-columns:70px 1fr 28px; }
    .depo-movement-table > div { grid-template-columns:.8fr 1fr .8fr; }
    .depo-movement-table > div > :nth-child(4),
    .depo-movement-table > div > :nth-child(5) { display:none; }
    .depo-warehouse-layout { grid-template-columns:1fr; }
    .depo-critical-card { display:none; }
}

/* v25 — Seçim Takip Sistemi case study */
.election-case {
    --election-ink: #20252b;
    --election-soft: #f2f4f7;
    --election-blue: #4a647f;
    --election-blue-dark: #334a62;
    --election-green: #5d8a72;
    --election-amber: #c08a4e;
}
.election-case__hero { background:#fff; }
.election-case__hero .case-hero__facts > div:nth-child(2),
.election-case__hero .case-hero__facts > div:nth-child(4) { background:#f3f5f7; }
.election-intro { background:#f4f6f8; }
.election-approach { background:#fff; }
.election-role-grid .role-card--accent { background:var(--election-blue); }
.election-role-grid .role-card--accent > span,
.election-role-grid .role-card--accent p { color:rgba(255,255,255,.78); }
.election-story { background:#20242a; }
.election-story .section-index,
.election-story .case-story__step > span { color:#8ca6bf; }
.election-browser { background:#e9edf1; }
.election-browser__viewport { background:#eef1f4; }
.election-modules .case-module:nth-child(3n+2) { background:#f2f4f7; }
.election-outcome { background:#f4f6f8; }
.election-next { background:var(--brand-red); }

.election-preview {
    width:100%;
    height:100%;
    padding:18px;
    color:var(--election-ink);
    background:#eef1f4;
    overflow:hidden;
}
.election-preview__topbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-radius:15px;
    background:#fff;
    border:1px solid rgba(32,37,43,.06);
}
.election-preview__topbar small { display:block; color:#8d96a0; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.election-preview__topbar strong { display:block; margin-top:3px; font-size:14px; font-weight:600; }
.election-preview__topbar > span { padding:8px 11px; border-radius:10px; background:var(--election-blue); color:#fff; font-size:8px; }
.election-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:10px; }
.election-summary-grid article { padding:12px; border-radius:13px; background:#fff; border:1px solid rgba(32,37,43,.06); }
.election-summary-grid small { display:block; color:#8f98a3; font-size:7px; text-transform:uppercase; letter-spacing:.08em; }
.election-summary-grid strong { display:block; margin-top:5px; font-size:23px; line-height:1; font-weight:600; }
.election-summary-grid em { display:block; margin-top:5px; color:#9ba3ac; font-size:7px; font-style:normal; }
.election-region-panel { margin-top:10px; padding:14px; border-radius:14px; background:#fff; border:1px solid rgba(32,37,43,.06); }
.election-panel-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:10px; border-bottom:1px solid #eceff2; }
.election-panel-head strong { font-size:10px; font-weight:600; }
.election-panel-head small { color:#9aa2aa; font-size:7px; }
.election-region-list { display:grid; gap:11px; margin-top:12px; }
.election-region-list > div { display:grid; grid-template-columns:82px 1fr 34px; gap:10px; align-items:center; }
.election-region-list span b { display:block; font-size:8px; font-weight:600; }
.election-region-list span small { display:block; margin-top:2px; color:#9aa2aa; font-size:7px; }
.election-region-list i { display:block; height:8px; overflow:hidden; border-radius:999px; background:#e9edf1; }
.election-region-list i em { display:block; height:100%; border-radius:inherit; background:var(--election-blue); }
.election-region-list > div > strong { text-align:right; font-size:8px; font-weight:600; }

.election-field-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:10px; margin-top:10px; }
.election-team-list { display:grid; gap:8px; }
.election-team-list article { display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:center; padding:11px; border-radius:13px; background:#fff; border:1px solid rgba(32,37,43,.06); }
.election-team-list article.is-active { box-shadow:inset 3px 0 0 var(--election-green); }
.election-team-list article > span { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#e8edf2; color:var(--election-blue-dark); font-size:8px; font-weight:600; }
.election-team-list strong { display:block; font-size:9px; font-weight:600; }
.election-team-list small { display:block; margin-top:2px; color:#989fa8; font-size:7px; }
.election-team-list b { padding:6px 8px; border-radius:999px; background:#f1f3f5; color:#69737e; font-size:7px; font-weight:500; }
.election-field-card { padding:14px; border-radius:14px; background:#fff; border:1px solid rgba(32,37,43,.06); }
.election-field-bars { display:grid; gap:13px; margin-top:14px; }
.election-field-bars > div { display:grid; grid-template-columns:78px 1fr 28px; gap:8px; align-items:center; }
.election-field-bars span,.election-field-bars strong { font-size:8px; }
.election-field-bars strong { text-align:right; font-weight:600; }
.election-field-bars i { display:block; height:7px; overflow:hidden; border-radius:999px; background:#edf0f3; }
.election-field-bars i b { display:block; height:100%; border-radius:inherit; background:var(--election-green); }
.election-status-note { margin-top:16px; padding:12px; border-radius:12px; background:#f4f6f8; }
.election-status-note small { display:block; color:#929aa3; font-size:7px; text-transform:uppercase; letter-spacing:.07em; }
.election-status-note strong { display:block; margin-top:5px; font-size:10px; font-weight:600; }
.election-status-note span { display:block; margin-top:3px; color:#7d8791; font-size:7px; line-height:1.45; }

.election-result-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:10px; margin-top:10px; }
.election-result-chart,.election-result-list { padding:14px; border-radius:14px; background:#fff; border:1px solid rgba(32,37,43,.06); }
.election-bars { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; height:190px; padding-top:18px; align-items:end; }
.election-bars > div { height:100%; display:grid; grid-template-rows:1fr auto auto; gap:5px; align-items:end; }
.election-bars i { position:relative; display:block; height:100%; border-radius:10px 10px 4px 4px; background:#edf0f3; overflow:hidden; }
.election-bars i b { position:absolute; left:0; right:0; bottom:0; border-radius:10px 10px 4px 4px; background:var(--election-blue); }
.election-bars span,.election-bars strong { text-align:center; font-size:7px; }
.election-bars strong { font-weight:600; }
.election-result-list article { display:grid; grid-template-columns:1fr auto; gap:3px 8px; align-items:center; padding:10px 0; border-bottom:1px solid #edf0f3; }
.election-result-list article:last-child { border-bottom:0; }
.election-result-list article span { font-size:8px; }
.election-result-list article strong { font-size:9px; font-weight:600; }
.election-result-list article em { grid-column:1 / -1; color:#8c959f; font-size:7px; font-style:normal; }

@media (max-width:760px) {
    .election-preview { padding:12px; }
    .election-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .election-summary-grid article:last-child { display:none; }
    .election-field-layout,.election-result-grid { grid-template-columns:1fr; }
    .election-field-card,.election-result-list { display:none; }
    .election-region-list > div { grid-template-columns:70px 1fr 30px; }
}

/* v26 — Yetkinlikler page */
.capabilities-page {
    background: #f5f6f8;
}
.cap-page-hero {
    padding: 154px 0 72px;
    background: #fff;
}
.cap-page-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
    gap: 84px;
    align-items: end;
}
.cap-page-hero h1 {
    max-width: 830px;
    margin: 14px 0 0;
    font-size: clamp(38px, 4.2vw, 60px);
    line-height: 1.07;
    letter-spacing: -.04em;
    font-weight: 300;
}
.cap-page-hero__intro p {
    max-width: 580px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.78;
    font-weight: 300;
}
.cap-page-hero__intro a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 22px;
    color: var(--brand-red);
    font-size: 14px;
    font-weight: 500;
}
.cap-page-hero__intro a span {
    transition: transform .2s ease;
}
.cap-page-hero__intro a:hover span {
    transform: translate(2px, -2px);
}
.cap-page-rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 70px;
}
.cap-page-rail a {
    position: relative;
    overflow: hidden;
    min-height: 108px;
    padding: 22px 24px;
    border-radius: 20px;
    background: #f5f6f8;
    border: 1px solid rgba(35,38,43,.05);
    transition: transform .25s ease, background .25s ease, color .25s ease;
}
.cap-page-rail a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: var(--brand-red);
    transform: scaleX(.18);
    transform-origin: left;
    transition: transform .3s cubic-bezier(.2,.7,.2,1);
}
.cap-page-rail a:hover {
    transform: translateY(-3px);
    background: #fff;
}
.cap-page-rail a:hover::after {
    transform: scaleX(1);
}
.cap-page-rail span {
    display: block;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: -.02em;
}
.cap-page-rail small {
    display: block;
    margin-top: 8px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.cap-philosophy {
    padding: 94px 0;
    background: #f5f6f8;
}
.cap-standard-head {
    max-width: 760px;
}
.cap-standard-head h2 {
    max-width: 680px;
    margin: 12px 0 0;
    font-size: clamp(30px, 2.6vw, 42px);
    line-height: 1.14;
    letter-spacing: -.035em;
    font-weight: 300;
}
.cap-standard-head > p {
    max-width: 680px;
    margin-top: 16px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.78;
    font-weight: 300;
}
.cap-principles {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 26px;
}
.cap-principles span {
    padding: 9px 12px;
    border-radius: 999px;
    background: #fff;
    color: #49515a;
    font-size: 12px;
    border: 1px solid rgba(35,38,43,.06);
}

.cap-phase {
    scroll-margin-top: 90px;
    padding: 106px 0;
    background: #fff;
}
.cap-phase--gelistir {
    color: #fff;
    background: #202328;
}
.cap-phase--buyut {
    background: #f5f6f8;
}
.cap-phase__head {
    display: block;
    max-width: 760px;
}
.cap-phase__head h2 {
    margin: 12px 0 0;
    max-width: 680px;
    font-size: clamp(30px, 2.6vw, 42px);
    line-height: 1.14;
    letter-spacing: -.035em;
    font-weight: 300;
}
.cap-phase__head > p {
    max-width: 680px;
    margin: 16px 0 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.78;
    font-weight: 300;
}
.cap-phase--gelistir .section-index {
    color: var(--brand-red);
}
.cap-phase--gelistir .cap-phase__head > p {
    color: rgba(255,255,255,.62);
}
.cap-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 50px;
}
.cap-detail-card {
    scroll-margin-top: 118px;
    overflow: hidden;
    border-radius: 24px;
    background: #f6f7f9;
    border: 1px solid rgba(35,38,43,.055);
}
.cap-detail-card__top {
    min-height: 210px;
    padding: 28px 30px 26px;
}
.cap-detail-card h3 {
    margin: 0;
    font-size: 27px;
    line-height: 1.2;
    letter-spacing: -.03em;
    font-weight: 500;
}
.cap-detail-card__top p {
    max-width: 600px;
    margin-top: 16px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.72;
}
.cap-detail-card__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, .72fr);
    gap: 24px;
    padding: 24px 30px 28px;
    background: #fff;
    border-top: 1px solid rgba(35,38,43,.06);
}
.cap-detail-card small {
    display: block;
    color: var(--brand-red);
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.cap-detail-card ul {
    display: grid;
    gap: 9px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}
.cap-detail-card li {
    position: relative;
    padding-left: 15px;
    color: #4d555f;
    font-size: 13px;
    line-height: 1.55;
}
.cap-detail-card li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .58em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--brand-red);
}
.cap-detail-card__fit {
    padding-left: 22px;
    border-left: 1px solid rgba(35,38,43,.08);
}
.cap-detail-card__fit p {
    margin-top: 13px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.65;
}
.cap-phase--gelistir .cap-detail-card {
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.07);
}
.cap-phase--gelistir .cap-detail-card__top p {
    color: rgba(255,255,255,.62);
}
.cap-phase--gelistir .cap-detail-card__body {
    background: rgba(255,255,255,.035);
    border-color: rgba(255,255,255,.07);
}
.cap-phase--gelistir .cap-detail-card li,
.cap-phase--gelistir .cap-detail-card__fit p {
    color: rgba(255,255,255,.68);
}
.cap-phase--gelistir .cap-detail-card__fit {
    border-color: rgba(255,255,255,.09);
}
.cap-phase--buyut .cap-detail-card {
    background: #fff;
}
.cap-phase--buyut .cap-detail-card__body {
    background: #fbfbfc;
}

.cap-projects {
    padding: 100px 0;
    background: #fff;
}
.cap-projects__head {
    max-width: 760px;
}
.cap-projects__head h2 {
    margin: 12px 0 0;
    font-size: clamp(30px, 2.6vw, 42px);
    line-height: 1.13;
    letter-spacing: -.035em;
    font-weight: 300;
}
.cap-projects__head p {
    max-width: 650px;
    margin-top: 16px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.75;
}
.cap-projects__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 42px;
}
.cap-project-link {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: center;
    min-height: 112px;
    padding: 22px 24px;
    border-radius: 20px;
    background: #f5f6f8;
    border: 1px solid rgba(35,38,43,.05);
    transition: transform .25s ease, background .25s ease;
}
.cap-project-link:hover {
    transform: translateY(-3px);
    background: #fff;
    box-shadow: 0 16px 34px rgba(28,31,37,.07);
}
.cap-project-link strong {
    display: block;
    font-size: 18px;
    font-weight: 500;
}
.cap-project-link span {
    display: block;
    margin-top: 7px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}
.cap-project-link b {
    color: var(--brand-red);
    font-size: 16px;
    font-weight: 400;
}

.cap-page-cta {
    padding: 88px 0;
    background: var(--brand-red);
    color: #fff;
}
.cap-page-cta__inner {
    display: flex;
    justify-content: space-between;
    gap: 54px;
    align-items: end;
}
.cap-page-cta .section-index {
    color: rgba(255,255,255,.67);
}
.cap-page-cta h2 {
    max-width: 720px;
    margin: 11px 0 0;
    font-size: clamp(31px, 3.2vw, 46px);
    line-height: 1.12;
    letter-spacing: -.035em;
    font-weight: 300;
}
.cap-page-cta p {
    max-width: 620px;
    margin-top: 15px;
    color: rgba(255,255,255,.76);
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 1040px) {
    .cap-page-hero__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .cap-detail-card__body {
        grid-template-columns: 1fr;
    }
    .cap-detail-card__fit {
        padding: 18px 0 0;
        border-left: 0;
        border-top: 1px solid rgba(35,38,43,.08);
    }
    .cap-phase--gelistir .cap-detail-card__fit {
        border-color: rgba(255,255,255,.09);
    }
}

@media (max-width: 760px) {
    .cap-page-hero {
        padding: 128px 0 58px;
    }
    .cap-page-hero h1 {
        font-size: 38px;
    }
    .cap-page-rail,
    .cap-detail-grid,
    .cap-projects__grid {
        grid-template-columns: 1fr;
    }
    .cap-page-rail {
        margin-top: 46px;
    }
    .cap-page-rail a {
        min-height: 0;
    }
    .cap-philosophy,
    .cap-phase,
    .cap-projects {
        padding: 76px 0;
    }
    .cap-phase__head > p {
        margin-top: 14px;
    }
    .cap-detail-grid {
        margin-top: 34px;
    }
    .cap-detail-card__top {
        min-height: 0;
        padding: 24px 22px;
    }
    .cap-detail-card__body {
        padding: 22px;
    }
    .cap-detail-card h3 {
        font-size: 24px;
    }
    .cap-page-cta__inner {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* v27 — one section-heading standard across home + capability pages
   label -> medium semibold title -> short description, all left aligned. */
.section-heading,
.dark-head,
.process-copy,
.cap-standard-head,
.cap-phase__head,
.cap-projects__head {
    text-align: left;
}
.section-heading .section-index,
.dark-head .section-index,
.process-copy .section-index,
.cap-standard-head .section-index,
.cap-phase__head .section-index,
.cap-projects__head .section-index {
    display: inline-flex;
}
.section-heading h2,
.dark-head h2,
.process-copy h2,
.cap-standard-head h2,
.cap-phase__head h2,
.cap-projects__head h2 {
    max-width: 680px;
    margin: 14px 0 0;
    font-size: clamp(28px, 2.2vw, 34px);
    line-height: 1.22;
    letter-spacing: -.025em;
    font-weight: 600;
}
.section-heading p,
.dark-head p,
.process-copy p,
.cap-standard-head p,
.cap-phase__head > p,
.cap-projects__head p {
    max-width: 680px;
    margin-top: 14px;
    font-size: 16px;
    line-height: 1.72;
    font-weight: 300;
}
.cap-detail-grid { margin-top: 42px; }

/* v28 — database-backed product catalog */
.products-page,
.product-detail-page { background: #f5f6f8; }

.products-page-hero,
.product-detail-hero {
    padding: 152px 0 74px;
    background: #fff;
}
.products-page .section-heading h1,
.product-detail-page .section-heading h1 {
    max-width: 720px;
    margin: 14px 0 0;
    font-size: clamp(28px, 2.2vw, 34px);
    line-height: 1.18;
    letter-spacing: -.028em;
    font-weight: 600;
}
.products-page .section-heading p,
.product-detail-page .section-heading p {
    max-width: 690px;
    margin-top: 14px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.72;
    font-weight: 300;
}
.products-directory { padding: 54px 0 var(--section-y); }
.product-filter--catalog {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 28px;
}
.product-filter--catalog button {
    border: 0;
    padding: 10px 15px;
    border-radius: 999px;
    background: #fff;
    color: var(--muted);
    font: inherit;
    font-size: 13px;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(35,38,43,.07);
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.product-filter--catalog button:hover { transform: translateY(-1px); color: var(--ink); }
.product-filter--catalog button.is-active { background: var(--brand-red); color: #fff; box-shadow: none; }
.products-directory-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}
.product-directory-card {
    overflow: hidden;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(35,38,43,.055);
    box-shadow: 0 16px 36px rgba(28,31,37,.055);
    transition: transform .28s ease, box-shadow .28s ease;
}
.product-directory-card:hover { transform: translateY(-3px); box-shadow: 0 22px 44px rgba(28,31,37,.09); }
.product-directory-card.is-hidden { display: none; }
.product-directory-card__visual {
    display: block;
    position: relative;
    min-height: 286px;
    padding: 20px;
    overflow: hidden;
    background: linear-gradient(180deg, #f8f9fb 0%, #f3f4f7 100%);
}
.product-directory-card__visual > span {
    position: relative;
    z-index: 2;
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: #fff;
    color: var(--brand-red);
    font-size: 10px;
    letter-spacing: .09em;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(35,38,43,.06);
}
.product-directory-ui {
    position: absolute;
    left: 50px;
    right: 20px;
    bottom: -18px;
    height: 225px;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: #fff;
    border: 1px solid rgba(35,38,43,.08);
    box-shadow: 0 22px 42px rgba(35,38,43,.10);
    transition: transform .3s cubic-bezier(.2,.7,.2,1);
}
.product-directory-card:hover .product-directory-ui { transform: translateY(-5px); }
.product-directory-ui__bar { height: 30px; display: flex; gap: 5px; align-items: center; padding: 0 12px; border-bottom: 1px solid #eef0f3; }
.product-directory-ui__bar i { width: 6px; height: 6px; border-radius: 50%; background: #dfe2e7; }
.product-directory-ui__bar i:first-child { background: var(--brand-red); }
.product-directory-ui__layout { display: grid; grid-template-columns: 58px 1fr; height: calc(100% - 30px); }
.product-directory-ui__side { padding: 14px 10px; background: #f8f9fb; border-right: 1px solid #eef0f3; }
.product-directory-ui__side i { display: block; height: 7px; margin-bottom: 14px; border-radius: 999px; background: #dce0e5; }
.product-directory-ui__main { padding: 18px; }
.product-directory-ui__main > strong { display: block; width: 36%; height: 10px; border-radius: 999px; background: #333840; }
.product-directory-ui__main > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 16px; }
.product-directory-ui__main > div i { height: 48px; border-radius: 10px; background: #f3f4f7; }
.product-directory-ui__main > b { display: block; height: 9px; margin-top: 14px; border-radius: 999px; background: #eceff2; }
.product-directory-ui__main > b:last-child { width: 68%; }
.product-directory-card__body { padding: 25px 27px 28px; }
.product-directory-card__body > small { color: var(--brand-red); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.product-directory-card h2 { margin: 9px 0 0; font-size: 27px; line-height: 1.22; letter-spacing: -.026em; font-weight: 600; }
.product-directory-card__body > p { min-height: 76px; margin-top: 13px; color: var(--muted); font-size: 15px; line-height: 1.68; font-weight: 300; }
.product-directory-prices { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 20px; }
.product-directory-prices > div { padding: 13px 14px; border-radius: 14px; background: #f6f7f9; }
.product-directory-prices span { display: block; color: var(--muted-2); font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.product-directory-prices strong { display: block; margin-top: 5px; font-size: 14px; font-weight: 600; }
.product-directory-card__link,
.product-home-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; color: var(--brand-red); font-size: 13px; font-weight: 600; }
.product-directory-card__link span,
.product-home-link span { transition: transform .2s ease; }
.product-directory-card:hover .product-directory-card__link span,
.product-home-link:hover span { transform: translateX(3px); }
.products-page-cta { padding: 86px 0; background: var(--brand-dark); color: #fff; }
.products-page-cta__inner,
.product-detail-cta__inner { display: flex; align-items: end; justify-content: space-between; gap: 48px; }
.section-heading--inverse h2,
.section-heading--inverse p { color: #fff; }
.section-heading--inverse p { color: rgba(255,255,255,.66) !important; }
.section-heading--inverse .section-index { color: var(--brand-red); }

.product-detail-hero__grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(330px,.58fr); gap: 76px; align-items: end; }
.product-detail-hero__copy .case-back { margin-bottom: 26px; }
.product-detail-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.product-detail-pricing { padding: 20px; border-radius: 22px; background: #f6f7f9; border: 1px solid rgba(35,38,43,.06); }
.product-detail-pricing__label { display: block; margin-bottom: 10px; color: var(--muted-2); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.product-detail-price { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 0; border-top: 1px solid rgba(35,38,43,.08); }
.product-detail-price span { color: var(--muted); font-size: 13px; }
.product-detail-price strong { font-size: 17px; font-weight: 600; text-align: right; }
.product-detail-pricing > small { display: block; margin-top: 10px; color: var(--muted-2); font-size: 11px; line-height: 1.55; }
.product-detail-problem,
.product-detail-features,
.product-detail-audience { padding: 94px 0; }
.product-detail-problem { background: #f5f6f8; }
.product-detail-split { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); gap: 70px; align-items: start; }
.product-detail-split__copy p { max-width: 760px; color: var(--muted); font-size: 16px; line-height: 1.8; font-weight: 300; }
.product-detail-split__copy p + p { margin-top: 18px; }
.product-detail-preview { padding: 94px 0; background: #202328; color: #fff; }
.product-detail-preview .section-heading h2 { color: #fff; }
.product-detail-preview .section-heading p { color: rgba(255,255,255,.62); }
.product-detail-browser { max-width: 1050px; margin: 42px auto 0; padding: 12px; border-radius: 24px; background: #f6f7f9; box-shadow: 0 28px 60px rgba(0,0,0,.24); }
.product-detail-browser__bar { display: flex; align-items: center; gap: 7px; height: 36px; padding: 0 6px; }
.product-detail-browser__bar i { width: 8px; height: 8px; border-radius: 50%; background: #d8dce2; }
.product-detail-browser__bar i:first-child { background: var(--brand-red); }
.product-detail-browser__bar span { margin-left: 7px; color: #77808b; font-size: 10px; }
.product-detail-browser__body { display: grid; grid-template-columns: 150px 1fr; min-height: 430px; overflow: hidden; border-radius: 16px; background: #fff; }
.product-detail-browser__image { overflow: hidden; border-radius: 16px; background: #fff; }
.product-detail-browser__image img { width: 100%; max-height: 620px; object-fit: cover; object-position: top center; }
.product-detail-browser__body aside { padding: 24px 18px; background: #f5f6f8; border-right: 1px solid #e9ecf0; }
.product-detail-browser__body aside strong { display: block; width: 70%; height: 12px; margin-bottom: 28px; border-radius: 999px; background: #2b3037; }
.product-detail-browser__body aside i { display: block; width: 82%; height: 8px; margin-bottom: 20px; border-radius: 999px; background: #d8dde3; }
.product-detail-browser__content { padding: 34px; }
.product-detail-browser__top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.product-detail-browser__top strong { width: 28%; height: 14px; border-radius: 999px; background: #2c3138; }
.product-detail-browser__top span { width: 100px; height: 34px; border-radius: 999px; background: #fff0f1; }
.product-detail-browser__cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 28px; }
.product-detail-browser__cards i { height: 86px; border-radius: 14px; background: #f4f5f7; border: 1px solid #eceef1; }
.product-detail-browser__panel { margin-top: 18px; padding: 24px; border-radius: 16px; background: #f7f8fa; }
.product-detail-browser__panel b { display: block; height: 9px; margin-bottom: 16px; border-radius: 999px; background: #dfe3e8; }
.product-detail-browser__panel b:nth-child(2) { width: 82%; }
.product-detail-browser__panel b:nth-child(3) { width: 90%; }
.product-detail-browser__panel b:nth-child(4) { width: 66%; }
.product-detail-browser__panel b:last-child { width: 76%; margin-bottom: 0; }
.product-detail-features { background: #fff; }
.product-detail-feature-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 40px; }
.product-detail-feature { padding: 25px; border-radius: 20px; background: #f6f7f9; border: 1px solid rgba(35,38,43,.05); }
.product-detail-feature h3,
.product-detail-audience-card h3 { margin: 0; font-size: 19px; line-height: 1.3; font-weight: 600; letter-spacing: -.018em; }
.product-detail-feature p,
.product-detail-audience-card p { margin-top: 11px; color: var(--muted); font-size: 14px; line-height: 1.7; font-weight: 300; }
.product-detail-audience { background: #f5f6f8; }
.product-detail-audience-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 40px; }
.product-detail-audience-card { padding: 25px; border-radius: 20px; background: #fff; border: 1px solid rgba(35,38,43,.05); }
.product-detail-cta { padding: 86px 0; background: var(--brand-red); color: #fff; }
.product-detail-cta .section-heading--inverse .section-index { color: rgba(255,255,255,.72); }
.product-detail-cta .section-heading--inverse p { color: rgba(255,255,255,.78) !important; }

@media (max-width: 980px) {
    .products-directory-grid,
    .product-detail-hero__grid,
    .product-detail-split { grid-template-columns: 1fr; }
    .product-detail-hero__grid { gap: 38px; }
    .product-detail-split { gap: 26px; }
    .products-page-cta__inner,
    .product-detail-cta__inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 700px) {
    .products-page-hero,
    .product-detail-hero { padding-top: 126px; }
    .products-directory { padding-top: 38px; }
    .product-directory-card__visual { min-height: 240px; }
    .product-directory-ui { left: 28px; height: 190px; }
    .product-directory-prices,
    .product-detail-feature-grid,
    .product-detail-audience-grid { grid-template-columns: 1fr; }
    .product-directory-card__body > p { min-height: 0; }
    .product-detail-problem,
    .product-detail-preview,
    .product-detail-features,
    .product-detail-audience { padding: 72px 0; }
    .product-detail-browser__body { grid-template-columns: 62px 1fr; min-height: 320px; }
    .product-detail-browser__body aside { padding: 18px 10px; }
    .product-detail-browser__content { padding: 20px 15px; }
    .product-detail-browser__cards { grid-template-columns: 1fr 1fr; }
    .product-detail-browser__cards i:last-child { display: none; }
}

/* v30 — entity logos, capability details and CMS-driven public surfaces */
.entity-logo{display:inline-grid;place-items:center;flex:0 0 auto;width:48px;height:48px;border-radius:14px;background:#fff;border:1px solid rgba(35,38,43,.08);overflow:hidden;color:var(--ink);font-size:17px;font-weight:600;box-shadow:0 8px 20px rgba(35,38,43,.05)}
.entity-logo img{display:block;width:100%;height:100%;object-fit:contain;padding:6px}.entity-logo--fallback{background:#f6f7f9}.entity-logo--detail{width:70px;height:70px;border-radius:18px;font-size:22px}.entity-logo--project-card{width:42px;height:42px;border-radius:12px}.entity-logo--product-card{width:42px;height:42px;border-radius:12px}.entity-logo--directory{width:46px;height:46px;border-radius:13px}.case-entity-logo{margin:18px 0 8px}.project-card-brand{display:flex;align-items:center;gap:11px;margin-bottom:14px}.project-card-brand>span{font-size:12px;color:var(--muted);font-weight:500}.project-directory-card__brand{display:flex;align-items:center;gap:12px;margin-bottom:13px}.project-directory-card__brand .project-directory-card__meta{margin:0;display:grid;gap:4px}.product-visual__top,.product-directory-card__visual-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.product-directory-card__visual-top{position:relative;z-index:2}.product-detail-brand{display:flex;align-items:center;gap:13px;margin:18px 0 16px}.product-detail-brand strong{max-width:260px;font-size:13px;line-height:1.4;font-weight:500;color:var(--muted)}
.cap-detail-card--link{display:block;color:inherit;text-decoration:none;position:relative}.cap-detail-card__arrow{position:absolute;right:22px;top:20px;color:var(--brand-red);font-size:15px}.cap-detail-card--link:hover{transform:translateY(-3px)}
.capability-detail-page{background:#fff}.capability-detail-hero{padding:156px 0 96px;background:#fff}.capability-detail-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:72px;align-items:end}.capability-detail-hero .section-heading{margin-top:18px}.capability-detail-hero h1{max-width:820px}.capability-detail-hero__aside{padding:24px;border-radius:20px;background:#f5f6f8}.capability-detail-hero__aside>span{display:block;color:var(--brand-red);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.capability-detail-hero__aside p{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.capability-detail-hero__aside a{display:inline-flex;gap:8px;margin-top:18px;font-size:13px;font-weight:500}.capability-detail-intro{padding:96px 0;background:#f6f7f9}.capability-detail-split{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:64px}.capability-detail-copy p{margin:0;color:var(--muted);font-size:17px;line-height:1.82;font-weight:300}.capability-lifestyle{padding:90px 0;background:#fff}.capability-lifestyle__frame{height:clamp(360px,52vw,660px);border-radius:30px;overflow:hidden;background:#eceff2}.capability-lifestyle__frame img{width:100%;height:100%;object-fit:cover;display:block}.capability-lifestyle__ambient{position:relative;width:100%;height:100%;background:#e9ebee;overflow:hidden}.capability-lifestyle__ambient:before{content:"";position:absolute;inset:9% 7%;border-radius:28px;background:#f8f9fa;box-shadow:0 30px 60px rgba(35,38,43,.10)}.capability-lifestyle__ambient i{position:absolute;z-index:2;border-radius:50%;background:#d9dde2}.capability-lifestyle__ambient i:nth-child(1){width:180px;height:180px;left:14%;top:22%}.capability-lifestyle__ambient i:nth-child(2){width:110px;height:110px;right:19%;top:18%;background:#ff656d}.capability-lifestyle__ambient i:nth-child(3){width:260px;height:80px;right:12%;bottom:18%;border-radius:999px}.capability-lifestyle__ambient span{position:absolute;z-index:2;left:31%;right:31%;bottom:20%;height:36%;border-radius:22px;background:#22262b}.capability-detail-points{padding:96px 0;background:#f6f7f9}.capability-point-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:42px}.capability-point-grid article{min-height:150px;padding:24px;border-radius:20px;background:#fff;border:1px solid rgba(35,38,43,.06)}.capability-point-grid article>span{display:block;width:24px;height:3px;border-radius:999px;background:var(--brand-red)}.capability-point-grid h3{margin:28px 0 0;font-size:20px;line-height:1.35;font-weight:500;letter-spacing:-.02em}.capability-lead-section{padding:100px 0;background:#202328;color:#fff}.capability-lead-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(380px,1.2fr);gap:70px;align-items:start}.capability-lead-form{padding:26px;border-radius:24px;background:#fff;color:var(--ink);display:grid;gap:15px}.capability-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.capability-lead-form label{display:grid;gap:7px;font-size:12px;font-weight:500}.capability-lead-form input,.capability-lead-form textarea{width:100%;border:1px solid #dfe3e8;background:#f9fafb;border-radius:11px;padding:12px 13px;font:inherit;color:var(--ink)}.capability-lead-form textarea{min-height:130px;resize:vertical}.capability-lead-form .button{justify-self:start;border:0;cursor:pointer}.capability-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.capability-form-message{padding:12px 14px;border-radius:11px;font-size:13px}.capability-form-message--success{background:#eaf8ef;color:#236b3d}.capability-form-message--error{background:#fff0f1;color:#9d2d34}.generic-project-visual{padding:96px 0;background:#202328;color:#fff}.generic-project-visual .section-heading h2{color:#fff}.generic-project-visual__frame{margin-top:36px;border-radius:28px;overflow:hidden;background:#f7f8fa;padding:12px;box-shadow:0 30px 70px rgba(0,0,0,.22)}.generic-project-visual__frame>img{display:block;width:100%;max-height:680px;object-fit:cover;object-position:top;border-radius:19px}.generic-project-ui{display:grid;grid-template-columns:90px 1fr;height:520px;background:#fff;border-radius:19px;overflow:hidden}.generic-project-ui aside{background:#23272d}.generic-project-ui>div{padding:34px}.generic-project-ui>div>span{display:block;width:34%;height:26px;border-radius:8px;background:#e8ebef}.generic-project-ui section{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.generic-project-ui section i{height:110px;border-radius:16px;background:#f1f3f5}.generic-project-ui b{display:block;height:74px;border-radius:15px;background:#f5f6f8;margin-top:14px}
@media(max-width:980px){.capability-detail-hero__grid,.capability-detail-split,.capability-lead-grid{grid-template-columns:1fr;gap:34px}.capability-point-grid{grid-template-columns:1fr}.capability-lifestyle__frame{height:460px}}
@media(max-width:640px){.entity-logo--detail{width:58px;height:58px}.capability-detail-hero{padding:128px 0 72px}.capability-detail-intro,.capability-lifestyle,.capability-detail-points,.capability-lead-section,.generic-project-visual{padding:72px 0}.capability-form-row{grid-template-columns:1fr}.capability-lifestyle__frame{height:340px;border-radius:22px}.generic-project-ui{height:360px;grid-template-columns:60px 1fr}.generic-project-ui>div{padding:20px}.generic-project-ui section{grid-template-columns:1fr}.generic-project-ui section i:nth-child(n+2){display:none}}

/* v31 — Hizmetler & hizmet detayları */
.services-page{background:#fff}.services-page-hero{padding:156px 0 92px;background:#fff}.services-page-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:72px;align-items:end}.services-page-hero .section-heading h1{max-width:820px}.services-page-hero__summary{padding:24px;border-radius:22px;background:#f5f6f8}.services-page-hero__summary span{display:block;color:var(--brand-red);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.services-page-hero__summary strong{display:block;margin-top:14px;font-size:19px;line-height:1.65;font-weight:500}.services-group{padding:96px 0}.services-group:nth-of-type(odd){background:#f6f7f9}.services-group--proje-yazilim{background:#202328!important;color:#fff}.services-group--proje-yazilim .section-heading h2{color:#fff}.services-group--proje-yazilim .section-heading p{color:rgba(255,255,255,.64)}.services-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:42px}.services-directory-card{min-height:260px;padding:24px;border-radius:22px;background:#fff;border:1px solid rgba(35,38,43,.06);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}.services-group--proje-yazilim .services-directory-card{background:#2a2e34;color:#fff;border-color:rgba(255,255,255,.06)}.services-directory-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(35,38,43,.09)}.services-directory-card__top{display:flex;justify-content:space-between;align-items:center}.service-symbol{display:inline-block;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--brand-red) 0 48%,transparent 48% 58%,#25292f 58% 100%);box-shadow:inset 0 0 0 1px rgba(35,38,43,.08)}.services-group--proje-yazilim .service-symbol{background:linear-gradient(135deg,var(--brand-red) 0 48%,transparent 48% 58%,#fff 58% 100%)}.services-directory-card__top em{font-style:normal;padding:6px 9px;border-radius:999px;background:#fff1f2;color:var(--brand-red);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em}.services-directory-card h3{margin:32px 0 0;font-size:21px;line-height:1.3;font-weight:600;letter-spacing:-.02em}.services-directory-card p{margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.72}.services-group--proje-yazilim .services-directory-card p{color:rgba(255,255,255,.62)}.services-directory-card b{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:22px;font-size:13px;color:var(--brand-red);font-weight:500}.services-directory-card b span{transition:transform .2s ease}.services-directory-card:hover b span{transform:translate(2px,-2px)}.services-page-cta{padding:94px 0;background:var(--brand-red);color:#fff}.services-page-cta__inner{display:flex;justify-content:space-between;gap:50px;align-items:end}.services-page-cta .section-heading{max-width:720px}
.service-detail-page{background:#fff}.service-detail-hero{padding:156px 0 96px}.service-detail-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:72px;align-items:end}.service-detail-hero .section-heading{margin-top:18px}.service-detail-hero .section-heading h1{max-width:840px}.service-detail-actions{display:flex;gap:12px;margin-top:28px}.service-detail-meta{padding:24px;border-radius:22px;background:#f5f6f8}.service-detail-meta>span{display:block;color:var(--brand-red);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.service-detail-meta strong{display:block;margin-top:12px;font-size:22px;line-height:1.3;font-weight:600}.service-detail-meta em{display:inline-flex;margin-top:12px;padding:7px 10px;border-radius:999px;background:#fff1f2;color:var(--brand-red);font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.08em}.service-detail-meta p{margin:16px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.service-detail-intro{padding:96px 0;background:#f6f7f9}.service-detail-split{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:64px}.service-detail-copy p{margin:0;color:var(--muted);font-size:17px;line-height:1.82;font-weight:300}.service-detail-visual{padding:90px 0;background:#fff}.service-detail-visual__frame{width:100%}.service-detail-visual__frame:not(.service-detail-visual__frame--placeholder){height:auto;border-radius:0;overflow:visible;background:transparent;box-shadow:none;display:flex;align-items:center;justify-content:center}.service-detail-visual__frame:not(.service-detail-visual__frame--placeholder) img{width:100%;height:auto;max-height:660px;object-fit:contain;display:block;background:transparent;box-shadow:none}.service-detail-visual__frame--placeholder{height:clamp(360px,52vw,660px);border-radius:30px;overflow:hidden;background:#eceff2}.service-detail-visual__frame--placeholder .service-detail-ambient{position:relative;width:100%;height:100%;overflow:hidden;background:linear-gradient(135deg,#eceff2,#f7f8fa)}.service-detail-ambient:before{content:"";position:absolute;inset:10% 8%;border-radius:30px;background:#fff;box-shadow:0 30px 70px rgba(35,38,43,.10)}.service-detail-ambient i{position:absolute;z-index:2;border-radius:24px;background:#25292f}.service-detail-ambient i:nth-child(1){width:34%;height:42%;left:14%;top:22%}.service-detail-ambient i:nth-child(2){width:22%;height:24%;right:16%;top:19%;background:var(--brand-red)}.service-detail-ambient i:nth-child(3){width:36%;height:14%;right:14%;bottom:20%;background:#d8dde3}.service-detail-ambient span{position:absolute;z-index:3;width:70px;height:70px;border-radius:50%;left:44%;top:40%;background:#fff;border:14px solid #e7eaee}.service-detail-points{padding:96px 0;background:#f6f7f9}.service-point-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:42px}.service-point-grid article{min-height:150px;padding:24px;border-radius:20px;background:#fff;border:1px solid rgba(35,38,43,.06)}.service-point-grid .service-symbol{width:24px;height:24px}.service-point-grid h3{margin:28px 0 0;font-size:20px;line-height:1.35;font-weight:600;letter-spacing:-.02em}.service-lead-section{padding:100px 0;background:#202328;color:#fff}.service-lead-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(380px,1.2fr);gap:70px;align-items:start}.service-lead-form{padding:26px;border-radius:24px;background:#fff;color:var(--ink);display:grid;gap:15px}.service-lead-form label{display:grid;gap:7px;font-size:12px;font-weight:500}.service-lead-form input,.service-lead-form textarea{width:100%;border:1px solid #dfe3e8;background:#f9fafb;border-radius:11px;padding:12px 13px;font:inherit;color:var(--ink)}.service-lead-form textarea{min-height:130px;resize:vertical}.service-lead-form .button{justify-self:start;border:0;cursor:pointer}.service-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
@media(max-width:1040px){.services-page-hero__grid,.service-detail-hero__grid,.service-detail-split,.service-lead-grid{grid-template-columns:1fr;gap:34px}.services-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-page-cta__inner{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.services-page-hero,.service-detail-hero{padding:128px 0 72px}.services-group,.service-detail-intro,.service-detail-visual,.service-detail-points,.service-lead-section{padding:72px 0}.services-directory-grid,.service-point-grid{grid-template-columns:1fr}.services-directory-card{min-height:220px}.service-detail-visual__frame--placeholder{height:340px;border-radius:22px}.service-detail-visual__frame:not(.service-detail-visual__frame--placeholder) img{max-height:none}.service-lead-form .capability-form-row{grid-template-columns:1fr}}

/* v32 — CMS project/product cover + multi image slider */
.project-cms-hero__media{min-height:430px;border-radius:28px;overflow:hidden;background:#f2f4f6;border:1px solid rgba(35,38,43,.06);box-shadow:0 20px 55px rgba(35,38,43,.08)}.project-cms-hero__media>img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center;display:block}.project-cms-hero__media .generic-project-ui{height:100%;min-height:430px}.product-cms-hero__image{margin-top:18px;border-radius:16px;overflow:hidden;background:#fff}.product-cms-hero__image img{display:block;width:100%;max-height:260px;aspect-ratio:14/7;object-fit:cover}.cms-media-section{padding:96px 0;background:#fff}.cms-media-section--dark{background:#202328;color:#fff}.cms-media-section--dark .section-heading h2{color:#fff}.cms-media-section--dark .section-heading p{color:rgba(255,255,255,.62)}.cms-media-slider{margin-top:42px}.cms-media-slider__viewport{position:relative;min-height:620px}.cms-media-slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;align-items:stretch;opacity:0;visibility:hidden;transform:translateX(18px);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1),visibility .35s}.cms-media-slide.is-active{opacity:1;visibility:visible;transform:none;z-index:2}.cms-media-slide__image{min-height:560px;overflow:hidden;border-radius:26px;background:#fff;padding:10px}.cms-media-slide__image img{width:100%;height:100%;min-height:540px;max-height:620px;display:block;object-fit:cover;object-position:top center;border-radius:19px}.cms-media-slide__copy{display:flex;flex-direction:column;justify-content:flex-end;padding:30px 12px 18px}.cms-media-slide__copy>span{color:var(--brand-red);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.cms-media-slide__copy h3{margin:12px 0 0;font-size:30px;line-height:1.2;font-weight:500;letter-spacing:-.025em}.cms-media-slide__copy p{margin-top:14px;color:rgba(255,255,255,.65);font-size:15px;line-height:1.72}.cms-media-slider--light .cms-media-slide__copy p{color:var(--muted)}.cms-media-slider__nav{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:18px}.cms-media-slider__nav>button{width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#25292f;font:inherit;font-size:18px;cursor:pointer}.cms-media-slider--light .cms-media-slider__nav>button{background:#25292f;color:#fff}.cms-media-slider__dots{display:flex;align-items:center;gap:7px}.cms-media-slider__dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:width .2s ease,background .2s ease}.cms-media-slider--light .cms-media-slider__dots button{background:#d7dbe0}.cms-media-slider__dots button.is-active{width:24px;border-radius:999px;background:var(--brand-red)}.cms-media-slider--light{margin-top:42px}.cms-media-slider--light .cms-media-slider__viewport{min-height:600px}.cms-media-slider--light .cms-media-slide__image{background:#f4f5f7}.cms-media-slider--light .cms-media-slide__copy h3{color:var(--ink)}.case-next__text{max-width:650px;margin:13px 0 0;color:rgba(255,255,255,.76);font-size:15px;line-height:1.65}.product-detail-pricing{align-self:start}.product-detail-preview .cms-media-slide__image{box-shadow:0 22px 54px rgba(35,38,43,.08)}
@media(max-width:1050px){.project-cms-hero__media{min-height:360px}.project-cms-hero__media>img{min-height:360px}.cms-media-slider__viewport,.cms-media-slider--light .cms-media-slider__viewport{min-height:760px}.cms-media-slide{grid-template-columns:1fr;gap:16px}.cms-media-slide__image{min-height:500px}.cms-media-slide__copy{padding:10px 6px 18px;justify-content:flex-start}.cms-media-slider__nav{justify-content:center}}
@media(max-width:640px){.project-cms-hero__media,.project-cms-hero__media>img{min-height:260px;border-radius:20px}.cms-media-section{padding:72px 0}.cms-media-slider__viewport,.cms-media-slider--light .cms-media-slider__viewport{min-height:610px}.cms-media-slide__image{min-height:360px;border-radius:20px}.cms-media-slide__image img{min-height:340px;max-height:420px;border-radius:14px}.cms-media-slide__copy h3{font-size:23px}.product-cms-hero__image img{max-height:210px}}
.product-directory-cover{position:absolute;left:18px;right:18px;bottom:18px;top:58px;border-radius:18px;overflow:hidden;background:#fff}.product-directory-cover img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.product-home-cover{height:190px;margin-top:12px;border-radius:18px;overflow:hidden;background:#fff}.product-home-cover img{width:100%;height:100%;object-fit:cover;display:block}

/* v33 — restore full case-study structure while keeping CMS media fields */
.case-hero__side { display:grid; gap:14px; min-width:0; }
.case-hero__side .case-hero__facts { width:100%; }
.case-hero__cover { overflow:hidden; border-radius:22px; background:#f4f5f7; border:1px solid rgba(35,38,43,.06); }
.case-hero__cover img { display:block; width:100%; aspect-ratio:14/7; object-fit:cover; object-position:center; }
.case-flow-uploaded-image { display:block; width:100%; height:100%; object-fit:cover; object-position:top center; }
.case-story__mobile-shot .case-flow-uploaded-image { aspect-ratio:16/10; height:auto; }
.aipresio-signal-grid .role-card--accent { background:var(--aip-navy); }
.aipresio-signal-grid .role-card--accent > span,
.aipresio-signal-grid .role-card--accent p { color:rgba(255,255,255,.72); }

/* The text column scrolls naturally; only the browser scene stays sticky. */
.case-heading--story { position:static !important; }
.case-story__visual { position:sticky; top:116px; align-self:start; }
.case-story__steps { gap:110px; padding-top:0; }
.case-story__step { min-height:310px; }

@media(max-width:1100px){
  .case-hero__side { order:2; }
  .case-story__visual { position:relative; top:auto; order:-1; }
  .case-story__step { min-height:0; }
}

/* v34 — homepage media, standard headings, richer capability/service cards, compact tools and cleaner product slider */
.hero-stage--image{height:auto;min-height:0;display:flex;align-items:center;justify-content:center}.hero-image-frame{width:100%;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}.hero-image-frame img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;object-position:center;background:transparent;border:0;border-radius:0;box-shadow:none}.home-section-media{margin-top:26px;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}.home-section-media img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;object-position:left center;background:transparent;border:0;border-radius:0;box-shadow:none}.home-section-media--dark{background:transparent;border:0;box-shadow:none}.process-copy.section-heading{max-width:620px}.final-cta-inner--standard{align-items:end}.final-cta-inner--standard .section-heading{max-width:700px}.final-cta-inner--standard .section-heading h2{font-size:clamp(30px,2.6vw,42px);font-weight:600;line-height:1.14}.final-cta-inner--standard .section-heading p{color:rgba(255,255,255,.72)!important}.final-cta-inner--standard .section-heading .section-index{color:rgba(255,255,255,.6)}

.capability-point-grid article,.service-point-grid article{min-height:190px}.capability-point-grid h3,.service-point-grid h3{margin-top:24px}.capability-point-grid article>p,.service-point-grid article>p{margin:10px 0 0;max-width:560px;color:var(--muted);font-size:14px;line-height:1.68;font-weight:300}.service-point-grid .service-symbol{display:block}

.product-detail-preview{background:#202328!important;color:#fff}.product-detail-preview .section-heading h2{color:#fff}.product-detail-preview .section-heading p{color:rgba(255,255,255,.64)!important}.product-detail-preview .cms-media-slider{margin-top:34px}.product-detail-preview .cms-media-slider__viewport{position:relative;min-height:0}.product-detail-preview .cms-media-slide{position:relative;inset:auto;display:none;grid-template-columns:minmax(0,1.42fr) minmax(280px,.58fr);gap:18px;align-items:stretch;opacity:1;visibility:visible;transform:none}.product-detail-preview .cms-media-slide.is-active{display:grid}.product-detail-preview .cms-media-slide__image{min-height:0;height:auto;padding:14px;border-radius:24px;background:#f6f7f9;box-shadow:none}.product-detail-preview .cms-media-slide__image img{display:block;width:100%;height:auto;min-height:0;max-height:560px;aspect-ratio:16/10;object-fit:contain;object-position:center;border-radius:16px;background:#fff}.product-detail-preview .cms-media-slide__copy{justify-content:flex-start;padding:28px;border-radius:24px;background:#292d33;border:1px solid rgba(255,255,255,.06)}.product-detail-preview .cms-media-slider--light .cms-media-slide__copy h3{color:#fff;font-size:26px;font-weight:500}.product-detail-preview .cms-media-slider--light .cms-media-slide__copy p{color:rgba(255,255,255,.65);font-size:14px;line-height:1.72}.product-detail-preview .cms-media-slide__copy>span{font-size:10px}.product-detail-preview .cms-media-slider__nav{justify-content:center;margin-top:22px}.product-detail-preview .cms-media-slider--light .cms-media-slider__nav>button{background:#fff;color:#25292f}.product-detail-preview .cms-media-slider--light .cms-media-slider__dots button{background:rgba(255,255,255,.28)}.product-detail-preview .cms-media-slider__dots button.is-active{background:var(--brand-red)}

.tools-section{overflow:hidden}.tools-carousel{margin-top:34px}.tools-carousel__viewport{overflow:hidden}.tools-carousel__track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 2px 10px;scrollbar-width:none}.tools-carousel__track::-webkit-scrollbar{display:none}.tool-mini{position:relative;flex:0 0 clamp(260px,30vw,330px);min-height:190px;padding:20px;border-radius:18px;background:#fff;border:1px solid rgba(35,38,43,.07);scroll-snap-align:start;transition:transform .22s ease,border-color .22s ease}.tool-mini:hover{transform:translateY(-2px);border-color:rgba(255,77,87,.28)}.tool-mini__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.tool-mini__top span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted-2)}.tool-mini__top em{font-style:normal;font-size:10px;color:var(--brand-red)}.tool-mini h3{margin:28px 0 0;font-size:20px;line-height:1.28;font-weight:600;letter-spacing:-.02em}.tool-mini p{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.tool-mini>b{position:absolute;right:18px;bottom:16px;color:var(--brand-red);font-size:15px}.tools-carousel__nav{display:flex;align-items:center;gap:9px;margin-top:16px}.tools-carousel__nav button{width:38px;height:38px;border:1px solid rgba(35,38,43,.08);border-radius:50%;background:#fff;color:var(--ink);font:inherit;cursor:pointer}.tools-carousel__nav>a{display:inline-flex;align-items:center;gap:7px;margin-left:8px;font-size:13px;font-weight:500}.tools-carousel__nav>a span{color:var(--brand-red)}

@media(max-width:980px){.hero-stage--image{margin-top:20px}.home-section-media img{height:auto;max-height:300px}.product-detail-preview .cms-media-slide.is-active{grid-template-columns:1fr}.product-detail-preview .cms-media-slide__copy{min-height:0}.final-cta-inner--standard{grid-template-columns:1fr}.final-cta .button{justify-self:start}}
@media(max-width:640px){.hero-image-frame{border-radius:0}.home-section-media{border-radius:0}.home-section-media img{height:auto;max-height:240px}.capability-point-grid article,.service-point-grid article{min-height:0}.product-detail-preview .cms-media-slide__image{padding:8px;border-radius:18px}.product-detail-preview .cms-media-slide__copy{padding:20px;border-radius:18px}.product-detail-preview .cms-media-slide__image img{aspect-ratio:auto;max-height:none}.tool-mini{flex-basis:82vw}.tools-carousel__nav{justify-content:flex-start}}
.service-detail-points .service-symbol{width:24px;height:3px;border-radius:999px;background:var(--brand-red);box-shadow:none}

/* v36 — Referanslar sayfası ve ana sayfa referans kartları */
.references-page { background: #f5f6f8; }
.references-hero { padding: 148px 0 84px; background: #fff; }
.references-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 72px; align-items: end; }
.references-hero .section-heading { max-width: 760px; }
.references-hero .section-heading h1 { margin: 12px 0 0; max-width: 760px; font-size: clamp(32px, 3.35vw, 48px); line-height: 1.12; letter-spacing: -.035em; font-weight: 600; }
.references-hero .section-heading p { max-width: 720px; }
.reference-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.reference-stats div { min-height: 126px; padding: 21px; border-radius: 19px; background: #f5f6f8; border: 1px solid rgba(35,38,43,.05); display: flex; flex-direction: column; justify-content: space-between; }
.reference-stats strong { font-size: 28px; line-height: 1; font-weight: 600; letter-spacing: -.03em; }
.reference-stats span { color: var(--muted); font-size: 12px; line-height: 1.45; }

.reference-featured-section { padding: 92px 0; background: #202328; color: #fff; }
.reference-featured-section .section-index { color: var(--brand-red); }
.reference-featured-section .section-heading h2 { color: #fff; }
.reference-featured-section .section-heading p { color: rgba(255,255,255,.6); }
.reference-featured-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin-top: 42px; }
.reference-featured-card { min-height: 280px; padding: 26px; border-radius: 24px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.07); display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 24px; align-items: start; transition: transform .25s ease, background .25s ease; }
.reference-featured-card:hover { transform: translateY(-3px); background: rgba(255,255,255,.065); }
.reference-logo { width: 58px; height: 58px; border-radius: 15px; display: grid; place-items: center; overflow: hidden; background: #fff; border: 1px solid rgba(35,38,43,.08); color: var(--ink); font-size: 19px; font-weight: 600; }
.reference-logo--large { width: 92px; height: 92px; border-radius: 20px; font-size: 27px; }
.reference-logo img { width: 100%; height: 100%; object-fit: contain; padding: 10px; display: block; }
.reference-featured-card__body h3 { margin: 13px 0 0; color: #fff; font-size: 25px; line-height: 1.2; font-weight: 500; letter-spacing: -.025em; }
.reference-featured-card__body > p { margin-top: 10px; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.65; }
.reference-featured-card__body > a { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; color: #fff; font-size: 13px; }
.reference-card__meta { display: flex; flex-wrap: wrap; gap: 7px 14px; align-items: center; }
.reference-card__meta span { color: var(--brand-red); font-size: 10px; line-height: 1.4; text-transform: uppercase; letter-spacing: .11em; font-weight: 500; }
.reference-card__meta em { color: var(--muted-2); font-size: 11px; font-style: normal; }
.reference-featured-card .reference-card__meta em { color: rgba(255,255,255,.46); }

.reference-archive-section { padding: 96px 0 112px; background: #f5f6f8; }
.reference-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.reference-filter button { appearance: none; border: 1px solid rgba(35,38,43,.08); background: #fff; color: var(--muted); border-radius: 999px; padding: 10px 14px; font: inherit; font-size: 12px; cursor: pointer; transition: background .2s ease, color .2s ease, transform .2s ease; }
.reference-filter button:hover { color: var(--ink); transform: translateY(-1px); }
.reference-filter button.is-active { background: var(--brand-dark); color: #fff; border-color: var(--brand-dark); }
.reference-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-top: 28px; }
.reference-archive-card { min-height: 290px; padding: 21px; border-radius: 22px; background: #fff; border: 1px solid rgba(35,38,43,.06); display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease; }
.reference-archive-card:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(28,31,37,.07); }
.reference-archive-card.is-hidden { display: none; }
.reference-archive-card__top { min-height: 68px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.reference-card__flags { display: flex; gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
.reference-card__flags span { padding: 6px 8px; border-radius: 999px; background: #f1f3f5; color: var(--muted); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.reference-archive-card > .reference-card__meta { margin-top: 18px; }
.reference-archive-card h3 { margin: 9px 0 0; font-size: 21px; line-height: 1.25; font-weight: 500; letter-spacing: -.02em; }
.reference-archive-card > p { margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.reference-archive-card__bottom { margin-top: auto; padding-top: 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.reference-archive-card__bottom > a, .reference-archive-card__bottom > span { color: var(--brand-red); font-size: 12px; }
.reference-archive-card details { position: relative; }
.reference-archive-card summary { list-style: none; cursor: pointer; color: var(--muted-2); font-size: 11px; }
.reference-archive-card summary::-webkit-details-marker { display: none; }
.reference-archive-card details p { position: absolute; z-index: 5; right: 0; bottom: 24px; width: min(290px, 75vw); margin: 0; padding: 14px; border-radius: 13px; background: #202328; color: rgba(255,255,255,.74); box-shadow: 0 18px 45px rgba(0,0,0,.2); font-size: 11px; line-height: 1.55; }
.reference-empty { margin-top: 28px; padding: 28px; border-radius: 18px; background: #fff; color: var(--muted); text-align: center; }
.references-cta { padding: 86px 0; background: var(--brand-red); color: #fff; }
.references-cta__inner { display: flex; align-items: end; justify-content: space-between; gap: 48px; }
.references-cta .section-index { color: rgba(255,255,255,.64); }
.references-cta .section-heading h2 { color: #fff; }
.references-cta .section-heading p { color: rgba(255,255,255,.72); }

/* Ana sayfa: DB tabanlı referans seçkisi */
.reference-grid a { min-height: 126px; padding: 17px; border-radius: 18px; background: #fff; display: grid; grid-template-columns: 44px minmax(0,1fr); grid-template-areas: "logo name" "logo work"; gap: 3px 12px; align-items: center; border: 1px solid rgba(35,38,43,.05); transition: transform .2s ease, box-shadow .2s ease; }
.reference-grid a:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(28,31,37,.06); }
.home-reference-logo { grid-area: logo; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; overflow: hidden; background: #f5f6f8; color: var(--ink); }
.home-reference-logo img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.home-reference-logo b { font-size: 15px; font-weight: 600; }
.reference-grid a strong { grid-area: name; align-self: end; font-size: 14px; line-height: 1.3; font-weight: 500; }
.reference-grid a small { grid-area: work; align-self: start; color: var(--muted); font-size: 10px; line-height: 1.4; }

@media (max-width: 980px) {
    .references-hero__grid { grid-template-columns: 1fr; gap: 34px; }
    .reference-featured-grid { grid-template-columns: 1fr; }
    .reference-archive-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .references-hero { padding-top: 126px; }
    .reference-stats { grid-template-columns: 1fr; }
    .reference-stats div { min-height: 95px; }
    .reference-featured-card { grid-template-columns: 1fr; min-height: 0; }
    .reference-archive-grid { grid-template-columns: 1fr; }
    .references-cta__inner { align-items: flex-start; flex-direction: column; }
}

/* v37 — Referans logo alanları: yatay 278×154 oranı */
.references-page .reference-logo {
    width: min(100%, 278px);
    height: auto;
    aspect-ratio: 278 / 154;
    border-radius: 16px;
    font-size: 24px;
}
.references-page .reference-logo--large {
    width: min(100%, 278px);
    height: auto;
    aspect-ratio: 278 / 154;
    border-radius: 18px;
    font-size: 30px;
}
.references-page .reference-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 16px;
}
.references-page .reference-featured-card {
    grid-template-columns: minmax(220px, 278px) minmax(0, 1fr);
    align-items: center;
}
.references-page .reference-archive-card__top {
    min-height: 154px;
    align-items: flex-start;
}
.references-page .reference-archive-card__top .reference-logo {
    flex: 0 1 278px;
}

@media (max-width: 760px) {
    .references-page .reference-featured-card {
        grid-template-columns: 1fr;
    }
    .references-page .reference-featured-card .reference-logo--large {
        width: 100%;
        max-width: 278px;
    }
}

@media (max-width: 420px) {
    .references-page .reference-archive-card__top {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        min-height: 0;
    }
    .references-page .reference-card__flags {
        justify-content: flex-start;
    }
}

/* v38 — Araçlar: SEO URL korumalı hesaplama araçları */
.tools-page,.tool-page{background:#f5f6f8}.tools-page-hero,.tool-hero{padding:150px 0 78px;background:#fff}.tools-page-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr);gap:70px;align-items:end}.tools-page-hero .section-heading{max-width:760px}.tools-page-hero .section-heading h1,.tool-hero h1{margin:12px 0 0;font-size:clamp(34px,3.6vw,52px);line-height:1.08;letter-spacing:-.035em;font-weight:600}.tools-page-hero .section-heading p,.tool-hero p{max-width:760px;margin-top:16px;color:var(--muted);font-size:16px;line-height:1.75;font-weight:300}.tools-page-hero__note{padding:22px 24px;border-radius:18px;background:#f6f7f9}.tools-page-hero__note strong{font-size:15px;font-weight:600}.tools-page-hero__note p{margin-top:9px;color:var(--muted);font-size:13px;line-height:1.65}.tools-directory{padding:72px 0 110px}.tools-group-block+.tools-group-block{margin-top:76px}.section-heading--compact h2{font-size:30px}.tools-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}.tool-directory-card{display:flex;flex-direction:column;min-height:250px;padding:23px;border-radius:20px;background:#fff;border:1px solid rgba(35,38,43,.06);transition:transform .2s ease,border-color .2s ease}.tool-directory-card:hover{transform:translateY(-3px);border-color:rgba(255,77,87,.26)}.tool-directory-card__top{display:flex;justify-content:space-between;gap:14px}.tool-directory-card__top span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted-2)}.tool-directory-card__top em{font-size:10px;font-style:normal;color:var(--brand-red)}.tool-directory-card h3{margin:26px 0 0;font-size:21px;line-height:1.28;letter-spacing:-.02em;font-weight:600}.tool-directory-card p{margin:11px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.tool-directory-card>b{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:24px;font-size:13px;font-weight:500}.tool-directory-card>b span{color:var(--brand-red)}.tools-unique{padding:82px 0;background:#202328;color:#fff}.tools-unique__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:end}.tools-unique .section-index{color:var(--brand-red)}.tools-unique h2{max-width:760px;margin:12px 0 0;font-size:clamp(28px,3vw,42px);line-height:1.14;font-weight:600;letter-spacing:-.03em}.tools-unique p{max-width:720px;margin-top:14px;color:rgba(255,255,255,.62);font-size:14px;line-height:1.7}
.tool-hero__inner{max-width:900px}.tool-hero .case-back{margin-bottom:28px}.tool-workspace-section{padding:70px 0 96px}.tool-workspace{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.68fr);gap:24px;align-items:start}.tool-form,.tool-results{padding:28px;border-radius:22px;background:#fff;border:1px solid rgba(35,38,43,.06)}.tool-results{position:sticky;top:104px}.tool-form__heading span,.tool-results__heading span{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-red)}.tool-form__heading h2,.tool-results__heading h2{margin:8px 0 0;font-size:27px;line-height:1.2;font-weight:600;letter-spacing:-.025em}.tool-form__heading p{margin-top:9px;color:var(--muted);font-size:13px;line-height:1.65}.tool-form label{display:block;margin-top:18px;color:var(--ink);font-size:12px;font-weight:500}.tool-form label small{display:block;margin-top:3px;color:var(--muted-2);font-size:10px;font-weight:400}.tool-form input:not([type=checkbox]),.tool-form select{width:100%;height:46px;margin-top:8px;padding:0 13px;border:1px solid rgba(35,38,43,.12);border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.tool-form input:focus,.tool-form select:focus{border-color:rgba(255,77,87,.55);box-shadow:0 0 0 3px rgba(255,77,87,.08)}.tool-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.tool-input-unit{position:relative}.tool-input-unit input{padding-right:50px!important}.tool-input-unit>span{position:absolute;right:13px;top:23px;color:var(--muted-2);font-size:11px}.tool-check{display:flex!important;align-items:center;gap:9px;min-height:46px;margin-top:38px!important;padding:0 12px;border-radius:11px;background:#f7f8fa}.tool-check input{margin:0}.tool-check span{font-size:12px;font-weight:400}.tool-form__note{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff7f7;color:#7b4a4d;font-size:11px;line-height:1.55}.tool-form>.button{margin-top:24px}.tool-result-highlight{margin-top:22px;padding:22px;border-radius:17px;background:#f7f8fa}.tool-result-highlight--accent{background:#fff1f2}.tool-result-highlight span{display:block;color:var(--muted);font-size:11px}.tool-result-highlight strong{display:block;margin-top:7px;font-size:34px;line-height:1;font-weight:600;letter-spacing:-.035em}.tool-result-highlight small{display:block;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.5}.tool-result-row{display:flex;justify-content:space-between;gap:20px;padding:14px 2px;border-bottom:1px solid rgba(35,38,43,.07)}.tool-result-row span{color:var(--muted);font-size:12px}.tool-result-row strong{text-align:right;font-size:13px;font-weight:500}.tool-info-section{padding:86px 0;background:#fff}.tool-info-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:70px;align-items:start}.tool-warning{padding:22px;border-radius:18px;background:#fff6f6;border:1px solid rgba(255,77,87,.14)}.tool-warning strong{font-size:13px;font-weight:600;color:var(--brand-red)}.tool-warning p{margin-top:9px;color:#626a74;font-size:12px;line-height:1.7}.tool-warning a{display:inline-flex;margin-top:13px;color:var(--brand-red);font-size:12px;font-weight:500}.utm-output{margin-top:22px;min-height:128px;padding:18px;border-radius:15px;background:#f7f8fa;word-break:break-all;color:#3c424a;font-size:13px;line-height:1.65}.tool-results>.button{margin-top:14px}.tool-copy-state{min-height:20px;margin-top:8px;color:var(--brand-red);font-size:11px}.tool-page--unique .tool-hero{background:linear-gradient(180deg,#fff 0%,#fff7f7 100%)}
@media(max-width:980px){.tools-page-hero__grid,.tool-info-grid,.tools-unique__inner{grid-template-columns:1fr;gap:28px}.tools-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-workspace{grid-template-columns:1fr}.tool-results{position:static}.tools-unique__inner{align-items:start}}
@media(max-width:640px){.tools-page-hero,.tool-hero{padding:126px 0 62px}.tools-page-hero .section-heading h1,.tool-hero h1{font-size:34px}.tools-directory{padding:58px 0 78px}.tools-directory-grid{grid-template-columns:1fr}.tools-group-block+.tools-group-block{margin-top:58px}.tool-directory-card{min-height:210px}.tool-workspace-section{padding:48px 0 70px}.tool-form,.tool-results{padding:20px;border-radius:18px}.tool-form-grid{grid-template-columns:1fr}.tool-check{margin-top:18px!important}.tool-result-highlight strong{font-size:30px}.tool-info-section{padding:66px 0}.tools-unique{padding:66px 0}}

/* v39 — Blog directory + article CMS */
.blog-page{background:#f5f6f8}.blog-page-hero{padding:150px 0 78px;background:#fff}.blog-page-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:72px;align-items:end}.blog-page-hero .section-heading{max-width:760px}.blog-page-hero .section-heading h1{margin:12px 0 0;font-size:clamp(36px,3.8vw,52px);line-height:1.08;letter-spacing:-.04em;font-weight:400}.blog-page-hero .section-heading p{max-width:700px}.blog-page-hero__note{padding:22px 24px;border-radius:20px;background:#f6f7f9}.blog-page-hero__note strong{font-size:15px;font-weight:600}.blog-page-hero__note p{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.blog-directory{padding:54px 0 110px}.blog-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.blog-filter a{padding:9px 13px;border-radius:999px;background:#fff;color:var(--muted);font-size:12px;border:1px solid rgba(35,38,43,.07);transition:.2s ease}.blog-filter a:hover{color:var(--ink);transform:translateY(-1px)}.blog-filter a.is-active{background:var(--brand-red);color:#fff;border-color:transparent}.blog-featured{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);min-height:460px;border-radius:28px;overflow:hidden;background:#fff;border:1px solid rgba(35,38,43,.055);box-shadow:0 18px 44px rgba(31,34,39,.06)}.blog-cover{display:block;min-height:238px;overflow:hidden;background:#202328}.blog-cover--featured{min-height:460px}.blog-cover img{display:block;width:100%;height:100%;object-fit:cover}.blog-cover-fallback{height:100%;min-height:inherit;display:flex;flex-direction:column;justify-content:space-between;padding:28px;background:#202328;color:#fff}.blog-cover-fallback span{font-size:10px;letter-spacing:.14em;color:var(--brand-red)}.blog-cover-fallback strong{max-width:260px;font-size:27px;line-height:1.1;letter-spacing:-.035em;font-weight:400}.blog-featured__body{display:flex;flex-direction:column;padding:40px}.blog-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:11px;color:var(--muted-2)}.blog-meta span{color:var(--brand-red);text-transform:uppercase;letter-spacing:.09em;font-weight:500}.blog-meta time{font-style:normal}.blog-meta em{padding:4px 7px;border-radius:999px;background:#f2f3f5;font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.blog-featured h2{margin:18px 0 0;font-size:clamp(28px,2.8vw,40px);line-height:1.14;letter-spacing:-.035em;font-weight:500}.blog-featured__body>p{margin-top:18px;color:var(--muted);font-size:15px;line-height:1.75}.blog-author{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:auto;padding-top:30px;font-size:12px;color:var(--muted)}.blog-author a,.blog-card-link{color:var(--brand-red);font-weight:500}.blog-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}.blog-directory-card{overflow:hidden;border-radius:24px;background:#fff;border:1px solid rgba(35,38,43,.055);transition:transform .25s ease,box-shadow .25s ease}.blog-directory-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(31,34,39,.08)}.blog-directory-card__body{padding:22px 24px 24px}.blog-directory-card h2{margin:13px 0 0;font-size:22px;line-height:1.3;letter-spacing:-.025em;font-weight:500}.blog-directory-card__body>p{min-height:72px;margin-top:12px;color:var(--muted);font-size:13px;line-height:1.68}.blog-card-link{display:inline-flex;gap:8px;margin-top:18px;font-size:12px}.blog-empty{padding:50px;text-align:center;background:#fff;border-radius:22px;color:var(--muted)}.blog-cta{padding:82px 0;background:#202328;color:#fff}.blog-cta__inner{display:flex;justify-content:space-between;align-items:end;gap:40px}.blog-cta .section-heading{max-width:690px}

.home-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:42px}.home-blog-card{overflow:hidden;border-radius:22px;background:#fff;border:1px solid rgba(35,38,43,.055)}.home-blog-card__cover{display:grid;place-items:start;min-height:150px;padding:18px;background:#202328;color:var(--brand-red);font-size:10px;letter-spacing:.12em}.home-blog-card__cover img{width:100%;height:150px;object-fit:cover;margin:-18px}.home-blog-card__body{padding:20px 22px 22px}.home-blog-card h3{margin:12px 0 0;font-size:20px;line-height:1.35;font-weight:500;letter-spacing:-.02em}.home-blog-card__link{display:inline-flex;gap:8px;margin-top:18px;color:var(--brand-red);font-size:12px;font-weight:500}

.blog-article-hero{padding:148px 0 70px;background:#fff}.blog-article-hero__inner{max-width:980px}.blog-meta--hero{margin-top:30px}.blog-article-hero h1{max-width:950px;margin:16px 0 0;font-size:clamp(38px,4vw,58px);line-height:1.07;letter-spacing:-.045em;font-weight:400}.blog-article-hero__inner>p{max-width:800px;margin:22px 0 0;color:var(--muted);font-size:17px;line-height:1.75}.blog-article-byline{display:flex;gap:18px;margin-top:24px;color:var(--muted-2);font-size:12px}.blog-article-cover{margin-top:34px;overflow:hidden;border-radius:28px;aspect-ratio:16/7;background:#eceff3}.blog-article-cover img{width:100%;height:100%;object-fit:cover}.blog-article-layout{display:grid;grid-template-columns:minmax(0,820px) minmax(220px,1fr);gap:80px;align-items:start;padding-top:74px;padding-bottom:110px}.blog-article-content{font-size:17px;line-height:1.82;color:#3f4650}.blog-article-content>:first-child{margin-top:0}.blog-article-content p{margin:0 0 22px}.blog-article-content h2{margin:52px 0 18px;color:var(--ink);font-size:30px;line-height:1.22;letter-spacing:-.03em;font-weight:600}.blog-article-content h3{margin:38px 0 14px;color:var(--ink);font-size:23px;line-height:1.3;font-weight:600}.blog-article-content h4{margin:30px 0 12px;color:var(--ink);font-size:18px;font-weight:600}.blog-article-content ul,.blog-article-content ol{margin:0 0 24px;padding-left:23px}.blog-article-content li+li{margin-top:7px}.blog-article-content blockquote{margin:32px 0;padding:20px 22px;border-left:3px solid var(--brand-red);background:#f7f8fa;border-radius:0 14px 14px 0;font-size:16px}.blog-article-content a{color:var(--brand-red);text-decoration:underline;text-underline-offset:3px}.blog-article-content code{padding:2px 5px;border-radius:5px;background:#f0f2f4;font-size:.9em}.blog-article-content pre{overflow:auto;padding:18px;border-radius:14px;background:#202328;color:#f6f7f9}.blog-article-aside{position:sticky;top:110px;padding:22px;border-radius:18px;background:#f6f7f9}.blog-article-aside dl{margin:22px 0 0}.blog-article-aside dl div{padding:12px 0;border-bottom:1px solid rgba(35,38,43,.07)}.blog-article-aside dt{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-2)}.blog-article-aside dd{margin:6px 0 0;font-size:13px}.blog-article-aside>a{display:inline-flex;gap:8px;margin-top:20px;color:var(--brand-red);font-size:12px;font-weight:500}.blog-related{padding:90px 0;background:#f5f6f8}.blog-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px}.blog-related-grid article{padding:22px;border-radius:18px;background:#fff;border:1px solid rgba(35,38,43,.055)}.blog-related-grid article>span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--brand-red)}.blog-related-grid h3{margin:10px 0 0;font-size:18px;line-height:1.4;font-weight:500}.blog-related-grid article>div{display:flex;justify-content:space-between;margin-top:18px;font-size:11px;color:var(--muted)}.blog-related-grid article>div a{color:var(--brand-red)}.blog-not-found{padding:170px 0 110px}.blog-not-found .button{margin-top:28px}

@media(max-width:980px){.blog-page-hero__grid,.blog-featured,.blog-article-layout{grid-template-columns:1fr}.blog-featured{min-height:0}.blog-cover--featured{min-height:320px}.blog-featured__body{padding:30px}.blog-directory-grid,.home-blog-grid,.blog-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-article-layout{gap:38px}.blog-article-aside{position:static}.blog-cta__inner{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.blog-page-hero,.blog-article-hero{padding-top:126px}.blog-page-hero__grid{gap:28px}.blog-page-hero .section-heading h1,.blog-article-hero h1{font-size:36px}.blog-directory{padding-top:36px}.blog-directory-grid,.home-blog-grid,.blog-related-grid{grid-template-columns:1fr}.blog-cover--featured{min-height:250px}.blog-featured__body{padding:24px}.blog-featured h2{font-size:28px}.blog-author{align-items:flex-start;flex-direction:column}.blog-directory-card__body>p{min-height:0}.blog-article-layout{padding-top:52px;padding-bottom:78px}.blog-article-content{font-size:16px}.blog-article-content h2{font-size:27px}.blog-cta{padding:70px 0}}

/* v4.0 — Blog legacy URL preservation + pagination */
.blog-filter a span{margin-left:5px;color:inherit;opacity:.55;font-size:10px}
.blog-directory-grid--page{margin-top:0}
.blog-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:40px;padding-top:26px;border-top:1px solid rgba(35,38,43,.08)}
.blog-pagination__nav{font-size:13px;color:var(--ink);font-weight:500}.blog-pagination__nav:last-child{text-align:right}
.blog-pagination__pages{display:flex;align-items:center;justify-content:center;gap:7px}
.blog-pagination__pages a,.blog-pagination__dots{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#fff;border:1px solid rgba(35,38,43,.08);font-size:12px;color:var(--muted)}
.blog-pagination__pages a:hover{color:var(--ink);transform:translateY(-1px)}
.blog-pagination__pages a.is-active{background:var(--brand-red);border-color:var(--brand-red);color:#fff}
.blog-pagination__dots{border-color:transparent;background:transparent}
.blog-meta span a{color:inherit}
.blog-article-content img{display:block;max-width:100%;height:auto;margin:28px auto;border-radius:14px}
.blog-article-content figure{margin:32px 0}.blog-article-content figcaption{margin-top:9px;color:var(--muted-2);font-size:12px;text-align:center}
.blog-article-content table{width:100%;margin:30px 0;border-collapse:collapse;font-size:14px}.blog-article-content th,.blog-article-content td{padding:11px 12px;border:1px solid rgba(35,38,43,.1);text-align:left}.blog-article-content th{background:#f5f6f8;color:var(--ink);font-weight:600}
.blog-article-aside dd a{color:var(--brand-red)}
@media(max-width:640px){.blog-pagination{grid-template-columns:1fr 1fr}.blog-pagination__pages{grid-column:1/-1;grid-row:1}.blog-pagination__nav{grid-row:2}.blog-pagination__pages a,.blog-pagination__dots{width:34px;height:34px}}
.blog-article-content iframe{display:block;width:100%;max-width:760px;aspect-ratio:16/9;height:auto;min-height:360px;margin:30px auto;border:0;border-radius:14px}
@media(max-width:640px){.blog-article-content iframe{min-height:220px}}

/* v41 — corporate, contact, career, culture and legal pages */
.corporate-page,.legal-page{background:#f5f6f8}.corp-hero,.legal-hero{padding:152px 0 82px;background:#fff}.corp-hero .section-heading h1,.legal-hero .section-heading h1{max-width:760px;margin:14px 0 0;font-size:clamp(28px,2.2vw,34px);line-height:1.2;letter-spacing:-.025em;font-weight:600}.corp-hero .section-heading p,.legal-hero .section-heading p{max-width:720px;margin-top:14px;color:var(--muted);font-size:16px;line-height:1.72;font-weight:300}.legal-hero small{display:block;margin-top:18px;color:var(--muted-2);font-size:12px}.corp-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:40px}.corp-card-grid article{min-height:190px;padding:24px;border-radius:22px;background:#fff;border:1px solid rgba(35,38,43,.06)}.corp-card-grid h3{margin:0;font-size:19px;font-weight:600;letter-spacing:-.02em}.corp-card-grid p{margin-top:12px;color:var(--muted);font-size:14px;line-height:1.7}.corp-cta{padding:90px 0;background:var(--brand-red);color:#fff}.corp-cta .section-index{color:rgba(255,255,255,.72)}.corp-cta .section-heading h2,.corp-cta .section-heading p{color:#fff}.corp-cta .section-heading p{color:rgba(255,255,255,.8)}.corp-cta .button{margin-top:22px;background:#fff;color:#23262b;box-shadow:none}

/* Contact */
.contact-main{padding:96px 0}.contact-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:60px;align-items:start}.contact-info h2{margin:14px 0 0;font-size:clamp(28px,2.2vw,34px);line-height:1.22;font-weight:600;letter-spacing:-.025em}.contact-info>p{margin-top:20px;color:var(--muted);font-size:16px;line-height:1.8}.contact-direct{display:grid;gap:8px;margin-top:24px}.contact-direct a{font-size:18px;font-weight:500;color:var(--ink)}.contact-direct a:hover{color:var(--brand-red)}.contact-note{margin-top:30px;padding:18px;border-radius:16px;background:#fff;border-left:3px solid var(--brand-red);color:var(--muted);font-size:13px;line-height:1.65}.contact-form-wrap{padding:26px;border-radius:24px;background:#fff;border:1px solid rgba(35,38,43,.06)}.public-form{display:grid;gap:15px}.public-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-form label{display:grid;gap:7px;font-size:12px;font-weight:600}.public-form input,.public-form textarea,.public-form select{width:100%;border:1px solid #dfe3e8;border-radius:12px;background:#fff;padding:12px 13px;font:inherit;font-size:14px;color:var(--ink)}.public-form textarea{min-height:150px;resize:vertical}.public-form-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px}.public-form-bottom small{max-width:470px;color:var(--muted);font-size:11px;line-height:1.55}.public-form .button{border:0;cursor:pointer}.button--red{background:var(--brand-red);color:#fff;box-shadow:0 12px 24px rgba(255,77,87,.2)}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.form-success,.form-error{margin-bottom:16px;padding:14px 16px;border-radius:14px;font-size:13px;line-height:1.5}.form-success{display:grid;gap:4px;background:#ebf8ef;color:#27643a}.form-error{background:#fff0f1;color:#9d2d34}.contact-map{height:420px;background:#ddd}.contact-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(.14)}

/* About */
.about-story,.about-timeline,.about-values{padding:96px 0}.about-story{background:#fff}.about-story__grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:64px}.about-copy p{margin:0;color:var(--muted);font-size:16px;line-height:1.82}.about-copy p+p{margin-top:18px}.about-timeline{background:#202328;color:#fff}.about-timeline .section-heading h2{color:#fff}.about-timeline .section-heading p{color:rgba(255,255,255,.64)}.about-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:42px}.about-milestones article{min-height:180px;padding:24px;border-radius:20px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.07)}.about-milestones strong{display:block;color:var(--brand-red);font-size:18px}.about-milestones span{display:block;margin-top:28px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.7}.about-values{background:#f5f6f8}

/* Certificates */
.certificate-group{padding:84px 0}.certificate-group:nth-of-type(even){background:#fff}.certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:38px}.certificate-card{min-height:220px;padding:22px;border-radius:20px;background:#fff;border:1px solid rgba(35,38,43,.07);display:flex;flex-direction:column}.certificate-group:nth-of-type(even) .certificate-card{background:#f5f6f8}.certificate-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#202328;color:var(--brand-red);font-size:11px;font-weight:700}.certificate-card h3{margin:22px 0 0;font-size:18px;line-height:1.35;font-weight:600}.certificate-card p{margin-top:10px;color:var(--muted);font-size:13px}.certificate-card a{display:inline-flex;gap:7px;margin-top:auto;padding-top:20px;color:var(--brand-red);font-size:13px;font-weight:500}.certificate-unavailable{margin-top:auto;padding-top:20px;color:var(--muted-2);font-size:11px;line-height:1.5}

/* Culture scroll story */
.culture-hero{background:#fff}.culture-scroll{padding:110px 0;background:#202328;color:#fff}.culture-scroll__layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:70px;align-items:start}.culture-sticky{position:sticky;top:125px;min-height:330px;padding:30px;border-radius:26px;background:#282c32;border:1px solid rgba(255,255,255,.06)}.culture-sticky .section-index{color:var(--brand-red)}.culture-sticky h2{margin:18px 0 0;font-size:clamp(28px,2.2vw,34px);line-height:1.22;font-weight:600;letter-spacing:-.025em}.culture-sticky p{margin-top:18px;color:rgba(255,255,255,.65);font-size:15px;line-height:1.75}.culture-meter{height:3px;margin-top:36px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}.culture-meter i{display:block;width:16.66%;height:100%;background:var(--brand-red);transition:width .4s ease}.culture-scenes{display:grid;gap:120px}.culture-scenes article{min-height:390px;padding:30px;border-radius:28px;background:#f6f7f9;color:#23262b;display:flex;flex-direction:column;justify-content:center;opacity:.42;transform:translateY(16px);transition:opacity .35s ease,transform .35s ease}.culture-scenes article.is-active{opacity:1;transform:none}.culture-scenes article:nth-child(2n){background:#ff4d57;color:#fff}.culture-scenes span,.culture-scenes em{font-size:11px;text-transform:uppercase;letter-spacing:.11em}.culture-scenes span{color:var(--brand-red)}.culture-scenes article:nth-child(2n) span{color:rgba(255,255,255,.72)}.culture-scenes h3{margin:12px 0 28px;font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-.025em}.culture-scenes em{margin-top:30px;font-style:normal;color:var(--muted-2)}.culture-scenes article:nth-child(2n) em{color:rgba(255,255,255,.62)}.culture-scenes p{margin:10px 0 0;color:var(--muted);font-size:16px}.culture-scenes article:nth-child(2n) p{color:#fff}.culture-end{padding:96px 0;background:#fff}.culture-end .button{margin-top:22px}

/* Testimonials */
.testimonials-list{padding:90px 0}.testimonial-grid{columns:3;column-gap:16px}.testimonial-card{break-inside:avoid;margin:0 0 16px;padding:24px;border-radius:22px;background:#fff;border:1px solid rgba(35,38,43,.06)}.testimonial-quote{font-size:38px;line-height:.7;color:var(--brand-red);font-weight:600}.testimonial-card>p{margin:18px 0 0;color:var(--muted);font-size:15px;line-height:1.8}.testimonial-card footer{display:grid;gap:4px;margin-top:24px;padding-top:18px;border-top:1px solid #eceff2}.testimonial-card footer strong{font-size:14px}.testimonial-card footer span{color:var(--muted-2);font-size:12px}

/* Career */
.career-values,.career-apply{padding:96px 0}.career-values{background:#fff}.career-apply{background:#f5f6f8}.career-apply__grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:60px;align-items:start}.career-apply__grid>div:last-child{padding:26px;border-radius:24px;background:#fff;border:1px solid rgba(35,38,43,.06)}

/* Legal */
.legal-content{padding:80px 0 110px}.legal-layout{display:grid;grid-template-columns:220px minmax(0,800px);gap:70px;align-items:start}.legal-nav{position:sticky;top:110px;display:grid;gap:3px;padding:16px;border-radius:18px;background:#fff;border:1px solid rgba(35,38,43,.06)}.legal-nav strong{padding:8px 10px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2)}.legal-nav a{padding:9px 10px;border-radius:9px;font-size:13px;color:var(--muted)}.legal-nav a:hover{background:#f5f6f8;color:var(--ink)}.legal-article{padding:36px 40px;border-radius:24px;background:#fff;border:1px solid rgba(35,38,43,.06)}.legal-article h2{margin:38px 0 0;font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-.02em}.legal-article h2:first-child{margin-top:0}.legal-article p,.legal-article li{color:var(--muted);font-size:15px;line-height:1.82}.legal-article p{margin:12px 0 0}.legal-article ul{margin:12px 0 0;padding-left:20px}.legal-article a{color:var(--brand-red);text-decoration:underline}

/* Cookie preference */
.cookie-consent{position:fixed;z-index:500;left:22px;right:22px;bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:26px;max-width:920px;margin:auto;padding:16px 18px;border-radius:18px;background:#202328;color:#fff;box-shadow:0 20px 55px rgba(0,0,0,.24)}.cookie-consent strong{font-size:13px}.cookie-consent p{margin:5px 0 0;color:rgba(255,255,255,.64);font-size:12px;line-height:1.55}.cookie-consent__actions{display:flex;gap:8px;flex:0 0 auto}.cookie-consent button{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 14px;background:transparent;color:#fff;font:inherit;font-size:12px;cursor:pointer}.cookie-consent__accept{background:var(--brand-red)!important;border-color:var(--brand-red)!important}

@media(max-width:1000px){.corp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout,.about-story__grid,.career-apply__grid,.culture-scroll__layout,.legal-layout{grid-template-columns:1fr;gap:36px}.culture-sticky,.legal-nav{position:static}.culture-scenes{gap:24px}.culture-scenes article{min-height:260px}.about-milestones,.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.testimonial-grid{columns:2}}
@media(max-width:640px){.corp-hero,.legal-hero{padding:128px 0 64px}.contact-main,.about-story,.about-timeline,.about-values,.career-values,.career-apply,.culture-scroll,.culture-end{padding:72px 0}.corp-card-grid,.about-milestones,.certificate-grid{grid-template-columns:1fr}.public-form-row{grid-template-columns:1fr}.public-form-bottom{align-items:flex-start;flex-direction:column}.testimonial-grid{columns:1}.legal-article{padding:24px 20px}.contact-map{height:320px}.cookie-consent{left:12px;right:12px;bottom:12px;align-items:flex-start;flex-direction:column}.cookie-consent__actions{width:100%;flex-wrap:wrap}.cookie-consent button{flex:1}.culture-sticky{min-height:0}.culture-scenes h3{font-size:24px}}
.cookie-reset{margin-left:8px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:inherit;text-decoration:underline;cursor:pointer;opacity:.72}.cookie-reset:hover{opacity:1}

/* v42 — Header Apps launcher */
.header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    white-space: nowrap;
}
.header-apps {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 17px;
    border-radius: 999px;
    background: #23262b;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 10px 22px rgba(35,38,43,.18);
    transition: transform .22s cubic-bezier(.2,.7,.2,1), background .22s ease, box-shadow .22s ease;
}
.header-apps svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
    flex: 0 0 auto;
}
.header-apps:hover {
    background: #111318;
    transform: translateY(-1px);
    box-shadow: 0 14px 26px rgba(35,38,43,.22);
}
.header-apps:active { transform: translateY(1px) scale(.985); }

@media (max-width: 1180px) {
    .header-grid { grid-template-columns: auto 1fr auto auto; }
}
@media (max-width: 900px) {
    .header-actions { gap: 7px; }
    .header-cta { display: none; }
    .header-apps { padding: 10px 14px; }
}
@media (max-width: 560px) {
    .header-apps { width: 42px; height: 42px; padding: 0; border-radius: 14px; }
    .header-apps span { display: none; }
}

/* v4.4 — Yetkinliklerde somut hizmet dili */
.cap-card-service-list{display:grid;gap:10px;margin-top:12px}
.cap-card-service{padding:11px 12px;border-radius:12px;background:rgba(35,38,43,.035)}
.cap-card-service strong{display:block;font-size:13px;line-height:1.35;font-weight:600;color:var(--ink)}
.cap-card-service span{display:block;margin-top:4px;font-size:11px;line-height:1.5;color:var(--muted)}
.cap-phase--gelistir .cap-card-service{background:rgba(255,255,255,.06)}
.cap-phase--gelistir .cap-card-service strong{color:#fff}
.cap-phase--gelistir .cap-card-service span{color:rgba(255,255,255,.58)}
.capability-point-grid article p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.7}
@media(max-width:640px){.cap-card-service span{font-size:12px}}


/* v4.6 — detail page floating actions */
.detail-float-dock {
    position: fixed;
    left: 50%;
    bottom: 22px;
    z-index: 84;
    width: max-content;
    max-width: calc(100vw - 28px);
    transform: translateX(-50%);
    pointer-events: none;
}
.detail-float-dock > * { pointer-events: auto; }
.detail-float-dock__visit {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 8px 10px 8px 17px;
    border-radius: 999px;
    background: rgba(31, 34, 39, .96);
    color: #fff;
    box-shadow: 0 14px 38px rgba(24, 27, 32, .20);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.detail-float-dock__visit > span {
    color: rgba(255,255,255,.56);
    font-size: 11px;
    line-height: 1;
}
.detail-float-dock__visit strong {
    font-size: 13px;
    line-height: 1;
    font-weight: 500;
    white-space: nowrap;
}
.detail-float-dock__visit b {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-left: 2px;
    border-radius: 50%;
    background: var(--brand-red);
    font-size: 13px;
    font-weight: 400;
    transition: transform .2s ease;
}
.detail-float-dock__visit:hover b { transform: translate(2px,-2px); }
.detail-product-dock {
    display: flex;
    align-items: stretch;
    gap: 8px;
    padding: 7px;
    border: 1px solid rgba(35,38,43,.08);
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 16px 42px rgba(24,27,32,.16);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
.detail-product-dock__demo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 132px;
    padding: 0 17px;
    border-radius: 12px;
    background: var(--brand-red);
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}
.detail-product-dock__demo span { font-size: 12px; transition: transform .2s ease; }
.detail-product-dock__demo:hover span { transform: translate(2px,-2px); }
.detail-product-dock__prices {
    display: flex;
    align-items: stretch;
    gap: 6px;
}
.detail-product-dock__price {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 128px;
    padding: 8px 13px;
    border-radius: 12px;
    background: #f5f6f8;
}
.detail-product-dock__price span {
    color: var(--muted-2);
    font-size: 9px;
    line-height: 1;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.detail-product-dock__price strong {
    margin-top: 5px;
    color: var(--ink);
    font-size: 13px;
    line-height: 1.15;
    font-weight: 600;
    white-space: nowrap;
}
@media (max-width: 640px) {
    .detail-float-dock { bottom: 12px; max-width: calc(100vw - 20px); }
    .detail-float-dock__visit { min-height: 46px; padding-left: 14px; }
    .detail-float-dock__visit > span { display: none; }
    .detail-product-dock { gap: 5px; padding: 5px; border-radius: 15px; }
    .detail-product-dock__demo { min-width: 112px; padding: 0 12px; font-size: 12px; }
    .detail-product-dock__prices { gap: 4px; }
    .detail-product-dock__price { min-width: 0; padding: 7px 9px; }
    .detail-product-dock__price strong { font-size: 11px; }
    .detail-product-dock__price span { font-size: 8px; }
}

/* v47 — Yetkinlik detay: metin + görsel otomatik carousel */
.capability-showcase {
    padding: 92px 0;
    background: #fff;
}
.capability-showcase__shell {
    position: relative;
    display: grid;
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
    min-height: 520px;
    overflow: hidden;
    border-radius: 28px;
    background: #f6f7f9;
}
.capability-showcase__copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(34px, 5vw, 72px);
}
.capability-showcase__slides {
    position: relative;
    min-height: 238px;
}
.capability-showcase__content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity .5s ease, transform .55s cubic-bezier(.2,.7,.2,1), visibility .5s ease;
    pointer-events: none;
}
.capability-showcase__content.is-active {
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
}
.capability-showcase__content .section-index {
    margin: 0;
    color: var(--brand-red);
}
.capability-showcase__content h2 {
    max-width: 440px;
    margin: 18px 0 0;
    font-size: clamp(30px, 3.4vw, 50px);
    line-height: 1.08;
    letter-spacing: -.04em;
    font-weight: 500;
}
.capability-showcase__content p {
    max-width: 430px;
    margin-top: 22px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.72;
    font-weight: 300;
}
.capability-showcase__nav {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 34px;
}
.capability-showcase__nav > button {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: var(--ink);
    font: inherit;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(35,38,43,.08);
    transition: transform .2s ease, background .2s ease;
}
.capability-showcase__nav > button:hover {
    transform: translateY(-1px);
    background: #eef0f3;
}
.capability-showcase__dots {
    display: flex;
    align-items: center;
    gap: 6px;
}
.capability-showcase__dots button {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #c8cdd3;
    cursor: pointer;
    transition: width .25s ease, background .25s ease;
}
.capability-showcase__dots button.is-active {
    width: 24px;
    background: var(--brand-red);
}
.capability-showcase__visual {
    position: relative;
    min-width: 0;
    min-height: 520px;
    overflow: hidden;
}
.capability-showcase__image {
    position: absolute;
    inset: 0;
    margin: 0;
    display: grid;
    place-items: center;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.025);
    transition: opacity .65s ease, transform .9s cubic-bezier(.2,.7,.2,1), visibility .65s ease;
}
.capability-showcase__image.is-active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}
.capability-showcase__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.capability-showcase__ambient {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: linear-gradient(145deg,#f2f4f7,#fff);
}
.capability-showcase__ambient i,
.capability-showcase__ambient span {
    position: absolute;
    border-radius: 20px;
    background: #e3e7ec;
}
.capability-showcase__ambient i:first-child { width: 55%; height: 56%; right: 8%; top: 13%; }
.capability-showcase__ambient i:nth-child(2) { width: 36%; height: 24%; left: 9%; bottom: 13%; background: #fff; box-shadow: 0 16px 38px rgba(35,38,43,.08); }
.capability-showcase__ambient span { width: 18%; height: 8px; left: 13%; top: 28%; background: var(--brand-red); }

@media (max-width: 900px) {
    .capability-showcase { padding: 72px 0; }
    .capability-showcase__shell { grid-template-columns: 1fr; min-height: 0; }
    .capability-showcase__copy { padding: 34px 28px 30px; }
    .capability-showcase__slides { min-height: 230px; }
    .capability-showcase__visual { min-height: 390px; order: -1; }
    .capability-showcase__content h2 { font-size: 34px; }
}
@media (max-width: 560px) {
    .capability-showcase__shell { border-radius: 22px; }
    .capability-showcase__copy { padding: 28px 22px 24px; }
    .capability-showcase__slides { min-height: 260px; }
    .capability-showcase__visual { min-height: 270px; }
    .capability-showcase__content h2 { font-size: 29px; }
    .capability-showcase__content p { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .capability-showcase__content,
    .capability-showcase__image { transition: none !important; transform: none !important; }
}

/* v48 — Yetkinlik: referanslar + ilgili müşteri yorumları */
.capability-detail-intro { border-top: 1px solid rgba(35,38,43,.05); }
.capability-reference-section {
    padding: 96px 0;
    background: #fff;
}
.capability-reference-section .section-heading,
.capability-review-section .section-heading { max-width: 760px; }
.capability-reference-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 42px;
}
.capability-reference-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(35,38,43,.07);
    border-radius: 22px;
    background: #fff;
}
.capability-reference-card__image {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f4f5f7;
}
.capability-reference-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.capability-reference-card__body {
    display: grid;
    grid-template-columns: 72px minmax(0,1fr);
    gap: 15px;
    align-items: center;
    padding: 20px 20px 16px;
}
.capability-reference-card__logo {
    width: 72px;
    aspect-ratio: 278 / 154;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 10px;
    background: #f7f8fa;
    color: var(--ink);
    font-size: 18px;
    font-weight: 600;
}
.capability-reference-card__logo img { width: 100%; height: 100%; object-fit: contain; padding: 7px; }
.capability-reference-card__body strong { display:block; font-size: 16px; line-height: 1.3; font-weight: 600; }
.capability-reference-card__body p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.capability-reference-card__body small { display:block; margin-top: 6px; color: var(--muted-2); font-size: 11px; }
.capability-reference-card > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 20px;
    padding: 14px 0 18px;
    border-top: 1px solid #eceff2;
    color: var(--ink);
    font-size: 12px;
    font-weight: 500;
}
.capability-reference-card > a span { color: var(--brand-red); }

.capability-review-section {
    padding: 96px 0;
    background: #f5f6f8;
}
.capability-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 42px;
}
.capability-review-card {
    display: flex;
    flex-direction: column;
    min-height: 280px;
    padding: 25px;
    border: 1px solid rgba(35,38,43,.06);
    border-radius: 22px;
    background: #fff;
}
.capability-review-card__quote { color: var(--brand-red); font-size: 38px; line-height: .7; font-weight: 600; }
.capability-review-card > p { margin: 20px 0 0; color: var(--muted); font-size: 15px; line-height: 1.78; }
.capability-review-card footer {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
    padding-top: 22px;
}
.capability-review-avatar,
.testimonial-avatar {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    background: #f0f2f4;
    color: var(--ink);
    font-size: 14px;
    font-weight: 600;
}
.capability-review-avatar img,
.testimonial-avatar img { width:100%; height:100%; object-fit:cover; }
.capability-review-card footer strong { display:block; font-size: 13px; font-weight: 600; }
.capability-review-card footer span { display:block; margin-top:3px; color: var(--muted-2); font-size: 11px; }
.testimonial-person { display:flex; align-items:center; gap:12px; }
.testimonial-person > div:last-child { display:grid; gap:4px; }

@media (max-width: 980px) {
    .capability-reference-grid,
    .capability-review-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .capability-reference-section,
    .capability-review-section { padding: 72px 0; }
    .capability-reference-grid,
    .capability-review-grid { grid-template-columns: 1fr; margin-top: 30px; }
    .capability-reference-card__body { grid-template-columns: 64px minmax(0,1fr); }
    .capability-reference-card__logo { width:64px; }
}


/* v49 — Referans kartları: beyaz zeminlerde daha güçlü, daha rafine görünüm */

/* Yetkinlik detayındaki referans seçkisi */
.capability-reference-section {
    background: #fff;
}
.capability-reference-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 44px;
}
.capability-reference-card {
    position: relative;
    min-height: 196px;
    overflow: hidden;
    border: 1px solid rgba(35,38,43,.065);
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(255,77,87,.035) 0, rgba(255,77,87,0) 36%),
        #f8f9fb;
    box-shadow: 0 10px 28px rgba(24,28,34,.035);
    transition: transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.capability-reference-card::before {
    content: '';
    position: absolute;
    left: 22px;
    top: 0;
    width: 34px;
    height: 2px;
    background: var(--brand-red);
}
.capability-reference-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255,77,87,.16);
    box-shadow: 0 18px 42px rgba(24,28,34,.075);
}
.capability-reference-card__image {
    aspect-ratio: 14 / 7;
    margin: 16px 16px 0;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(35,38,43,.055);
}
.capability-reference-card__image img {
    object-fit: cover;
}
.capability-reference-card__body {
    grid-template-columns: minmax(138px, 174px) minmax(0,1fr);
    gap: 22px;
    align-items: center;
    padding: 24px 24px 20px;
}
.capability-reference-card__logo {
    width: 100%;
    height: auto;
    aspect-ratio: 278 / 154;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(35,38,43,.065);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}
.capability-reference-card__logo img {
    padding: 15px;
}
.capability-reference-card__body strong {
    font-size: 19px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: -.015em;
}
.capability-reference-card__body p {
    margin-top: 7px;
    font-size: 13px;
    line-height: 1.55;
}
.capability-reference-card__body small {
    margin-top: 8px;
    font-size: 11px;
}
.capability-reference-card > a {
    margin: 0 24px;
    padding: 15px 0 20px;
    border-top-color: rgba(35,38,43,.075);
    font-size: 12px;
}
.capability-reference-card > a span {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(35,38,43,.07);
    transition: transform .2s ease, background .2s ease;
}
.capability-reference-card:hover > a span {
    transform: translate(2px,-2px);
    background: #fff4f5;
}

/* Referanslar sayfası: siyah seçkili alan korunur, beyaz arşiv kartları rafine edilir */
.references-page .reference-archive-section {
    background: #f3f4f6;
}
.references-page .reference-archive-grid {
    gap: 18px;
    margin-top: 32px;
}
.references-page .reference-archive-card {
    min-height: 0;
    padding: 16px 16px 20px;
    border: 1px solid rgba(35,38,43,.055);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(24,28,34,.035);
    transition: transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.references-page .reference-archive-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255,77,87,.13);
    box-shadow: 0 20px 46px rgba(24,28,34,.075);
}
.references-page .reference-archive-card__top {
    position: relative;
    min-height: 0;
    display: block;
}
.references-page .reference-archive-card__top .reference-logo {
    width: 100%;
    max-width: none;
    flex: none;
    aspect-ratio: 278 / 154;
    border-radius: 19px;
    background: #fff;
    border: 1px solid rgba(35,38,43,.055);
}
.references-page .reference-archive-card__top .reference-logo img {
    padding: clamp(20px, 4vw, 34px);
}
.references-page .reference-card__flags {
    position: absolute;
    right: 12px;
    top: 12px;
    z-index: 2;
}
.references-page .reference-card__flags span {
    padding: 6px 9px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(35,38,43,.065);
    backdrop-filter: blur(8px);
}
.references-page .reference-archive-card > .reference-card__meta {
    margin-top: 20px;
    padding: 0 4px;
}
.references-page .reference-archive-card h3 {
    margin: 9px 4px 0;
    font-size: 22px;
    line-height: 1.22;
    letter-spacing: -.025em;
}
.references-page .reference-archive-card > p {
    min-height: 42px;
    margin: 8px 4px 0;
    font-size: 13px;
    line-height: 1.55;
}
.references-page .reference-archive-card__bottom {
    margin: 18px 4px 0;
    padding-top: 15px;
    border-top: 1px solid rgba(35,38,43,.065);
}
.references-page .reference-archive-card__bottom > a,
.references-page .reference-archive-card__bottom > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 500;
}
.references-page .reference-archive-card summary {
    padding: 5px 0;
}

/* Filtreler de kartlarla daha dengeli */
.references-page .reference-filter {
    gap: 7px;
}
.references-page .reference-filter button {
    padding: 9px 13px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 3px 10px rgba(24,28,34,.025);
}
.references-page .reference-filter button.is-active {
    background: var(--brand-dark);
    color: #fff;
    border-color: var(--brand-dark);
}

/* Responsive */
@media (max-width: 980px) {
    .capability-reference-grid {
        grid-template-columns: 1fr;
    }
    .capability-reference-card__body {
        grid-template-columns: 170px minmax(0,1fr);
    }
}
@media (max-width: 640px) {
    .capability-reference-card {
        border-radius: 22px;
    }
    .capability-reference-card__body {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 20px;
    }
    .capability-reference-card__logo {
        width: min(100%, 220px);
    }
    .capability-reference-card > a {
        margin: 0 20px;
    }
    .references-page .reference-archive-card {
        border-radius: 22px;
    }
    .references-page .reference-archive-card > p {
        min-height: 0;
    }
}


.custom-software-intro { padding: 152px 0 92px; background: #f5f6f8; }
.custom-software-intro__head { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); gap: 28px; align-items: start; }
.custom-software-intro__pillars { display: grid; gap: 14px; }
.custom-software-pillar,
.custom-software-card,
.custom-software-cta { border: 1px solid rgba(35,38,43,.06); box-shadow: 0 18px 44px rgba(28,31,37,.05); }
.custom-software-pillar { padding: 22px 24px; border-radius: 22px; background: #fff; }
.custom-software-pillar strong { display: block; font-size: 18px; line-height: 1.35; font-weight: 600; letter-spacing: -.02em; color: var(--ink); }
.custom-software-pillar p { margin-top: 8px; color: var(--muted); font-size: 14px; line-height: 1.72; font-weight: 300; }
.custom-software-showcase { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.custom-software-card { grid-column: span 6; overflow: hidden; border-radius: 26px; background: #fff; }
.custom-software-card--span-4 { grid-column: span 4; }
.custom-software-card--span-5 { grid-column: span 5; }
.custom-software-card--span-7 { grid-column: span 7; }
.custom-software-card--span-8 { grid-column: span 8; }
.custom-software-card__media { aspect-ratio: 16 / 10; background: linear-gradient(180deg, #eef2f7 0%, #f7f8fa 100%); overflow: hidden; }
.custom-software-card__media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top center; }
.custom-software-card__body { padding: 24px 26px 28px; }
.custom-software-card__body > span { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: 999px; background: #fff3f4; color: var(--brand-red); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
.custom-software-card__body h3 { margin: 16px 0 0; font-size: 24px; line-height: 1.28; letter-spacing: -.025em; font-weight: 600; color: var(--ink); }
.custom-software-card__body p { margin-top: 12px; color: var(--muted); font-size: 15px; line-height: 1.78; font-weight: 300; }
.custom-software-list { margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 11px; }
.custom-software-list li { position: relative; padding-left: 18px; color: var(--ink); font-size: 14px; line-height: 1.65; }
.custom-software-list li::before { content: ''; position: absolute; left: 0; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: var(--brand-red); transform: translateY(-50%); }
.custom-software-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.custom-software-tags span { display: inline-flex; align-items: center; min-height: 38px; padding: 8px 14px; border-radius: 14px; background: #f6f7f9; color: var(--ink); font-size: 13px; line-height: 1.45; border: 1px solid rgba(35,38,43,.05); }
.custom-software-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 20px; padding: 26px 28px; border-radius: 24px; background: linear-gradient(135deg, #ffffff 0%, #f7f8fa 100%); }
.custom-software-cta strong { display: block; font-size: 22px; line-height: 1.3; font-weight: 600; letter-spacing: -.025em; color: var(--ink); }
.custom-software-cta p { margin-top: 10px; max-width: 760px; color: var(--muted); font-size: 15px; line-height: 1.72; font-weight: 300; }
.products-directory .section-heading { margin-bottom: 30px; }
@media (max-width: 1080px) {
    .custom-software-intro__head { grid-template-columns: 1fr; }
    .custom-software-card--span-4,
    .custom-software-card--span-5,
    .custom-software-card--span-7,
    .custom-software-card--span-8 { grid-column: span 12; }
}
@media (max-width: 720px) {
    .custom-software-intro { padding: 126px 0 76px; }
    .custom-software-showcase { grid-template-columns: 1fr; }
    .custom-software-card,
    .custom-software-card--span-4,
    .custom-software-card--span-5,
    .custom-software-card--span-7,
    .custom-software-card--span-8 { grid-column: auto; }
    .custom-software-card__body { padding: 20px 18px 22px; }
    .custom-software-card__body h3,
    .custom-software-cta strong { font-size: 20px; }
    .custom-software-cta { flex-direction: column; align-items: flex-start; padding: 22px 20px; }
}


/* v50 — corporate/legal alignment, shared section dot and public login screens */
.corporate-page .container.section-heading,
.legal-page .container.section-heading {
    max-width: none;
}

.public-login-page {
    min-height: 100vh;
    padding: 154px 0 96px;
    background: #f5f6f8;
}
.public-login-layout {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(420px, .72fr);
    gap: 72px;
    align-items: center;
}
.public-login-copy {
    max-width: 650px;
}
.public-login-copy h1 {
    max-width: 620px;
    margin: 14px 0 0;
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.12;
    letter-spacing: -.035em;
    font-weight: 600;
}
.public-login-copy > p {
    max-width: 600px;
    margin-top: 18px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.75;
    font-weight: 300;
}
.public-login-note {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 12px;
    align-items: start;
    max-width: 570px;
    margin-top: 30px;
    padding: 17px 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(35,38,43,.06);
}
.public-login-note span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #fff0f1;
    color: var(--brand-red);
    font-size: 14px;
    font-weight: 600;
}
.public-login-note p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.62;
}
.public-login-card {
    padding: 30px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(35,38,43,.07);
    box-shadow: 0 24px 60px rgba(31,34,39,.08);
}
.public-login-card__head span {
    display: block;
    color: var(--brand-red);
    font-size: 10px;
    line-height: 1;
    letter-spacing: .11em;
    text-transform: uppercase;
    font-weight: 600;
}
.public-login-card__head h2 {
    margin: 10px 0 0;
    font-size: 24px;
    line-height: 1.25;
    letter-spacing: -.025em;
    font-weight: 600;
}
.public-login-card__head p {
    margin-top: 9px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.65;
}
.public-login-form {
    display: grid;
    gap: 15px;
    margin-top: 24px;
}
.public-login-form label {
    display: grid;
    gap: 7px;
    color: var(--ink);
    font-size: 12px;
    font-weight: 600;
}
.public-login-form input {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.public-login-form input:focus {
    border-color: rgba(255,77,87,.7);
    box-shadow: 0 0 0 4px rgba(255,77,87,.08);
}
.public-login-form .button {
    width: 100%;
    min-height: 48px;
    margin-top: 2px;
    border: 0;
    cursor: pointer;
}
.public-login-error {
    margin-top: 18px;
    padding: 13px 14px;
    border-radius: 12px;
    background: #fff0f1;
    color: #9d2d34;
    border: 1px solid rgba(157,45,52,.08);
    font-size: 13px;
    line-height: 1.55;
}
.public-login-help {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #edf0f2;
    color: var(--muted-2);
    font-size: 11px;
    line-height: 1.5;
}
.public-login-help a {
    color: var(--ink);
    font-weight: 500;
}
.public-login-help a:hover {
    color: var(--brand-red);
}
@media (max-width: 900px) {
    .public-login-layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .public-login-card {
        max-width: 620px;
    }
}
@media (max-width: 640px) {
    .public-login-page {
        padding: 126px 0 72px;
    }
    .public-login-card {
        padding: 22px 20px;
        border-radius: 20px;
    }
    .public-login-copy h1 {
        font-size: 32px;
    }
    .public-login-help {
        flex-direction: column;
    }
}


/* Home product/service visual refinements */
.products-section .product-visual {
    overflow: hidden;
}
.products-section .product-home-cover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
}
.products-section .product-home-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.services-section .home-section-media {
    min-height: 500px;
    display: flex;
    align-items: flex-start;
}
.services-section .home-section-media img {
    width: 100%;
    height: 500px;
    max-height: none;
    object-fit: contain;
    object-position: left top;
}
@media (max-width: 980px) {
    .services-section .home-section-media { min-height: 390px; }
    .services-section .home-section-media img { height: 390px; max-height: none; }
}
@media (max-width: 640px) {
    .services-section .home-section-media { min-height: 300px; }
    .services-section .home-section-media img { height: 300px; max-height: none; }
}

/* Payment center & iyzico readiness */
.footer-payment-trust{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:42px;padding:20px 0;border-top:1px solid rgba(255,255,255,.1)}
.footer-payment-trust__copy{max-width:420px}.footer-payment-trust__copy strong{display:block;font-size:13px;font-weight:600;color:#fff}.footer-payment-trust__copy span{display:block;margin-top:5px;color:rgba(245,242,235,.54);font-size:12px;line-height:1.55}
.footer-payment-trust__logos{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.footer-payment-trust__logos img{display:block;height:42px;width:auto;max-width:132px;border-radius:9px}
.payment-page,.payment-result-page{background:#f5f6f8}.payment-hero{padding:152px 0 76px;background:#fff}.payment-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.55fr);gap:70px;align-items:end}.payment-hero .section-heading h1{max-width:760px;margin-top:14px;font-size:clamp(30px,2.8vw,44px);line-height:1.14;font-weight:600;letter-spacing:-.035em}.payment-hero .section-heading p{max-width:720px;margin-top:18px;color:var(--muted);font-size:16px;line-height:1.75;font-weight:300}
.payment-status-card{padding:24px;border-radius:22px;background:#f5f6f8;border:1px solid rgba(35,38,43,.06)}.payment-status-card strong{display:block;margin-top:13px;font-size:18px;font-weight:600}.payment-status-card p{margin-top:9px;color:var(--muted);font-size:13px;line-height:1.65}.payment-status-dot{display:block;width:10px;height:10px;border-radius:50%;background:#f0a82e;box-shadow:0 0 0 7px rgba(240,168,46,.13)}
.payment-catalog{padding:84px 0 108px}.payment-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:38px}.payment-product-card{display:flex;flex-direction:column;min-height:360px;padding:26px;border-radius:24px;background:#fff;border:1px solid rgba(35,38,43,.06)}.payment-product-card__top>span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-red)}.payment-product-card h3{margin:13px 0 0;font-size:22px;line-height:1.28;font-weight:600;letter-spacing:-.025em}.payment-product-card p{margin-top:12px;color:var(--muted);font-size:14px;line-height:1.7}.payment-plan-list{display:grid;gap:8px;margin-top:auto;padding-top:24px}.payment-plan-list a{display:grid;grid-template-columns:72px 1fr auto;gap:10px;align-items:center;padding:13px 14px;border-radius:14px;background:#f6f7f9;color:var(--ink)}.payment-plan-list a span{font-size:12px;color:var(--muted)}.payment-plan-list a strong{font-size:14px;font-weight:600}.payment-plan-list a b{font-size:12px;color:var(--brand-red);font-weight:500}.payment-policy-note{display:flex;gap:20px;align-items:flex-start;margin-top:22px;padding:22px 24px;border-radius:18px;background:#fff;border:1px solid rgba(35,38,43,.06)}.payment-policy-note strong{font-size:13px}.payment-policy-note p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.payment-checkout{padding:148px 0 110px}.payment-checkout__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.58fr);gap:44px;align-items:start}.payment-checkout__main,.checkout-summary{padding:32px;border-radius:26px;background:#fff;border:1px solid rgba(35,38,43,.06)}.payment-checkout__main .section-heading{margin-top:24px}.payment-checkout__main .section-heading h1{margin-top:12px;font-size:32px;line-height:1.2;font-weight:600}.payment-checkout__main .section-heading p{margin-top:12px;color:var(--muted);font-size:14px;line-height:1.7}.checkout-section{margin-top:28px;padding-top:24px;border-top:1px solid #eceef1}.checkout-section__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}.checkout-section__head>span{font-size:17px;font-weight:600}.checkout-section__head small{color:var(--muted-2);font-size:11px}.checkout-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.checkout-form-grid label{font-size:12px;color:var(--muted)}.checkout-form-grid label.is-wide{grid-column:1/-1}.checkout-form-grid input,.checkout-form-grid textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #e1e4e8;border-radius:12px;background:#f7f8fa;color:#777;font:inherit}.checkout-form-grid textarea{min-height:82px;resize:none}.checkout-provider-placeholder{margin-top:18px;padding:18px;border-radius:18px;background:#f7f8fa}.checkout-provider-placeholder__logos{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.checkout-provider-placeholder__logos img{height:40px;width:auto}.checkout-provider-placeholder p{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.65}.checkout-consents{display:grid;gap:10px;margin:24px 0}.checkout-consents label{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:12px}.checkout-disabled{width:100%;justify-content:center;opacity:.62;cursor:not-allowed}.checkout-summary{position:sticky;top:112px}.checkout-summary__label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-red)}.checkout-summary h2{margin:12px 0 0;font-size:25px;line-height:1.25;font-weight:600}.checkout-summary>p{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.65}.checkout-plan-switch{display:flex;gap:8px;margin-top:22px}.checkout-plan-switch a{padding:9px 13px;border-radius:999px;background:#f1f2f4;color:var(--muted);font-size:12px}.checkout-plan-switch a.is-active{background:#22262c;color:#fff}.checkout-total{display:flex;justify-content:space-between;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid #eceef1}.checkout-total span{color:var(--muted);font-size:12px}.checkout-total strong{font-size:14px;font-weight:600}.checkout-total--grand strong{font-size:22px}.checkout-summary>small{display:block;margin-top:18px;color:var(--muted-2);font-size:11px;line-height:1.55}.checkout-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:18px}.checkout-links a{font-size:11px;color:var(--brand-red)}
.payment-result{padding:170px 0 110px}.payment-result-card{max-width:720px;margin:auto;padding:54px;border-radius:30px;background:#fff;border:1px solid rgba(35,38,43,.06);text-align:center}.payment-result-icon{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 20px;border-radius:50%;font-size:28px;font-weight:600}.payment-result-card--success .payment-result-icon{background:#e9f7ef;color:#16834b}.payment-result-card--error .payment-result-icon{background:#fff0f1;color:var(--brand-red)}.payment-result-card h1{margin:14px 0 0;font-size:34px;font-weight:600;letter-spacing:-.03em}.payment-result-card p{max-width:560px;margin:15px auto 0;color:var(--muted);font-size:15px;line-height:1.75}.payment-result-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}.payment-result-meta span{padding:16px;border-radius:14px;background:#f6f7f9;color:var(--muted);font-size:12px}.payment-result-meta strong{display:block;margin-top:5px;color:var(--ink);font-size:14px}.payment-result-card .button{display:inline-flex}
.subscription-preview{padding:78px 0 110px}.subscription-shell{max-width:900px;margin:auto;padding:30px;border-radius:26px;background:#fff;border:1px solid rgba(35,38,43,.06)}.subscription-shell__head{display:flex;align-items:center;justify-content:space-between;gap:20px}.subscription-shell__head span{display:block;color:var(--muted);font-size:11px}.subscription-shell__head strong{display:block;margin-top:7px;font-size:22px;font-weight:600}.subscription-badge{padding:8px 12px!important;border-radius:999px;background:#e9f7ef;color:#16834b!important}.subscription-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.subscription-stats>div{padding:18px;border-radius:16px;background:#f6f7f9}.subscription-stats span{display:block;color:var(--muted);font-size:11px}.subscription-stats strong{display:block;margin-top:8px;font-size:15px;font-weight:600}.subscription-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.subscription-actions button{padding:11px 14px;border:1px solid #dddfe3;border-radius:12px;background:#fff;color:#8b9098}
@media(max-width:980px){.payment-hero__grid,.payment-checkout__grid{grid-template-columns:1fr}.payment-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-summary{position:static}.footer-payment-trust{align-items:flex-start;flex-direction:column}.footer-payment-trust__logos{justify-content:flex-start}}
@media(max-width:640px){.footer-payment-trust__logos img{height:36px}.payment-hero{padding:128px 0 64px}.payment-product-grid{grid-template-columns:1fr}.payment-checkout{padding:128px 0 80px}.payment-checkout__main,.checkout-summary{padding:22px 18px;border-radius:20px}.checkout-form-grid{grid-template-columns:1fr}.checkout-form-grid label.is-wide{grid-column:auto}.checkout-section__head{align-items:flex-start;flex-direction:column}.payment-result{padding:140px 0 80px}.payment-result-card{padding:36px 20px}.payment-result-meta,.subscription-stats{grid-template-columns:1fr}}
.payment-product-card--restricted{background:#f0f1f3;border-style:dashed;box-shadow:none}.payment-product-card--restricted .payment-product-card__top>span{color:var(--muted-2)}.payment-restricted-note{margin-top:auto;padding-top:24px}.payment-restricted-note strong{display:block;font-size:13px;font-weight:600}.payment-restricted-note span{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.55}


/* Customer account + central payment preparation v53 */
.public-login-form label small,.free-payment-form label small{font-size:10px;color:var(--muted-2);font-weight:300}
.payment-status-link{display:inline-flex;margin-top:14px;color:var(--brand-red);font-size:12px;font-weight:600}
.checkout-account-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding:16px 18px;border-radius:16px;background:#f6f7f9;border:1px solid rgba(35,38,43,.05)}
.checkout-account-bar span,.checkout-account-bar small{display:block;color:var(--muted-2);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.checkout-account-bar strong{display:block;margin-top:4px;font-size:15px;font-weight:600}.checkout-account-bar small{margin-top:4px;text-transform:none;letter-spacing:0}.checkout-account-bar>a{font-size:12px;color:var(--brand-red);font-weight:600}
.payment-catalog--projects{padding-top:0;background:#eef0f3}.payment-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:36px}.payment-project-card{display:flex;flex-direction:column;min-height:280px;padding:26px;border-radius:24px;background:#fff;border:1px solid rgba(35,38,43,.06)}.payment-project-card>div>span,.payment-project-side>span{color:var(--brand-red);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.payment-project-card h3{margin:13px 0 0;font-size:23px;line-height:1.25;font-weight:600;letter-spacing:-.025em}.payment-project-card p{margin-top:12px;color:var(--muted);font-size:14px;line-height:1.7}.payment-project-card>a{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px;color:var(--ink);font-size:13px;font-weight:600}.payment-project-card>a span{color:var(--brand-red)}
.payment-integration-note{margin-top:18px;padding:24px 26px;border-radius:22px;background:#202328;color:#fff}.payment-integration-note>div{display:flex;gap:18px;align-items:flex-start}.payment-integration-note__icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.08);font-size:20px}.payment-integration-note strong{display:block;font-size:16px;font-weight:600}.payment-integration-note p{max-width:900px;margin-top:7px;color:rgba(255,255,255,.62);font-size:13px;line-height:1.7}
.payment-free-section{padding:0 0 108px;background:#eef0f3}.payment-free-card{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:34px 38px;border-radius:26px;background:#fff;border:1px solid rgba(35,38,43,.06)}.payment-free-card h2{margin:12px 0 0;font-size:27px;line-height:1.25;font-weight:600;letter-spacing:-.03em}.payment-free-card p{max-width:720px;margin-top:11px;color:var(--muted);font-size:14px;line-height:1.7}
.payment-project-detail{padding:154px 0 110px;background:#f5f6f8}.payment-project-detail__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.52fr);gap:42px;align-items:start}.payment-project-detail .case-back{display:inline-flex;margin-bottom:28px}.payment-project-detail .section-heading h1{margin-top:12px;font-size:40px;line-height:1.15;font-weight:600;letter-spacing:-.035em}.payment-project-detail .section-heading>p{max-width:780px;margin-top:15px;color:var(--muted);font-size:15px;line-height:1.75}.payment-flow-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px}.payment-flow-steps article{padding:21px;border-radius:18px;background:#fff;border:1px solid rgba(35,38,43,.06)}.payment-flow-steps article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff0f1;color:var(--brand-red);font-size:11px;font-weight:600}.payment-flow-steps strong{display:block;margin-top:13px;font-size:15px;font-weight:600}.payment-flow-steps p{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.65}.payment-project-side{padding:28px;border-radius:24px;background:#fff;border:1px solid rgba(35,38,43,.06)}.payment-project-side h2{margin:12px 0 0;font-size:23px;line-height:1.3;font-weight:600}.payment-project-side>p{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.7}.payment-project-side .button{margin-top:22px}.payment-project-account{margin-top:22px;padding:15px;border-radius:14px;background:#f6f7f9}.payment-project-account small{display:block;color:var(--muted-2);font-size:10px}.payment-project-account strong{display:block;margin-top:5px;font-size:13px;font-weight:600}
.free-payment-form{display:grid;gap:16px;margin-top:26px;padding-top:24px;border-top:1px solid #eceef1}.free-payment-form>label{display:grid;gap:8px;color:var(--muted);font-size:12px}.free-payment-form input,.free-payment-form textarea{width:100%;padding:14px;border:1px solid #dfe3e8;border-radius:12px;background:#fff;color:var(--ink);font:inherit}.free-payment-form textarea{min-height:96px;resize:vertical}.free-payment-form .button{justify-self:start}.free-amount-input{display:grid;grid-template-columns:46px 1fr;align-items:center;border:1px solid #dfe3e8;border-radius:14px;overflow:hidden;background:#fff}.free-amount-input>span{display:grid;place-items:center;height:100%;background:#f4f5f7;color:var(--muted);font-size:16px}.free-amount-input input{border:0;border-radius:0;font-size:22px;font-weight:600}.payment-free-empty{margin-top:24px;padding:22px;border-radius:16px;background:#f6f7f9;color:var(--muted);font-size:12px;line-height:1.65}
.customer-account-page{background:#f5f6f8}.customer-account-hero{padding:154px 0 68px;background:#fff}.customer-account-hero .section-heading h1{margin-top:13px;font-size:38px;line-height:1.18;font-weight:600;letter-spacing:-.035em}.customer-account-hero .section-heading p{margin-top:14px;color:var(--muted);font-size:15px;line-height:1.7}.customer-account-body{padding:60px 0 110px}.customer-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.customer-account-grid article{display:flex;flex-direction:column;min-height:250px;padding:26px;border-radius:22px;background:#fff;border:1px solid rgba(35,38,43,.06)}.customer-account-grid article>span{color:var(--brand-red);font-size:10px;letter-spacing:.1em}.customer-account-grid h2{margin:13px 0 0;font-size:21px;line-height:1.3;font-weight:600}.customer-account-grid p{margin-top:11px;color:var(--muted);font-size:13px;line-height:1.7}.customer-account-grid a{margin-top:auto;padding-top:22px;color:var(--brand-red);font-size:12px;font-weight:600}
.subscription-page{padding:154px 0 110px}.subscription-page .section-heading h1{margin-top:12px;font-size:38px;line-height:1.2;font-weight:600}.subscription-page .section-heading p{margin-top:14px;color:var(--muted);font-size:15px;line-height:1.7}.subscription-empty{max-width:780px;margin-top:34px;padding:34px;border-radius:24px;background:#fff;border:1px solid rgba(35,38,43,.06)}.subscription-empty>span{color:var(--brand-red);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.subscription-empty h2{margin:13px 0 0;font-size:24px;font-weight:600}.subscription-empty p{margin-top:12px;color:var(--muted);font-size:14px;line-height:1.7}.subscription-empty .button{margin-top:22px}
@media(max-width:980px){.payment-project-grid,.customer-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-project-detail__grid{grid-template-columns:1fr}.payment-free-card{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.payment-project-grid,.customer-account-grid,.payment-flow-steps{grid-template-columns:1fr}.payment-project-detail,.customer-account-hero,.subscription-page{padding-top:130px}.payment-free-card{padding:26px 20px}.checkout-account-bar{align-items:flex-start;flex-direction:column}}


/* v54 — live launch + site-wide mobile polish */
.mobile-nav-actions,
.nav-backdrop { display: none; }

@media (max-width: 1180px) {
    body.nav-open { overflow: hidden; }

    .site-header {
        padding: 12px 0;
        transition: padding .22s ease;
    }
    .site-header.is-scrolled {
        padding: 10px 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }
    .header-grid {
        position: relative;
        z-index: 103;
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 8px;
        min-height: 62px;
        padding: 9px 10px 9px 14px;
        border: 1px solid rgba(35, 38, 43, .075);
        border-radius: 22px;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 12px 34px rgba(35, 38, 43, .075);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }
    .brand {
        min-width: 0;
        justify-self: start;
    }
    .brand-logo,
    .site-header.is-scrolled .brand-logo {
        width: clamp(146px, 24vw, 178px);
        transform: none;
    }
    .nav-toggle {
        position: relative;
        z-index: 105;
        display: inline-grid;
        place-items: center;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 1px solid rgba(35, 38, 43, .09);
        border-radius: 14px;
        background: #f7f8fa;
        box-shadow: none;
        justify-self: end;
        cursor: pointer;
        transition: background .2s ease, border-color .2s ease, transform .18s ease;
    }
    .nav-toggle:hover { background: #f0f2f5; }
    .nav-toggle:active { transform: scale(.96); }
    .nav-toggle span {
        position: absolute;
        width: 20px;
        height: 2px;
        margin: 0;
        border-radius: 999px;
        background: var(--ink);
        transition: transform .25s cubic-bezier(.2,.7,.2,1), top .25s cubic-bezier(.2,.7,.2,1);
    }
    .nav-toggle span:first-child { top: 17px; }
    .nav-toggle span:last-child { top: 25px; }
    .nav-toggle.is-open span:first-child { top: 21px; transform: rotate(45deg); }
    .nav-toggle.is-open span:last-child { top: 21px; transform: rotate(-45deg); }

    .header-actions {
        position: relative;
        z-index: 105;
        gap: 0;
    }
    .header-apps {
        width: 44px;
        height: 44px;
        padding: 0;
        justify-content: center;
        border-radius: 14px;
        box-shadow: 0 8px 20px rgba(35,38,43,.16);
    }
    .header-apps span { display: none; }
    .header-apps svg { width: 17px; height: 17px; }

    .main-nav,
    .main-nav.is-open {
        position: fixed;
        z-index: 102;
        top: 88px;
        left: max(18px, env(safe-area-inset-left));
        right: max(18px, env(safe-area-inset-right));
        display: grid;
        gap: 2px;
        max-height: calc(100dvh - 108px);
        overflow-y: auto;
        padding: 12px;
        border: 1px solid rgba(35, 38, 43, .08);
        border-radius: 24px;
        background: rgba(255,255,255,.985);
        box-shadow: 0 28px 70px rgba(19, 23, 29, .18);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px) scale(.985);
        transform-origin: top center;
        pointer-events: none;
        transition: opacity .2s ease, transform .24s cubic-bezier(.2,.7,.2,1), visibility .2s ease;
        overscroll-behavior: contain;
    }
    .main-nav.is-open {
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
    }
    .main-nav > a {
        width: 100%;
        padding: 13px 14px;
        border-radius: 12px;
        color: #444b54;
        font-size: 15px;
        font-weight: 400;
        line-height: 1.2;
    }
    .main-nav > a::after { display: none; }
    .main-nav > a:hover,
    .main-nav > a:focus-visible { background: #f5f6f8; color: var(--ink); }
    .main-nav > a.is-active {
        background: #fff0f1;
        color: var(--brand-red);
        font-weight: 500;
    }
    .mobile-nav-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        margin-top: 8px;
        padding-top: 12px;
        border-top: 1px solid #eceef1;
    }
    .main-nav .mobile-nav-actions a {
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 46px;
        margin: 0;
        padding: 0 15px;
        border-radius: 13px;
        font-size: 13px;
        font-weight: 500;
    }
    .main-nav .mobile-nav-actions a::after { display: none; }
    .main-nav .mobile-nav-actions__primary { background: var(--brand-red); color: #fff; }
    .main-nav .mobile-nav-actions__secondary { background: #f3f4f6; color: var(--ink); }
    .nav-backdrop {
        position: fixed;
        z-index: 99;
        inset: 0;
        display: block;
        background: rgba(22, 25, 30, .28);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        backdrop-filter: blur(3px);
        -webkit-backdrop-filter: blur(3px);
        transition: opacity .2s ease, visibility .2s ease;
    }
    .nav-backdrop.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

@media (max-width: 760px) {
    :root {
        --gutter: 18px;
        --section-y: 68px;
        --radius-xl: 24px;
        --radius-lg: 20px;
        --radius-md: 16px;
    }
    html { overflow-x: hidden; }
    body { overflow-x: hidden; }
    body.nav-open { overflow: hidden; }
    .container { width: min(100% - 36px, 1240px); }

    .site-header { padding-top: max(10px, env(safe-area-inset-top)); }
    .header-grid {
        min-height: 58px;
        padding: 7px 8px 7px 12px;
        border-radius: 19px;
    }
    .brand-logo,
    .site-header.is-scrolled .brand-logo { width: clamp(138px, 42vw, 160px); }
    .nav-toggle,
    .header-apps { width: 42px; height: 42px; border-radius: 13px; }
    .nav-toggle span:first-child { top: 16px; }
    .nav-toggle span:last-child { top: 24px; }
    .nav-toggle.is-open span:first-child,
    .nav-toggle.is-open span:last-child { top: 20px; }
    .main-nav,
    .main-nav.is-open {
        top: calc(max(10px, env(safe-area-inset-top)) + 72px);
        left: 12px;
        right: 12px;
        max-height: calc(100dvh - max(10px, env(safe-area-inset-top)) - 92px);
        border-radius: 20px;
    }

    /* Consistent mobile type scale */
    .hero h1,
    .projects-page-hero h1,
    .product-detail-hero h1,
    .case-hero h1,
    .cap-page-hero h1,
    .capability-detail-hero h1,
    .services-page-hero h1,
    .service-detail-hero h1,
    .references-hero h1,
    .tools-page-hero h1,
    .tool-hero h1,
    .blog-page-hero h1,
    .blog-article-hero h1,
    .public-login-copy h1,
    .payment-hero .section-heading h1,
    .payment-project-detail .section-heading h1,
    .customer-account-hero .section-heading h1,
    .subscription-page .section-heading h1 {
        font-size: clamp(31px, 9.2vw, 38px);
        line-height: 1.08;
        letter-spacing: -.035em;
    }
    .section-heading h2,
    .dark-head h2,
    .story-copy h2,
    .final-cta h2,
    .case-heading h2,
    .contact-info h2,
    .custom-software-cta h2 {
        font-size: clamp(27px, 7.8vw, 33px);
        line-height: 1.14;
        letter-spacing: -.03em;
    }
    .eyebrow,
    .section-index {
        font-size: 10px;
        line-height: 1.35;
        letter-spacing: .11em;
    }
    .hero-copy > p,
    .section-heading p,
    .dark-head p,
    .process-copy p,
    .story-copy p,
    .final-cta p,
    .case-hero__copy > p,
    .case-heading p,
    .corp-hero .section-heading p,
    .legal-hero .section-heading p {
        font-size: 15px;
        line-height: 1.7;
    }

    /* Shared mobile spacing */
    .hero { padding: 116px 0 64px; }
    .projects-page-hero,
    .cap-page-hero,
    .capability-detail-hero,
    .services-page-hero,
    .service-detail-hero,
    .references-hero,
    .tools-page-hero,
    .tool-hero,
    .blog-page-hero,
    .blog-article-hero,
    .corp-hero,
    .legal-hero,
    .public-login-page,
    .payment-hero,
    .payment-checkout,
    .payment-project-detail,
    .customer-account-hero,
    .subscription-page {
        padding-top: 118px;
    }
    .phase-section,
    .projects-section,
    .process-section,
    .products-section,
    .services-section,
    .story-section,
    .reference-featured-section,
    .reference-archive-section,
    .products-directory,
    .project-directory,
    .capability-detail-intro,
    .capability-lifestyle,
    .capability-detail-points,
    .capability-lead-section,
    .services-group,
    .service-detail-intro,
    .service-detail-visual,
    .service-detail-points,
    .service-lead-section,
    .tool-info-section,
    .blog-related,
    .contact-main,
    .about-story,
    .about-timeline,
    .about-values,
    .career-values,
    .career-apply,
    .culture-scroll,
    .culture-end,
    .legal-content {
        padding-top: 68px;
        padding-bottom: 68px;
    }

    /* All public directory and detail layouts collapse cleanly */
    .hero-layout,
    .projects-page-hero__grid,
    .cap-page-hero__grid,
    .capability-detail-hero__grid,
    .capability-detail-split,
    .capability-lead-grid,
    .services-page-hero__grid,
    .service-detail-hero__grid,
    .service-lead-grid,
    .references-hero__grid,
    .tools-page-hero__grid,
    .tool-info-grid,
    .tool-workspace,
    .blog-page-hero__grid,
    .blog-featured,
    .blog-article-layout,
    .contact-layout,
    .about-story__grid,
    .career-apply__grid,
    .culture-scroll__layout,
    .legal-layout,
    .public-login-layout,
    .payment-hero__grid,
    .payment-checkout__grid,
    .payment-project-detail__grid,
    .case-hero__grid,
    .case-scroll-story__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .project-directory-grid,
    .products-directory-grid,
    .services-directory-grid,
    .reference-featured-grid,
    .reference-archive-grid,
    .cap-detail-grid,
    .capability-point-grid,
    .capability-reference-grid,
    .capability-review-grid,
    .tools-directory-grid,
    .blog-directory-grid,
    .home-blog-grid,
    .blog-related-grid,
    .corp-card-grid,
    .certificate-grid,
    .product-detail-feature-grid,
    .product-detail-audience-grid,
    .payment-product-grid,
    .payment-project-grid,
    .customer-account-grid,
    .payment-flow-steps,
    .role-grid,
    .case-module-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Cards and media */
    .project-directory-card,
    .product-directory-card,
    .services-directory-card,
    .reference-featured-card,
    .reference-archive-card,
    .tool-directory-card,
    .blog-directory-card,
    .cap-detail-card,
    .capability-reference-card,
    .capability-review-card,
    .corp-card-grid article,
    .payment-product-card,
    .payment-project-card,
    .customer-account-grid article,
    .case-module,
    .role-card {
        min-height: 0;
        border-radius: 18px;
    }
    .project-directory-card,
    .product-directory-card,
    .services-directory-card,
    .tool-directory-card,
    .payment-product-card,
    .payment-project-card,
    .customer-account-grid article { padding: 20px; }
    .home-section-media,
    .hero-image-frame,
    .blog-article-cover,
    .capability-lifestyle__frame,
    .generic-project-visual__frame,
    .cms-media-slide__image,
    .project-cms-hero__media,
    .product-cms-hero__image {
        border-radius: 18px;
    }
    .home-section-media img,
    .hero-image-frame img,
    .product-cms-hero__image img,
    .cms-media-slide__image img { height: auto; max-width: 100%; }

    /* Buttons are easy to tap without becoming oversized */
    .button-row {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        margin-top: 28px;
    }
    .button-row .button { width: 100%; }
    .button {
        min-height: 50px;
        padding-inline: 20px;
    }
    .section-action { margin-top: 26px; }

    /* Filters remain single-line and swipeable on small screens */
    .project-filter,
    .product-filter,
    .reference-filter,
    .blog-filter,
    .depo-movement-filter,
    .shoe-preview__filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-left: -18px;
        margin-right: -18px;
        padding: 2px 18px 10px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .project-filter::-webkit-scrollbar,
    .product-filter::-webkit-scrollbar,
    .reference-filter::-webkit-scrollbar,
    .blog-filter::-webkit-scrollbar,
    .depo-movement-filter::-webkit-scrollbar,
    .shoe-preview__filters::-webkit-scrollbar { display: none; }
    .project-filter button,
    .product-filter button,
    .reference-filter button,
    .blog-filter a,
    .blog-filter button,
    .depo-movement-filter button,
    .shoe-preview__filters span { flex: 0 0 auto; white-space: nowrap; }

    /* Forms */
    .public-form-row,
    .capability-form-row,
    .checkout-form-grid,
    .tool-form-grid { grid-template-columns: minmax(0, 1fr); }
    .public-form input,
    .public-form textarea,
    .public-form select,
    .capability-lead-form input,
    .capability-lead-form textarea,
    .checkout-form-grid input,
    .checkout-form-grid textarea,
    .free-payment-form input,
    .free-payment-form textarea,
    .tool-form input,
    .tool-form select,
    .tool-form textarea {
        font-size: 16px;
    }
    .contact-form-wrap,
    .capability-lead-form,
    .tool-form,
    .tool-results,
    .public-login-card,
    .payment-checkout__main,
    .checkout-summary,
    .legal-article {
        padding: 20px 18px;
        border-radius: 18px;
    }

    /* Long content */
    .legal-nav { overflow-x: auto; display: flex; gap: 6px; padding: 8px; border-radius: 14px; scrollbar-width: none; }
    .legal-nav::-webkit-scrollbar { display: none; }
    .legal-nav strong { display: none; }
    .legal-nav a { flex: 0 0 auto; white-space: nowrap; background: #f5f6f8; }
    .blog-article-content { font-size: 16px; line-height: 1.76; overflow-wrap: anywhere; }
    .blog-article-content h2 { margin-top: 40px; font-size: 26px; }
    .blog-article-content h3 { margin-top: 32px; font-size: 21px; }
    .blog-article-content pre,
    .blog-article-content table { max-width: 100%; overflow-x: auto; }
    .blog-article-content iframe { min-height: 200px; border-radius: 12px; }

    /* Footer: compact but still readable */
    .site-footer { padding: 64px 0 26px; }
    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 18px;
    }
    .footer-intro { grid-column: 1 / -1; }
    .footer-logo { width: 170px; }
    .footer-intro p { max-width: 480px; font-size: 14px; line-height: 1.7; }
    .footer-contact-lines { margin-top: 20px; }
    .site-footer h3 { margin-bottom: 12px; }
    .site-footer a { margin: 8px 0; font-size: 13px; line-height: 1.35; }
    .footer-grid > div:nth-child(4) { grid-column: 1 / -1; columns: 2; column-gap: 18px; }
    .footer-grid > div:nth-child(4) h3 { column-span: all; }
    .footer-bottom {
        margin-top: 34px;
        padding-top: 16px;
        gap: 10px;
        font-size: 10px;
        line-height: 1.55;
        letter-spacing: .06em;
        text-transform: none;
    }

    .cookie-consent {
        left: 10px;
        right: 10px;
        bottom: max(10px, env(safe-area-inset-bottom));
        gap: 14px;
        padding: 15px;
        border-radius: 18px;
    }
    .cookie-consent__actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .cookie-consent button { min-height: 42px; padding: 9px 10px; }

    /* Detail docks must not cover content on narrow screens */
    .detail-float-dock,
    .detail-product-dock {
        left: 10px;
        right: 10px;
        bottom: max(10px, env(safe-area-inset-bottom));
        width: auto;
        max-width: none;
    }
}

@media (max-width: 420px) {
    :root { --gutter: 16px; }
    .container { width: calc(100% - 32px); }
    .header-grid { padding-left: 10px; }
    .brand-logo,
    .site-header.is-scrolled .brand-logo { width: 132px; }
    .nav-toggle,
    .header-apps { width: 40px; height: 40px; }
    .header-grid { gap: 6px; }
    .mobile-nav-actions { grid-template-columns: 1fr; }
    .hero-meta { gap: 10px; }
    .hero-meta div { padding: 16px 18px; border-radius: 17px; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 14px; }
    .footer-grid > div:nth-child(4) { columns: 1; }
    .footer-grid > div:nth-child(5) { grid-column: 1 / -1; }
    .cookie-consent__actions { grid-template-columns: 1fr; }
}

/* v4.9 — next product price context */
.case-next__prices{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.case-next__prices>span{display:inline-flex;align-items:baseline;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07)}
.case-next__prices em{color:rgba(255,255,255,.58);font-size:9px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.case-next__prices strong{color:#fff;font-size:12px;font-weight:600;white-space:nowrap}
@media(max-width:640px){.case-next__prices{margin-top:12px;gap:6px}.case-next__prices>span{padding:6px 8px}.case-next__prices strong{font-size:11px}}
