/* Hallmark · pre-emit critique: P5 H4 E4 S5 R4 V5 */
/* Hallmark · macrostructure: Marquee Hero / Ecosystem Index / Split Studio · theme: custom
 * vibe: "cinematic warmth, precise, immersive" · paper: oklch(14% 0.026 48) · accent: oklch(31% 0.082 48)
 * display: Bodoni Moda · body: Manrope · axes: dark / roman-serif / chromatic-terracotta · studied: no
 */
* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    min-width: 0;
    overflow-x: clip;
    background: var(--color-paper);
    color: var(--color-ink);
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 8rem;
}

body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: 1.55;
}

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

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

button {
    font: inherit;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.skip-link {
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 1000;
    transform: translateY(-200%);
    background: var(--color-white);
    color: var(--color-paper);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-sm);
    transition: transform var(--dur-fast) var(--ease-out);
}

.skip-link:focus {
    transform: translateY(0);
}

:focus-visible {
    outline: 3px solid var(--color-focus);
    outline-offset: 4px;
}

.eyebrow {
    color: var(--color-ink-soft);
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: .13em;
    margin: 0 0 var(--space-md);
    text-transform: uppercase;
}

.eyebrow {
    margin-top: 3.5rem;
}

h1, h2, h3, p {
    margin-top: 0;
}

h1, h2, h3 {
    min-width: 0;
    overflow-wrap: anywhere;
}

h1, h2 {
    font-family: var(--font-display);
    font-weight: 500;
    line-height: .96;
    letter-spacing: -.045em;
}

h1 em, h2 em {
    font-style: normal;
    font-weight: 400;
}

.site-header {
    position: fixed;
    z-index: 50;
    top: var(--space-lg);
    left: 50%;
    transform: translateX(-50%);
    width: min(92vw, 1240px);
    min-height: 4.5rem;
    padding: .7rem .8rem .7rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-lg);
    background: var(--color-glass);
    border: 1px solid oklch(98% .003 70 / .18);
    border-radius: var(--radius-lg);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition: background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);
}

.site-header.is-scrolled {
    background: oklch(14% .026 48 / .9);
    border-color: oklch(98% .003 70 / .26);
}

.brand {
    width: 8.3rem;
    flex: 0 0 auto;
}

.brand img {
    width: 100%;
    height: auto;
}

.main-nav {
    display: flex;
    align-items: center;
    gap: clamp(.5rem, 1.6vw, 1.6rem);
    font-size: var(--text-sm);
    font-weight: 700;
}

.main-nav>a:not(.nav-cta) {
    color: var(--color-ink-soft);
    transition: color var(--dur-fast) var(--ease-out);
}

.main-nav>a:hover, .main-nav>a.active {
    color: var(--color-ink);
}

.nav-cta {
    padding: .7rem 1rem;
    color: var(--color-paper);
    background: var(--color-white);
    border-radius: var(--radius-sm);
}

.nav-cta span, .button span {
    display: inline-block;
    margin-left: .3rem;
    transition: transform var(--dur-fast) var(--ease-out);
}

.nav-cta:hover span, .button:hover span {
    transform: translate(3px, -3px);
}

.menu-toggle {
    display: none;
    width: 2.7rem;
    height: 2.7rem;
    padding: .55rem;
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--color-ink);
    background: oklch(98% .003 70 / .08);
}

.menu-toggle span:not(.sr-only) {
    display: block;
    height: 1px;
    margin: .3rem 0;
    background: currentColor;
}

.section-shell {
    width: min(88vw, 1180px);
    margin-inline: auto;
}

.home-hero {
    position: relative;
    isolation: isolate;
    min-height: min(850px, 100svh);
    padding: clamp(9rem, 14vw, 13rem) 6vw var(--space-3xl);
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(16rem, .85fr);
    align-items: center;
    gap: var(--space-2xl);
    overflow: hidden;
}

.home-hero {
    background-image: url("ASSETS/hero-v2.gif");
    background-size: cover;
    background-position: center;
    height: 100vh;
}


.hero-glow {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    filter: blur(2px);
    opacity: .72;
}

.glow-one {
    width: 36rem;
    height: 36rem;
    right: -15rem;
    top: -12rem;
    background: radial-gradient(circle, oklch(50% .14 48 / .7), transparent 67%);
}

.glow-two {
    width: 24rem;
    height: 24rem;
    left: 22%;
    bottom: -18rem;
    background: oklch(38% .08 50 / .5);
    filter: blur(70px);
}

.hero-copy {
    max-width: 54rem;
}

.hero-copy h1 {
    font-size: var(--text-display);
    margin-bottom: var(--space-lg);
}

.hero-description {
    max-width: 40rem;
    color: var(--color-ink-soft);
    font-size: clamp(1rem, 1.4vw, 1.2rem);
}

.hero-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 25rem;
    gap: var(--space-lg);
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.2rem;
    padding: .85rem 1.25rem;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    font-weight: 800;
    cursor: pointer;
    transition: transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}

.button:hover {
    transform: translateY(-3px);
}

.button-primary {
    color: var(--color-paper);
    background: var(--color-white);
}

.button-light {
    color: var(--color-paper);
    background: var(--color-white);
}

.button-ghost {
    color: var(--color-ink);
    border-color: var(--color-rule);
    background: transparent;
}

.button-ghost:hover {
    border-color: var(--color-ink-soft);
}

.button:disabled {
    cursor: not-allowed;
    opacity: .72;
    transform: none;
}

.text-link {
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    padding-block: .5rem;
    font-weight: 800;
    color: var(--color-ink);
    border-bottom: 1px solid var(--color-rule);
}

.text-link span {
    transition: transform var(--dur-fast) var(--ease-out);
}

.text-link:hover span {
    transform: translateY(3px);
}

.hero-frame {
    position: relative;
    width: min(34vw, 30rem);
    aspect-ratio: 1;
    justify-self: center;
    border: 1px solid oklch(98% .003 70 / .25);
    border-radius: 50%;
    background: oklch(12% .025 48 / .22);
    box-shadow: inset 0 0 7rem oklch(55% .13 48 / .16), 0 2rem 5rem oklch(5% .02 50 / .45);
}

.hero-frame-word {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-size: clamp(12rem, 25vw, 25rem);
    color: oklch(98% .003 70 / .93);
    line-height: 1;
}

.frame-ring {
    position: absolute;
    border: 1px solid oklch(98% .003 70 / .25);
    border-radius: 50%;
}

.ring-a {
    inset: 10%;
}

.ring-b {
    inset: 22%;
    border-color: oklch(68% .09 48 / .7);
}

.frame-caption {
    position: absolute;
    right: 3%;
    bottom: 11%;
    font-size: .6rem;
    letter-spacing: .17em;
    font-weight: 800;
    color: var(--color-ink-soft);
    writing-mode: vertical-rl;
}

.hero-signature {
    grid-column: 1 / -1;
    display: flex;
    gap: .5rem;
    justify-content: center;
    align-items: center;
    color: var(--color-ink-soft);
    font-size: var(--text-sm);
    margin-top: -3rem;
}

.intro-section {
    padding-block: var(--space-5xl) var(--space-4xl);
}

.intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(15rem, .6fr);
    align-items: end;
    gap: var(--space-3xl);
}

.intro-grid h2 {
    margin: 0;
    font-size: var(--text-2xl);
}

.intro-grid p {
    margin: 0;
    color: var(--color-ink-soft);
}

.capabilities {
    padding-block: var(--space-3xl) var(--space-4xl);
}

.section-heading {
    max-width: 47rem;
    margin-bottom: var(--space-2xl);
}

.section-heading h2 {
    margin-bottom: 0;
    font-size: var(--text-2xl);
}

.capability-list {
    border-top: var(--rule);
}

.capability {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr) 2rem;
    gap: var(--space-md);
    align-items: start;
    padding: var(--space-xl) 0;
    border-bottom: var(--rule);
}

.capability>span:first-child {
    color: var(--color-muted);
    font-size: var(--text-sm);
    font-weight: 800;
}

.capability h3 {
    margin-bottom: .35rem;
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.15;
}

.capability p {
    max-width: 40rem;
    margin: 0;
    color: var(--color-ink-soft);
}

.capability-arrow {
    font-size: var(--text-xl);
    text-align: right;
}

.showcase-strip {
    min-height: 39rem;
    padding: var(--space-3xl) 8vw;
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(22rem, 1.15fr);
    align-items: center;
    gap: var(--space-3xl);
    background: oklch(20% .05 47);
    overflow: hidden;
}

.showcase-copy {
    max-width: 35rem;
}

.showcase-copy h2 {
    font-size: var(--text-2xl);
}

.showcase-art {
    position: relative;
    min-height: 25rem;
}

.showcase-art span {
    position: absolute;
    z-index: 3;
    bottom: 5%;
    left: 10%;
    color: oklch(98% .003 70 / .75);
    font-family: var(--font-display);
    font-size: clamp(7rem, 13vw, 14rem);
    line-height: .7;
}

.art-card {
    position: absolute;
    border: 1px solid oklch(98% .003 70 / .24);
    border-radius: var(--radius-lg);
    background: linear-gradient(140deg, oklch(41% .13 47 / .9), oklch(15% .03 48 / .66));
    box-shadow: 0 1.5rem 4rem oklch(6% .015 48 / .35);
}

.card-one {
    width: 47%;
    height: 75%;
    top: 6%;
    left: 5%;
    transform: rotate(-8deg);
}

.card-two {
    width: 54%;
    height: 66%;
    top: 18%;
    right: 5%;
    background: linear-gradient(160deg, oklch(85% .025 70 / .85), oklch(39% .08 48 / .9));
    transform: rotate(8deg);
}

.card-three {
    width: 33%;
    height: 43%;
    bottom: 3%;
    left: 34%;
    background: oklch(13% .025 48 / .8);
    transform: rotate(2deg);
}

.process-section {
    padding-block: var(--space-5xl);
}

.split-heading {
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, .4fr);
    gap: var(--space-2xl);
    align-items: end;
}

.split-heading>p {
    color: var(--color-ink-soft);
    margin: 0;
}

.process-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-md);
    padding: 0;
    margin: var(--space-2xl) 0 0;
    list-style: none;
}

.process-list li {
    min-height: 16rem;
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    border: var(--rule);
    border-radius: var(--radius-md);
    background: oklch(18% .027 48 / .55);
}

.process-list span {
    color: var(--color-ink-soft);
    font-size: var(--text-sm);
    font-weight: 800;
}

.process-list h3 {
    margin: auto 0 var(--space-sm);
    font-size: var(--text-lg);
    line-height: 1.1;
}

.process-list p {
    color: var(--color-ink-soft);
    margin: 0;
    font-size: var(--text-sm);
}

.people-teaser {
    padding-block: var(--space-3xl);
    display: grid;
    grid-template-columns: minmax(15rem, .75fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(2rem, 8vw, 9rem);
}

.people-image {
    aspect-ratio: .85;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: var(--color-paper-soft);
}

.people-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    filter: grayscale(1) contrast(1.06);
}

.people-copy {
    max-width: 38rem;
}

.people-copy h2 {
    font-size: var(--text-2xl);
}

.people-copy>p:not(.eyebrow) {
    color: var(--color-ink-soft);
}

.people-copy .button {
    margin-top: var(--space-lg);
}

.contact-section {
    position: relative;
    isolation: isolate;
    min-height: 34rem;
    padding: var(--space-4xl) 8vw;
    display: grid;
    place-items: center;
    overflow: hidden;
    text-align: center;
    background: linear-gradient(125deg, oklch(32% .09 47), oklch(15% .027 48));
}

.contact-section>div:not(.contact-orbit) {
    position: relative;
    z-index: 2;
    max-width: 54rem;
}

.contact-section h2 {
    font-size: var(--text-display-s);
    margin-bottom: var(--space-md);
}

.contact-section p:not(.eyebrow) {
    max-width: 34rem;
    margin: 0 auto var(--space-xl);
    color: var(--color-ink-soft);
}

.contact-orbit {
    position: absolute;
    border: 1px solid oklch(98% .003 70 / .18);
    border-radius: 50%;
}

.orbit-left {
    width: 38rem;
    height: 38rem;
    top: -50%;
    left: -15%;
}

.orbit-right {
    width: 28rem;
    height: 28rem;
    bottom: -44%;
    right: -4%;
}

.contact-section.compact {
    min-height: 25rem;
}

.site-footer {
    padding: var(--space-2xl) 6vw;
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: var(--space-lg);
    align-items: center;
    border-top: var(--rule);
    background: oklch(12% .024 48);
}

.footer-brand {
    width: 9rem;
}

.footer-brand img {
    width: 100%;
}

.site-footer p {
    margin: 0;
    color: var(--color-ink-soft);
    font-size: var(--text-sm);
}

.site-footer div {
    display: flex;
    gap: var(--space-lg);
    font-size: var(--text-sm);
    font-weight: 700;
}

.site-footer small {
    grid-column: 1/-1;
    color: var(--color-muted);
    font-size: .68rem;
}

/* Portfolio */
.portfolio-page {
    background: oklch(11% .022 48);
}

.portfolio-header {
    position: fixed;
    z-index: 60;
    top: var(--space-lg);
    left: 50%;
    transform: translateX(-50%);
    width: min(95vw, 1420px);
    height: 4.8rem;
    padding: .65rem .9rem .65rem 1.1rem;
    display: grid;
    grid-template-columns: 7.8rem minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-md);
    background: oklch(12% .022 48 / .56);
    border: 1px solid oklch(98% .003 70 / .7);
    border-radius: var(--radius-full);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.portfolio-header.is-scrolled {
    background: oklch(12% .022 48 / .92);
}

.portfolio-logo {
    width: 6.7rem;
}

.portfolio-logo img {
    width: 100%;
}

.portfolio-nav {
    min-width: 0;
    display: flex;
    gap: clamp(.8rem, 2.2vw, 2.5rem);
    align-items: center;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
    font-size: var(--text-sm);
    font-weight: 800;
}

.portfolio-nav::-webkit-scrollbar {
    display: none;
}

.portfolio-nav a {
    color: var(--color-ink-soft);
    transition: color var(--dur-fast) var(--ease-out);
}

.portfolio-nav a:hover, .portfolio-nav a.is-active {
    color: var(--color-ink);
}



.portfolio-hero {
    position: relative;
    height: 100vh;
    display: grid;
    align-items: end;
    padding: 10rem 8vw 6rem;
    overflow: hidden;
    background-image: url("ASSETS/portfolio-gif.gif");
    background-size: cover;
    background-position: center;
}

.portfolio-hero-visual {
    position: absolute;
    inset: 0;
    opacity: .8;
}

.portfolio-hero {
    background-size: cover;
    background-position: center;
}




.portfolio-hero-content {
    position: relative;
    z-index: 1;
    max-width: 47rem;
}

.portfolio-hero h1 {
    font-size: var(--text-display-s);
    margin-bottom: var(--space-md);
}

.portfolio-hero-content>p:not(.eyebrow) {
    color: var(--color-ink-soft);
    max-width: 32rem;
}

.portfolio-intro {
    width: min(88vw, 1180px);
    padding-block: var(--space-4xl) var(--space-2xl);
    margin: auto;
}

.portfolio-intro p {
    color: var(--color-ink-soft);
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: var(--text-xs);
    font-weight: 800;
}

.portfolio-intro h2 {
    max-width: 38rem;
    font-size: var(--text-2xl);
    margin-bottom: var(--space-sm);
}

.portfolio-intro span {
    color: var(--color-muted);
    font-size: var(--text-sm);
}

.portfolio-rows {
    padding-bottom: var(--space-5xl);
}

.portfolio-row {
    padding: var(--space-xl) 0;
    scroll-margin-top: 6.5rem;
}

.row-heading {
    width: min(88vw, 1180px);
    margin: 0 auto var(--space-md);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.row-heading h2 {
    margin: 0;
    font-family: var(--font-body);
    font-size: clamp(1.4rem, 2.5vw, 2rem);
    font-weight: 800;
    letter-spacing: -.04em;
}

.row-controls {
    display: flex;
    gap: .5rem;
}

.row-controls button {
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border: var(--rule);
    border-radius: 50%;
    color: var(--color-ink);
    background: oklch(98% .003 70 / .05);
    cursor: pointer;
    transition: background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}

.row-controls button:hover {
    background: oklch(98% .003 70 / .16);
    transform: translateY(-2px);
}

.media-track {
    width: 100%;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: clamp(14rem, 24vw, 20rem);
    gap: var(--space-md);
    overflow-x: auto;
    padding: .4rem max(6vw, calc((100vw - 1180px) / 2)) var(--space-md);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.media-track::-webkit-scrollbar {
    display: none;
}

.media-placeholder {
    position: relative;
    aspect-ratio: 16 / 10;
    scroll-snap-align: start;
    overflow: hidden;
    border: 1px solid oklch(98% .003 70 / .18);
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, oklch(25% .045 48), oklch(16% .025 48));
}

.media-placeholder::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 25%, oklch(98% .003 70 / .045), transparent 70%);
    transform: translateX(-100%);
    transition: transform var(--dur-slow) var(--ease-out);
}

.media-placeholder:hover::before {
    transform: translateX(100%);
}

.media-placeholder span {
    position: absolute;
    right: 1rem;
    bottom: .85rem;
    color: oklch(98% .003 70 / .35);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.portfolio-footer {
    background: oklch(8% .017 48);
}

/* About */
.about-hero {
    min-height: 78svh;
    padding: 11rem 8vw var(--space-3xl);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, .55fr);
    align-items: end;
    gap: var(--space-3xl);
    background: radial-gradient(circle at 82% 35%, oklch(36% .10 48 / .5), transparent 27rem), oklch(15% .028 48);
    overflow: hidden;
}

.about-hero>div:first-child {
    max-width: 56rem;
}

.about-hero h1 {
    font-size: var(--text-display-s);
    margin-bottom: var(--space-lg);
}

.about-hero p:not(.eyebrow) {
    max-width: 38rem;
    color: var(--color-ink-soft);
}

.about-symbol {
    width: min(25rem, 34vw);
    justify-self: end;
    padding: 20%;
    border: 1px solid oklch(98% .003 70 / .2);
    border-radius: 50%;
    background: oklch(98% .003 70 / .04);
}

.about-symbol img {
    width: 100%;
    opacity: .85;
}

.founders {
    padding-block: var(--space-5xl) var(--space-3xl);
}

.founder-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
}

.founder-card {
    min-height: 40rem;
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(14rem, .97fr);
    overflow: hidden;
    border: var(--rule);
    border-radius: var(--radius-lg);
    background: oklch(18% .029 48 / .7);
}

.founder-photo {
    min-height: 100%;
    overflow: hidden;
    background: var(--color-paper-soft);
}

.founder-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1) contrast(1.04);
}

.iran .founder-photo img {
    object-position: center top;
}

.alice .founder-photo img {
    object-position: center;
}

.founder-content {
    padding: var(--space-xl);
    display: flex;
    flex-direction: column;
}

.founder-content p {
    margin-bottom: var(--space-xs);
    color: var(--color-ink-soft);
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.founder-content h3 {
    margin-bottom: var(--space-xl);
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 3.5rem);
    line-height: .9;
    font-weight: 500;
}

.founder-content ul {
    display: flex;
    flex-wrap: wrap;
    align-content: start;
    gap: .5rem;
    padding: 0;
    margin: auto 0 0;
    list-style: none;
}

.founder-content li {
    padding: .42rem .6rem;
    border: 1px solid var(--color-rule);
    border-radius: var(--radius-full);
    color: var(--color-ink-soft);
    font-size: .68rem;
    font-weight: 700;
}

.about-statement {
    padding-block: var(--space-4xl);
}

.statement-rule {
    height: 1px;
    background: var(--color-rule);
}

.about-statement p {
    max-width: 65rem;
    margin: var(--space-xl) 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4.5vw, 4.6rem);
    line-height: 1;
    letter-spacing: -.04em;
}

.about-story {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    padding-bottom: var(--space-5xl);
}

.story-panel {
    min-height: 18rem;
    padding: var(--space-xl);
    border-radius: var(--radius-lg);
    border: var(--rule);
}

.story-main {
    grid-row: span 2;
    display: flex;
    flex-direction: column;
    justify-content: end;
    background: radial-gradient(circle at 78% 12%, oklch(47% .13 48 / .42), transparent 15rem), oklch(21% .043 48);
}

.story-main h2 {
    max-width: 40rem;
    font-size: var(--text-2xl);
}

.story-main>p:not(.eyebrow), .story-metric p {
    color: var(--color-ink-soft);
    margin-bottom: 0;
}

.story-metric {
    display: flex;
    flex-direction: column;
    background: oklch(18% .027 48 / .56);
}

.story-metric span {
    color: var(--color-muted);
    font-size: var(--text-sm);
    font-weight: 800;
}

.story-metric h3 {
    margin: auto 0 var(--space-sm);
    font-size: var(--text-xl);
    line-height: 1.05;
}

.about-split {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    min-height: 38rem;
    background: oklch(21% .042 48);
}

.about-split-image {
    overflow: hidden;
}

.about-split-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1) contrast(1.06);
}

.about-split-copy {
    align-self: center;
    max-width: 42rem;
    padding: clamp(3rem, 8vw, 8rem);
}

.about-split-copy h2 {
    font-size: var(--text-2xl);
}

.about-split-copy>p:not(.eyebrow) {
    color: var(--color-ink-soft);
}

.values-section {
    padding-block: var(--space-5xl);
}

.values-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
}

.values-list article {
    min-height: 14rem;
    padding: var(--space-xl);
    border-top: var(--rule);
}

.values-list span {
    color: var(--color-muted);
    font-size: var(--text-sm);
    font-weight: 800;
}

.values-list h3 {
    margin: var(--space-2xl) 0 var(--space-xs);
    font-size: var(--text-xl);
}

.values-list p {
    margin: 0;
    color: var(--color-ink-soft);
}

[data-reveal] {
    opacity: 0;
    transform: translateY(1.5rem);
    transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);
}

[data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 860px) {
    .site-header {
        top: var(--space-md);
        min-height: 4rem;
    }

    .brand {
        width: 7.2rem;
    }

    .menu-toggle {
        display: block;
    }

    .main-nav {
        position: absolute;
        top: calc(100% + .6rem);
        left: 0;
        width: 100%;
        padding: var(--space-sm);
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: .15rem;
        border: 1px solid oklch(98% .003 70 / .2);
        border-radius: var(--radius-md);
        background: oklch(14% .026 48 / .96);
        backdrop-filter: blur(18px);
    }

    .main-nav.is-open {
        display: flex;
    }

    .main-nav>a {
        padding: .8rem;
    }

    .nav-cta {
        text-align: center;
        margin-top: .25rem;
    }

    .home-hero, .about-hero {
        grid-template-columns: 1fr;
    }

    .home-hero {
        min-height: 49rem;
        padding-top: 9rem;
    }

    .hero-frame {
        width: min(72vw, 23rem);
        grid-row: 1;
    }

    .hero-copy {
        grid-row: 2;
    }

    .hero-signature {
        grid-row: 3;
    }

    .intro-grid, .split-heading {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

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

    .showcase-strip {
        grid-template-columns: 1fr;
        padding-block: var(--space-4xl);
    }

    .showcase-art {
        min-height: 20rem;
    }

    .people-teaser {
        grid-template-columns: minmax(0, .75fr) minmax(0, 1fr);
        gap: var(--space-xl);
    }

    .site-footer {
        grid-template-columns: 1fr;
    }

    .site-footer div {
        flex-wrap: wrap;
    }

    .portfolio-header {
        width: min(94vw, 680px);
        grid-template-columns: 5.8rem minmax(0, 1fr);
        height: 4.1rem;
        padding: .4rem .75rem;
    }

    .portfolio-logo {
        width: 5.4rem;
    }

    .portfolio-home {
        display: none;
    }

    .portfolio-nav {
        gap: 1.2rem;
        font-size: .73rem;
    }

    .portfolio-hero {
        min-height: 41rem;
        padding: 9rem 6vw 4rem;
    }

    .portfolio-intro {
        padding-top: var(--space-3xl);
    }

    .about-hero {
        min-height: 44rem;
        padding-top: 9rem;
    }

    .about-symbol {
        width: 12rem;
        justify-self: start;
    }

    .founder-card {
        min-height: 30rem;
        grid-template-columns: minmax(0, .9fr) minmax(12rem, 1.1fr);
    }

    .about-split {
        min-height: 0;
    }

    .about-split-copy {
        padding: var(--space-3xl);
    }
}

@media (max-width: 580px) {
    :root {
        --space-4xl: 5rem;
        --space-5xl: 7rem;
    }

    .home-hero {
        padding-inline: 6vw;
        background-image: url(ASSETS/background-hero-mobile-v2.gif);
        background-size: cover;
        background-position: center;
        height: 100vh;
    }

    .hero-copy h1 {
        font-size: clamp(3.3rem, 14vw, 5rem);
    }

    .hero-frame {
        width: 64vw;
    }

    .capability {
        grid-template-columns: 2.6rem minmax(0, 1fr) 1.4rem;
    }

    .process-list, .founder-grid, .about-story, .values-list {
        grid-template-columns: 1fr;
    }

    .process-list li {
        min-height: 12rem;
    }

    .people-teaser {
        grid-template-columns: 1fr;
    }

    .people-image {
        max-height: 28rem;
    }

    .founder-card {
        grid-template-columns: 1fr;
    }

    .founder-photo {
        aspect-ratio: 1 / 1.05;
    }

    .founder-content {
        min-height: 20rem;
    }

    .about-story .story-main {
        min-height: 25rem;
    }

    .about-split {
        grid-template-columns: 1fr;
    }

    .about-split-image {
        aspect-ratio: 1 / .85;
    }

    .about-split-copy {
        padding: var(--space-2xl) 6vw;
    }

    .portfolio-hero h1 {
        font-size: clamp(3rem, 12vw, 4.5rem);
    }

    .row-heading {
        width: 88vw;
    }

    .media-track {
        grid-auto-columns: 72vw;
        padding-inline: 6vw;
    }

    .portfolio-row {
        padding-block: var(--space-lg);
    }

    .contact-section {
        min-height: 27rem;
        padding-inline: 6vw;
    }

    .hero-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 24rem;
    gap: var(--space-lg);
    }
}

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

    *, *::before, *::after {
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 150ms !important;
    }

    [data-reveal] {
        opacity: 1;
        transform: none;
    }
}

.button, .nav-cta, .portfolio-home {
    white-space: nowrap;
}

.button:active {
    transform: translateY(-1px);
}

/* =========================
   FAIXA DE SOFTWARES
========================= */

.software-bar {
    width: 100%;
    height: 90px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background: #050505;

    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);

    /* Fade nas extremidades */

    mask-image: linear-gradient(
        to right,
        transparent,
        black 8%,
        black 92%,
        transparent
    );

    -webkit-mask-image: linear-gradient(
        to right,
        transparent,
        black 8%,
        black 92%,
        transparent
    );
}


/* =========================
   LINHA DOS SOFTWARES
========================= */

.software-track {
    display: flex;
    align-items: center;

    width: max-content;

    gap: 90px;

    animation: software-scroll 25s linear infinite;

    will-change: transform;
}


/* =========================
   LOGOS
========================= */

.software {
    width: 180px;
    height: 180px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    opacity: 0.55;

    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}


.software img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}


/* =========================
   HOVER
========================= */

.software:hover {
    opacity: 1;

    transform: scale(1.1);
}


/* =========================
   LOOP INFINITO
========================= */

@keyframes software-scroll {

    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {

    .software-bar {
        height: 70px;
    }

    .software-track {
        gap: 55px;

        animation-duration: 20s;
    }

    .software {
        width: 120px;
        height: 120px;
    }

}