/* 1A3: scoped cascade for Elementor Free; content stays native/editable. */
:root {
    --onea3-cream: #F4F4E4;
    --onea3-cream-text: #F4F5E5;
    --onea3-brown: #6B372C;
    --onea3-red: #743429;
    --onea3-yellow: #F0B326;
    --onea3-sage: #C4D1BF;
    --onea3-olive: #212C02;
    --onea3-display: "PP Right Serif Mono", "Courier New", monospace;
    --onea3-copy: "Basier Circle Mono", "Courier New", monospace;
    --onea3-layout: min(70.95vw, 1226px);
}

html {
    scroll-behavior: smooth;
}

body.onea3-site {
    background: var(--onea3-cream);
    color: var(--onea3-brown);
    overflow-x: hidden;
    overflow-x: clip;
}

body.onea3-site *,
body.onea3-site *::before,
body.onea3-site *::after {
    box-sizing: border-box;
}

body.onea3-site :where(h1, h2, h3, h4, p, figure) {
    margin-block: 0;
}

body.onea3-site :where(.elementor-widget:not(:last-child)) {
    margin-block-end: 0;
}

body.onea3-site :where(.elementor-element.e-con[class*="onea3-"]) {
    --border-radius: 0;
    --container-widget-width: 100%;
    --container-widget-flex-grow: 0;
    --content-width: 100%;
    --display: flex;
    --flex-direction: column;
    --flex-wrap: nowrap;
    --gap: 0px;
    --margin-top: 0px;
    --margin-right: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --padding-top: 0px;
    --padding-right: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    gap: 0;
    margin: 0;
    max-width: none;
    padding: 0;
}

body.onea3-site .onea3-theme-fallback-brand,
body.onea3-site .onea3-theme-fallback-footer {
    align-items: center;
    background: var(--onea3-cream);
    color: var(--onea3-brown);
    display: flex;
    font-family: var(--onea3-display);
    height: 67px;
    justify-content: center;
    margin: 0;
    text-decoration: none;
    text-transform: uppercase;
}

body.onea3-site .onea3-theme-fallback-footer {
    background: var(--onea3-sage);
    color: var(--onea3-olive);
    height: 180px;
}

body.onea3-site .onea3-theme-article,
body.onea3-site .onea3-theme-archive {
    color: var(--onea3-olive);
    font-family: var(--onea3-copy);
    margin: 0 auto;
    max-width: 1120px;
    padding: 80px 24px;
}

body.onea3-site .onea3-kicker .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.05;
    text-transform: uppercase;
}

/* Header — Figma frame: y 58–125, 67 px high. */
body.onea3-site .onea3-headerbar.e-con {
    background: var(--onea3-cream);
    border-bottom: 1px solid var(--onea3-brown);
    color: var(--onea3-brown);
    display: block;
    height: 67px;
    min-height: 67px;
    position: relative;
    width: 100%;
    z-index: 1000;
}

body.onea3-site .onea3-headerbar__group.e-con {
    align-items: center;
    display: grid;
    height: 67px;
    position: absolute;
    top: 0;
}

body.onea3-site .onea3-headerbar__group--left.e-con {
    column-gap: 131px;
    grid-template-columns: repeat(3, 77px);
    left: 43px;
    width: 493px;
}

body.onea3-site .onea3-headerbar__group--right.e-con {
    column-gap: 140px;
    grid-template-columns: 68px 68px 18px;
    right: 43px;
    width: 434px;
}

body.onea3-site .onea3-headerbar__link .elementor-heading-title,
body.onea3-site .onea3-headerbar__mobile-link .elementor-heading-title {
    color: var(--onea3-brown);
    font-family: var(--onea3-display);
    font-size: 13.922px;
    font-weight: 400;
    letter-spacing: 1.3922px;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

body.onea3-site.onea3-view-home .onea3-headerbar__link--home .elementor-heading-title,
body.onea3-site.onea3-view-projects .onea3-headerbar__link--projects .elementor-heading-title {
    font-weight: 700;
}

body.onea3-site .onea3-headerbar__group--left .onea3-headerbar__link:nth-child(n + 2) .elementor-heading-title,
body.onea3-site .onea3-headerbar__group--right .onea3-headerbar__link .elementor-heading-title {
    text-align: center;
}

body.onea3-site .onea3-headerbar__logo.elementor-widget-image {
    height: 34px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 289px;
}

body.onea3-site .onea3-headerbar__logo :where(.elementor-widget-container, a, img) {
    display: block;
    height: 100%;
    width: 100%;
}

body.onea3-site .onea3-headerbar__logo img {
    object-fit: contain;
}

body.onea3-site .onea3-headerbar__search {
    color: var(--onea3-brown);
    font-size: 18px;
    height: 20px;
    width: 18px;
}

body.onea3-site .onea3-headerbar__search .elementor-icon {
    color: inherit;
    display: block;
    font-size: inherit;
}

body.onea3-site .onea3-headerbar__toggle,
body.onea3-site .onea3-headerbar__mobile {
    display: none;
}

/* HOME hero — Figma frame: 1728 × 803. */
body.onea3-site .onea3-hero.e-con {
    background: var(--onea3-cream);
    display: block;
    height: clamp(620px, 46.469vw, 803px);
    min-height: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
}

body.onea3-site .onea3-hero__pane.e-con {
    display: block;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
}

body.onea3-site .onea3-hero__pane--left.e-con {
    left: 0;
    width: 50.752%;
}

body.onea3-site .onea3-hero__pane--right.e-con {
    left: 50%;
    width: 50%;
}

body.onea3-site .onea3-cover-image,
body.onea3-site .onea3-cover-image .elementor-widget-container,
body.onea3-site .onea3-cover-image .elementor-image,
body.onea3-site .onea3-cover-image a {
    display: block;
    height: 100%;
    width: 100%;
}

body.onea3-site .onea3-cover-image img {
    display: block;
    height: 100%;
    max-width: none;
    object-fit: cover;
    width: 100%;
}

body.onea3-site .onea3-hero__pane .onea3-cover-image {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

body.onea3-site .onea3-hero__texture.elementor-widget-image {
    height: 100%;
    inset: 0;
    mix-blend-mode: overlay;
    opacity: 1;
    pointer-events: none;
    position: absolute;
    width: 100%;
    z-index: 2;
}

body.onea3-site .onea3-hero__texture :where(.elementor-widget-container, img) {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

body.onea3-site .onea3-hero__title.e-con {
    color: var(--onea3-cream-text);
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 46.83%;
    transform: translate(-50%, -50%);
    width: 56.82%;
    z-index: 3;
}

body.onea3-site .onea3-hero__line--1.elementor-widget {
    transform: translateX(clamp(-150px, -8.681vw, -84px));
}

body.onea3-site .onea3-hero__line .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: clamp(34px, 2.732vw, 47.207px);
    font-weight: 700;
    line-height: 1.08;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
}

body.onea3-site .onea3-hero__line--1 .elementor-heading-title {
    font-style: italic;
}

body.onea3-site .onea3-hero__row.e-con {
    align-items: baseline;
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 14px;
    transform: translateX(clamp(84px, 8.681vw, 150px));
    width: 100%;
}

body.onea3-site .onea3-hero__line--2.elementor-widget {
    transform: rotate(-0.98deg);
    width: auto;
}

body.onea3-site .onea3-hero__line--3.elementor-widget {
    margin-left: 15px;
    transform: rotate(0.91deg);
    width: auto;
}

/* Information strip. */
body.onea3-site .onea3-info.e-con {
    align-items: center;
    background: var(--onea3-cream);
    color: var(--onea3-brown);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    height: 175px;
    padding: 0 43px;
    width: 100%;
}

body.onea3-site .onea3-info__item,
body.onea3-site .onea3-info__item .elementor-widget-container {
    width: 100%;
}

body.onea3-site .onea3-info__item.elementor-widget {
    transform: translateY(-14px);
}

body.onea3-site .onea3-info__item :where(p, em) {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.05;
    text-transform: uppercase;
}

body.onea3-site .onea3-info__item em {
    font-style: italic;
}

body.onea3-site .onea3-info__item--center {
    text-align: center;
}

body.onea3-site .onea3-info__item--right {
    text-align: right;
}

/* Qué hacemos — Figma frame: 1728 × 951. */
body.onea3-site .onea3-what.e-con {
    background: var(--onea3-cream);
    border-top: 1px solid var(--onea3-brown);
    color: var(--onea3-cream-text);
    display: block;
    height: clamp(760px, 55.035vw, 951px);
    isolation: auto;
    min-height: 0;
    overflow: visible;
    position: relative;
    width: 100%;
}

body.onea3-site .onea3-what__texture.elementor-widget.elementor-widget-image {
    height: 110%;
    left: -8.5%;
    max-width: none;
    mix-blend-mode: luminosity;
    opacity: 1;
    pointer-events: none;
    position: absolute;
    top: -7%;
    transform: rotate(-0.7deg);
    width: 111%;
    z-index: 0;
}

body.onea3-site .onea3-what__texture :where(.elementor-widget-container, img) {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

body.onea3-site .onea3-what__content.e-con {
    color: var(--onea3-cream-text);
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, minmax(0, 603px));
    justify-content: space-between;
    margin: 0 auto;
    padding-top: clamp(50px, 3.588vw, 62px);
    position: relative;
    width: var(--onea3-layout);
    z-index: 2;
}

body.onea3-site .onea3-what__left.e-con {
    padding-top: 16px;
    width: 100%;
}

body.onea3-site .onea3-what__title {
    margin-top: 20px;
}

body.onea3-site .onea3-what__title .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: clamp(32px, 2.293vw, 39.627px);
    font-weight: 700;
    line-height: 1.08;
    text-transform: uppercase;
}

body.onea3-site .onea3-what__copy-text {
    padding-top: clamp(52px, 3.819vw, 66px);
}

body.onea3-site .onea3-what__copy-text:not(:has(> .elementor-widget-container)),

body.onea3-site .onea3-what__copy-text .elementor-widget-container {
    color: inherit;
    font-family: var(--onea3-copy);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    text-align: justify;
}

body.onea3-site .onea3-what__copy-text p + p {
    margin-top: 22px;
}

body.onea3-site .onea3-what__gallery.e-con {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-left: -42px;
    margin-top: clamp(84px, 6.713vw, 116px);
    position: relative;
    width: calc(100% + 84px);
    z-index: 2;
}

body.onea3-site .onea3-what__gallery-item.e-con {
    aspect-ratio: 1;
    display: block;
    min-width: 0;
    overflow: hidden;
    position: relative;
}

body.onea3-site .onea3-what__gallery-item .onea3-cover-image {
    inset: 0;
    position: absolute;
}

/* El proceso — first panel open, remaining panels interactive. */
body.onea3-site .onea3-process.e-con {
    background: var(--onea3-cream);
    color: var(--onea3-brown);
    min-height: 711px;
    padding: 34px 0 80px;
    width: 100%;
}

body.onea3-site .onea3-process__inner.e-con {
    margin: 0 auto;
    max-width: 1330px;
    width: 77%;
}

body.onea3-site .onea3-process__kicker.elementor-widget {
    margin-bottom: 39px;
    margin-left: 52px;
}

body.onea3-site .onea3-process__stages.e-con {
    border-radius: 10px;
    display: flex;
    flex-direction: row;
    height: 537px;
    overflow: hidden;
    width: 100%;
}

body.onea3-site .onea3-process__stage.e-con {
    cursor: pointer;
    display: block;
    flex: 0 0 14.84%;
    height: 537px;
    min-width: 0;
    overflow: hidden;
    position: relative;
    transition: flex-basis 420ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

body.onea3-site .onea3-process__stage.is-active.e-con {
    flex-basis: 55.49%;
}

body.onea3-site .onea3-process__stage--1 {
    background: var(--onea3-yellow);
    color: var(--onea3-red);
}

body.onea3-site .onea3-process__stage--2 {
    background: var(--onea3-sage);
    color: var(--onea3-red);
}

body.onea3-site .onea3-process__stage--3 {
    background: var(--onea3-brown);
    color: var(--onea3-cream-text);
}

body.onea3-site .onea3-process__stage--4 {
    background: var(--onea3-olive);
    color: var(--onea3-cream-text);
}

body.onea3-site .onea3-process__number.elementor-widget,
body.onea3-site .onea3-process__title.elementor-widget,
body.onea3-site .onea3-process__body.elementor-widget {
    position: absolute;
}

body.onea3-site .onea3-process__number.elementor-widget {
    left: 46px;
    top: 43px;
    width: auto;
}

body.onea3-site .onea3-process__stage.is-active .onea3-process__number {
    left: 52px;
    top: 41px;
}

body.onea3-site .onea3-process__number .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 96px;
    font-weight: 400;
    line-height: 1;
}

body.onea3-site .onea3-process__title.elementor-widget {
    bottom: 60px;
    left: 46px;
    width: 42px;
}

body.onea3-site .onea3-process__stage.is-active .onea3-process__title {
    left: 48px;
}

body.onea3-site .onea3-process__stage--2 .onea3-process__title.elementor-widget {
    width: 84px;
}

body.onea3-site .onea3-process__stage--2 .onea3-process__title .elementor-heading-title {
    line-height: 1.24;
}

body.onea3-site .onea3-process__stage--3 .onea3-process__title.elementor-widget {
    left: 42px;
}

body.onea3-site .onea3-process__stage--4 .onea3-process__title.elementor-widget {
    left: 26px;
}

body.onea3-site .onea3-process__title .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 40px;
    font-weight: 400;
    line-height: 0.95;
    text-transform: uppercase;
    transform: rotate(180deg);
    white-space: nowrap;
    writing-mode: vertical-rl;
}

body.onea3-site .onea3-process__body.elementor-widget {
    bottom: 59px;
    display: none;
    left: 140px;
    max-width: calc(100% - 175px);
    width: 424px;
}

body.onea3-site .onea3-process__stage.is-active .onea3-process__body {
    display: block;
}

body.onea3-site .onea3-process__body:not(:has(> .elementor-widget-container)),

body.onea3-site .onea3-process__body .elementor-widget-container {
    border-bottom: 1px solid currentColor;
    border-top: 1px solid currentColor;
    color: inherit;
    font-family: var(--onea3-copy);
    font-size: 15px;
    line-height: 1.5;
    padding: 15px 9px 18px;
    text-align: justify;
}

/* Nosotros — Figma frame: 1728 × 638. */
body.onea3-site .onea3-about.e-con {
    background: var(--onea3-brown);
    color: var(--onea3-cream-text);
    display: block;
    height: 638px;
    isolation: isolate;
    overflow: hidden;
    position: relative;
    width: 100%;
}

body.onea3-site .onea3-about__background.elementor-widget-image {
    height: 100%;
    inset: 0;
    opacity: 1;
    position: absolute;
    width: 100%;
    z-index: 0;
}

body.onea3-site .onea3-about__background :where(.elementor-widget-container, img) {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

body.onea3-site .onea3-about__inner.e-con {
    color: var(--onea3-cream-text);
    height: 100%;
    margin: 0 auto;
    max-width: 1226px;
    position: relative;
    width: var(--onea3-layout);
    z-index: 2;
}

body.onea3-site .onea3-about__kicker.elementor-widget,
body.onea3-site .onea3-about__title.elementor-widget,
body.onea3-site .onea3-about__copy,
body.onea3-site .onea3-about__closing {
    position: absolute;
}

body.onea3-site .onea3-about__kicker {
    left: 0;
    top: 98px;
}

body.onea3-site .onea3-about__title.elementor-widget {
    left: 208px;
    top: 96px;
    width: 300px;
}

body.onea3-site .onea3-about__title .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 56.035px;
    font-weight: 700;
    line-height: 0.95;
    text-transform: uppercase;
}

body.onea3-site .onea3-about__copy.e-con {
    right: 0;
    top: 94px;
    width: 395px;
}

body.onea3-site .onea3-about__side-title .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.08;
    text-transform: uppercase;
}

body.onea3-site .onea3-about__body {
    margin-top: 39px;
}

body.onea3-site .onea3-about__body:not(:has(> .elementor-widget-container)),

body.onea3-site .onea3-about__body .elementor-widget-container {
    color: inherit;
    font-family: var(--onea3-copy);
    font-size: 15px;
    line-height: 1.33;
}

body.onea3-site .onea3-about__body p + p {
    margin-top: 25px;
}

body.onea3-site .onea3-about__closing.e-con {
    bottom: 128px;
    left: 50.8%;
    width: 603px;
}

body.onea3-site .onea3-about__closing-line--2 {
    margin-top: 7px;
}

body.onea3-site .onea3-about__closing-line .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 29.245px;
    font-weight: 400;
    line-height: 0.86;
    text-transform: uppercase;
    white-space: nowrap;
}

body.onea3-site .onea3-about__closing-line--3 {
    margin-left: 82px;
}

/* Yellow ticker — overlaps the footer by 3 px like the source frame. */
body.onea3-site .onea3-ticker.e-con {
    background: var(--onea3-yellow);
    border-radius: 10px;
    color: var(--onea3-olive);
    display: block;
    height: 68px;
    margin-bottom: -3px;
    margin-left: -28px;
    overflow: hidden;
    position: relative;
    width: calc(100% + 56px);
    z-index: 8;
}

body.onea3-site .onea3-ticker__track.e-con {
    align-items: center;
    display: flex;
    flex-direction: row;
    height: 68px;
    min-width: max-content;
    padding-left: 254px;
    width: max-content;
}

body.onea3-site .onea3-ticker__text.elementor-widget {
    flex: none;
    padding-right: 52px;
    width: auto;
}

body.onea3-site .onea3-ticker__text .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 29px;
    font-weight: 400;
    line-height: 68px;
    text-transform: uppercase;
    white-space: nowrap;
}

body.onea3-site .onea3-ticker__text--clone {
    display: none;
}

body.onea3-site .onea3-ticker.onea3-ticker--animated .onea3-ticker__track {
    animation: onea3-marquee 25s linear infinite;
}

body.onea3-site .onea3-ticker.onea3-ticker--animated .onea3-ticker__text--clone {
    display: block;
}

@keyframes onea3-marquee {
    to {
        transform: translateX(-50%);
    }
}

/* Footer — exact 1728 × 356 desktop frame. */
body.onea3-site .onea3-footer.e-con {
    background: var(--onea3-sage);
    color: var(--onea3-olive);
    height: 356px;
    width: 100%;
}

body.onea3-site .onea3-footer__inner.e-con {
    height: 100%;
    margin: 0 auto;
    max-width: 1728px;
    position: relative;
    width: 100%;
}

body.onea3-site .onea3-footer__brand.e-con {
    left: 11.63%;
    position: absolute;
    top: 37.36%;
    width: 31.83%;
}

body.onea3-site .onea3-footer__logo :where(.elementor-widget-container, a, img) {
    display: block;
    height: auto;
    width: 100%;
}

body.onea3-site .onea3-footer__socials.e-con {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 58px;
    margin-left: 185px;
    margin-top: 59px;
    width: auto;
}

body.onea3-site .onea3-footer__social.elementor-widget {
    color: var(--onea3-olive);
    flex: none;
    font-size: 19px;
    width: 20px;
}

body.onea3-site .onea3-footer__social .elementor-icon {
    color: inherit;
    display: block;
    font-size: inherit;
}

body.onea3-site .onea3-footer__nav.e-con {
    gap: 28px;
    position: absolute;
    top: 37.36%;
    width: auto;
}

body.onea3-site .onea3-footer__nav--a {
    left: 55.9%;
}

body.onea3-site .onea3-footer__nav--b {
    left: 66.61%;
}

body.onea3-site .onea3-footer__nav--c {
    gap: 25px;
    left: 83.51%;
    white-space: nowrap;
}

body.onea3-site .onea3-footer__link .elementor-heading-title,
body.onea3-site .onea3-footer__heading .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 15.898px;
    font-weight: 400;
    letter-spacing: 1.5898px;
    line-height: 1.05;
    text-transform: uppercase;
}

body.onea3-site .onea3-footer__link--small .elementor-heading-title {
    font-size: 13px;
    letter-spacing: 0.9px;
}

/* Laptop. */
@media (max-width: 1180px) {
    :root {
        --onea3-layout: 82vw;
    }

    body.onea3-site .onea3-headerbar__group {
        display: none !important;
    }

    body.onea3-site .onea3-headerbar__logo.elementor-widget-image {
        width: 260px;
    }

    body.onea3-site .onea3-headerbar__toggle.elementor-widget-html {
        display: block;
        height: 34px;
        position: absolute;
        right: 24px;
        top: 16px;
        width: 34px;
        z-index: 3;
    }

    body.onea3-site .onea3-menu-toggle {
        align-items: center;
        appearance: none;
        background: transparent;
        border: 0;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        gap: 7px;
        height: 34px;
        justify-content: center;
        padding: 5px;
        width: 34px;
    }

    body.onea3-site .onea3-menu-toggle span {
        background: var(--onea3-brown);
        display: block;
        height: 1px;
        transition: transform 180ms ease;
        width: 100%;
    }

    body.onea3-site .onea3-headerbar.is-open .onea3-menu-toggle span:first-child {
        transform: translateY(4px) rotate(45deg);
    }

    body.onea3-site .onea3-headerbar.is-open .onea3-menu-toggle span:last-child {
        transform: translateY(-4px) rotate(-45deg);
    }

    body.onea3-site .onea3-headerbar__mobile.e-con {
        background: var(--onea3-cream);
        border-bottom: 1px solid var(--onea3-brown);
        display: flex;
        flex-direction: column;
        gap: 22px;
        left: 0;
        opacity: 0;
        padding: 28px 24px 35px;
        pointer-events: none;
        position: absolute;
        right: 0;
        top: 67px;
        transform: translateY(-12px);
        transition: opacity 180ms ease, transform 180ms ease;
        visibility: hidden;
        width: 100%;
    }

    body.onea3-site .onea3-headerbar.is-open .onea3-headerbar__mobile {
        display: grid;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        visibility: visible;
    }

    body.onea3-site .onea3-headerbar__mobile-link .elementor-heading-title {
        font-size: 15px;
        letter-spacing: 1.5px;
    }

    body.onea3-site .onea3-hero__title.e-con {
        width: 70%;
    }

    body.onea3-site .onea3-what__content.e-con {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.onea3-site .onea3-what__gallery.e-con {
        margin-left: -25px;
        width: calc(100% + 50px);
    }

    body.onea3-site .onea3-process__inner.e-con {
        width: 86%;
    }

    body.onea3-site .onea3-process__number,
    body.onea3-site .onea3-process__stage.is-active .onea3-process__number {
        left: 30px;
    }

    body.onea3-site .onea3-process__title,
    body.onea3-site .onea3-process__stage.is-active .onea3-process__title {
        left: 30px;
    }

    body.onea3-site .onea3-process__body {
        left: 110px;
        max-width: calc(100% - 135px);
        width: 330px;
    }

    body.onea3-site .onea3-about__title {
        left: 180px;
    }

    body.onea3-site .onea3-about__closing.e-con {
        width: 540px;
    }

    body.onea3-site .onea3-about__closing-line .elementor-heading-title {
        font-size: 24px;
    }

    body.onea3-site .onea3-footer__brand.e-con {
        left: 6%;
        width: 38%;
    }

    body.onea3-site .onea3-footer__nav--a {
        left: 51%;
    }

    body.onea3-site .onea3-footer__nav--b {
        left: 66%;
    }

    body.onea3-site .onea3-footer__nav--c {
        left: 81%;
    }
}

@media (min-width: 1181px) and (max-width: 1450px) {
    body.onea3-site .onea3-headerbar__group--left.e-con {
        column-gap: 90px;
        width: 411px;
    }

    body.onea3-site .onea3-headerbar__group--right.e-con {
        column-gap: 95px;
        width: 344px;
    }

    body.onea3-site .onea3-headerbar__logo.elementor-widget-image {
        width: 250px;
    }
}

/* Tablet: preserve the horizontal editorial gallery. */
@media (min-width: 768px) and (max-width: 1024px) {
    body.onea3-site .onea3-hero.e-con {
        height: 620px;
    }

    body.onea3-site .onea3-info.e-con {
        height: 138px;
        padding-inline: 28px;
    }

    body.onea3-site .onea3-info__item :where(p, em) {
        font-size: 15px;
    }

    body.onea3-site .onea3-info__item.elementor-widget {
        transform: translateY(-8px);
    }

    body.onea3-site .onea3-what.e-con {
        height: auto;
        min-height: 800px;
        padding-bottom: 56px;
    }

    body.onea3-site .onea3-what__gallery.e-con {
        display: flex;
        flex-direction: row;
        gap: 16px;
        margin-left: 0;
        overflow-x: auto;
        padding: 0 28px 14px;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
        width: 100%;
    }

    body.onea3-site .onea3-what__gallery-item.e-con {
        flex: 0 0 44vw;
        scroll-snap-align: start;
    }

    body.onea3-site .onea3-process__number .elementor-heading-title {
        font-size: 72px;
    }

    body.onea3-site .onea3-process__title .elementor-heading-title {
        font-size: 31px;
    }

    body.onea3-site .onea3-about__copy.e-con {
        width: 34%;
    }

    body.onea3-site .onea3-about__title .elementor-heading-title {
        font-size: 46px;
    }

    body.onea3-site .onea3-about__closing.e-con {
        bottom: 82px;
        left: 45%;
    }
}

/* Narrow tablet: keep the editorial hierarchy without clipping the closing text or footer. */
@media (min-width: 768px) and (max-width: 900px) {
    body.onea3-site .onea3-what__content.e-con {
        display: block;
        width: calc(100% - 80px);
    }

    body.onea3-site .onea3-what__copy-text.elementor-widget {
        margin-left: auto;
        max-width: 520px;
        padding-top: 36px;
        width: 74%;
    }

    body.onea3-site .onea3-what__gallery.e-con {
        margin-top: 72px;
    }

    body.onea3-site .onea3-process.e-con {
        min-height: 0;
        padding: 35px 0 48px;
    }

    body.onea3-site .onea3-process__inner.e-con {
        width: calc(100% - 80px);
    }

    body.onea3-site .onea3-process__kicker.elementor-widget {
        margin: 0 0 20px 4px;
    }

    body.onea3-site .onea3-process__stages.e-con {
        border-radius: 8px;
        flex-direction: column;
        height: auto;
    }

    body.onea3-site .onea3-process__stage.e-con,
    body.onea3-site .onea3-process__stage.is-active.e-con {
        flex: none;
        height: 100px;
        min-height: 100px;
        transition: height 320ms ease;
        width: 100%;
    }

    body.onea3-site .onea3-process__stage.is-active.e-con {
        height: 320px;
    }

    body.onea3-site .onea3-process__stage .onea3-process__number.elementor-widget,
    body.onea3-site .onea3-process__stage.is-active .onea3-process__number.elementor-widget {
        left: 22px;
        top: 14px;
    }

    body.onea3-site .onea3-process__number .elementor-heading-title {
        font-size: 60px;
    }

    body.onea3-site .onea3-process__stage .onea3-process__title.elementor-widget,
    body.onea3-site .onea3-process__stage.is-active .onea3-process__title.elementor-widget {
        bottom: auto;
        left: 125px;
        right: 24px;
        top: 36px;
        width: auto;
    }

    body.onea3-site .onea3-process__title .elementor-heading-title,
    body.onea3-site .onea3-process__stage--2 .onea3-process__title .elementor-heading-title {
        font-size: 22px;
        line-height: 1;
        transform: none;
        white-space: normal;
        writing-mode: horizontal-tb;
    }

    body.onea3-site .onea3-process__stage .onea3-process__body.elementor-widget,
    body.onea3-site .onea3-process__stage.is-active .onea3-process__body.elementor-widget {
        bottom: 24px;
        left: 22px;
        max-width: none;
        right: 22px;
        width: auto;
    }

    body.onea3-site .onea3-process__stage:not(.is-active) .onea3-process__body {
        display: none;
    }

    body.onea3-site .onea3-process__body:not(:has(> .elementor-widget-container)),

    body.onea3-site .onea3-process__body .elementor-widget-container {
        border-bottom: 0;
        font-size: 13px;
        line-height: 1.45;
        padding: 14px 0 0;
        text-align: left;
    }

    body.onea3-site .onea3-about.e-con,
    body.onea3-site .onea3-about__inner.e-con {
        height: auto;
        min-height: 650px;
    }

    body.onea3-site .onea3-about__inner.e-con {
        padding: 58px 0 68px;
        width: calc(100% - 80px);
    }

    body.onea3-site .onea3-about__kicker.elementor-widget,
    body.onea3-site .onea3-about__title.elementor-widget,
    body.onea3-site .onea3-about__copy.e-con,
    body.onea3-site .onea3-about__closing.e-con {
        bottom: auto;
        left: auto;
        position: relative;
        right: auto;
        top: auto;
        width: auto;
    }

    body.onea3-site .onea3-about__title.elementor-widget {
        margin: 14px 0 38px;
    }

    body.onea3-site .onea3-about__copy.e-con {
        margin-left: auto;
        max-width: 420px;
        width: 58%;
    }

    body.onea3-site .onea3-about__closing.e-con {
        margin-top: 48px;
        width: 100%;
    }

    body.onea3-site .onea3-about__closing-line--2 {
        margin-top: 5px;
    }

    body.onea3-site .onea3-footer.e-con {
        height: auto;
        min-height: 390px;
        padding: 48px 40px 42px;
    }

    body.onea3-site .onea3-footer__inner.e-con {
        display: grid;
        gap: 38px 30px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        height: auto;
    }

    body.onea3-site .onea3-footer__brand.e-con,
    body.onea3-site .onea3-footer__nav.e-con {
        left: auto;
        position: relative;
        top: auto;
        width: auto;
    }

    body.onea3-site .onea3-footer__brand.e-con {
        grid-column: 1 / -1;
        max-width: 500px;
    }

    body.onea3-site .onea3-footer__socials.e-con {
        gap: 42px;
        margin: 30px 0 0 132px;
    }

    body.onea3-site .onea3-footer__nav.e-con {
        gap: 18px;
    }

    body.onea3-site .onea3-footer__nav--c.e-con {
        white-space: normal;
    }
}

/* Mobile: a deliberate re-composition, not a scaled desktop. */
@media (max-width: 767px) {
    :root {
        --onea3-layout: calc(100vw - 44px);
    }

    body.onea3-site .onea3-kicker .elementor-heading-title {
        font-size: 12px;
    }

    body.onea3-site .onea3-headerbar.e-con {
        height: 62px;
        min-height: 62px;
    }

    body.onea3-site .onea3-headerbar__logo.elementor-widget-image {
        height: auto;
        width: 205px;
    }

    body.onea3-site .onea3-headerbar__toggle.elementor-widget-html {
        right: 16px;
        top: 14px;
    }

    body.onea3-site .onea3-headerbar__mobile.e-con {
        top: 62px;
    }

    body.onea3-site .onea3-hero.e-con {
        height: 540px;
    }

    body.onea3-site .onea3-hero__pane--left.e-con {
        width: 52%;
    }

    body.onea3-site .onea3-hero__pane--right.e-con {
        left: 51%;
        width: 49%;
    }

    body.onea3-site .onea3-hero__title.e-con {
        top: 48%;
        width: calc(100% - 32px);
    }

    body.onea3-site .onea3-hero__line--1.elementor-widget,
    body.onea3-site .onea3-hero__row.e-con {
        transform: none;
    }

    body.onea3-site .onea3-hero__line .elementor-heading-title {
        font-size: 23px;
        line-height: 1.06;
        white-space: normal;
    }

    body.onea3-site .onea3-hero__row.e-con {
        flex-wrap: wrap;
        margin-top: 4px;
    }

    body.onea3-site .onea3-hero__line--3.elementor-widget {
        margin-left: 8px;
    }

    body.onea3-site .onea3-info.e-con {
        column-gap: 8px;
        height: 105px;
        padding: 0 10px;
    }

    body.onea3-site .onea3-info__item :where(p, em) {
        font-size: 9.8px;
        line-height: 1.04;
    }

    body.onea3-site .onea3-info__item.elementor-widget {
        transform: translateY(-4px);
    }

    body.onea3-site .onea3-what.e-con {
        height: auto;
        min-height: 0;
        padding-bottom: 42px;
    }

    body.onea3-site .onea3-what__texture.elementor-widget.elementor-widget-image {
        height: 105%;
        left: -20%;
        top: -2%;
        transform: rotate(-1deg);
        width: 140%;
    }

    body.onea3-site .onea3-what__content.e-con {
        display: block;
        padding-top: 45px;
        width: var(--onea3-layout);
    }

    body.onea3-site .onea3-what__title {
        margin-top: 9px;
    }

    body.onea3-site .onea3-what__title .elementor-heading-title {
        font-size: 28px;
    }

    body.onea3-site .onea3-what__copy-text {
        padding-top: 30px;
    }

    body.onea3-site .onea3-what__copy-text:not(:has(> .elementor-widget-container)),

    body.onea3-site .onea3-what__copy-text .elementor-widget-container {
        font-size: 13px;
        line-height: 1.55;
        text-align: left;
    }

    body.onea3-site .onea3-what__gallery.e-con {
        display: flex;
        flex-direction: row;
        gap: 10px;
        margin-left: 0;
        margin-top: 52px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding: 0 16px 12px;
        scroll-padding-left: 16px;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
        width: 100%;
    }

    body.onea3-site .onea3-what__gallery-item.e-con {
        flex: 0 0 78vw;
        scroll-snap-align: start;
    }

    body.onea3-site .onea3-process.e-con {
        min-height: 0;
        padding: 35px 0 48px;
    }

    body.onea3-site .onea3-process__inner.e-con {
        width: calc(100% - 32px);
    }

    body.onea3-site .onea3-process__kicker.elementor-widget {
        margin: 0 0 18px 4px;
    }

    body.onea3-site .onea3-process__stages.e-con {
        border-radius: 7px;
        flex-direction: column;
        height: auto;
    }

    body.onea3-site .onea3-process__stage.e-con,
    body.onea3-site .onea3-process__stage.is-active.e-con {
        flex: none;
        height: 88px;
        min-height: 88px;
        transition: height 320ms ease;
        width: 100%;
    }

    body.onea3-site .onea3-process__stage.is-active.e-con {
        height: 280px;
    }

    body.onea3-site .onea3-process__stage .onea3-process__number.elementor-widget,
    body.onea3-site .onea3-process__stage.is-active .onea3-process__number.elementor-widget {
        left: 18px;
        top: 15px;
    }

    body.onea3-site .onea3-process__number .elementor-heading-title {
        font-size: 50px;
    }

    body.onea3-site .onea3-process__stage .onea3-process__title.elementor-widget,
    body.onea3-site .onea3-process__stage.is-active .onea3-process__title.elementor-widget {
        bottom: auto;
        left: 92px;
        right: 18px;
        top: 31px;
        width: auto;
    }

    body.onea3-site .onea3-process__title .elementor-heading-title {
        font-size: 17px;
        line-height: 1;
        transform: none;
        white-space: normal;
        writing-mode: horizontal-tb;
    }

    body.onea3-site .onea3-process__stage--2 .onea3-process__title .elementor-heading-title {
        line-height: 1;
    }

    body.onea3-site .onea3-process__stage .onea3-process__body.elementor-widget,
    body.onea3-site .onea3-process__stage.is-active .onea3-process__body.elementor-widget {
        bottom: 22px;
        left: 18px;
        max-width: none;
        right: 18px;
        width: auto;
    }

    body.onea3-site .onea3-process__stage:not(.is-active) .onea3-process__body {
        display: none;
    }

    body.onea3-site .onea3-process__body:not(:has(> .elementor-widget-container)),

    body.onea3-site .onea3-process__body .elementor-widget-container {
        border-bottom: 0;
        font-size: 11px;
        line-height: 1.4;
        padding: 11px 0 0;
        text-align: left;
    }

    body.onea3-site .onea3-about.e-con {
        height: auto;
        min-height: 700px;
    }

    body.onea3-site .onea3-about__inner.e-con {
        height: auto;
        min-height: 700px;
        padding: 44px 0 70px;
        width: var(--onea3-layout);
    }

    body.onea3-site .onea3-about__kicker.elementor-widget,
    body.onea3-site .onea3-about__title.elementor-widget,
    body.onea3-site .onea3-about__copy.e-con,
    body.onea3-site .onea3-about__closing.e-con {
        bottom: auto;
        left: auto;
        position: relative;
        right: auto;
        top: auto;
        width: auto;
    }

    body.onea3-site .onea3-about__title.elementor-widget {
        margin: 12px 0 46px;
    }

    body.onea3-site .onea3-about__title .elementor-heading-title {
        font-size: 42px;
    }

    body.onea3-site .onea3-about__copy.e-con {
        margin-left: auto;
        max-width: 420px;
        width: 78%;
    }

    body.onea3-site .onea3-about__side-title .elementor-heading-title {
        font-size: 13px;
    }

    body.onea3-site .onea3-about__body {
        margin-top: 24px;
    }

    body.onea3-site .onea3-about__body:not(:has(> .elementor-widget-container)),

    body.onea3-site .onea3-about__body .elementor-widget-container {
        font-size: 13px;
        line-height: 1.45;
    }

    body.onea3-site .onea3-about__closing.e-con {
        bottom: auto;
        margin-top: 46px;
    }

    body.onea3-site .onea3-about__closing-line--2 {
        margin-top: 3px;
    }

    body.onea3-site .onea3-about__closing-line .elementor-heading-title {
        font-size: 18px;
        line-height: 1.05;
        white-space: normal;
    }

    body.onea3-site .onea3-about__closing-line--3 {
        margin-left: 30px;
    }

    body.onea3-site .onea3-ticker.e-con {
        border-radius: 6px;
        height: 44px;
        margin-bottom: -2px;
        margin-left: -10px;
        width: calc(100% + 20px);
    }

    body.onea3-site .onea3-ticker__track.e-con {
        height: 44px;
        padding-left: 26px;
    }

    body.onea3-site .onea3-ticker__text {
        padding-right: 28px;
    }

    body.onea3-site .onea3-ticker__text .elementor-heading-title {
        font-size: 14px;
        line-height: 44px;
    }

    body.onea3-site .onea3-footer.e-con {
        height: auto;
        min-height: 430px;
        padding: 52px 22px 45px;
    }

    body.onea3-site .onea3-footer__inner.e-con {
        display: grid;
        gap: 35px 28px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        height: auto;
    }

    body.onea3-site .onea3-footer__brand.e-con,
    body.onea3-site .onea3-footer__nav.e-con {
        left: auto;
        position: relative;
        top: auto;
        width: auto;
    }

    body.onea3-site .onea3-footer__brand.e-con {
        grid-column: 1 / -1;
    }

    body.onea3-site .onea3-footer__logo {
        max-width: 420px;
    }

    body.onea3-site .onea3-footer__socials.e-con {
        gap: 28px;
        margin: 28px 0 0;
    }

    body.onea3-site .onea3-footer__nav.e-con {
        gap: 17px;
    }

    body.onea3-site .onea3-footer__nav--c.e-con {
        grid-column: 1 / -1;
        white-space: normal;
    }

    body.onea3-site .onea3-footer__link .elementor-heading-title,
    body.onea3-site .onea3-footer__heading .elementor-heading-title {
        font-size: 12px;
        letter-spacing: 1.2px;
    }

    body.onea3-site .onea3-footer__link--small .elementor-heading-title {
        font-size: 11px;
    }
}

@media (max-width: 420px) {
    body.onea3-site .onea3-hero.e-con {
        height: 490px;
    }

    body.onea3-site .onea3-hero__line .elementor-heading-title {
        font-size: 20px;
    }

    body.onea3-site .onea3-info.e-con {
        height: 96px;
    }

    body.onea3-site .onea3-info__item :where(p, em) {
        font-size: 8.6px;
    }

    body.onea3-site .onea3-what__title .elementor-heading-title {
        font-size: 25px;
    }

    body.onea3-site .onea3-about__title .elementor-heading-title {
        font-size: 36px;
    }
}

/* PROYECTOS — native editorial sections plus the dynamic Elementor feed. */
body.onea3-site .onea3-projects-intro.e-con {
    background:
        radial-gradient(ellipse at 24% 18%, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0) 43%),
        radial-gradient(ellipse at 70% 72%, rgba(0, 0, 0, 0.09), rgba(0, 0, 0, 0) 50%),
        #7F3E39;
    color: var(--onea3-cream-text);
    display: block;
    height: 610px;
    isolation: isolate;
    overflow: hidden;
    position: relative;
    width: 100%;
}

body.onea3-site .onea3-projects-intro__texture.elementor-widget-image {
    filter: hue-rotate(180deg) saturate(0.7) brightness(0.95);
    height: 100%;
    inset: 0;
    mix-blend-mode: normal;
    opacity: 0.62;
    pointer-events: none;
    position: absolute;
    width: 100%;
    z-index: 0;
}

body.onea3-site .onea3-projects-intro__texture :where(.elementor-widget-container, img) {
    display: block;
    height: 100%;
    width: 100%;
}

body.onea3-site .onea3-projects-intro__texture img {
    object-fit: fill;
    transform: scale(1.3, 1.25);
    transform-origin: center;
}

body.onea3-site .onea3-projects-intro__inner.e-con {
    height: 100%;
    margin: 0 auto;
    max-width: 1226px;
    position: relative;
    width: var(--onea3-layout);
    z-index: 2;
}

body.onea3-site .onea3-projects-intro__title.elementor-widget,
body.onea3-site .onea3-projects-intro__copy.e-con {
    position: absolute;
}

body.onea3-site .onea3-projects-intro__title.elementor-widget {
    left: 0;
    top: 98px;
    transform: rotate(-3.15deg);
    transform-origin: left center;
    width: auto;
}

body.onea3-site .onea3-projects-intro__title .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 79.861px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

body.onea3-site .onea3-projects-intro__copy.e-con {
    right: 4px;
    top: 83px;
    width: 594px;
}

body.onea3-site .onea3-projects-intro__headline .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 39.627px;
    font-weight: 400;
    line-height: 1.125;
    text-transform: uppercase;
}

body.onea3-site .onea3-projects-intro__subheading.elementor-widget {
    margin-top: 86px;
    width: 410px;
}

body.onea3-site .onea3-projects-intro__subheading .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 1.4px;
    line-height: 1.05;
    text-transform: uppercase;
}

body.onea3-site .onea3-projects-intro__body.elementor-widget {
    margin-left: 90px;
    margin-top: 38px;
    transform: rotate(-2.67deg);
    transform-origin: left top;
    width: 594px;
}

body.onea3-site .onea3-projects-intro__body:not(:has(> .elementor-widget-container)),

body.onea3-site .onea3-projects-intro__body .elementor-widget-container {
    color: inherit;
    font-family: var(--onea3-copy);
    font-size: 15px;
    line-height: 1.5;
    text-align: justify;
}

body.onea3-site .onea3-projects-feed-shell.e-con,
body.onea3-site .onea3-projects-feed-widget.elementor-widget,
body.onea3-site .onea3-projects-feed-widget > .elementor-widget-container,
body.onea3-site .onea3-project-feed {
    display: block;
    margin: 0;
    width: 100%;
}

body.onea3-site .onea3-project-feed--secondary {
    background: var(--onea3-cream);
    padding-top: 0;
}

body.onea3-site .onea3-project-feed__empty {
    background: var(--onea3-cream);
    color: var(--onea3-olive);
    font-family: var(--onea3-copy);
    font-size: 15px;
    padding: 90px 7%;
}

body.onea3-site .onea3-project-card {
    background: #8e7c6c;
    color: var(--onea3-cream-text);
    overflow: hidden;
    position: relative;
    width: 100%;
}

body.onea3-site .onea3-project-card--lead {
    height: 803px;
}

body.onea3-site .onea3-project-card--standard {
    height: 465px;
}

body.onea3-site .onea3-project-card--standard + .onea3-project-card--standard {
    margin-top: 30px;
}

body.onea3-site .onea3-project-card__media,
body.onea3-site .onea3-project-card__shade {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

body.onea3-site .onea3-project-card__media {
    background: linear-gradient(125deg, #806e5d, #4b342c);
}

body.onea3-site .onea3-project-card__image {
    display: block;
    height: 100%;
    inset: 0;
    max-width: none;
    object-fit: cover;
    opacity: 0;
    position: absolute;
    transition: opacity 360ms ease;
    width: 100%;
}

body.onea3-site .onea3-project-card__image.is-active {
    opacity: 1;
}

body.onea3-site .onea3-project-card--lead .onea3-project-card__image {
    object-position: center 100%;
}

body.onea3-site .onea3-project-card__shade {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.13));
    pointer-events: none;
    z-index: 1;
}

body.onea3-site .onea3-project-card__content {
    bottom: 0;
    font-family: var(--onea3-display);
    left: 14.47%;
    padding-top: 178px;
    position: absolute;
    right: 14.93%;
    text-transform: uppercase;
    top: 0;
    z-index: 2;
}

body.onea3-site .onea3-project-card--lead .onea3-project-card__content {
    padding-top: 130px;
}

body.onea3-site .onea3-project-card__eyebrow {
    font-size: 20px;
    line-height: 1.05;
    margin-bottom: 11px;
}

body.onea3-site .onea3-project-card__title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 79.861px;
    font-weight: 700;
    line-height: 0.99;
    margin: 0;
    max-width: 600px;
    text-shadow: 0 1px 5px rgba(0, 0, 0, 0.08);
}

body.onea3-site .onea3-project-card--lead .onea3-project-card__title {
    max-width: none;
}

body.onea3-site .onea3-project-card--lead .onea3-project-card__title a {
    display: grid;
    grid-template-columns: 41% 59%;
}

body.onea3-site .onea3-project-card__title a,
body.onea3-site .onea3-project-card__meta a {
    color: inherit;
    text-decoration: none;
}

body.onea3-site .onea3-project-card__title a:focus-visible,
body.onea3-site .onea3-project-card__meta a:focus-visible,
body.onea3-site .onea3-project-card__dot:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 5px;
}

body.onea3-site .onea3-project-card__meta {
    align-items: center;
    display: flex;
    font-size: 20px;
    justify-content: space-between;
    left: 0;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 245px;
}

body.onea3-site .onea3-project-card--lead .onea3-project-card__meta {
    bottom: 0;
    display: block;
    height: auto;
    top: 0;
}

body.onea3-site .onea3-project-card--lead .onea3-project-card__meta > span,
body.onea3-site .onea3-project-card--lead .onea3-project-card__meta > a {
    position: absolute;
    right: 0;
}

body.onea3-site .onea3-project-card--lead .onea3-project-card__meta > span {
    top: 121px;
}

body.onea3-site .onea3-project-card--lead .onea3-project-card__meta > a {
    bottom: 67px;
}

body.onea3-site .onea3-project-card__dots {
    bottom: 52px;
    display: flex;
    gap: 39px;
    left: 14.47%;
    position: absolute;
    z-index: 3;
}

body.onea3-site .onea3-project-card__dot {
    appearance: none;
    background: transparent;
    border: 1px solid var(--onea3-cream-text);
    border-radius: 50%;
    cursor: pointer;
    height: 9px;
    padding: 0;
    width: 9px;
}

body.onea3-site .onea3-project-card__dot.is-active {
    background: var(--onea3-cream-text);
}

body.onea3-site .onea3-projects-about.e-con {
    background: var(--onea3-cream);
    color: var(--onea3-olive);
    display: block;
    height: 372px;
    isolation: isolate;
    overflow: hidden;
    position: relative;
    width: 100%;
}

body.onea3-site .onea3-projects-about__texture.elementor-widget-image {
    clip-path: polygon(
        8.7% 0,
        8.3% 8%,
        8.1% 15%,
        7.7% 23%,
        7.4% 31%,
        6.8% 40%,
        6.5% 49%,
        6.1% 58%,
        5.7% 67%,
        5.1% 76%,
        4.6% 85%,
        3.8% 93%,
        2.5% 100%,
        100% 100%,
        100% 0
    );
    filter: hue-rotate(225deg) saturate(0.58) brightness(1.7);
    height: 100%;
    inset: 0;
    mix-blend-mode: normal;
    opacity: 0.31;
    pointer-events: none;
    position: absolute;
    width: 100%;
    z-index: 0;
}

body.onea3-site .onea3-projects-about__texture :where(.elementor-widget-container, img) {
    display: block;
    height: 100%;
    width: 100%;
}

body.onea3-site .onea3-projects-about__texture img {
    object-fit: fill;
    transform: scale(1.1, 1.25);
    transform-origin: center;
}

body.onea3-site .onea3-projects-about__inner.e-con {
    left: 50.7%;
    position: absolute;
    top: 90px;
    width: 594px;
    z-index: 2;
}

body.onea3-site .onea3-projects-about__title .elementor-heading-title {
    color: inherit;
    font-family: var(--onea3-display);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.05;
    text-transform: uppercase;
    transform: rotate(-0.96deg);
    transform-origin: left center;
}

body.onea3-site .onea3-projects-about__summary.elementor-widget {
    margin-top: 25px;
}

body.onea3-site .onea3-project-summary {
    color: inherit;
    font-family: var(--onea3-copy);
    font-size: 15px;
    line-height: 1.5;
}

body.onea3-site .onea3-project-summary p + p {
    margin-top: 18px;
}

@media (min-width: 1025px) {
    body.onea3-site .onea3-project-card--lead .onea3-project-card__content {
        padding-top: 133px;
    }

    body.onea3-site .onea3-project-card--lead .onea3-project-card__eyebrow {
        margin-bottom: 4px;
    }

    body.onea3-site .onea3-project-card--lead .onea3-project-card__meta > span {
        top: 116px;
    }

    body.onea3-site .onea3-project-card--standard .onea3-project-card__content {
        padding-top: 161px;
    }

    body.onea3-site .onea3-project-card--standard:first-child .onea3-project-card__content {
        padding-top: 178px;
    }

    body.onea3-site .onea3-project-card--standard .onea3-project-card__eyebrow {
        margin-bottom: 17px;
    }

    body.onea3-site .onea3-project-card--standard .onea3-project-card__title {
        line-height: 1.125;
    }

    body.onea3-site .onea3-project-card--standard:nth-child(2) .onea3-project-card__meta {
        top: 233px;
    }

    body.onea3-site .onea3-project-card--standard:nth-child(3) .onea3-project-card__meta {
        top: 243px;
    }

    body.onea3-site.onea3-view-projects .onea3-ticker.e-con {
        margin-top: -30px;
    }
}

@media (max-width: 1180px) {
    body.onea3-site .onea3-projects-intro__inner.e-con {
        width: 82%;
    }

    body.onea3-site .onea3-projects-intro__title .elementor-heading-title {
        font-size: 66px;
    }

    body.onea3-site .onea3-projects-intro__copy.e-con {
        width: 50%;
    }

    body.onea3-site .onea3-projects-intro__headline .elementor-heading-title {
        font-size: 34px;
    }

    body.onea3-site .onea3-projects-intro__body.elementor-widget {
        margin-left: clamp(48px, 6vw, 72px);
        width: calc(100% - clamp(48px, 6vw, 72px));
    }

    body.onea3-site .onea3-project-card__content {
        left: 10%;
        right: 10%;
    }

    body.onea3-site .onea3-project-card__dots {
        left: 10%;
    }

    body.onea3-site .onea3-projects-about__inner.e-con {
        left: 50%;
        width: 44%;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.onea3-site .onea3-projects-intro.e-con {
        height: 560px;
    }

    body.onea3-site .onea3-projects-intro__title .elementor-heading-title {
        font-size: 58px;
    }

    body.onea3-site .onea3-projects-intro__headline .elementor-heading-title {
        font-size: 29px;
    }

    body.onea3-site .onea3-projects-intro__subheading.elementor-widget {
        margin-top: 70px;
    }

    body.onea3-site .onea3-projects-intro__subheading .elementor-heading-title,
    body.onea3-site .onea3-project-card__eyebrow,
    body.onea3-site .onea3-project-card__meta {
        font-size: 16px;
    }

    body.onea3-site .onea3-projects-intro__body:not(:has(> .elementor-widget-container)),

    body.onea3-site .onea3-projects-intro__body:not(:has(> .elementor-widget-container)),

    body.onea3-site .onea3-projects-intro__body .elementor-widget-container,
    body.onea3-site .onea3-project-summary {
        font-size: 13px;
    }

    body.onea3-site .onea3-project-card--lead {
        height: 680px;
    }

    body.onea3-site .onea3-project-card--standard {
        height: 410px;
    }

    body.onea3-site .onea3-project-card__title {
        font-size: 62px;
    }

    body.onea3-site .onea3-project-card--lead .onea3-project-card__content {
        padding-top: 100px;
    }

    body.onea3-site .onea3-project-card--lead .onea3-project-card__meta > span {
        top: 92px;
    }

    body.onea3-site .onea3-project-card--lead .onea3-project-card__meta > a {
        bottom: 52px;
    }

    body.onea3-site .onea3-project-card__meta {
        top: 245px;
    }

    body.onea3-site .onea3-projects-about.e-con {
        height: 340px;
    }
}

@media (min-width: 768px) and (max-width: 900px) {
    body.onea3-site .onea3-projects-intro.e-con {
        height: auto;
        min-height: 650px;
    }

    body.onea3-site .onea3-projects-intro__inner.e-con {
        height: auto;
        padding: 66px 0 74px;
    }

    body.onea3-site .onea3-projects-intro__title.elementor-widget,
    body.onea3-site .onea3-projects-intro__copy.e-con {
        left: auto;
        position: relative;
        right: auto;
        top: auto;
        width: auto;
    }

    body.onea3-site .onea3-projects-intro__title.elementor-widget {
        margin-bottom: 70px;
    }

    body.onea3-site .onea3-projects-intro__copy.e-con {
        margin-left: 34%;
    }

    body.onea3-site .onea3-projects-intro__subheading.elementor-widget,
    body.onea3-site .onea3-projects-intro__body.elementor-widget {
        margin-left: 0;
        width: 100%;
    }

    body.onea3-site .onea3-projects-intro__subheading.elementor-widget {
        margin-top: 58px;
    }

    body.onea3-site .onea3-project-card--lead {
        height: 620px;
    }

    body.onea3-site .onea3-project-card--standard {
        height: 390px;
    }

    body.onea3-site .onea3-project-card__content,
    body.onea3-site .onea3-project-card--lead .onea3-project-card__content {
        bottom: 0;
        left: 7%;
        padding-top: 64px;
        right: 7%;
        top: 0;
    }

    body.onea3-site .onea3-project-card__title {
        font-size: 54px;
    }

    body.onea3-site .onea3-project-card__meta,
    body.onea3-site .onea3-project-card--lead .onea3-project-card__meta {
        align-items: center;
        bottom: 42px;
        display: flex;
        height: auto;
        top: auto;
    }

    body.onea3-site .onea3-project-card--lead .onea3-project-card__meta > span,
    body.onea3-site .onea3-project-card--lead .onea3-project-card__meta > a {
        position: static;
    }

    body.onea3-site .onea3-project-card--lead .onea3-project-card__title a {
        display: block;
    }

    body.onea3-site .onea3-project-card__dots {
        bottom: 24px;
        left: 7%;
    }

    body.onea3-site .onea3-projects-about.e-con {
        height: auto;
        min-height: 330px;
    }

    body.onea3-site .onea3-projects-about__inner.e-con {
        left: auto;
        margin-left: 42%;
        padding: 72px 40px 72px 0;
        position: relative;
        top: auto;
        width: auto;
    }
}

@media (max-width: 767px) {
    body.onea3-site .onea3-projects-intro.e-con {
        height: auto;
        min-height: 540px;
    }

    body.onea3-site .onea3-projects-intro__inner.e-con {
        height: auto;
        padding: 55px 0 60px;
        width: calc(100% - 44px);
    }

    body.onea3-site .onea3-projects-intro__title.elementor-widget,
    body.onea3-site .onea3-projects-intro__copy.e-con {
        left: auto;
        position: relative;
        right: auto;
        top: auto;
        width: auto;
    }

    body.onea3-site .onea3-projects-intro__title.elementor-widget {
        margin-bottom: 58px;
    }

    body.onea3-site .onea3-projects-intro__title .elementor-heading-title {
        font-size: 52px;
    }

    body.onea3-site .onea3-projects-intro__headline .elementor-heading-title {
        font-size: 28px;
    }

    body.onea3-site .onea3-projects-intro__subheading.elementor-widget {
        margin-top: 45px;
    }

    body.onea3-site .onea3-projects-intro__subheading .elementor-heading-title {
        font-size: 12px;
    }

    body.onea3-site .onea3-projects-intro__body.elementor-widget {
        margin-top: 18px;
        transform: rotate(-1deg);
    }

    body.onea3-site .onea3-projects-intro__body:not(:has(> .elementor-widget-container)),

    body.onea3-site .onea3-projects-intro__body .elementor-widget-container {
        font-size: 12.5px;
        text-align: left;
    }

    body.onea3-site .onea3-project-feed--secondary {
        padding-top: 12px;
    }

    body.onea3-site .onea3-project-card--lead {
        height: 560px;
    }

    body.onea3-site .onea3-project-card--standard {
        height: 360px;
    }

    body.onea3-site .onea3-project-card--standard + .onea3-project-card--standard {
        margin-top: 12px;
    }

    body.onea3-site .onea3-project-card__content,
    body.onea3-site .onea3-project-card--lead .onea3-project-card__content {
        bottom: 0;
        left: 22px;
        padding-top: 46px;
        right: 22px;
        top: 0;
    }

    body.onea3-site .onea3-project-card__eyebrow,
    body.onea3-site .onea3-project-card__meta {
        font-size: 11px;
    }

    body.onea3-site .onea3-project-card__title {
        font-size: 45px;
        max-width: 90%;
    }

    body.onea3-site .onea3-project-card__meta,
    body.onea3-site .onea3-project-card--lead .onea3-project-card__meta {
        align-items: center;
        bottom: 28px;
        display: flex;
        height: auto;
        top: auto;
    }

    body.onea3-site .onea3-project-card--lead .onea3-project-card__meta {
        bottom: 70px;
    }

    body.onea3-site .onea3-project-card--lead .onea3-project-card__meta > span,
    body.onea3-site .onea3-project-card--lead .onea3-project-card__meta > a {
        position: static;
    }

    body.onea3-site .onea3-project-card--lead .onea3-project-card__title a {
        display: block;
    }

    body.onea3-site .onea3-project-card__dots {
        bottom: 28px;
        gap: 21px;
        left: 22px;
    }

    body.onea3-site .onea3-project-card__dot {
        height: 6px;
        width: 6px;
    }

    body.onea3-site .onea3-projects-about.e-con {
        height: auto;
        min-height: 290px;
    }

    body.onea3-site .onea3-projects-about__inner.e-con {
        left: auto;
        margin: 0 22px 0 44%;
        padding: 62px 0;
        position: relative;
        top: auto;
        width: auto;
    }

    body.onea3-site .onea3-projects-about__title .elementor-heading-title {
        font-size: 12px;
    }

    body.onea3-site .onea3-projects-about__summary.elementor-widget {
        margin-top: 18px;
    }

    body.onea3-site .onea3-project-summary {
        font-size: 11px;
        line-height: 1.45;
    }

    body.onea3-site .onea3-project-feed__empty {
        font-size: 12px;
        padding: 70px 22px;
    }
}

@media (max-width: 420px) {
    body.onea3-site .onea3-projects-intro__title .elementor-heading-title {
        font-size: 46px;
    }

    body.onea3-site .onea3-projects-intro__headline .elementor-heading-title {
        font-size: 25px;
    }

    body.onea3-site .onea3-project-card__title {
        font-size: 39px;
    }
}

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

    body.onea3-site .onea3-ticker__track {
        animation: none;
    }

    body.onea3-site .onea3-process__stage,
    body.onea3-site .onea3-project-card__image,
    body.onea3-site .onea3-menu-toggle span,
    body.onea3-site .onea3-headerbar__mobile {
        transition: none;
    }
}

/* Elementor optimized markup: preserve inherited brand text and icon colors. */
body.onea3-site .elementor-widget-text-editor[class*="onea3-"] { color: inherit; }
body.onea3-site .onea3-headerbar__search .elementor-icon svg { fill: var(--onea3-brown); }
body.onea3-site .onea3-footer__social .elementor-icon svg { fill: var(--onea3-olive); }

/* Elementor editor injects global heading colors per widget. Keep brand inheritance. */
body.onea3-site .elementor-widget-heading[class*="onea3-"] .elementor-heading-title { color: inherit; }

/* Keep the editorial gallery on one horizontal track at every breakpoint. */
body.onea3-site .onea3-what__gallery.e-con { flex-wrap: nowrap; --flex-wrap: nowrap; }

/* Desktop editorial scale: keep the Figma two-column intro clear on laptops. */
@media (min-width:1181px) {
 body.onea3-site .onea3-projects-intro.e-con { height:clamp(480px,35.301vw,610px); }
 body.onea3-site .onea3-projects-intro__title.elementor-widget { top:min(5.671vw,98px); }
 body.onea3-site .onea3-projects-intro__title .elementor-heading-title { font-size:min(4.6216vw,79.861px); }
 body.onea3-site .onea3-projects-intro__copy.e-con { width:48.45%; top:min(4.803vw,83px); }
 body.onea3-site .onea3-projects-intro__headline .elementor-heading-title { font-size:min(2.2932vw,39.627px); }
 body.onea3-site .onea3-projects-intro__subheading.elementor-widget { margin-top:min(4.977vw,86px); width:69%; }
 body.onea3-site .onea3-projects-intro__subheading .elementor-heading-title { font-size:clamp(15px,1.1574vw,20px); letter-spacing:1px; }
 body.onea3-site .onea3-projects-intro__body.elementor-widget { margin-left:15.15%; margin-top:min(2.199vw,38px); width:100%; }
 body.onea3-site .onea3-projects-intro__body:not(:has(> .elementor-widget-container)),
 body.onea3-site .onea3-projects-intro__body .elementor-widget-container { font-size:clamp(12px,.8681vw,15px); }
 body.onea3-site .onea3-project-card--lead { height:min(46.469vw,803px); }
 body.onea3-site .onea3-project-card--standard { height:min(26.91vw,465px); }
 body.onea3-site .onea3-project-card__title { font-size:min(4.6216vw,79.861px); }
 body.onea3-site .onea3-footer__nav--b > .onea3-footer__link:nth-child(3) { position:absolute;left:8.74vw;top:0;width:auto; }
}

/* Preserve brand links outside Elementor pages and keep card titles clickable. */
body.onea3-site .elementor-widget-heading[class*="onea3-"] .elementor-heading-title a { color:inherit; }
body.onea3-site .onea3-project-card__meta { pointer-events:none; }
body.onea3-site .onea3-project-card__meta a { pointer-events:auto; }

/* Project detail: data-driven frame, editable content kept intact. */
body.onea3-site.single-onea3_project .onea3-theme-article { max-width:1440px; padding:72px 7vw 80px; }
body.onea3-site.single-onea3_project .onea3-theme-article > h1 { font-family:var(--onea3-display); font-size:clamp(42px,5vw,80px); font-weight:700; text-transform:uppercase; color:var(--onea3-brown); line-height:1; margin:0 0 24px; }
body.onea3-site .onea3-project-detail__meta { display:flex; justify-content:space-between; gap:24px; font-family:var(--onea3-display); font-size:18px; text-transform:uppercase; margin-bottom:32px; color:var(--onea3-brown); }
body.onea3-site .onea3-project-detail__hero { margin:0; }
body.onea3-site .onea3-project-detail__hero img { display:block; width:auto; max-width:100%; height:auto; max-height:800px; margin-inline:auto; object-fit:contain; object-position:center; }
body.onea3-site .onea3-project-detail__intro { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:64px 0; }
body.onea3-site .onea3-project-detail__intro h2, body.onea3-site .onea3-project-detail__intro h3 { font-family:var(--onea3-display); text-transform:uppercase; font-size:24px; font-weight:400; color:var(--onea3-brown); margin:0 0 24px; }
body.onea3-site .onea3-project-detail__intro h3 { font-size:20px; margin-top:32px; }
body.onea3-site .onea3-project-detail__intro p { font-size:14px; line-height:1.7; }
body.onea3-site .onea3-project-detail__intro p+p { margin-top:20px; }
body.onea3-site .onea3-project-detail__content:empty { display:none; }
body.onea3-site .onea3-project-detail__gallery { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:32px; }
body.onea3-site .onea3-project-detail__gallery figure { margin:0; }
body.onea3-site .onea3-project-detail__gallery img { width:100%; height:auto; display:block; }
body.onea3-site .onea3-project-detail__back { margin-top:64px; border-top:1px solid var(--onea3-brown); padding-top:24px; }
body.onea3-site .onea3-project-detail__back a { color:var(--onea3-brown); font-family:var(--onea3-display); font-size:20px; text-transform:uppercase; text-decoration:none; }
body.onea3-site .onea3-project-detail__back a:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
@media(max-width:767px) {
 body.onea3-site.single-onea3_project .onea3-theme-article { padding:44px 22px 52px; }
 body.onea3-site .onea3-project-detail__meta { font-size:14px; margin-bottom:24px; }
 body.onea3-site .onea3-project-detail__hero img { width:100%; height:auto; max-height:none; }
 body.onea3-site .onea3-project-detail__intro { grid-template-columns:1fr; gap:12px; padding:36px 0; }
 body.onea3-site .onea3-project-detail__gallery { grid-template-columns:1fr; gap:20px; }
 body.onea3-site .onea3-project-detail__back { margin-top:40px; }
}

/* Mobile intro: constrain native container intrinsic widths, not just page overflow. */
@media(max-width:767px) {
 body.onea3-site .onea3-projects-intro__copy.e-con { width:100%; min-width:0; max-width:100%; }
 body.onea3-site .onea3-projects-intro__headline.elementor-widget,
 body.onea3-site .onea3-projects-intro__subheading.elementor-widget { width:100%; min-width:0; max-width:100%; }
 body.onea3-site .onea3-projects-intro__body.elementor-widget { margin-left:28px; width:calc(100% - 28px); min-width:0; max-width:calc(100% - 28px); }
 body.onea3-site .onea3-projects-intro__subheading .elementor-heading-title { line-height:1.25; }
}

/* Contain decorative paper sideways without clipping its vertical overlap. */
@media(max-width:1024px) {
 body.onea3-site .onea3-what.e-con { overflow-x:clip; overflow-y:visible; }
}

/* Editable native images in a manually controlled horizontal gallery. */
body.onea3-site .onea3-what__gallery.e-con { display:flex; flex-direction:row; flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:thin; }
body.onea3-site .onea3-what__gallery-item.e-con { flex:0 0 28%; scroll-snap-align:start; }
body.onea3-site .onea3-gallery-controls { display:flex; justify-content:flex-end; gap:10px; width:100%; padding:12px 28px 0; position:relative; z-index:3; }
body.onea3-site .onea3-gallery-controls button { width:44px; height:44px; padding:0; border:1px solid currentColor; border-radius:50%; background:var(--onea3-cream); color:var(--onea3-brown); font:24px/1 sans-serif; cursor:pointer; }
body.onea3-site .onea3-gallery-controls button:disabled { opacity:.35; cursor:default; }
body.onea3-site .onea3-gallery-controls button:focus-visible { outline:3px solid var(--onea3-yellow); outline-offset:3px; }
@media(max-width:1024px) { body.onea3-site .onea3-what__gallery-item.e-con { flex-basis:44vw; } }
@media(max-width:767px) { body.onea3-site .onea3-what__gallery-item.e-con { flex-basis:78vw; } body.onea3-site .onea3-gallery-controls { padding-right:16px; } }

/* The growing photo rail must not overlap the following process section. */
body.onea3-site .onea3-what.e-con { height:auto; padding-bottom:56px; }
body.onea3-site .onea3-gallery-controls[hidden] { display:none; }
