.elementor-2516 .elementor-element.elementor-element-ec310b5{--display:flex;}.elementor-2516 .elementor-element.elementor-element-47f1864{--display:flex;border-style:none;--border-style:none;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2516 .elementor-element.elementor-element-47f1864:not(.elementor-motion-effects-element-type-background), .elementor-2516 .elementor-element.elementor-element-47f1864 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-c45b2d0 );}.elementor-2516 .elementor-element.elementor-element-b369a13{--display:flex;}.elementor-2516 .elementor-element.elementor-element-aa825f7{--display:flex;}.elementor-2516 .elementor-element.elementor-element-ef569bc{--display:flex;}.elementor-2516 .elementor-element.elementor-element-6b546f9{--display:flex;}.elementor-2516 .elementor-element.elementor-element-68930e4{--display:flex;}.elementor-2516 .elementor-element.elementor-element-77a06fd{--display:flex;}.elementor-2516 .elementor-element.elementor-element-58521ea{--display:flex;}.elementor-2516 .elementor-element.elementor-element-8e0c41f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-field-group{padding-right:calc( 24px/2 );padding-left:calc( 24px/2 );margin-bottom:25px;}.elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-form-fields-wrapper{margin-left:calc( -24px/2 );margin-right:calc( -24px/2 );margin-bottom:-25px;}.elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-field-group.recaptcha_v3-bottomleft, .elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-field-type-html{padding-bottom:0px;}.elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-2516 .elementor-element.elementor-element-deb5d1a .e-form__buttons__wrapper__button-next{color:var( --e-global-color-secondary );}.elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-button[type="submit"]{color:var( --e-global-color-secondary );}.elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-button[type="submit"] svg *{fill:var( --e-global-color-secondary );}.elementor-2516 .elementor-element.elementor-element-deb5d1a .e-form__buttons__wrapper__button-next:hover{color:var( --e-global-color-secondary );}.elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-button[type="submit"]:hover{color:var( --e-global-color-secondary );}.elementor-2516 .elementor-element.elementor-element-deb5d1a .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-secondary );}.elementor-2516 .elementor-element.elementor-element-deb5d1a .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-2516 .elementor-element.elementor-element-deb5d1a{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}@media(max-width:767px){.elementor-2516 .elementor-element.elementor-element-47f1864{--padding-top:24px;--padding-bottom:24px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for html, class: .elementor-element-fd6c804 *//* =========================================================
   NUVIRA V3 — HERO / WORDPRESS IMPLEMENTATION
   Scoped to .nuvira-v3
   ========================================================= */

.nuvira-v3 {
    --paper: #FAF8F4;
    --ink: #38282C;
    --muted: #514245;
    --accent: #6C5C3C;
    --line: #d9d0c4;
    --surface: #f0ebe4;
    --serif: "Cormorant Garamond", Georgia, serif;

    box-sizing: border-box;
    color: var(--muted);
    font-family: Manrope, Arial, sans-serif;
}

.nuvira-v3 *,
.nuvira-v3 *::before,
.nuvira-v3 *::after {
    box-sizing: border-box;
}

.nuvira-v3 img {
    display: block;
    max-width: 100%;
}

.nuvira-v3 button,
.nuvira-v3 a {
    font: inherit;
}

.nuvira-v3 button {
    cursor: pointer;
}

.nuvira-v3 a {
    color: inherit;
    text-decoration: none;
}

.nuvira-v3 a:focus-visible,
.nuvira-v3 button:focus-visible {
    outline: 3px solid #9b6c35;
    outline-offset: 6px;
}


/* =========================================================
   HERO STRUCTURE
   ========================================================= */

.nuvira-v3.hero {
    position: relative;
    isolation: isolate;

    display: grid;
    grid-template-columns: 1.08fr 1fr;
    align-items: center;

    gap: 55px;

    width: 100%;
    min-height: 790px;

    margin-inline: 0;

    padding:
        60px
        max(56px, calc((100% - 1320px) / 2))
        75px;

    overflow: clip;
}


/* =========================================================
   SHARED WHEAT ENVIRONMENT
   ========================================================= */

.nuvira-v3.hero > .hero-atmosphere {
    position: absolute;
    inset: 0;

    z-index: -1;

    overflow: hidden;
    pointer-events: none;

    background: var(--paper);
}

.nuvira-v3.hero > .hero-atmosphere .canvas-poster,
.nuvira-v3.hero > .hero-atmosphere .canvas-video {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 54%;

    filter: none;
}

.nuvira-v3.hero > .hero-atmosphere .canvas-video {
    opacity: 0;
    transition: opacity .4s ease;
}

.nuvira-v3.hero > .hero-atmosphere .canvas-video.ready {
    opacity: 1;
}


/* cream readability mask */

.nuvira-v3.hero > .hero-atmosphere::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            #FAF8F4ed 0%,
            #FAF8F4de 22%,
            #FAF8F4bf 44%,
            #FAF8F48c 68%,
            #FAF8F480 100%
        ),
        linear-gradient(
            0deg,
            #FAF8F4 0%,
            transparent 18%,
            transparent 87%,
            #FAF8F480 100%
        );
}


/* =========================================================
   LEFT HERO COPY
   ========================================================= */

.nuvira-v3.hero > .hero-copy {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.nuvira-v3 .eyebrow {
    margin: 0 0 29px;

    color: var(--accent);

    font-family: Manrope, Arial, sans-serif;
    font-size: .72rem;
    font-weight: 650;
    line-height: 1.6;

    letter-spacing: .075em;
}

.nuvira-v3.hero h1 {
    margin: 0;

    color: var(--ink);

    font-family: var(--serif);
    font-size: clamp(3.8rem, 5.3vw, 5.7rem);
    font-weight: 500;

    line-height: 1.01;
    letter-spacing: -.04em;
}

.nuvira-v3.hero h1 > span,
.nuvira-v3.hero h1 > em {
    display: block;
    white-space: normal;
}

.nuvira-v3.hero h1 > em {
    margin-top: .12em;

    color: var(--ink);

    font-family: var(--serif);
    font-size: .94em;
    font-style: italic;
    font-weight: 400;

    letter-spacing: -.04em;
}

.nuvira-v3 .hero-description {
    max-width: 475px;

    margin: 28px 0 0;

    color: var(--muted);

    font-size: 1rem;
    line-height: 1.8;
}

.nuvira-v3 .actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 23px;

    margin-top: 30px;
}


/* PRIMARY CTA — FINAL NUVIRA BROWN */

.nuvira-v3 .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 50px;

    padding: 15px 23px;

    background: #6C5C3C;
    border: 1px solid #6C5C3C;

    color: #fff;

    font-size: .85rem;
    font-weight: 600;

    transition:
        background-color .2s ease,
        border-color .2s ease;
}

.nuvira-v3 .button:hover {
    background: #55472f;
    border-color: #55472f;

    color: #fff;
    transform: none;
}

.nuvira-v3 .text-link {
    display: inline-block;

    align-self: flex-start;

    padding: 7px 0;

    border-bottom: 1px solid currentColor;

    color: var(--ink);

    font-size: .84rem;
    font-weight: 600;
    line-height: 1.6;
}

.nuvira-v3 .text-link:hover {
    color: var(--accent);
}

.nuvira-v3 .hero-note {
    margin: 30px 0 0;

    color: var(--muted);

    font-size: .75rem;
    line-height: 1.7;
}


/* =========================================================
   LIVING CANVAS
   ========================================================= */

.nuvira-v3.hero > .living-canvas {
    position: relative;

    z-index: 2;

    min-width: 0;

    color: var(--ink);
}

.nuvira-v3 .canvas-head {
    position: relative;
    z-index: 10;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    min-height: 55px;

    font-size: .6rem;
    letter-spacing: .12em;
}

.nuvira-v3 .motion-controls {
    display: flex;
    flex-direction: column;
    align-items: flex-end;

    gap: 0;
}

.nuvira-v3 .motion-controls button {
    min-height: 30px;

    padding: 3px 0;

    border: 0;
    background: none;

    color: var(--muted);

    font-size: .6rem;
    line-height: 1.4;

    text-decoration: underline;
    text-underline-offset: 4px;
}


/* =========================================================
   CANVAS STAGE
   ========================================================= */

.nuvira-v3 .canvas-stage {
    position: relative;

    height: 525px;

    overflow: visible;

    background: transparent;

    perspective: 1100px;
    isolation: isolate;
}

.nuvira-v3 .canvas-layer {
    position: absolute;
    inset: 0;

    z-index: 1;

    opacity: 0;
    visibility: hidden;

    pointer-events: none;

    transform: none;

    transition:
        opacity .7s ease,
        visibility .7s ease;
}

.nuvira-v3 .canvas-layer.is-active {
    opacity: 1;
    visibility: visible;

    pointer-events: auto;
}


/* =========================================================
   CANVAS TYPOGRAPHY
   ========================================================= */

.nuvira-v3 .canvas-type {
    position: absolute;

    top: 18px;
    left: 0;
    right: 0;

    z-index: 4;

    color: var(--ink);
}

.nuvira-v3 .canvas-type > span {
    color: var(--accent);

    font-size: .6rem;
    letter-spacing: .12em;
}

.nuvira-v3 .canvas-type p {
    margin: 18px 0 0;

    color: var(--ink);

    font-family: var(--serif);
    font-size: 3.35rem;
    font-weight: 500;

    line-height: .98;
    letter-spacing: -.035em;

    opacity: 0;

    transform: translateY(8px);

    transition:
        opacity .35s ease,
        transform .7s ease;
}

.nuvira-v3 .canvas-type p em {
    color: var(--ink);

    font-style: italic;
    font-weight: 400;
}

.nuvira-v3 .canvas-layer.is-active .canvas-type p {
    opacity: 1;

    transform: none;

    transition-delay: .35s;
}


/* =========================================================
   PROJECT PLANES — DESIGN + JOURNEY
   ========================================================= */

.nuvira-v3 .interface-plane {
    position: absolute;

    left: 6%;
    right: -1%;
    top: 212px;

    height: 238px;

    opacity: 0;

    transform:
        translate3d(22px, 22px, -45px)
        rotateY(-8deg)
        rotateZ(-2deg);

    transform-style: preserve-3d;

    transition:
        transform 1.35s cubic-bezier(.22,.61,.36,1),
        opacity .7s ease;
}

.nuvira-v3 .canvas-layer.is-active .interface-plane {
    opacity: 1;

    transform:
        translate3d(0, 0, 0)
        rotateY(-5deg)
        rotateZ(-1.3deg);

    transition-delay: .12s;
}


/* FINAL V3.3.2 positioning */

.nuvira-v3 .design-plane,
.nuvira-v3 .journey-plane {
    top: 205px;
    bottom: 24px;

    left: 3%;
    right: 0;

    height: auto;
}


/* project surface */

.nuvira-v3 .ui-fragment {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    max-width: none;
    max-height: none;

    overflow: visible;

    background: transparent;
    border: 0;

    box-shadow: none;
}

.nuvira-v3 .design-fragment,
.nuvira-v3 .journey-fragment {
    display: flex;
    align-items: center;
    justify-content: center;
}

.nuvira-v3 .design-fragment img,
.nuvira-v3 .journey-fragment img {
    width: auto;
    height: auto;

    max-width: 100%;
    max-height: 100%;

    object-fit: contain;
    object-position: center;

    transform: none;

    box-shadow:
        0 18px 30px -22px #38282c80;
}


/* =========================================================
   CHAPTER 03 — MŰKÖDÉS
   ========================================================= */

.nuvira-v3 .system-plane {
    top: 212px;
}

.nuvira-v3 .system-underlay {
    position: absolute;

    inset: -20px 22px 18px;

    overflow: hidden;

    opacity: .085;

    transform:
        translateZ(-50px)
        rotateZ(2deg);
}

.nuvira-v3 .system-underlay img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.nuvira-v3 .system-fragment {
    position: absolute;

    inset: 26px 0 auto 0;

    width: 100%;
    height: 205px;

    padding: 0;

    overflow: visible;

    background: transparent;
    border: 0;
    box-shadow: none;
}

.nuvira-v3 .system-fragment ol {
    display: flex;
    align-items: flex-start;

    height: 140px;

    gap: 15px;

    margin: 0;
    padding: 0;

    list-style: none;

    color: var(--ink);

    perspective: 900px;
}

.nuvira-v3 .system-fragment li {
    position: relative;

    flex: 1;
    min-width: 0;

    padding: 17px 8px 18px;

    background: #FAF8F4;
    border: 1px solid #d9d0c2;

    color: var(--ink);

    font-family: var(--serif);
    font-size: clamp(1.25rem, 1.9vw, 1.85rem);
    font-weight: 500;

    line-height: 1.2;
    text-align: center;

    opacity: 0;

    transform:
        translate3d(0, 18px, -20px);

    box-shadow:
        0 12px 18px -15px #38282c70;

    transition:
        transform .9s ease,
        opacity .8s ease;
}

.nuvira-v3 .system-fragment li + li::before {
    content: "→";

    position: absolute;

    left: -16px;
    top: 5px;

    color: var(--accent);

    font-family: Manrope, Arial, sans-serif;
    font-size: .9rem;
    font-weight: 400;
}

.nuvira-v3 .canvas-layer.is-active .system-fragment li {
    opacity: 1;

    transform:
        translate3d(0, 0, -16px);

    transition-delay: .3s;
}

.nuvira-v3 .canvas-layer.is-active .system-fragment li:nth-child(2) {
    transform:
        translate3d(0, 29px, 0);

    transition-delay: .5s;
}

.nuvira-v3 .canvas-layer.is-active .system-fragment li:nth-child(3) {
    transform:
        translate3d(0, 58px, 16px);

    transition-delay: .7s;
}

.nuvira-v3 .flow-caption {
    display: block;

    margin: 27px 0 0 9px;

    color: var(--muted);

    font-size: .54rem;
    letter-spacing: .1em;
}


/* =========================================================
   CANVAS CONTROLS
   ========================================================= */

.nuvira-v3 .canvas-controls {
    position: relative;

    z-index: 10;

    display: grid;

    grid-template-columns: .85fr 1.5fr 1fr;

    gap: 10px;

    border-bottom: 1px solid var(--line);
}

.nuvira-v3 .canvas-controls button {
    min-height: 50px;

    padding: 14px 0;

    border: 0;
    border-bottom: 2px solid transparent;

    background: none;

    color: var(--muted);

    font-size: .7rem;
    text-align: left;
    white-space: nowrap;
}

.nuvira-v3 .canvas-controls button > span {
    display: inline;

    margin-right: 5px;

    color: var(--accent);

    font-size: .6rem;
}

.nuvira-v3 .canvas-controls button[aria-pressed="true"] {
    border-bottom-color: var(--ink);

    color: var(--ink);

    font-weight: 700;
}

.nuvira-v3 .canvas-description {
    position: relative;

    z-index: 10;

    min-height: 48px;
    max-width: 470px;

    margin: 14px 0 0;

    color: var(--muted);

    font-size: .75rem;
    line-height: 1.6;
}


/* =========================================================
   PAUSED STATE
   ========================================================= */

.nuvira-v3.motion-held * {
    animation-play-state: paused !important;
}

.nuvira-v3.motion-held .ui-fragment img {
    transition: none;
    transform: none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .nuvira-v3.hero {
        gap: 32px;
    }

    .nuvira-v3.hero h1 {
        font-size: 4.5rem;
    }

    .nuvira-v3 .canvas-type p {
        font-size: 3rem;
    }

    .nuvira-v3 .canvas-controls button {
        font-size: .6rem;
    }

    .nuvira-v3 .canvas-controls button > span {
        font-size: .53rem;
    }

    .nuvira-v3 .system-fragment li {
        font-size: 1.2rem;
    }
}


/* =========================================================
   TABLET STACK
   ========================================================= */

@media (max-width: 950px) {

    .nuvira-v3.hero {
        grid-template-columns: 1fr;

        gap: 35px;

        padding-block: 45px;
    }

    .nuvira-v3.hero .hero-copy {
        max-width: 680px;
    }

    .nuvira-v3.hero h1 {
        max-width: 680px;

        font-size:
            clamp(3.4rem, 8vw, 5.5rem);
    }

    .nuvira-v3.hero .living-canvas {
        width: 100%;
        max-width: 610px;

        margin-inline: auto;
    }

    .nuvira-v3 .canvas-type p {
        font-size: 3.4rem;
    }

    .nuvira-v3 .canvas-controls button {
        font-size: .75rem;
    }

    .nuvira-v3 .system-fragment li {
        font-size: 1.55rem;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {

    .nuvira-v3.hero {
        gap: 30px;

        min-height: 0;

        padding:
            36px
            20px
            35px;
    }

    .nuvira-v3.hero > .hero-atmosphere .canvas-poster,
    .nuvira-v3.hero > .hero-atmosphere .canvas-video {
        object-position: 45% center;
    }

    .nuvira-v3.hero > .hero-atmosphere::after {
        background:
            linear-gradient(
                90deg,
                #FAF8F4e6,
                #FAF8F4b3
            ),
            linear-gradient(
                0deg,
                #FAF8F4,
                transparent 18%,
                transparent 90%,
                #FAF8F499
            );
    }

    .nuvira-v3 .eyebrow {
        max-width: 340px;

        margin-bottom: 23px;

        font-size: .7rem;
        letter-spacing: .07em;
    }

    .nuvira-v3.hero h1 {
        font-size:
            clamp(3rem, 12vw, 4.8rem);
    }

    .nuvira-v3.hero h1 > em {
        font-size: .9em;
    }

    .nuvira-v3 .hero-description {
        max-width: 480px;

        margin-top: 22px;

        font-size: 1rem;
    }

    .nuvira-v3 .actions {
        gap: 12px;

        margin-top: 23px;
    }

    .nuvira-v3 .button {
        padding: 13px 16px;

        font-size: .75rem;
    }

    .nuvira-v3 .text-link {
        padding-block: 13px;

        font-size: .77rem;
    }

    .nuvira-v3 .hero-note {
        margin-top: 22px;

        font-size: .75rem;
    }

    .nuvira-v3 .canvas-stage {
        height: 450px;

        overflow: hidden;

        perspective: none;
    }

    .nuvira-v3 .canvas-type {
        top: 18px;
        left: 0;
    }

    .nuvira-v3 .canvas-type p {
        font-size: 2.9rem;
    }

    .nuvira-v3 .design-plane,
    .nuvira-v3 .journey-plane {
        top: 180px;
        bottom: 22px;

        left: 0;
        right: 0;
    }

    .nuvira-v3 .interface-plane {
        transform:
            translateY(12px);
    }

    .nuvira-v3 .canvas-layer.is-active .interface-plane {
        transform: none;
    }

    .nuvira-v3 .canvas-head {
        font-size: .54rem;
    }

    .nuvira-v3 .motion-controls button {
        min-height: 44px;

        padding-block: 10px;

        font-size: .56rem;
    }

    .nuvira-v3 .canvas-controls button {
        font-size: .65rem;
    }

    .nuvira-v3 .canvas-controls button > span {
        margin-right: 3px;

        font-size: .53rem;
    }

    .nuvira-v3 .canvas-description {
        font-size: .74rem;
    }


    /* MŰKÖDÉS / MOBILE */

    .nuvira-v3 .system-fragment {
        inset: 18px 0 auto;

        height: 200px;

        padding: 0;
    }

    .nuvira-v3 .system-fragment ol {
        gap: 12px;

        perspective: none;
    }

    .nuvira-v3 .system-fragment li {
        padding: 15px 4px;

        font-size:
            clamp(1.15rem, 5vw, 1.6rem);
    }

    .nuvira-v3 .canvas-layer.is-active
    .system-fragment li {
        transform: none;
    }

    .nuvira-v3 .canvas-layer.is-active
    .system-fragment li:nth-child(2) {
        transform: translateY(25px);
    }

    .nuvira-v3 .canvas-layer.is-active
    .system-fragment li:nth-child(3) {
        transform: translateY(50px);
    }

    .nuvira-v3 .system-fragment li + li::before {
        left: -12px;
    }

    .nuvira-v3 .flow-caption {
        margin-top: 12px;
    }

    .nuvira-v3 .system-underlay {
        inset: -10px 10px 25px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

    .nuvira-v3.hero h1 {
        font-size: 3rem;
    }

    .nuvira-v3 .canvas-type p {
        font-size: 2.65rem;
    }

    .nuvira-v3 .canvas-controls {
        gap: 4px;
    }

    .nuvira-v3 .canvas-controls button {
        font-size: .58rem;
    }

    .nuvira-v3 .system-fragment li {
        font-size: 1.05rem;
    }

    .nuvira-v3 .canvas-head {
        align-items: flex-start;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .nuvira-v3 .canvas-layer,
    .nuvira-v3 .canvas-layer *,
    .nuvira-v3 .interface-plane,
    .nuvira-v3 .system-fragment li {
        animation: none !important;
        transition: none !important;
    }

    .nuvira-v3 .interface-plane,
    .nuvira-v3 .canvas-layer.is-active .interface-plane {
        transform: none;
    }

    .nuvira-v3 .design-fragment img,
    .nuvira-v3 .journey-fragment img {
        transform: none !important;
    }
}/* End custom CSS */