/* Clearpoint homepage rebuilt using the reference site's visual system */

:root {
    --primary: #8d0c0c;
    --primary-rgb: 141, 12, 12;
    --secondary: #a91b1b;
    --secondary-rgb: 169, 27, 27;
    --accent: #c65b5b;
    --accent-rgb: 198, 91, 91;
    --accent-soft: #d7a2a2;
    --ink: #0f172a;
    --ink-soft: #334155;
    --muted: #64748b;
    --surface: #ffffff;
    --surface-soft: rgba(255, 255, 255, 0.72);
    --surface-mist: #fff7f7;
    --surface-dark: #091121;
    --border: rgba(148, 163, 184, 0.18);
    --border-strong: rgba(var(--primary-rgb), 0.18);
    --glow: rgba(var(--primary-rgb), 0.24);
    --shadow-soft: 0 20px 60px rgba(15, 23, 42, 0.08);
    --shadow-strong: 0 28px 80px rgba(15, 23, 42, 0.18);
    --radius-xl: 2rem;
    --radius-2xl: 2.5rem;
    --transition: 240ms ease;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Inter", sans-serif;
    color: var(--ink);
    background: linear-gradient(180deg, #fff9f9 0%, #fff5f5 60%, #ffffff 100%);
    line-height: 1.6;
    overflow-x: hidden;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea {
    font: inherit;
}

#bg-canvas {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    background: linear-gradient(135deg, #fffafa 0%, #fdf0f0 60%, #ffffff 100%);
}

#framework-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    z-index: 0;
}

#cursor-follower {
    position: fixed;
    width: 26px;
    height: 26px;
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(var(--primary-rgb), 0.35);
    box-shadow: 0 0 0 6px rgba(var(--primary-rgb), 0.06);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    transition: width 180ms ease, height 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

#cursor-follower.is-active {
    width: 34px;
    height: 34px;
    background: rgba(var(--primary-rgb), 0.08);
    border-color: rgba(var(--primary-rgb), 0.55);
    box-shadow: 0 0 0 10px rgba(var(--primary-rgb), 0.08);
}

.shell {
    width: min(1180px, calc(100% - 2rem));
    margin: 0 auto;
}

.shell--wide {
    width: min(1360px, calc(100% - 3rem));
}

.shell--hero {
    width: min(1480px, calc(100% - 3rem));
}

.section {
    position: relative;
    padding: 7.5rem 0;
}

.section--light {
    background: transparent;
}

.section--mist {
    background: rgba(255, 255, 255, 0.42);
}

.report-types,
.faq-section {
    background: rgba(255, 255, 255, 0.28);
}

.section--dark {
    background:
        radial-gradient(circle at top right, rgba(var(--primary-rgb), 0.18), transparent 28%),
        linear-gradient(180deg, #0c162c 0%, #091121 100%);
    color: #f8fbff;
}

.digital-wipe {
    position: relative;
    overflow: hidden;
}

.digital-wipe::before {
    content: "";
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, transparent, rgba(var(--accent-rgb), 0.2), transparent);
    pointer-events: none;
    z-index: 3;
    opacity: 0;
}

.digital-wipe.active::before {
    opacity: 1;
    animation: wipe-down 1.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.cyber-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(var(--primary-rgb), 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(var(--primary-rgb), 0.05) 1px, transparent 1px);
    background-size: 50px 50px;
    mask-image: radial-gradient(circle at center, black, transparent 82%);
    pointer-events: none;
    z-index: 0;
}

.cyber-grid--soft {
    opacity: 0.7;
}

.cyber-grid--dark {
    opacity: 0.22;
}

.circuit-line {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    opacity: 0.22;
}

.circuit-line.h {
    width: 140px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--accent), transparent);
}

.circuit-line.v {
    width: 1px;
    height: 160px;
    background: linear-gradient(180deg, transparent, var(--accent), transparent);
}

.hero-line-top {
    top: 16%;
    left: 0;
}

.hero-line-side {
    top: 0;
    left: 14%;
}

.site-nav {
    position: fixed;
    inset: 0 0 auto;
    z-index: 50;
    transition: background var(--transition), box-shadow var(--transition), backdrop-filter var(--transition), border-color var(--transition);
}

.site-nav.is-stuck {
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
}

.site-nav__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    height: 100px;
    
}

.brand {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.brand__logo {
    display: block;
    width: clamp(152px, 12vw, 192px);
    height: auto;
}

.glass-pill,
.glass-card {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.glass-pill {
    display: flex;
    align-items: center;
    gap: 1.7rem;
    padding: 0.9rem 1.6rem;
    border-radius: 999px;
}

.site-nav__links {
    flex: 1;
    justify-content: center;
    max-width: 670px;
}

.nav-link {
    position: relative;
    color: var(--ink-soft);
    font-size: 0.94rem;
    font-weight: 500;
}

.nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.35rem;
    width: 0;
    height: 2px;
    background: var(--primary);
    transition: width var(--transition);
}

.nav-link:hover {
    color: var(--primary);
}

.nav-link[aria-current="page"] {
    color: var(--primary);
}

.nav-link:hover::after {
    width: 100%;
}

.nav-link[aria-current="page"]::after {
    width: 100%;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1.15rem;
    padding: 0.95rem 1.45rem;
    font-weight: 700;
    transition: transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition), border-color var(--transition);
    border: 1px solid transparent;
}

.button--dark {
    background: #101828;
    color: #fff;
}

.button--dark:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.22);
}

.button--primary {
    background: var(--primary);
    color: #fff;
    box-shadow: 0 18px 34px rgba(var(--primary-rgb), 0.24);
}

.button--primary:hover {
    background: #741010;
}

.button--glass {
    color: var(--ink);
    background: rgba(255, 255, 255, 0.58);
    border-color: var(--border);
}

.button--glass:hover {
    background: rgba(255, 255, 255, 0.9);
}

.site-nav__cta {
    white-space: nowrap;
}

.menu-button {
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 3rem;
    height: 3rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--shadow-soft);
    padding: 0.7rem;
}

.menu-button span {
    display: block;
    width: 1.05rem;
    height: 2px;
    background: var(--ink);
    margin: 0.12rem 0;
    border-radius: 999px;
}

.mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 49;
    background: rgba(248, 251, 255, 0.92);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transform: translateX(100%);
    transition: transform var(--transition);
}

.mobile-menu.is-open {
    transform: translateX(0);
}

.mobile-menu__panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 8rem 1.6rem 2rem;
}

.mobile-menu__panel a {
    padding: 1rem 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    font-size: 1.35rem;
    font-weight: 700;
}

.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 8.5rem;
    padding-bottom: 4rem;
}

.hero__grid,
.about-grid,
.framework-grid,
.why-grid,
.operating-grid {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 4rem;
    align-items: center;
}

.hero__grid,
.about-grid,
.framework-grid,
.why-grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
}

.hero__grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: 4.5rem;
}

.hero__content {
    max-width: 56rem;
}

.eyebrow,
.section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border-radius: 999px;
    padding: 0.5rem 0.9rem;
    background: rgba(var(--primary-rgb), 0.08);
    color: var(--primary);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.eyebrow__dot {
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: var(--primary);
}

.section-label--dark {
    background: rgba(var(--accent-rgb), 0.12);
    color: #90c2ff;
}

h1,
h2,
h3,
h4 {
    margin: 0;
    font-family: "Outfit", sans-serif;
    line-height: 1.08;
    letter-spacing: 0;
    font-weight: 700;
}

h1 {
    margin-top: 1.2rem;
    font-size: clamp(2.45rem, 4vw, 4.15rem);
    max-width: 13.1ch;
    line-height: 1.03;
}

.hero__content h1 span {
    display: block;
    white-space: nowrap;
}

.hero-highlight {
    color: var(--primary);
    font-style: italic;
    font-weight: 700;
}

h2 {
    font-size: clamp(2.05rem, 3.1vw, 3rem);
    text-wrap: balance;
}

h3 {
    font-size: clamp(1.15rem, 1.55vw, 1.45rem);
}

p {
    margin: 0;
    color: var(--muted);
    font-size: 0.98rem;
}

.section--dark p,
.section--dark li {
    color: rgba(226, 232, 240, 0.82);
}

.hero__lede {
    margin-top: 1.5rem;
    max-width: 33rem;
    font-size: 1.03rem;
    line-height: 1.72;
}

.hero__lede--secondary {
    margin-top: -0.4rem;
    max-width: 30rem;
    color: var(--ink-soft);
}

.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.hero__signals {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.95rem;
    padding: 0;
    margin: 2.25rem 0 0;
    list-style: none;
}

.hero__signals li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
    align-items: start;
    padding: 1rem;
    border-radius: 1.6rem;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(255, 255, 255, 0.82);
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}

.hero__signals strong {
    display: block;
    margin-bottom: 0.28rem;
    font-family: "Outfit", sans-serif;
    font-size: 1rem;
    line-height: 1.15;
    letter-spacing: 0;
}

.hero__signals li span:last-child {
    color: var(--muted);
    font-size: 0.87rem;
    line-height: 1.55;
}

.hero__visual {
    position: relative;
}

.hero-card {
    position: relative;
    max-width: 40rem;
    margin-left: auto;
    padding: 1.6rem;
    border-radius: 2.5rem;
    overflow: hidden;
}

.hero-card__image {
    width: 100%;
    aspect-ratio: 0.92 / 1;
    object-fit: cover;
    border-radius: 1.85rem;
    position: relative;
    z-index: 4;
}

.hero-card__badge {
    position: absolute;
    left: 1.7rem;
    bottom: 1.7rem;
    z-index: 8;
    border-radius: 1.35rem;
    padding: 0.95rem 1.1rem;
}

.hero-card__badge-label {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.68rem;
    color: var(--primary);
    margin-bottom: 0.3rem;
}

.hero-card__badge strong {
    font-family: "Outfit", sans-serif;
    font-size: 1rem;
}

.glow-border {
    position: relative;
}

.glow-border::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    background: linear-gradient(45deg, var(--primary), var(--accent), var(--secondary), var(--primary));
    background-size: 300%;
    filter: blur(14px);
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: -1;
    animation: glow-rotate 16s linear infinite;
}

.glow-border:hover::before {
    opacity: 0.45;
}

.hud-ring,
.radar-sweep,
.wavefront,
.scan-bracket,
.scan-line,
.data-node {
    position: absolute;
    pointer-events: none;
}

.hud-ring {
    inset: 6%;
    border: 1px solid rgba(var(--accent-rgb), 0.26);
    border-radius: 50%;
    z-index: 3;
}

.hud-ring-outer {
    inset: -2%;
    border-style: dashed;
    animation: spin 18s linear infinite;
}

.hud-ring-inner {
    border-style: dotted;
    animation: spin-reverse 14s linear infinite;
}

.radar-sweep {
    inset: -12%;
    border-radius: 50%;
    background: conic-gradient(from 0deg at 50% 50%, rgba(var(--primary-rgb), 0.22) 0deg, transparent 90deg);
    animation: spin 4s linear infinite;
    opacity: 0.3;
    z-index: 1;
}

.wavefront {
    width: 200%;
    height: 200%;
    left: -50%;
    top: -50%;
    border: 1px solid rgba(var(--accent-rgb), 0.16);
    border-radius: 38%;
    animation: morph-wave 12s linear infinite;
    z-index: 0;
}

.scan-bracket {
    width: 2.7rem;
    height: 2.7rem;
    border: 2px solid rgba(var(--accent-rgb), 0.45);
    z-index: 6;
}

.scan-bracket--tl {
    top: 1rem;
    left: 1rem;
    border-right: 0;
    border-bottom: 0;
    border-top-left-radius: 1rem;
}

.scan-bracket--tr {
    top: 1rem;
    right: 1rem;
    border-left: 0;
    border-bottom: 0;
    border-top-right-radius: 1rem;
}

.scan-bracket--bl {
    bottom: 1rem;
    left: 1rem;
    border-right: 0;
    border-top: 0;
    border-bottom-left-radius: 1rem;
}

.scan-bracket--br {
    right: 1rem;
    bottom: 1rem;
    border-left: 0;
    border-top: 0;
    border-bottom-right-radius: 1rem;
}

.scan-line {
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(var(--accent-rgb), 0.9), transparent);
    opacity: 0.7;
    z-index: 6;
    animation: scan 3s linear infinite;
}

.data-node {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: var(--accent);
    filter: blur(1px);
    animation: pulse-node 2s ease-in-out infinite;
    z-index: 6;
}

.node-a {
    top: 20%;
    left: 18%;
}

.node-b {
    top: 32%;
    right: 18%;
    animation-delay: 0.6s;
}

.node-c {
    bottom: 22%;
    left: 28%;
    animation-delay: 1.1s;
}

.copy-stack,
.framework-copy,
.section-heading,
.contact-panel__content,
.contact-panel__actions,
.framework-panel__body,
.faq-copy {
    display: grid;
    gap: 1.2rem;
}

.icon-box {
    position: relative;
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    border-radius: 1rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(219, 234, 254, 0.8)),
        rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(var(--primary-rgb), 0.16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 14px 28px rgba(var(--primary-rgb), 0.08);
}

.icon-box::before,
.icon-box::after {
    content: "";
    position: absolute;
}

.icon-box::before {
    inset: 0.7rem;
    border: 1.5px solid rgba(var(--primary-rgb), 0.42);
    border-radius: 0.75rem;
}

.icon-box::after {
    width: 0.48rem;
    height: 0.48rem;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    background: var(--primary);
    box-shadow: 0 0 0 5px rgba(var(--primary-rgb), 0.12);
    transform: translate(-50%, -50%);
}

.icon-box--grid::before {
    inset: 0.6rem;
    border-radius: 0.65rem;
    border-style: dashed;
}

.icon-box--trace::before {
    inset: 0.72rem 0.62rem;
    border-left: 1.5px solid rgba(var(--primary-rgb), 0.42);
    border-right: 1.5px solid rgba(var(--primary-rgb), 0.18);
    border-top: 0;
    border-bottom: 0;
    border-radius: 0;
}

.icon-box--trace::after {
    width: 1rem;
    height: 1rem;
    background: transparent;
    border-radius: 50%;
    border: 2px solid rgba(var(--primary-rgb), 0.58);
    box-shadow: none;
}

.icon-box--shield::before {
    inset: 0.56rem 0.72rem 0.9rem;
    border-radius: 0.75rem 0.75rem 1rem 1rem;
}

.icon-box--shield::after {
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 0;
    background: transparent;
    border-right: 2px solid rgba(var(--primary-rgb), 0.62);
    border-bottom: 2px solid rgba(var(--primary-rgb), 0.62);
    box-shadow: none;
    transform: translate(-50%, -62%) rotate(40deg);
}

.icon-box--signal::before {
    inset: 0.68rem;
    border-radius: 50%;
}

.icon-box--signal::after {
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    background: transparent;
    border: 1.5px solid rgba(var(--primary-rgb), 0.5);
    box-shadow: 0 0 0 5px rgba(var(--primary-rgb), 0.08);
}

.metric-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.metric-card,
.service-card,
.operating-card {
    border-radius: var(--radius-xl);
    padding: 1.6rem;
}

.metric-card__value {
    display: block;
    font-family: "Outfit", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary);
}

.metric-card__label {
    color: var(--muted);
}

.metric-card--dark {
    background: #0f172a;
    color: #fff;
}

.metric-card--dark .metric-card__value,
.metric-card--dark .metric-card__label {
    color: #f8fbff;
}

.image-mosaic {
    position: relative;
    min-height: 42rem;
}

.image-mosaic__primary,
.image-mosaic__secondary {
    position: absolute;
    overflow: hidden;
    border-radius: 2.2rem;
}

.image-mosaic__primary {
    inset: 0 4rem 8rem 0;
}

.image-mosaic__secondary {
    right: 0;
    bottom: 0;
    width: 48%;
    max-width: 17rem;
}

.image-mosaic__primary img,
.image-mosaic__secondary img,
.why-visual__image img,
.framework-panel__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.floating-note,
.floating-insight {
    position: absolute;
    max-width: 16rem;
    border-radius: 1.5rem;
    padding: 1rem 1.1rem;
    z-index: 5;
}

.floating-note {
    left: 1.3rem;
    bottom: 1.8rem;
}

.floating-insight {
    left: -1.5rem;
    bottom: 2rem;
}

.floating-note__eyebrow,
.floating-insight__label {
    display: block;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.7rem;
    color: var(--primary);
    font-weight: 700;
}

.framework-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
}

.framework-intro {
    font-size: 1.08rem;
}

.framework-list {
    display: grid;
    gap: 1rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.framework-list li {
    position: relative;
    padding-left: 1.35rem;
}

.framework-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72rem;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: var(--accent);
}

.framework-panel {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 1.5rem;
}

.framework-panel__media {
    overflow: hidden;
    border-radius: var(--radius-2xl);
    padding: 1rem;
}

.framework-panel__media img {
    aspect-ratio: 1 / 1;
    border-radius: 1.8rem;
}

.framework-panel__body h3 {
    color: #ffffff;
}

.value-strip,
.report-grid {
    display: grid;
    gap: 1.25rem;
}

.value-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.section-heading {
    max-width: 44rem;
    margin-bottom: 3.25rem;
}

.report-types .section-heading {
    margin-bottom: 2rem;
}

.section-heading h2,
.framework-copy h2,
.faq-copy h2,
.contact-panel__content h2,
.about-copy h2,
.about-intro__header h1,
.about-story__panel h2,
.about-capabilities__header h2,
.about-method__intro h2,
.about-process__content h2,
.about-principles__header h2,
.about-audience__intro h2,
.about-team__header h2,
.about-closing__panel h2 {
    max-width: 12.5ch;
}

.section-heading p,
.about-capabilities__header p,
.about-team__header p,
.about-principles__header p,
.about-audience__intro p,
.about-method__intro p,
.faq-copy p {
    max-width: 38rem;
}

.report-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    gap: 1.25rem;
    align-items: stretch;
}

.report-showcase {
    display: grid;
    gap: 1.25rem;
    align-content: start;
    padding: 1.35rem;
    border-radius: 2.3rem;
}

.report-showcase__media {
    margin: 0;
    overflow: hidden;
    border-radius: 1.8rem;
}

.report-showcase__media img {
    width: 100%;
    height: 100%;
    min-height: 18rem;
    object-fit: cover;
}

.report-showcase__body {
    display: grid;
    gap: 0.95rem;
}

.report-showcase__body h3 {
    max-width: 12ch;
}

.insight-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.insight-chip {
    padding: 0.75rem 0.95rem;
    border-radius: 999px;
    background: rgba(var(--primary-rgb), 0.07);
    border: 1px solid rgba(var(--primary-rgb), 0.12);
    color: var(--ink-soft);
    font-size: 0.86rem;
    font-weight: 600;
}

.report-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.principles-grid,
.team-grid {
    display: grid;
    gap: 1.25rem;
}

.principles-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.team-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.report-card {
    display: grid;
    align-content: start;
    gap: 0.9rem;
    border-radius: var(--radius-xl);
    padding: 1.55rem;
    min-height: 13.5rem;
}

.report-card__top,
.service-card__top,
.about-capability__top,
.about-audience__top,
.about-team__top,
.about-intro__support-top,
.about-intro__metric-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.report-card__meta {
    color: var(--primary);
    font-size: 0.74rem;
    font-weight: 800;
}

.team-card {
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 0.9rem;
    border-radius: 2.2rem;
    padding: 2rem 1.5rem;
    min-height: 21rem;
}

.team-avatar {
    width: 6rem;
    height: 6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.16), rgba(var(--accent-rgb), 0.28));
    border: 4px solid rgba(255, 255, 255, 0.88);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12);
    font-family: "Outfit", sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--primary);
}

.team-role {
    color: var(--primary);
    font-size: 0.88rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
}

.service-card {
    display: grid;
    gap: 1rem;
    min-height: 15rem;
}

.service-card__index {
    color: var(--primary);
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-size: 0.75rem;
}

.service-card:hover {
    background: #0f172a;
    transform: translateY(-6px);
}

.service-card:hover h3,
.service-card:hover p {
    color: #fff;
}

.ai-pulse-glow {
    position: relative;
}

.ai-pulse-glow::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: 0 0 24px var(--glow);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.ai-pulse-glow:hover::after {
    opacity: 1;
}

.why-grid {
    align-items: center;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
}

.advantage-list {
    display: grid;
    gap: 1.5rem;
    padding: 0;
    margin: 2rem 0 0;
    list-style: none;
}

.advantage-list li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
}

.advantage-list__icon,
.contact-point__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: rgba(var(--primary-rgb), 0.1);
    color: var(--primary);
    font-weight: 800;
    flex-shrink: 0;
}

.why-visual {
    position: relative;
}

.why-visual__image {
    overflow: hidden;
    margin: 0;
    border-radius: 2.6rem;
    box-shadow: var(--shadow-strong);
}

.why-visual__image img {
    aspect-ratio: 0.95 / 1;
}

.operating-grid {
    gap: 2rem;
}

.faq-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: 2rem;
    align-items: start;
}

.faq-copy {
    position: sticky;
    top: 7rem;
}

.faq-list {
    display: grid;
    gap: 1rem;
}

.faq-item {
    border-radius: 1.7rem;
    padding: 0;
    overflow: hidden;
}

.faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.35rem 1.5rem;
    border: 0;
    background: transparent;
    color: var(--ink);
    font-family: "Outfit", sans-serif;
    font-size: 1.08rem;
    font-weight: 600;
    letter-spacing: 0;
    text-align: left;
    cursor: pointer;
}

.faq-question__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: rgba(var(--primary-rgb), 0.1);
    color: var(--primary);
    font-size: 1.2rem;
    flex-shrink: 0;
    transition: transform var(--transition), background var(--transition);
}

.faq-item.is-open .faq-question__icon {
    transform: rotate(45deg);
    background: rgba(var(--primary-rgb), 0.16);
}

.faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--transition);
}

.faq-answer > p {
    overflow: hidden;
    padding: 0 1.5rem;
}

.faq-answer.is-open {
    grid-template-rows: 1fr;
}

.faq-answer.is-open > p {
    padding-bottom: 1.4rem;
}

.operating-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}

.operating-card {
    min-height: 14rem;
    display: grid;
    align-content: start;
    gap: 0.9rem;
}

.operating-card__phase {
    color: var(--primary);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-weight: 800;
}

.contact-section {
    padding-top: 1rem;
}

.contact-panel {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 0;
    overflow: hidden;
    border-radius: 3rem;
}

.contact-panel__content,
.contact-panel__actions {
    padding: 3rem;
}

.contact-panel__actions {
    background: #091121;
    color: #fff;
    grid-template-columns: 1fr;
}

.contact-points {
    display: grid;
    gap: 1rem;
}

.contact-point {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
}

.contact-card {
    display: grid;
    gap: 1rem;
    padding: 1.6rem;
    border-radius: var(--radius-xl);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.contact-card--dark {
    background: linear-gradient(180deg, rgba(var(--primary-rgb), 0.22), rgba(var(--primary-rgb), 0.08));
    border-color: rgba(var(--accent-rgb), 0.14);
}

.contact-card h3,
.contact-panel__actions h3,
.contact-panel__actions p,
.next-steps li {
    color: #fff;
}

.next-steps {
    margin: 0;
    padding-left: 1.2rem;
    display: grid;
    gap: 0.6rem;
}

.site-footer {
    border-top: 1px solid rgba(148, 163, 184, 0.16);
    background: rgba(255, 255, 255, 0.55);
}

.site-footer__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.5rem 0;
}

.site-footer__brand {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.site-footer__logo {
    display: block;
    width: clamp(180px, 14vw, 220px);
    height: auto;
}

.site-footer__meta {
    display: grid;
    gap: 0.25rem;
    justify-items: center;
    text-align: center;
}

.site-footer p,
.site-footer__links a {
    font-size: 0.92rem;
    color: var(--muted);
}

.site-footer__links {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}

.about-page .hero,
.about-page .about-grid,
.about-page .framework-grid,
.about-page .why-grid,
.about-page .operating-grid,
.about-page .contact-panel {
    all: unset;
}

.about-intro {
    padding-top: 9.5rem;
    padding-bottom: 5rem;
}

.about-intro__wrap {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 2rem;
}

.about-intro__header {
    max-width: 56rem;
}

.about-intro__title {
    margin-top: 1.4rem;
    max-width: 12ch;
    font-size: clamp(2.9rem, 5vw, 5.1rem);
    line-height: 1.02;
    letter-spacing: 0;
}

.about-intro__lede,
.about-intro__sublede {
    max-width: 43rem;
    font-size: 1.1rem;
    line-height: 1.8;
}

.about-intro__sublede {
    color: var(--ink-soft);
}

.about-intro__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
}

.about-intro__metric {
    display: grid;
    gap: 0.65rem;
    border-radius: 2rem;
    padding: 1.4rem;
}

.about-intro__support {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: 1.2rem;
    align-items: stretch;
}

.about-intro__media {
    margin: 0;
    overflow: hidden;
    padding: 1rem;
    border-radius: 2.4rem;
}

.about-intro__media img {
    width: 100%;
    height: 100%;
    min-height: 21rem;
    object-fit: cover;
    border-radius: 1.75rem;
}

.about-intro__support-stack {
    display: grid;
    gap: 1.2rem;
}

.about-intro__support-card {
    display: grid;
    gap: 0.95rem;
    align-content: start;
    padding: 1.5rem;
    border-radius: 2rem;
}

.about-intro__support-label {
    color: var(--primary);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.about-intro__support-card h3 {
    max-width: 12ch;
}

.about-intro__metric-value {
    font-family: "Outfit", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary);
}

.about-intro__metric-label {
    color: var(--ink-soft);
}

.about-story__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: 1.5rem;
    align-items: stretch;
}

.about-story__panel,
.about-story__card {
    border-radius: 2.4rem;
}

.about-story__panel {
    display: grid;
    gap: 1.35rem;
    padding: 2rem;
}

.about-story__stack {
    display: grid;
    gap: 1.2rem;
}

.about-story__card {
    padding: 1.4rem;
}

.about-story__card--image {
    min-height: 26rem;
    overflow: hidden;
}

.about-story__card--image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 1.7rem;
}

.about-story__eyebrow {
    display: inline-block;
    margin-bottom: 0.85rem;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.72rem;
    font-weight: 800;
}

.about-story__list {
    display: grid;
    gap: 0.8rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.about-story__list li {
    position: relative;
    padding-left: 1.2rem;
    color: var(--ink-soft);
}

.about-story__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.75rem;
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: var(--primary);
}

.about-capabilities__header,
.about-principles__header,
.about-team__header {
    max-width: 46rem;
    margin-bottom: 2.5rem;
}

.about-capabilities__grid,
.about-principles__grid,
.about-team__grid {
    display: grid;
    gap: 1.2rem;
}

.about-capabilities__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-capability {
    display: grid;
    gap: 0.9rem;
    min-height: 15.5rem;
    padding: 1.5rem;
    border-radius: 2rem;
}

.about-capability__index {
    color: var(--primary);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.about-method__layout {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 2rem;
}

.about-method__intro {
    max-width: 42rem;
}

.about-method__stages {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.1rem;
}

.about-stage {
    display: grid;
    gap: 0.85rem;
    padding: 1.5rem;
    border-radius: 2rem;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.about-stage__number {
    color: #90c2ff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.about-stage h3,
.about-stage p {
    color: #fff;
}

.about-process__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: 2rem;
    align-items: center;
}

.about-process__image {
    overflow: hidden;
    border-radius: 2.6rem;
    padding: 1rem;
}

.about-process__image img {
    width: 100%;
    aspect-ratio: 1 / 1.08;
    object-fit: cover;
    border-radius: 1.8rem;
}

.about-process__timeline {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

.about-process__step {
    position: relative;
    padding: 0 0 1rem 1.4rem;
    border-left: 1px solid rgba(var(--primary-rgb), 0.18);
}

.about-process__step span {
    display: inline-block;
    margin-bottom: 0.4rem;
    color: var(--primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.about-process__step::before {
    content: "";
    position: absolute;
    left: -0.34rem;
    top: 0.25rem;
    width: 0.68rem;
    height: 0.68rem;
    border-radius: 50%;
    background: var(--primary);
    box-shadow: 0 0 0 6px rgba(var(--primary-rgb), 0.08);
}

.about-principles__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-principle {
    display: grid;
    gap: 0.8rem;
    min-height: 13rem;
    padding: 1.4rem;
    border-radius: 2rem;
}

.about-audience__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: 2rem;
    align-items: start;
}

.about-audience__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
}

.about-audience__card {
    display: grid;
    gap: 0.8rem;
    min-height: 12.5rem;
    padding: 1.4rem;
    border-radius: 2rem;
}

.about-team__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-team__card {
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 0.85rem;
    min-height: 20rem;
    padding: 2rem 1.4rem;
    border-radius: 2.2rem;
}

.about-team__avatar {
    width: 6rem;
    height: 6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.18), rgba(var(--accent-rgb), 0.3));
    border: 4px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.12);
    color: var(--primary);
    font-family: "Outfit", sans-serif;
    font-size: 1.35rem;
    font-weight: 700;
}

.about-team__role {
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.84rem;
    font-weight: 800;
}

.about-team__top {
    width: 100%;
    justify-content: center;
}

.about-closing__panel {
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 1.2rem;
    padding: 3rem 2rem;
    border-radius: 3rem;
}

.about-closing__panel p {
    max-width: 42rem;
}

.about-closing__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}

.page-hero {
    padding-top: 9.5rem;
    padding-bottom: 5rem;
}

.page-hero__layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    gap: 2rem;
    align-items: center;
}

.page-hero__layout--centered {
    grid-template-columns: 1fr;
    justify-items: center;
}

.page-hero__content {
    max-width: 42rem;
}

.page-hero__content--center {
    max-width: 52rem;
    text-align: center;
}

.page-hero__content--center .eyebrow {
    justify-content: center;
}

.page-hero__lede,
.page-hero__sublede {
    max-width: 37rem;
    font-size: 1.06rem;
    line-height: 1.78;
}

.page-hero__lede {
    margin-top: 1.35rem;
}

.page-hero__content--center .page-hero__lede,
.page-hero__content--center .page-hero__sublede {
    margin-left: auto;
    margin-right: auto;
}

.page-hero__sublede {
    margin-top: 1rem;
    color: var(--ink-soft);
}

.page-hero__actions,
.page-closing__actions,
.contact-direct__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.page-hero__actions {
    margin-top: 2rem;
}

.page-hero__visual {
    position: relative;
}

.page-hero__frame {
    overflow: hidden;
    border-radius: 2.6rem;
    padding: 1rem;
}

.page-hero__frame img {
    width: 100%;
    height: 100%;
    min-height: 28rem;
    object-fit: cover;
    border-radius: 1.9rem;
}

.page-hero__signal {
    position: absolute;
    right: -1rem;
    bottom: 2rem;
    max-width: 16rem;
    border-radius: 1.5rem;
    padding: 1rem 1.1rem;
}

.page-hero__signal-label,
.summary-card__label,
.service-detail-card__index,
.delivery-stage__index,
.architecture-card__index,
.snapshot-card__index,
.step-card__index {
    color: var(--primary);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.page-summary__grid,
.contact-direct__grid,
.delivery-split {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
    gap: 1.25rem;
    align-items: stretch;
}

.page-summary__intro,
.contact-direct__main,
.delivery-panel {
    display: grid;
    gap: 1.2rem;
    padding: 2rem;
    border-radius: 2.4rem;
}

.page-summary__stack {
    display: grid;
    gap: 1.25rem;
}

.summary-card,
.support-card,
.expectation-card,
.analysis-card,
.snapshot-card,
.contact-direct__side,
.enquiry-card,
.step-card,
.architecture-card {
    display: grid;
    align-content: start;
    gap: 0.95rem;
    padding: 1.55rem;
    border-radius: 2rem;
}

.summary-card--dark,
.delivery-panel--dark {
    background: #091121;
    color: #fff;
}

.summary-card--dark h3,
.summary-card--dark p,
.delivery-panel--dark h2,
.delivery-panel--dark p {
    color: #fff;
}

.summary-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.service-detail-grid,
.support-grid,
.expectation-grid,
.analysis-grid,
.snapshot-grid,
.step-card-grid {
    display: grid;
    gap: 1.25rem;
}

.service-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-detail-card {
    display: grid;
    align-content: start;
    gap: 1rem;
    padding: 1.6rem;
    border-radius: 2rem;
    min-height: 23rem;
}

.service-detail-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.bullet-list {
    display: grid;
    gap: 0.72rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bullet-list li {
    position: relative;
    padding-left: 1.15rem;
    color: var(--ink-soft);
}

.bullet-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72rem;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: var(--primary);
}

.outcome-note {
    padding: 1rem 1.05rem;
    border-radius: 1.4rem;
    background: rgba(var(--primary-rgb), 0.06);
    border: 1px solid rgba(var(--primary-rgb), 0.1);
    color: var(--ink-soft);
}

.support-grid,
.expectation-grid,
.analysis-grid,
.snapshot-grid,
.step-card-grid,
.delivery-stage-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.delivery-layout {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 2rem;
}

.delivery-copy {
    max-width: 42rem;
}

.delivery-stage-grid {
    display: grid;
    gap: 1.1rem;
}

.delivery-stage {
    display: grid;
    gap: 0.9rem;
    padding: 1.5rem;
    border-radius: 2rem;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.delivery-stage h3,
.delivery-stage p,
.architecture-card h3,
.architecture-card p,
.step-card h3,
.step-card p {
    color: #fff;
}

.page-closing__panel {
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 1.2rem;
    padding: 3rem 2rem;
    border-radius: 3rem;
}

.page-closing__panel p {
    max-width: 42rem;
}

.architecture-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
    position: relative;
    z-index: 2;
}

.architecture-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.delivery-panel {
    min-height: 100%;
}

.contact-hero-card {
    display: grid;
    gap: 1rem;
    padding: 1.7rem;
    border-radius: 2.3rem;
}

.contact-hero-card__label,
.contact-mail-link {
    font-family: "Outfit", sans-serif;
}

.contact-hero-card__label {
    color: var(--primary);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.contact-mail-link {
    font-size: clamp(1.5rem, 3vw, 2.35rem);
    line-height: 1.08;
    word-break: break-word;
}

.contact-direct__side {
    align-self: stretch;
}

.enquiry-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.step-card-grid {
    position: relative;
    z-index: 2;
}

.step-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.reveal-on-scroll {
    opacity: 0;
    transform: translateY(2rem);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.tilt-card {
    transition: transform 0.3s cubic-bezier(0.2, 0.4, 0.2, 1), box-shadow var(--transition), background var(--transition);
    transform-style: preserve-3d;
    will-change: transform;
}

.tilt-card > * {
    transform: translateZ(24px);
}

.animate-float {
    animation: float 6s ease-in-out infinite;
}

.magnetic-btn span {
    transition: transform 0.2s ease;
}

.body-lock {
    overflow: hidden;
}

@keyframes wipe-down {
    0% {
        top: -100%;
    }

    100% {
        top: 100%;
    }
}

@keyframes glow-rotate {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes scan {
    0% {
        top: -8%;
    }

    100% {
        top: 108%;
    }
}

@keyframes morph-wave {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes spin-reverse {
    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }
}

@keyframes pulse-node {
    0%,
    100% {
        transform: scale(1);
        opacity: 0.35;
    }

    50% {
        transform: scale(2.1);
        opacity: 0.95;
    }
}

@keyframes pulse-dot {
    0%,
    100% {
        transform: scale(1);
        opacity: 0.55;
    }

    50% {
        transform: scale(1.8);
        opacity: 1;
    }
}

@keyframes float {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-14px);
    }
}

@media (max-width: 1080px) {
    .site-nav__links,
    .site-nav__cta {
        display: none;
    }

    .menu-button {
        display: inline-flex;
    }

    .hero__grid,
    .about-grid,
    .framework-grid,
    .why-grid,
    .faq-layout,
    .contact-panel,
    .report-layout,
    .page-hero__layout,
    .page-summary__grid,
    .contact-direct__grid,
    .delivery-split {
        grid-template-columns: 1fr;
    }

    .about-story__grid,
    .about-intro__support,
    .about-process__layout,
    .about-audience__layout {
        grid-template-columns: 1fr;
    }

    .principles-grid,
    .team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-capabilities__grid,
    .about-method__stages,
    .about-principles__grid,
    .about-team__grid,
    .support-grid,
    .architecture-grid,
    .analysis-grid,
    .snapshot-grid,
    .delivery-stage-grid,
    .enquiry-grid,
    .step-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .image-mosaic {
        min-height: 30rem;
    }

    .framework-panel {
        max-width: 38rem;
    }

    .page-hero__signal {
        position: static;
        margin-top: 1rem;
    }

    .faq-copy {
        position: static;
    }

    .contact-panel__actions {
        padding-top: 0;
    }
}

@media (max-width: 900px) {
    .value-strip,
    .principles-grid,
    .team-grid,
    .report-grid,
    .service-grid,
    .operating-cards,
    .metric-row,
    .service-detail-grid,
    .support-grid,
    .expectation-grid,
    .analysis-grid,
    .snapshot-grid,
    .delivery-stage-grid,
    .architecture-grid,
    .enquiry-grid,
    .step-card-grid {
        grid-template-columns: 1fr;
    }

    .about-capabilities__grid,
    .about-method__stages,
    .about-principles__grid,
    .about-audience__grid,
    .about-team__grid {
        grid-template-columns: 1fr;
    }

    .hero-card {
        margin: 0 auto;
    }

    .hero__content,
    .hero__lede,
    .section-heading,
    .page-hero__content {
        max-width: none;
    }

    .hero__signals {
        grid-template-columns: 1fr;
    }

    .hero__content h1 span {
        white-space: normal;
    }

    .image-mosaic__primary {
        inset: 0 2rem 7rem 0;
    }

    .page-hero__frame img {
        min-height: 22rem;
    }

    .page-hero__content--center {
        text-align: left;
    }

    .page-hero__content--center .eyebrow {
        justify-content: flex-start;
    }

    .page-hero__content--center .page-hero__lede,
    .page-hero__content--center .page-hero__sublede {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 720px) {
    .section {
        padding: 4.5rem 0;
    }

    .shell--wide,
    .shell--hero {
        width: min(100%, calc(100% - 1.2rem));
    }

    .site-nav__inner {
        padding: 0.48rem 0;
        gap: 0.65rem;
        min-height: 3.45rem;
    }

    .hero {
        padding-top: 6.9rem;
    }

    .page-hero {
        padding-top: 7.35rem;
    }

    .brand__logo {
        width: clamp(116px, 34vw, 144px);
    }

    .menu-button {
        width: 2.45rem;
        height: 2.45rem;
        padding: 0.48rem;
    }

    .menu-button span {
        width: 0.98rem;
    }

    .mobile-menu__panel {
        gap: 0.4rem;
        padding: 5.8rem 1.1rem 1.5rem;
    }

    .mobile-menu__panel a {
        padding: 0.9rem 0;
        font-size: 1.08rem;
    }

    h1 {
        font-size: clamp(2.15rem, 11.8vw, 3.2rem);
        max-width: 100%;
        line-height: 1.04;
        text-wrap: balance;
    }

    h2 {
        font-size: clamp(1.7rem, 8.7vw, 2.35rem);
        line-height: 1.08;
    }

    h3 {
        line-height: 1.12;
    }

    .page-hero__lede,
    .page-hero__sublede {
        font-size: 0.97rem;
        line-height: 1.72;
    }

    .eyebrow,
    .section-label {
        font-size: 0.68rem;
        letter-spacing: 0.08em;
    }

    .home-ref-hero__layout,
    .home-ref-story__layout,
    .home-ref-report__layout,
    .home-ref-faq__layout,
    .about-ref-practice__layout,
    .services-ref-hero__layout,
    .services-ref-model__layout,
    .team-ref-hero__layout,
    .team-ref-profile,
    .team-ref-close__panel,
    .contact-ref-hero__layout,
    .contact-ref-process__layout {
        gap: 1.5rem;
    }

    .about-ref-hero__copy,
    .team-ref-hero__copy,
    .contact-ref-hero__copy,
    .services-ref-hero__copy {
        width: 100%;
        max-width: 25rem;
        margin: 0 auto;
        padding-inline: 0.2rem;
        justify-items: center;
        text-align: center;
    }

    .about-ref-hero__copy .page-hero__lede,
    .about-ref-hero__copy .page-hero__sublede,
    .team-ref-hero__copy .page-hero__lede,
    .contact-ref-hero__copy .page-hero__lede,
    .services-ref-hero__strap {
        max-width: 22rem;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
        text-wrap: balance;
    }

    .team-ref-hero__panel,
    .contact-ref-hero__note {
        text-align: center;
    }

    .image-mosaic {
        min-height: 24rem;
    }

    .image-mosaic__primary {
        inset: 0 1.5rem 6rem 0;
    }

    .image-mosaic__secondary {
        width: 52%;
    }

    .floating-note,
    .floating-insight {
        position: static;
        margin-top: 1rem;
        max-width: none;
    }

    .contact-panel {
        border-radius: 2rem;
    }

    .contact-panel__content,
    .contact-panel__actions {
        padding: 2rem 1.4rem;
    }

    .about-intro__title {
        max-width: none;
        font-size: clamp(2.65rem, 13vw, 4.2rem);
    }

    .about-intro__metrics,
    .about-intro__support,
    .about-story__stack {
        grid-template-columns: 1fr;
    }

    .page-summary__intro,
    .contact-direct__main,
    .contact-direct__side,
    .summary-card,
    .service-detail-card,
    .support-card,
    .expectation-card,
    .analysis-card,
    .snapshot-card,
    .enquiry-card,
    .step-card,
    .delivery-panel,
    .architecture-card,
    .page-closing__panel,
    .contact-hero-card {
        border-radius: 1.8rem;
    }

    .page-closing__panel {
        padding: 2rem 1.4rem;
    }

    .delivery-panel,
    .page-summary__intro,
    .contact-direct__main {
        padding: 1.6rem;
    }

    .page-hero__actions,
    .page-closing__actions,
    .contact-direct__actions {
        width: 100%;
    }

    .page-hero__actions .button,
    .page-closing__actions .button,
    .contact-direct__actions .button {
        flex: 1 1 100%;
    }

    .contact-mail-link {
        font-size: clamp(1.35rem, 8vw, 2rem);
    }

    .home-ref-hero__object,
    .home-ref-framework,
    .home-ref-contact__panel,
    .about-ref-hero__visual,
    .services-ref-hero__brief,
    .services-ref-hero__spotlight,
    .contact-ref-hero__note,
    .team-ref-hero__panel,
    .team-ref-profile__portrait,
    .team-ref-profile__content,
    .team-ref-close__panel {
        border-radius: 1.7rem;
    }

    .about-story__panel,
    .about-story__card,
    .about-capability,
    .about-stage,
    .about-principle,
    .about-audience__card,
    .about-team__card,
    .about-closing__panel {
        border-radius: 1.8rem;
    }

    .faq-question {
        padding: 1.1rem 1.15rem;
        font-size: 1rem;
    }

    .faq-answer > p {
        padding-left: 1.15rem;
        padding-right: 1.15rem;
    }

    .site-footer__inner {
        flex-direction: column;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    #cursor-follower {
        display: none !important;
    }
}

/* 2026 redesign modules */

.showcase-hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 8.5rem;
}

.showcase-hero__layout,
.home-signature__layout,
.report-lab__layout,
.about-command__grid,
.about-values__layout,
.service-essay__layout,
.service-band,
.insights-hero,
.contact-command-hero__layout,
.command-center {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 2rem;
    align-items: center;
}

.showcase-hero__layout,
.home-signature__layout,
.report-lab__layout,
.about-values__layout,
.service-band,
.contact-command-hero__layout {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
}

.about-command__grid,
.service-essay__layout,
.insights-hero,
.command-center {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.showcase-hero__content {
    max-width: 42rem;
}

.showcase-hero__lede {
    margin-top: 1.4rem;
    max-width: 34rem;
    font-size: 1.08rem;
    line-height: 1.78;
}

.showcase-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.trust-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
}

.trust-inline__item {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.78rem 0.95rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.84);
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.05);
    color: var(--ink-soft);
    font-size: 0.9rem;
    font-weight: 600;
}

.trust-inline__item i,
.service-spotlight__top i,
.service-band__meta i,
.report-anatomy__item i,
.statement-tile i,
.principle-rows i,
.capability-band__item i,
.audience-radar__item i,
.featured-report__meta i,
.insight-icon-row__item i,
.cluster-card i,
.contact-sidecard i,
.command-checklist i,
.mini-panel i {
    color: var(--primary);
    font-size: 1rem;
}

.showcase-hero__visual {
    position: relative;
    padding-bottom: 3rem;
}

.showcase-frame {
    position: relative;
    overflow: hidden;
    border-radius: 2.7rem;
    padding: 1rem;
}

.showcase-frame__image {
    width: 100%;
    aspect-ratio: 0.96 / 1;
    object-fit: cover;
    border-radius: 1.95rem;
    position: relative;
    z-index: 3;
}

.showcase-frame__caption {
    position: absolute;
    left: 1.4rem;
    bottom: 1.4rem;
    z-index: 6;
    border-radius: 1.35rem;
    padding: 0.95rem 1.1rem;
}

.showcase-frame__caption span {
    display: block;
    margin-bottom: 0.22rem;
    color: var(--primary);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.showcase-frame__caption strong {
    font-family: "Outfit", sans-serif;
    font-size: 1rem;
}

.showcase-note {
    position: absolute;
    right: -1rem;
    bottom: 0;
    max-width: 16rem;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.8rem;
    padding: 1rem;
    border-radius: 1.5rem;
}

.showcase-note span {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.proof-ribbon {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
}

.proof-ribbon__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    border-radius: 2rem;
    overflow: hidden;
    background: rgba(148, 163, 184, 0.16);
}

.proof-ribbon__item {
    padding: 1.6rem;
    background: rgba(255, 255, 255, 0.78);
}

.proof-ribbon__value {
    display: block;
    margin-bottom: 0.5rem;
    font-family: "Outfit", sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ink);
}

.signature-story,
.about-command__story,
.service-essay__intro {
    display: grid;
    gap: 1.2rem;
    padding: 2rem;
    border-radius: 2.4rem;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.82);
    box-shadow: var(--shadow-soft);
}

.signature-list,
.principle-rows,
.command-checklist {
    display: grid;
    gap: 1rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.signature-list li,
.principle-rows article,
.command-checklist article {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
    align-items: start;
}

.signature-list strong,
.principle-rows strong,
.command-checklist strong,
.report-anatomy__item strong {
    display: block;
    margin-bottom: 0.25rem;
    font-family: "Outfit", sans-serif;
}

.signature-visual {
    display: grid;
    gap: 1.2rem;
}

.signature-visual__image,
.service-band__image,
.about-values__image {
    overflow: hidden;
    margin: 0;
    border-radius: 2.4rem;
    padding: 1rem;
}

.signature-visual__image img,
.service-band__image img,
.about-values__image img {
    width: 100%;
    height: 100%;
    min-height: 22rem;
    object-fit: cover;
    border-radius: 1.75rem;
}

.signature-visual__stack,
.about-command__stack {
    display: grid;
    gap: 1.2rem;
}

.mini-panel,
.statement-tile,
.service-essay__aside,
.featured-report,
.contact-sidecard {
    display: grid;
    gap: 0.95rem;
    padding: 1.5rem;
    border-radius: 2rem;
}

.mini-panel--dark,
.statement-tile--dark,
.service-essay__aside,
.featured-report,
.contact-sidecard--dark,
.finding-note--dark {
    background: #091121;
    color: #fff;
}

.mini-panel--dark h3,
.mini-panel--dark p,
.statement-tile--dark h3,
.statement-tile--dark p,
.service-essay__aside h3,
.service-essay__aside p,
.featured-report h2,
.featured-report p,
.contact-sidecard--dark h3,
.contact-sidecard--dark p,
.finding-note--dark span,
.finding-note--dark p {
    color: #fff;
}

.service-signature__grid,
.capability-band,
.audience-radar,
.team-gallery,
.capability-strip,
.insight-icon-row,
.cluster-grid,
.finding-wall__grid,
.process-strip,
.operating-rail__grid,
.stage-rail,
.service-delivery__rail {
    display: grid;
    gap: 1.2rem;
}

.service-signature__grid,
.capability-band,
.audience-radar,
.team-gallery,
.capability-strip,
.cluster-grid,
.operating-rail__grid,
.process-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.insight-icon-row,
.service-delivery__rail {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-delivery__rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stage-rail {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-spotlight,
.capability-band__item,
.audience-radar__item,
.team-gallery__card,
.capability-strip__card,
.cluster-card,
.finding-note,
.process-strip__item,
.operating-node,
.stage-rail__item,
.service-delivery__node {
    display: grid;
    align-content: start;
    gap: 0.9rem;
    padding: 1.55rem;
    border-radius: 2rem;
}

.service-spotlight__top,
.service-band__meta,
.featured-report__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.service-spotlight__top span,
.service-band__meta span,
.featured-report__meta span {
    color: var(--primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.service-spotlight--dark .service-spotlight__top span,
.featured-report__meta span {
    color: #90c2ff;
}

.text-link {
    font-weight: 700;
    color: var(--primary);
}

.text-link--light {
    color: #90c2ff;
}

.service-architecture {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: 1.4rem;
    align-items: start;
}

.service-architecture__intro {
    display: grid;
    gap: 1.15rem;
    position: sticky;
    top: 7rem;
}

.service-architecture__intro p {
    max-width: 28rem;
}

.service-architecture__stack {
    display: grid;
    gap: 1rem;
}

.service-architecture__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.45rem;
    border-radius: 2rem;
}

.service-architecture__icon {
    width: 3.4rem;
    height: 3.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    background: rgba(var(--primary-rgb), 0.08);
    color: var(--primary);
    font-size: 1rem;
}

.service-architecture__body {
    display: grid;
    gap: 0.45rem;
}

.service-architecture__body span {
    color: var(--primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.report-lab__layout {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.report-sheet {
    display: grid;
    gap: 1rem;
    padding: 1.5rem;
    border-radius: 2.5rem;
}

.report-sheet__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
}

.report-sheet__header span {
    color: var(--primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.report-sheet__header strong {
    font-family: "Outfit", sans-serif;
    font-size: 1.2rem;
}

.report-sheet__body {
    display: grid;
    gap: 0.85rem;
}

.report-sheet__row {
    padding: 1rem;
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(var(--primary-rgb), 0.08);
}

.report-sheet__row span {
    display: block;
    margin-bottom: 0.28rem;
    color: var(--primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.report-lab__copy {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 1.2rem;
}

.report-anatomy {
    display: grid;
    gap: 1rem;
}

.report-anatomy__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.85rem;
    align-items: start;
    padding: 1rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.operating-node span,
.stage-rail__item span,
.service-delivery__node span,
.process-strip__item span,
.anatomy-step span {
    color: var(--primary);
    font-family: "Outfit", sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
}

.operating-node,
.stage-rail__item,
.process-strip__item {
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.82);
    box-shadow: var(--shadow-soft);
}

.command-cta__panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: center;
    padding: 2rem;
    border-radius: 2.8rem;
}

.service-chip-row,
.featured-report__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.service-chip-row span,
.featured-report__chips span {
    padding: 0.72rem 0.92rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.84);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.05);
    color: var(--ink-soft);
    font-size: 0.88rem;
    font-weight: 600;
}

.service-sequence__stack {
    display: grid;
    gap: 2.2rem;
}

.capability-strip-section .shell {
    display: grid;
    gap: 1.6rem;
}

.capability-compact {
    display: grid;
    gap: 0.8rem;
    max-width: 38rem;
}

.capability-compact h2 {
    max-width: 14ch;
    font-size: clamp(1.8rem, 2.35vw, 2.45rem);
    line-height: 1.06;
}

.capability-compact p {
    max-width: 34rem;
}

.capability-strip--compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.capability-strip--compact .capability-strip__card {
    min-height: 0;
    gap: 0.8rem;
    padding: 1.35rem;
}

.service-band__copy {
    display: grid;
    gap: 1rem;
}

.service-band--reverse {
    grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.02fr);
}

.service-band--reverse .service-band__copy {
    order: 2;
}

.service-band--reverse .service-band__visual {
    order: 1;
}

.featured-report__meta {
    align-items: center;
}

.featured-report__meta span,
.contact-command-hero__panel span,
.contact-hero-card__label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.insight-icon-row__item {
    display: grid;
    gap: 0.65rem;
    justify-items: start;
    padding: 1.2rem 0;
}

.insight-icon-row__item span {
    font-family: "Outfit", sans-serif;
    font-size: 1rem;
}

.anatomy-vertical__stack {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 1rem;
}

.anatomy-step {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.35rem;
    border-radius: 1.8rem;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.anatomy-step h3,
.anatomy-step p,
.service-delivery__node h3,
.service-delivery__node p {
    color: #fff;
}

.finding-note span {
    display: block;
    margin-bottom: 0.35rem;
    font-family: "Outfit", sans-serif;
    font-size: 1.1rem;
}

.finding-note--offset {
    transform: translateY(2rem);
}

.contact-command-hero__panel {
    display: grid;
    gap: 1rem;
    padding: 1.8rem;
    border-radius: 2.4rem;
}

.contact-command-hero__panel a {
    font-family: "Outfit", sans-serif;
    font-size: clamp(1.6rem, 3vw, 2.35rem);
    line-height: 1.05;
    word-break: break-word;
}

.command-center__left,
.command-center__right {
    display: grid;
    gap: 1.2rem;
}

.command-center__left {
    padding: 2rem;
    border-radius: 2.4rem;
}

.process-strip__item,
.service-delivery__node {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.process-strip__item h3,
.process-strip__item p {
    color: #fff;
}

.service-delivery__layout {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 1.6rem;
}

.service-delivery__intro {
    max-width: 58rem;
    display: grid;
    gap: 0.85rem;
}

.service-delivery__intro h2 {
    max-width: none;
    font-size: clamp(1.95rem, 3vw, 3rem);
    line-height: 1.04;
}

.service-delivery__intro p {
    max-width: 34rem;
}

.service-delivery__rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 1.35rem;
}

.service-delivery__node {
    min-height: 0;
    aspect-ratio: 1 / 1;
    grid-template-rows: auto 1fr;
    align-content: stretch;
    gap: 1.1rem;
    padding: 1.7rem;
    border-radius: 1.9rem;
}

.service-delivery__copy {
    display: grid;
    align-content: center;
    gap: 0.9rem;
    min-height: 0;
}

.service-delivery__node h3 {
    max-width: none;
    font-size: clamp(1.55rem, 1.6vw, 1.9rem);
    line-height: 1.02;
}

.service-delivery__node p {
    max-width: 18ch;
    font-size: 1.02rem;
    line-height: 1.55;
}

.team-gallery__avatar {
    width: 5.5rem;
    height: 5.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.18), rgba(var(--accent-rgb), 0.3));
    border: 4px solid rgba(255, 255, 255, 0.88);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.12);
    color: var(--primary);
    font-family: "Outfit", sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
}

.team-gallery__card {
    justify-items: center;
    text-align: center;
    padding: 2rem 1.55rem;
    border-radius: 2.4rem;
}

.team-gallery__avatar {
    width: 7.4rem;
    height: 7.4rem;
    background:
        radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.98), rgba(219, 234, 254, 0.9)),
        linear-gradient(135deg, rgba(var(--primary-rgb), 0.18), rgba(var(--accent-rgb), 0.3));
}

.team-gallery__avatar span {
    color: var(--primary);
    font-family: "Outfit", sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0;
}

.team-gallery__card span {
    color: var(--primary);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.team-gallery__card p {
    max-width: 17rem;
}

@media (max-width: 1180px) {
    .showcase-hero__layout,
    .home-signature__layout,
    .report-lab__layout,
    .about-command__grid,
    .about-values__layout,
    .service-architecture,
    .service-essay__layout,
    .service-band,
    .insights-hero,
    .contact-command-hero__layout,
    .command-center,
    .command-cta__panel {
        grid-template-columns: 1fr;
    }

    .service-architecture__intro {
        position: static;
    }

    .service-band--reverse .service-band__copy,
    .service-band--reverse .service-band__visual {
        order: initial;
    }

    .showcase-note {
        position: static;
        margin-top: 1rem;
        max-width: none;
    }

    .service-signature__grid,
    .capability-band,
    .audience-radar,
    .team-gallery,
    .capability-strip,
    .capability-strip--compact,
    .cluster-grid,
    .finding-wall__grid,
    .process-strip,
    .operating-rail__grid,
    .stage-rail,
    .service-delivery__rail,
    .proof-ribbon__grid,
    .insight-icon-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .service-signature__grid,
    .capability-band,
    .audience-radar,
    .team-gallery,
    .capability-strip,
    .capability-strip--compact,
    .cluster-grid,
    .finding-wall__grid,
    .process-strip,
    .operating-rail__grid,
    .stage-rail,
    .service-delivery__rail,
    .proof-ribbon__grid,
    .insight-icon-row {
        grid-template-columns: 1fr;
    }

    .finding-note--offset {
        transform: none;
    }

    .service-delivery__node {
        aspect-ratio: auto;
    }
}

@media (max-width: 720px) {
    .showcase-hero {
        padding-top: 7.8rem;
    }

    .showcase-frame,
    .signature-story,
    .about-command__story,
    .service-essay__intro,
    .service-spotlight,
    .report-sheet,
    .operating-node,
    .command-cta__panel,
    .statement-tile,
    .capability-band__item,
    .audience-radar__item,
    .team-gallery__card,
    .service-band__image,
    .service-band__copy,
    .capability-strip__card,
    .featured-report,
    .cluster-card,
    .finding-note,
    .contact-command-hero__panel,
    .command-center__left,
    .contact-sidecard,
    .process-strip__item,
    .service-delivery__node,
    .anatomy-step {
        border-radius: 1.8rem;
    }

    .trust-inline,
    .service-chip-row,
    .featured-report__chips,
    .showcase-hero__actions,
    .page-closing__actions,
    .command-cta__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .signature-visual__image img,
    .service-band__image img,
    .about-values__image img {
        min-height: 18rem;
    }
}

/* Reference-driven home rebuild */

.home-ref-hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 8.2rem;
}

.home-ref-hero__layout,
.home-ref-story__layout,
.home-ref-report__layout,
.home-ref-faq__layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 3.5rem;
    align-items: center;
}

.home-ref-hero__content,
.home-ref-story__copy {
    max-width: 36rem;
}

.home-ref-hero__accent {
    color: var(--primary);
    font-style: italic;
}

.home-ref-hero__lede {
    margin-top: 1.5rem;
    max-width: 32rem;
    font-size: 1.08rem;
    line-height: 1.8;
}

.home-ref-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.home-ref-hero__signals {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    margin-top: 1.8rem;
}

.home-ref-hero__signals span {
    color: var(--ink-soft);
    font-size: 0.92rem;
    font-weight: 600;
}

.home-ref-hero__visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-ref-hero__object {
    position: relative;
    width: min(100%, 34rem);
    aspect-ratio: 1 / 1;
    border-radius: 2.2rem;
    overflow: hidden;
}

.home-ref-hero__object--image {
    background:
        radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.18), transparent 32%),
        radial-gradient(circle at 84% 82%, rgba(var(--primary-rgb), 0.18), transparent 36%);
    box-shadow:
        0 40px 90px rgba(15, 23, 42, 0.16),
        0 10px 28px rgba(15, 23, 42, 0.08);
}

.home-ref-hero__object--image::before {
    content: "";
    position: absolute;
    inset: auto 6% -8% 6%;
    height: 24%;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(15, 23, 42, 0.18), transparent 70%);
    filter: blur(22px);
    z-index: 0;
}

.home-ref-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    position: relative;
    z-index: 1;
}

.home-ref-story__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.home-ref-story__column {
    display: grid;
    align-content: start;
}

.home-ref-story__column--offset {
    padding-top: 3rem;
}

.home-ref-story__card {
    display: grid;
    gap: 1rem;
    padding: 1.8rem;
    border-radius: 2rem;
}

.home-ref-story__card h3 {
    font-size: 1.25rem;
    text-transform: uppercase;
}

.home-ref-story__card p {
    font-size: 0.94rem;
    line-height: 1.7;
}

.home-ref-story__card--dark {
    background: #091121;
    color: #fff;
}

.home-ref-story__card--dark p,
.home-ref-story__card--dark h3 {
    color: #fff;
}

.home-ref-services {
    background: rgba(255, 255, 255, 0.36);
}

.home-ref-services__intro,
.home-ref-usecases__intro {
    max-width: 48rem;
    margin: 0 auto 4rem;
    text-align: center;
}

.home-ref-services__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.8rem;
}

.home-ref-service-card {
    display: grid;
    gap: 1.2rem;
    padding: 2rem;
    border-radius: 2.5rem;
    transition: background var(--transition), color var(--transition), transform var(--transition);
}

.home-ref-service-card__icon {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--primary-rgb), 0.08);
    color: var(--primary);
    font-size: 1.3rem;
    transition: background var(--transition), color var(--transition);
}

.home-ref-service-card:hover {
    background: #091121;
    transform: translateY(-4px);
}

.home-ref-service-card:hover h3,
.home-ref-service-card:hover p {
    color: #fff;
}

.home-ref-service-card:hover .home-ref-service-card__icon {
    background: var(--primary);
    color: #fff;
}

.home-ref-usecases__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
}

.home-ref-usecase {
    cursor: pointer;
}

.home-ref-usecase__image {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 1.8rem;
    margin-bottom: 1.2rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.home-ref-usecase__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1);
    transition: transform 700ms ease, filter 300ms ease;
}

.home-ref-usecase__image .scan-line {
    opacity: 0;
    transition: opacity var(--transition);
}

.home-ref-usecase:hover .home-ref-usecase__image img {
    filter: grayscale(0);
    transform: scale(1.08);
}

.home-ref-usecase:hover .home-ref-usecase__image .scan-line {
    opacity: 1;
}

.home-ref-usecase h3 {
    margin-bottom: 0.65rem;
    color: #f8fbff;
    transition: color var(--transition);
}

.home-ref-usecase p {
    color: rgba(226, 232, 240, 0.8);
}

.home-ref-usecase:hover h3 {
    color: var(--accent-soft);
}

.home-ref-report__copy {
    max-width: 36rem;
}

.home-ref-report__list {
    display: grid;
    gap: 1rem;
    margin: 2rem 0 2.2rem;
}

.home-ref-report__list article {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
    align-items: start;
    padding-top: 1rem;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.home-ref-report__list i {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--primary-rgb), 0.08);
    color: var(--primary);
}

.home-ref-report__list strong {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--ink);
    font-family: "Outfit", sans-serif;
}

.home-ref-report__visual {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 1.1rem;
}

.home-ref-framework {
    --node-size: 4.45rem;
    --orbit-radius: 11.6rem;
    position: relative;
    width: min(100%, 35rem);
    aspect-ratio: 1 / 1.04;
    margin-inline: auto;
    padding: 1.8rem;
    border-radius: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 50%, rgba(var(--primary-rgb), 0.18), transparent 36%),
        linear-gradient(145deg, #08111f 0%, #0c1730 52%, #08101e 100%);
    box-shadow: 0 32px 70px rgba(4, 10, 22, 0.22);
}

.home-ref-framework::before {
    content: "";
    position: absolute;
    inset: 1.15rem;
    border-radius: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    pointer-events: none;
}

.home-ref-framework::after {
    content: "";
    position: absolute;
    inset: 8% 10%;
    border-radius: 50%;
    background:
        conic-gradient(from 0deg, rgba(var(--accent-rgb), 0.18), transparent 26%, rgba(255, 255, 255, 0.05) 42%, transparent 58%, rgba(var(--primary-rgb), 0.18) 76%, transparent 100%);
    opacity: 0.7;
    filter: blur(18px);
    pointer-events: none;
}

.home-ref-framework__halo,
.home-ref-framework__ring,
.home-ref-framework__core,
.home-ref-framework__node {
    position: absolute;
}

.home-ref-framework__halo {
    width: 60%;
    aspect-ratio: 1;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(var(--primary-rgb), 0.26), rgba(var(--primary-rgb), 0.05) 55%, transparent 72%);
    filter: blur(6px);
    animation: frameworkPulse 6s ease-in-out infinite;
}

.home-ref-framework__ring {
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.home-ref-framework__ring--outer {
    width: 78%;
    aspect-ratio: 1;
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
    animation: frameworkSpin 40s linear infinite;
}

.home-ref-framework__ring--inner {
    width: 62%;
    aspect-ratio: 1;
    border-style: dashed;
    border-color: rgba(var(--accent-rgb), 0.35);
    animation: frameworkSpin 28s linear infinite;
}

.home-ref-framework__core {
    z-index: 3;
    width: 13.2rem;
    aspect-ratio: 1;
    border-radius: 999px;
    padding: 1.9rem;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 0.8rem;
    text-align: center;
    color: #fff;
    background: linear-gradient(160deg, rgba(var(--accent-rgb), 0.72), rgba(var(--primary-rgb), 0.9));
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.35);
}

.home-ref-framework__core::after {
    content: "";
    position: absolute;
    inset: -0.85rem;
    border-radius: 50%;
    border: 1px solid rgba(var(--accent-rgb), 0.2);
    opacity: 0.65;
}

.home-ref-framework__core span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.home-ref-framework__core strong {
    color: #fff;
    font-size: 1.5rem;
    line-height: 1.2;
}

.home-ref-framework__node {
    z-index: 4;
    top: 50%;
    left: 50%;
    width: var(--node-size);
    aspect-ratio: 1;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.2rem;
    background: radial-gradient(circle at 30% 30%, rgba(var(--accent-rgb), 0.8), rgba(var(--primary-rgb), 0.95));
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 0 0 0.45rem rgba(var(--primary-rgb), 0.12);
    transform: translate(-50%, -50%) rotate(var(--angle)) translateY(calc(var(--orbit-radius) * -1)) rotate(calc(var(--angle) * -1));
    animation: frameworkOrbit 34s linear infinite;
}

.home-ref-framework__node::before {
    content: "";
    position: absolute;
    inset: 0.18rem;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.14);
    opacity: 0.55;
}

.home-ref-framework__node i {
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.28));
}

.home-ref-framework__node--1 { --angle: 0deg; }
.home-ref-framework__node--2 { --angle: 40deg; }
.home-ref-framework__node--3 { --angle: 80deg; }
.home-ref-framework__node--4 { --angle: 120deg; }
.home-ref-framework__node--5 { --angle: 160deg; }
.home-ref-framework__node--6 { --angle: 200deg; }
.home-ref-framework__node--7 { --angle: 240deg; }
.home-ref-framework__node--8 { --angle: 280deg; }
.home-ref-framework__node--9 { --angle: 320deg; }

.home-ref-report__note {
    position: static;
    display: grid;
    gap: 0.25rem;
    width: min(100%, 22rem);
    justify-self: start;
    padding: 0.95rem 1rem;
    border-radius: 1.2rem;
}

.home-ref-report__note span {
    color: var(--primary);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

@keyframes frameworkSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes frameworkPulse {
    0%, 100% { transform: scale(0.96); opacity: 0.75; }
    50% { transform: scale(1.04); opacity: 1; }
}

@keyframes frameworkOrbit {
    from {
        transform: translate(-50%, -50%) rotate(var(--angle)) translateY(calc(var(--orbit-radius) * -1)) rotate(calc(var(--angle) * -1));
    }
    to {
        transform: translate(-50%, -50%) rotate(calc(var(--angle) + 1turn)) translateY(calc(var(--orbit-radius) * -1)) rotate(calc((var(--angle) + 1turn) * -1));
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-ref-framework__halo,
    .home-ref-framework__ring--outer,
    .home-ref-framework__ring--inner,
    .home-ref-framework__node {
        animation: none;
    }
}

.home-ref-testimonials {
    position: relative;
    overflow: hidden;
}

.home-ref-testimonials .shell {
    position: relative;
    z-index: 2;
}

.home-ref-testimonials__intro {
    max-width: 40rem;
    margin-bottom: 2.5rem;
}

.home-ref-testimonials__intro .section-label,
.home-ref-testimonials__intro h2 {
    color: #fff;
}

.home-ref-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4rem;
    align-items: stretch;
}

.home-ref-testimonial {
    display: grid;
    gap: 2rem;
    align-content: space-between;
    min-height: 100%;
    padding: 2rem;
    border-radius: 2.1rem;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.09);
    box-shadow: none;
}

.home-ref-testimonial__quote {
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.03rem;
    line-height: 1.9;
}

.home-ref-testimonial__person {
    display: flex;
    align-items: center;
    gap: 1.15rem;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.home-ref-testimonial__avatar {
    flex: 0 0 auto;
    width: 3.4rem;
    height: 3.4rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--accent), var(--secondary));
    color: #fff;
    font-family: "Outfit", sans-serif;
    font-size: 1.35rem;
    font-weight: 800;
}

.home-ref-testimonial__avatar--logo {
    width: 10.4rem;
    height: 10.4rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 10px 24px rgba(3, 8, 18, 0.22);
    overflow: hidden;
    padding: 0.52rem;
}

.home-ref-testimonial__avatar--logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.home-ref-testimonial__meta {
    display: grid;
    gap: 0.16rem;
}

.home-ref-testimonial__meta strong,
.home-ref-testimonial__meta span,
.home-ref-testimonial__meta small {
    display: block;
}

.home-ref-testimonial__meta strong {
    color: #fff;
    font-family: "Outfit", sans-serif;
    font-size: 1.06rem;
}

.home-ref-testimonial__meta span {
    color: var(--accent-soft);
    font-weight: 600;
}

.home-ref-testimonial__meta small {
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.95rem;
}

.home-ref-contact__panel {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
    overflow: hidden;
    border-radius: 3rem;
}

.home-ref-contact__left,
.home-ref-contact__right {
    padding: 3rem;
}

.home-ref-contact__left {
    display: grid;
    gap: 1.2rem;
}

.home-ref-contact__details {
    display: grid;
    gap: 1rem;
    margin-top: 0.6rem;
}

.home-ref-contact__details p {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    color: var(--ink-soft);
}

.home-ref-contact__dot {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--primary-rgb), 0.08);
    color: var(--primary);
}

.home-ref-contact__right {
    background: #091121;
    color: #fff;
    display: grid;
    align-content: center;
    gap: 1rem;
}

.home-ref-contact__right h3,
.home-ref-contact__right p {
    color: #fff;
}

.home-ref-contact__actions {
    display: grid;
    gap: 0.85rem;
    margin-top: 0.5rem;
}

.home-ref-contact__right .button--glass {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.home-ref-contact__right .button--glass:hover {
    background: rgba(255, 255, 255, 0.12);
}

@media (max-width: 1100px) {
    .home-ref-hero__layout,
    .home-ref-story__layout,
    .home-ref-report__layout,
    .home-ref-faq__layout,
    .home-ref-contact__panel {
        grid-template-columns: 1fr;
    }

    .home-ref-services__grid,
    .home-ref-usecases__grid,
    .home-ref-testimonials__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-ref-report__note {
        width: min(100%, 32rem);
    }

    .home-ref-framework {
        --node-size: 4rem;
        --orbit-radius: 10.8rem;
    }

    .home-ref-framework__core {
        width: 12rem;
        padding: 1.8rem;
    }

    .home-ref-framework__core strong {
        font-size: 1.28rem;
    }

    .home-ref-framework__node {
        font-size: 1.05rem;
        box-shadow: 0 0 0 0.35rem rgba(var(--primary-rgb), 0.12);
    }
}

@media (max-width: 720px) {
    .home-ref-hero {
        padding-top: 7.8rem;
    }

    .home-ref-hero__actions,
    .home-ref-contact__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .home-ref-story__cards,
    .home-ref-services__grid,
    .home-ref-usecases__grid,
    .home-ref-testimonials__grid {
        grid-template-columns: 1fr;
    }

    .home-ref-story__column--offset {
        padding-top: 0;
    }

    .home-ref-hero__object,
    .home-ref-story__card,
    .home-ref-service-card,
    .home-ref-usecase__image,
    .home-ref-framework,
    .home-ref-contact__panel {
        border-radius: 1.8rem;
    }

    .home-ref-contact__left,
    .home-ref-contact__right {
        padding: 2rem 1.5rem;
    }

    .home-ref-testimonial {
        padding: 1.35rem;
        gap: 1.1rem;
        border-radius: 1.8rem;
    }

    .home-ref-testimonial__quote {
        font-size: 0.91rem;
        line-height: 1.62;
    }

    .home-ref-testimonial__person {
        gap: 0.85rem;
        padding-top: 0.8rem;
    }

    .home-ref-testimonial__avatar {
        width: 2.8rem;
        height: 2.8rem;
        font-size: 1.05rem;
    }

    .home-ref-testimonial__avatar--logo {
        width: 4.25rem;
        height: 2.8rem;
        padding: 0.36rem;
    }

    .home-ref-testimonial__meta {
        gap: 0.1rem;
    }

    .home-ref-testimonial__meta strong {
        font-size: 1rem;
    }

    .home-ref-testimonial__meta span {
        font-size: 0.9rem;
    }

    .home-ref-testimonial__meta small {
        font-size: 0.86rem;
    }

    .home-ref-framework {
        --node-size: 2.95rem;
        --orbit-radius: 8.65rem;
        aspect-ratio: 1 / 1.16;
        padding: 1.2rem;
    }

    .home-ref-framework::before {
        inset: 0.8rem;
        border-radius: 1.45rem;
    }

    .home-ref-framework__ring--outer {
        width: 84%;
    }

    .home-ref-framework__ring--inner {
        width: 68%;
    }

    .home-ref-framework__core {
        width: 9.8rem;
        padding: 1.35rem;
        gap: 0.55rem;
    }

    .home-ref-framework__core span {
        font-size: 0.62rem;
    }

    .home-ref-framework__core strong {
        font-size: 1.05rem;
    }

    .home-ref-framework__node {
        font-size: 0.86rem;
        box-shadow: 0 0 0 0.26rem rgba(var(--primary-rgb), 0.12);
    }

    .home-ref-report__note {
        width: 100%;
    }
}

/* Inner page rebuilds */

.about-ref-hero__layout,
.about-ref-practice__layout,
.services-ref-hero__layout,
.contact-ref-hero__layout {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 3rem;
    align-items: center;
}

.about-ref-hero__layout,
.services-ref-hero__layout,
.contact-ref-hero__layout {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
}

.about-ref-practice__layout {
    grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
}

.about-ref-hero__copy,
.services-ref-hero__copy,
.contact-ref-hero__copy {
    max-width: 36rem;
}

.contact-ref-hero__layout {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
}

.contact-ref-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(250, 251, 253, 0.97) 0%, rgba(250, 251, 253, 0.92) 36%, rgba(250, 251, 253, 0.62) 62%, rgba(250, 251, 253, 0.24) 100%),
        url("../images/bg.jpeg") right center / cover no-repeat;
}

.contact-ref-hero .cyber-grid {
    opacity: 0.32;
}

.contact-ref-hero__copy {
    max-width: 40rem;
}

.contact-ref-hero__note {
    display: grid;
    gap: 0.9rem;
    padding: 1.8rem;
    border-radius: 2.2rem;
    align-content: start;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.88);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
}

.contact-ref-hero__meta {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.2rem;
}

.contact-ref-hero__meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--ink-soft);
    font-size: 0.92rem;
    font-weight: 600;
}

.contact-ref-hero__meta span::before {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: var(--primary);
    flex: 0 0 auto;
}

.about-ref-hero__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.about-ref-hero__column {
    display: grid;
    align-content: start;
}

.about-ref-hero__column--offset {
    padding-top: 3rem;
}

.about-ref-hero__card {
    display: grid;
    gap: 0.9rem;
    padding: 1.8rem;
    border-radius: 2rem;
}

.about-ref-hero__card h3 {
    text-transform: uppercase;
}

.about-ref-hero__card--dark,
.contact-ref-panel__right,
.contact-ref-process__item {
    background: #091121;
    color: #fff;
}

.about-ref-hero__card--dark h3,
.about-ref-hero__card--dark p,
.contact-ref-panel__right h2,
.contact-ref-panel__right p,
.contact-ref-process__item h3,
.contact-ref-process__item p {
    color: #fff;
}

.about-ref-practice__image,
.services-ref-hero__image {
    overflow: hidden;
    border-radius: 2.4rem;
}

.about-ref-practice__image img,
.services-ref-hero__image img {
    width: 100%;
    height: 100%;
    min-height: 24rem;
    object-fit: cover;
}

.about-ref-practice__copy {
    display: grid;
    gap: 1rem;
}

.services-ref-hero {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    padding-top: 5.6rem;
    padding-bottom: 2.5rem;
    background: #08111f;
}

.services-ref-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(34, 10, 15, 0.46) 0%, rgba(48, 12, 18, 0.22) 24%, rgba(103, 21, 29, 0.12) 44%, rgba(86, 17, 24, 0.34) 66%, rgba(20, 11, 19, 0.68) 100%),
        linear-gradient(180deg, rgba(141, 12, 12, 0.28) 0%, rgba(73, 17, 26, 0.18) 34%, rgba(13, 18, 30, 0.36) 62%, rgba(10, 12, 22, 0.82) 100%);
}

.services-ref-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(circle at 78% 18%, rgba(255, 255, 255, 0.08), transparent 22%),
        radial-gradient(circle at 18% 14%, rgba(var(--primary-rgb), 0.22), transparent 30%),
        url("../images/services hero - 1.jpeg") right top / auto 100% no-repeat;
    filter: blur(3px) saturate(0.88) brightness(0.84);
    transform: scale(1.02);
}

.services-ref-hero .cyber-grid {
    opacity: 0.14;
    z-index: 1;
}

.services-ref-hero__layout {
    grid-template-columns: 1fr;
    min-height: 17.5rem;
    align-items: center;
    justify-items: center;
}

.services-ref-hero__layout > .reveal-on-scroll {
    width: 100%;
    display: flex;
    justify-content: center;
}

.services-ref-hero__copy {
    width: fit-content;
    max-width: min(100%, 56rem);
    margin: 0 auto;
    display: grid;
    gap: 0.7rem;
    position: relative;
    z-index: 2;
    justify-items: center;
    text-align: center;
    will-change: transform;
}

.services-ref-hero__copy h1 {
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    color: #fff;
    font-size: clamp(2.45rem, 4.6vw, 4rem);
    line-height: 1.04;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 0 10px 30px rgba(8, 17, 31, 0.28);
}

.services-ref-hero__line {
    display: block;
    white-space: nowrap;
}

.services-ref-hero__line + .services-ref-hero__line {
    margin-top: 0.08em;
}

.services-ref-hero__strap {
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0.2rem;
    color: rgba(255, 255, 255, 0.94);
    font-family: "Outfit", sans-serif;
    font-size: clamp(1rem, 1.4vw, 1.14rem);
    font-weight: 500;
    line-height: 1.65;
    white-space: nowrap;
    text-align: center;
    text-shadow: 0 8px 24px rgba(8, 17, 31, 0.22);
}

.services-ref-hero__strap::before {
    content: "";
    display: block;
    width: 4.1rem;
    height: 0.22rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
    border-radius: 999px;
    background: var(--primary);
}

.services-ref-hero__lower {
    position: relative;
    z-index: 2;
    margin-top: 1.15rem;
}

.services-ref-hero__core {
    display: grid;
    gap: 1.2rem;
    padding: 1.35rem;
    border-radius: 2.2rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 18px 44px rgba(3, 8, 18, 0.18);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    will-change: transform;
}

.services-ref-hero__core-kicker {
    width: max-content;
    padding: 0.7rem 1.2rem;
    border-radius: 999px;
    background: rgba(var(--primary-rgb), 0.18);
    color: #fff;
    font-family: "Outfit", sans-serif;
    font-size: 0.88rem;
    font-weight: 700;
    text-transform: uppercase;
}

.services-ref-hero__core-grid,
.services-ref-hero__benefits {
    display: grid;
}

.services-ref-hero__core-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.services-ref-hero__core-item,
.services-ref-hero__benefit {
    display: grid;
    gap: 0.8rem;
    align-content: start;
}

.services-ref-hero__core-item {
    padding: 1.25rem 1rem 1rem;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.services-ref-hero__core-item:last-child {
    border-right: 0;
}

.services-ref-hero__core-icon,
.services-ref-hero__benefit-icon {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.34);
    color: #fff;
    font-size: 1.1rem;
    box-shadow: inset 0 0 0 1px rgba(var(--primary-rgb), 0.16);
}

.services-ref-hero__core-item strong,
.services-ref-hero__benefit strong,
.services-ref-hero__benefit p {
    color: #fff;
}

.services-ref-hero__core-item strong {
    font-size: 1rem;
    line-height: 1.35;
}

.services-ref-hero__core-item p {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.95rem;
    line-height: 1.6;
}

.services-ref-hero__benefits {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.services-ref-hero__benefit {
    grid-template-columns: auto 1fr;
    gap: 0.95rem;
    padding: 0.95rem 0.3rem 0.25rem;
    align-items: center;
}

.services-ref-hero__benefit p {
    margin-top: 0.2rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.95rem;
    line-height: 1.5;
}

.services-ref-hero__tagline {
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.82);
    font-family: "Outfit", sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-align: center;
    text-transform: uppercase;
}

.about-ref-method__intro,
.about-ref-foundation__header,
.about-ref-clients__header,
.services-ref-grid__header,
.services-ref-context__header,
.services-ref-addons__header,
.about-ref-team__header,
.contact-ref-process__header {
    max-width: 48rem;
    margin: 0 auto 3.5rem;
    text-align: center;
}

.about-ref-method__rail,
.about-ref-clients__grid,
.about-ref-foundation__grid,
.services-ref-grid__items,
.services-ref-context__grid,
.services-ref-addons__grid,
.contact-ref-process__grid {
    display: grid;
    gap: 1.5rem;
}

.about-ref-method__rail,
.about-ref-clients__grid,
.about-ref-foundation__grid,
.contact-ref-process__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.services-ref-grid__items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.8rem;
}

.services-ref-context__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.services-ref-addons__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-ref-method__item,
.about-ref-clients__card,
.about-ref-foundation__card,
.services-ref-grid__card,
.services-ref-addons__card,
.contact-ref-process__item,
.about-ref-team__card {
    display: grid;
    gap: 0.95rem;
    padding: 1.7rem;
    border-radius: 2rem;
}

.about-ref-method__item,
.contact-ref-process__item {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.about-ref-method__item span,
.contact-ref-process__item span {
    color: var(--primary);
    font-family: "Outfit", sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
}

.about-ref-clients__card,
.about-ref-foundation__card,
.services-ref-grid__card,
.services-ref-addons__card {
    align-content: start;
}

.about-ref-clients__card i,
.about-ref-foundation__icon,
.services-ref-grid__icon,
.services-ref-addons__card i {
    width: 3.3rem;
    height: 3.3rem;
    border-radius: 1.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--primary-rgb), 0.08);
    color: var(--primary);
    font-size: 1.15rem;
}

.services-ref-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.8rem;
}

.services-ref-hero__chips span {
    padding: 0.7rem 0.95rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(148, 163, 184, 0.18);
    color: var(--ink-soft);
    font-size: 0.9rem;
    font-weight: 600;
}

.services-ref-hero__stack {
    display: grid;
    gap: 1rem;
    align-content: start;
}

.services-ref-hero__brief {
    display: grid;
    gap: 1rem;
    padding: 2rem;
    border-radius: 2.4rem;
    background: #091121;
    color: #fff;
}

.services-ref-hero__brief h2,
.services-ref-hero__brief p,
.services-ref-hero__brief strong {
    color: #fff;
}

.services-ref-hero__brief-list {
    display: grid;
    gap: 1rem;
}

.services-ref-hero__brief-list article {
    display: grid;
    gap: 0.3rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.services-ref-hero__spotlight {
    position: relative;
    overflow: hidden;
    padding: 1rem;
    border-radius: 2.4rem;
}

.services-ref-hero__spotlight img {
    width: 100%;
    min-height: 18rem;
    object-fit: cover;
    border-radius: 1.8rem;
}

.services-ref-hero__spotlight figcaption {
    position: absolute;
    right: 1.8rem;
    bottom: 1.8rem;
    display: grid;
    gap: 0.2rem;
    padding: 0.9rem 1rem;
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.14);
}

.services-ref-hero__spotlight figcaption span {
    color: var(--primary);
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.services-ref-grid__card {
    transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.services-ref-grid__card:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--primary-rgb), 0.2);
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
}

.services-ref-context__item {
    cursor: pointer;
}

.services-ref-context__media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 1.8rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.services-ref-context__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1);
    transition: transform 700ms ease, filter 300ms ease;
}

.services-ref-context__media .scan-line {
    opacity: 0;
    transition: opacity var(--transition);
}

.services-ref-context__signal {
    position: absolute;
    top: 0.9rem;
    left: 0.9rem;
    z-index: 2;
    padding: 0.35rem 0.55rem;
    border-radius: 0.7rem;
    background: rgba(9, 17, 33, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: var(--accent-soft);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.services-ref-context__item:hover .services-ref-context__media img {
    filter: grayscale(0);
    transform: scale(1.08);
}

.services-ref-context__item:hover .services-ref-context__media .scan-line {
    opacity: 1;
}

.services-ref-context__item h3 {
    margin-bottom: 0.55rem;
    color: #f8fbff;
}

.services-ref-context__item p {
    color: rgba(226, 232, 240, 0.8);
}

.services-ref-core__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2rem;
    align-items: end;
    margin-bottom: 3rem;
}

.services-ref-core__intro {
    max-width: 52rem;
    display: grid;
    gap: 0.85rem;
}

.services-ref-core__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.services-ref-core__card {
    display: grid;
    align-content: start;
    gap: 0.95rem;
    padding: 1.75rem;
    border-radius: 2rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.services-ref-core__card h3,
.services-ref-core__card p {
    color: #fff;
}

.services-ref-core__icon {
    width: 3.3rem;
    height: 3.3rem;
    border-radius: 1.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--primary-rgb), 0.18);
    color: #fff;
    font-size: 1.1rem;
}

.contact-ref-panel__frame,
.contact-ref-close__panel,
.about-ref-close__panel,
.services-ref-close__panel {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(0, 0.97fr);
    overflow: hidden;
    border-radius: 2.8rem;
}

.contact-ref-panel__left,
.contact-ref-panel__right,
.contact-ref-close__left,
.contact-ref-close__right,
.about-ref-close__left,
.about-ref-close__right,
.services-ref-close__left,
.services-ref-close__right {
    padding: 2.6rem;
}

.contact-ref-panel__left {
    display: grid;
    gap: 1rem;
}

.contact-ref-panel__contact a {
    display: inline-block;
    margin-top: 0.2rem;
    color: var(--ink);
    font-family: "Outfit", sans-serif;
    font-size: clamp(1.7rem, 3vw, 2.25rem);
    line-height: 1.05;
}

.contact-ref-panel__contact p {
    margin-top: 0.55rem;
}

.contact-ref-panel__social {
    width: max-content;
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    margin-top: 1rem;
    padding: 0.72rem 1rem;
    border-radius: 999px;
    background: rgba(var(--primary-rgb), 0.08);
    border: 1px solid rgba(var(--primary-rgb), 0.14);
    color: var(--ink) !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

.contact-ref-panel__social i {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--primary-rgb), 0.12);
    color: var(--primary);
    font-size: 0.95rem;
}

.contact-ref-panel__social:hover {
    transform: translateY(-2px);
    background: rgba(var(--primary-rgb), 0.12);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.contact-ref-panel__support,
.contact-ref-panel__list {
    display: grid;
    gap: 1rem;
    margin-top: 0.8rem;
}

.contact-ref-panel__support article,
.contact-ref-panel__list article {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
    align-items: start;
}

.contact-ref-panel__icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--primary-rgb), 0.08);
    color: var(--primary);
}

.contact-ref-panel__right .section-label--dark {
    width: max-content;
}

.contact-ref-panel__list article {
    grid-template-columns: 1fr;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.contact-ref-panel__list strong {
    color: #fff;
    font-family: "Outfit", sans-serif;
}

.contact-ref-panel__right h3 {
    color: #fff;
}

.contact-ref-panel__right .button {
    margin-top: 1rem;
}

.contact-ref-close__panel,
.about-ref-close__panel,
.services-ref-close__panel {
    align-items: center;
}

.contact-ref-close__right,
.about-ref-close__right,
.services-ref-close__right {
    display: grid;
    gap: 0.85rem;
    justify-items: start;
}

.contact-ref-process__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
    gap: 3rem;
    align-items: start;
}

.contact-ref-process__steps {
    display: grid;
    gap: 1rem;
}

.contact-ref-process__item {
    position: relative;
    gap: 0.65rem;
    padding: 0 0 1.35rem 2.1rem;
    border-radius: 0;
    background: transparent;
    border: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.contact-ref-process__item::before {
    content: "";
    position: absolute;
    left: -0.45rem;
    top: 0.15rem;
    width: 0.85rem;
    height: 0.85rem;
    border-radius: 999px;
    background: #091121;
    border: 2px solid var(--primary);
    box-shadow: 0 0 0 6px rgba(var(--primary-rgb), 0.1);
}

.contact-ref-process__item:last-child {
    padding-bottom: 0;
}

.about-ref-team__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
}

.about-ref-team__card {
    justify-items: center;
    text-align: center;
    padding: 2rem 1.5rem;
}

.about-ref-team__avatar {
    width: 6rem;
    height: 6rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.16), rgba(var(--accent-rgb), 0.28));
    border: 4px solid rgba(255, 255, 255, 0.88);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.12);
}

.about-ref-team__avatar span {
    color: var(--primary);
    font-family: "Outfit", sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
}

.about-ref-team__role {
    color: var(--primary);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.about-ref-hero__side {
    display: grid;
    gap: 1.1rem;
    align-content: start;
}

.about-ref-why__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.about-ref-why__card {
    display: grid;
    align-content: start;
    gap: 0.75rem;
    padding: 1.35rem 1.45rem;
    border-radius: 1.75rem;
    min-height: 100%;
}

.about-ref-why__card h3 {
    font-size: 1.15rem;
    line-height: 1.2;
}

.about-ref-why__icon {
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--primary-rgb), 0.08);
    color: var(--primary);
    font-size: 1.05rem;
}

.about-ref-why__card--dark {
    background: #091121;
}

.about-ref-why__card--dark h3,
.about-ref-why__card--dark p,
.about-ref-why__card--dark .about-ref-why__icon {
    color: #fff;
}

.about-ref-why__card--dark .about-ref-why__icon {
    background: rgba(255, 255, 255, 0.08);
}

.about-ref-foundation {
    background: rgba(255, 255, 255, 0.28);
}

.about-ref-foundation__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.about-ref-foundation__card {
    gap: 0.9rem;
    padding: 1.65rem;
    border-radius: 2rem;
}

.about-ref-foundation__card h3 {
    font-size: 1.12rem;
    line-height: 1.25;
}

.about-ref-method__rail {
    max-width: 46rem;
    margin: 0 auto;
    gap: 1rem;
    grid-template-columns: 1fr;
}

.about-ref-method__item {
    position: relative;
    gap: 0.6rem;
    padding: 0 0 1.4rem 2.2rem;
    border-radius: 0;
    background: transparent;
    border: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.about-ref-method__item::before {
    content: "";
    position: absolute;
    left: -0.45rem;
    top: 0.12rem;
    width: 0.85rem;
    height: 0.85rem;
    border-radius: 999px;
    background: #091121;
    border: 2px solid var(--primary);
    box-shadow: 0 0 0 6px rgba(var(--primary-rgb), 0.1);
}

.about-ref-method__item:last-child {
    padding-bottom: 0;
}

.about-ref-operating__layout,
.about-ref-clients__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    gap: 3rem;
    align-items: start;
}

.about-ref-operating__copy,
.about-ref-clients__copy {
    max-width: 32rem;
}

.about-ref-operating__steps {
    display: grid;
    gap: 1rem;
}

.about-ref-operating__steps article,
.about-ref-clients__list article {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
}

.about-ref-operating__steps article {
    padding: 1.1rem 0;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.about-ref-operating__steps article:first-child {
    border-top: 0;
    padding-top: 0;
}

.about-ref-operating__steps span {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--primary-rgb), 0.08);
    color: var(--primary);
    font-family: "Outfit", sans-serif;
    font-weight: 700;
}

.about-ref-principles {
    background: rgba(255, 255, 255, 0.34);
}

.about-ref-principles__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 2.4rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.72);
}

.about-ref-principles__grid article {
    display: grid;
    gap: 0.45rem;
    padding: 1.8rem;
    border-right: 1px solid rgba(148, 163, 184, 0.16);
}

.about-ref-principles__grid article:last-child {
    border-right: 0;
}

.about-ref-principles__grid span {
    color: var(--ink);
    font-family: "Outfit", sans-serif;
    font-size: 1.08rem;
}

.about-ref-clients__list {
    display: grid;
    gap: 1rem;
}

.about-ref-clients__list article {
    padding-top: 1rem;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.about-ref-clients__list article:first-child {
    padding-top: 0;
    border-top: 0;
}

.about-ref-clients__list i {
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--primary-rgb), 0.08);
    color: var(--primary);
}

.about-ref-team__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-ref-team__card {
    justify-items: center;
    text-align: center;
    padding: 1.5rem 1.35rem 1.8rem;
}

.about-ref-team__portrait {
    width: 100%;
    aspect-ratio: 1 / 1.08;
    border-radius: 1.8rem;
    margin-bottom: 1rem;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at top, rgba(var(--accent-rgb), 0.22), transparent 46%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(226, 232, 240, 0.9));
    border: 1px solid rgba(148, 163, 184, 0.16);
    overflow: hidden;
}

.about-ref-team__portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-ref-team__actions {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
}

.team-ref-hero__layout,
.team-ref-profile,
.team-ref-close__panel {
    display: grid;
    gap: 3rem;
}

.team-ref-hero__layout,
.team-ref-close__panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
    align-items: center;
}

.team-ref-hero__copy {
    max-width: 40rem;
}

.team-ref-hero__panel {
    display: grid;
    gap: 1rem;
    padding: 2rem;
    border-radius: 2.4rem;
}

.team-ref-hero__signals {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.team-ref-hero__signals span {
    padding: 0.7rem 0.95rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(148, 163, 184, 0.18);
    color: var(--ink-soft);
    font-size: 0.9rem;
    font-weight: 600;
}

.team-ref-profiles .shell {
    display: grid;
    gap: 2rem;
}

.team-ref-profile {
    grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
    align-items: start;
}

.team-ref-profile--reverse {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
}

.team-ref-profile--reverse .team-ref-profile__side {
    order: 2;
}

.team-ref-profile--reverse .team-ref-profile__content {
    order: 1;
}

.team-ref-profile__side {
    display: grid;
    gap: 1.2rem;
    position: sticky;
    top: 7rem;
}

.team-ref-profile__portrait {
    overflow: hidden;
    border-radius: 2rem;
    padding: 0.8rem;
}

.team-ref-profile__portrait img {
    width: 100%;
    aspect-ratio: 1 / 1.12;
    object-fit: cover;
    border-radius: 1.5rem;
}

.team-ref-profile__meta {
    display: grid;
    gap: 0.45rem;
}

.team-ref-profile__role {
    color: var(--primary);
    font-size: 0.86rem;
    font-weight: 800;
    text-transform: uppercase;
}

.team-ref-profile__content {
    display: grid;
    gap: 1rem;
    padding: 2rem;
    border-radius: 2.2rem;
}

.team-ref-profile__content p + p {
    padding-top: 1rem;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.team-ref-close__left,
.team-ref-close__right {
    padding: 2.6rem;
}

.team-ref-close__right {
    display: grid;
    gap: 0.85rem;
    justify-items: start;
}

.services-ref-addons__grid {
    gap: 0;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 2.4rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.68);
}

.services-ref-addons__card {
    padding: 2rem;
    background: transparent;
    border-right: 1px solid rgba(148, 163, 184, 0.16);
}

.services-ref-addons__card:last-child {
    border-right: 0;
}

@media (max-width: 1100px) {
    .about-ref-hero__layout,
    .about-ref-practice__layout,
    .services-ref-hero__layout,
    .team-ref-hero__layout,
    .team-ref-profile,
    .team-ref-close__panel,
    .contact-ref-process__layout,
    .contact-ref-hero__layout,
    .contact-ref-panel__frame,
    .contact-ref-close__panel,
    .about-ref-close__panel,
    .services-ref-close__panel {
        grid-template-columns: 1fr;
    }

    .about-ref-hero__copy,
    .contact-ref-hero__copy,
    .team-ref-hero__copy {
        display: grid;
        gap: 1rem;
        max-width: 44rem;
        margin: 0 auto;
        justify-items: center;
        text-align: center;
    }

    .about-ref-hero__copy .eyebrow,
    .contact-ref-hero__copy .eyebrow,
    .team-ref-hero__copy .eyebrow {
        justify-self: center;
    }

    .contact-ref-hero__layout,
    .team-ref-hero__layout {
        justify-items: center;
    }

    .about-ref-method__rail,
    .about-ref-clients__grid,
    .about-ref-foundation__grid,
    .contact-ref-process__grid,
    .services-ref-context__grid,
    .about-ref-team__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .services-ref-grid__items,
    .services-ref-addons__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .services-ref-hero {
        min-height: auto;
    }

    .services-ref-hero__layout {
        min-height: 21rem;
    }

    .services-ref-hero__copy h1 {
        font-size: clamp(2.3rem, 5vw, 3.35rem);
    }

    .services-ref-hero__line {
        white-space: nowrap;
    }

    .services-ref-hero__core-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .services-ref-hero__core-item:nth-child(3n) {
        border-right: 0;
    }

    .services-ref-hero__core-item:nth-child(n + 4) {
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .services-ref-hero__benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-ref-operating__layout,
    .about-ref-clients__layout {
        grid-template-columns: 1fr;
    }

    .services-ref-core__header {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .services-ref-core__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-ref-principles__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-ref-principles__grid article:nth-child(2) {
        border-right: 0;
    }

    .about-ref-principles__grid article:nth-child(3),
    .about-ref-principles__grid article:nth-child(4) {
        border-top: 1px solid rgba(148, 163, 184, 0.16);
    }

    .team-ref-profile__side {
        position: static;
    }

    .team-ref-profile--reverse .team-ref-profile__side,
    .team-ref-profile--reverse .team-ref-profile__content {
        order: initial;
    }

    .services-ref-addons__card:nth-child(2) {
        border-right: 0;
    }

    .services-ref-addons__card:nth-child(3) {
        border-top: 1px solid rgba(148, 163, 184, 0.16);
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .about-ref-hero__cards,
    .about-ref-why__grid,
    .about-ref-foundation__grid,
    .about-ref-method__rail,
    .about-ref-clients__grid,
    .services-ref-grid__items,
    .services-ref-core__grid,
    .services-ref-addons__grid,
    .about-ref-team__grid {
        grid-template-columns: 1fr;
    }

    .services-ref-hero {
        padding-top: 7.8rem;
        padding-bottom: 1.5rem;
    }

    .services-ref-hero::before {
        background:
            linear-gradient(180deg, rgba(54, 12, 18, 0.52) 0%, rgba(82, 16, 24, 0.24) 28%, rgba(66, 18, 26, 0.18) 46%, rgba(10, 14, 25, 0.68) 100%),
            linear-gradient(180deg, rgba(141, 12, 12, 0.24) 0%, rgba(37, 16, 25, 0.18) 40%, rgba(8, 17, 31, 0.84) 100%);
    }

    .services-ref-hero__media {
        background-position: 66% center;
    }

    .services-ref-hero__layout {
        min-height: 18rem;
    }

    .services-ref-hero__copy {
        gap: 0.9rem;
        max-width: 24rem;
    }

    .services-ref-hero__copy h1 {
        width: 100%;
        font-size: clamp(1.85rem, 9.6vw, 2.6rem);
        line-height: 1.06;
    }

    .services-ref-hero__line {
        white-space: normal;
        text-wrap: balance;
    }

    .services-ref-hero__strap {
        max-width: 22rem;
        font-size: 0.98rem;
        line-height: 1.58;
        white-space: normal;
    }

    .services-ref-hero__lower {
        margin-top: 1.85rem;
    }

    .services-ref-hero__core {
        padding: 1rem;
        border-radius: 1.8rem;
        gap: 1rem;
    }

    .services-ref-hero__core-kicker {
        justify-self: center;
    }

    .services-ref-hero__core-grid,
    .services-ref-hero__benefits {
        grid-template-columns: 1fr;
    }

    .services-ref-hero__core-item,
    .services-ref-hero__benefit {
        border-right: 0;
    }

    .services-ref-hero__core-item {
        padding: 1rem 0;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .services-ref-hero__core-item:first-child {
        border-top: 0;
    }

    .services-ref-hero__benefits {
        gap: 0;
    }

    .services-ref-hero__benefit {
        padding: 1rem 0;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .services-ref-hero__tagline {
        font-size: 0.78rem;
        letter-spacing: 0.08em;
        line-height: 1.5;
        text-wrap: balance;
    }

    .about-ref-principles__grid {
        grid-template-columns: 1fr;
    }

    .about-ref-team__grid {
        gap: 1.1rem;
    }

    .about-ref-principles__grid article {
        border-right: 0;
        border-top: 1px solid rgba(148, 163, 184, 0.16);
    }

    .about-ref-principles__grid article:first-child {
        border-top: 0;
    }

    .services-ref-addons__grid {
        gap: 0;
    }

    .services-ref-addons__card {
        border-right: 0;
        border-top: 1px solid rgba(148, 163, 184, 0.16);
    }

    .services-ref-addons__card:first-child {
        border-top: 0;
    }

    .about-ref-hero__column--offset {
        padding-top: 0;
    }

    .about-ref-team__portrait {
        border-radius: 1.8rem;
    }

    .about-ref-close__right,
    .services-ref-close__right,
    .contact-ref-close__right,
    .team-ref-hero__signals,
    .team-ref-close__right {
        display: grid;
        grid-template-columns: 1fr;
    }

    .services-ref-hero__chips {
        gap: 0.55rem;
        margin-top: 1.25rem;
    }

    .services-ref-hero__chips span,
    .team-ref-hero__signals span {
        font-size: 0.83rem;
        padding: 0.65rem 0.82rem;
    }

    .services-ref-core__header {
        margin-bottom: 2rem;
    }

    .services-ref-core__card {
        padding: 1.5rem;
        border-radius: 1.8rem;
    }

    .contact-ref-hero {
        background:
            linear-gradient(180deg, rgba(250, 251, 253, 0.97) 0%, rgba(250, 251, 253, 0.9) 42%, rgba(250, 251, 253, 0.72) 100%),
            url("../images/bg.jpeg") 68% center / cover no-repeat;
    }

    .about-ref-practice__image,
    .services-ref-hero__image,
    .services-ref-hero__spotlight,
    .contact-ref-panel__frame,
    .contact-ref-close__panel,
    .about-ref-close__panel,
    .services-ref-close__panel {
        border-radius: 1.8rem;
    }

    .team-ref-profile__portrait {
        padding: 0.65rem;
    }

    .team-ref-profile__portrait img {
        aspect-ratio: 1 / 1.04;
        border-radius: 1.2rem;
    }

    .team-ref-profile__meta {
        gap: 0.3rem;
    }

    .team-ref-profile__meta h2,
    .about-ref-team__card h3 {
        font-size: clamp(1.85rem, 9vw, 2.35rem);
        overflow-wrap: anywhere;
    }

    .team-ref-profile__role,
    .about-ref-team__role {
        font-size: 0.68rem;
        line-height: 1.35;
        letter-spacing: 0.03em;
    }

    .team-ref-profile__content {
        gap: 0.8rem;
        padding: 1.35rem;
    }

    .team-ref-profile__content p,
    .about-ref-team__card p,
    .contact-ref-panel__left p,
    .contact-ref-panel__right p,
    .contact-ref-process__header p,
    .services-ref-context__item p {
        font-size: 0.95rem;
        line-height: 1.72;
    }

    .team-ref-profile__content p + p {
        padding-top: 0.85rem;
    }

    .contact-ref-panel__contact a {
        font-size: clamp(1.35rem, 7.5vw, 1.8rem);
        line-height: 1.08;
        word-break: break-word;
    }

    .contact-ref-panel__social {
        width: 100%;
        justify-content: center;
        font-size: 0.92rem !important;
    }

    .contact-ref-process__item {
        padding-left: 1.75rem;
    }

    .contact-ref-process__item h3,
    .about-ref-method__item h3 {
        font-size: 1.12rem;
    }

    .contact-ref-panel__left,
    .contact-ref-panel__right,
    .contact-ref-close__left,
    .contact-ref-close__right,
    .team-ref-close__left,
    .team-ref-close__right,
    .about-ref-close__left,
    .about-ref-close__right,
    .services-ref-close__left,
    .services-ref-close__right {
        padding: 2rem 1.5rem;
    }
}
