@font-face {
    font-family: 'Univia Pro';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('/assets/fonts/univia/univia-pro-light.woff2') format('woff2'),
        url('/assets/fonts/univia/univia-pro-light.woff') format('woff'),
        url('/assets/fonts/univia/univia-pro-light.ttf') format('truetype');
}

/* Shared desktop content width for all public pages and sections. */
:root {
    --washi-content-max-width: 1600px;
}

@media (min-width: 1025px) {
    .elementor {
        --container-max-width: var(--washi-content-max-width) !important;
    }

    .e-con.e-con-boxed > .e-con-inner,
    .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-container,
    .washi-header-inner,
    .washi-page-hero__inner,
    .languages-shell,
    .fields-page,
    .footer-container,
    .elementor-771 .washi-faq-section > .e-con-inner {
        width: min(var(--washi-content-max-width), calc(100% - 40px)) !important;
        max-width: var(--washi-content-max-width) !important;
        margin-inline: auto !important;
    }
}

/* About page: center card labels, but start descriptions from the left. */
.elementor-767 .reason .elementor-widget-heading,
.elementor-767 .reason .elementor-heading-title {
    width: 100%;
    text-align: center !important;
}

.elementor-767 .reason > .elementor-widget-heading:last-child .elementor-heading-title,
.elementor-767 .reason > .e-con > .elementor-widget-heading:last-child .elementor-heading-title {
    text-align: left !important;
}

/* Home statistics: always use a balanced 2 × 2 grid on phones. */
@media (max-width: 767px) {
    .elementor-771 .elementor-element-13326e4 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: start !important;
    }

    .elementor-771 .elementor-element-13326e4 > .e-con {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
}

/* Premium languages page */
.languages-premium{--lp-ink:#073447;--lp-pink:#ed2f54;--lp-paper:#f7f8f7;background:#fff;color:var(--lp-ink);overflow:hidden}
.languages-shell{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.languages-intro{position:relative;padding:104px 0 112px;background:linear-gradient(145deg,#fff 0%,#fff 54%,#f7faf9 100%)}
.languages-intro:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 50%,rgba(237,47,84,.08),transparent 27%);pointer-events:none}
.languages-intro__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.82fr);align-items:center;gap:90px}
.languages-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--lp-pink);font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.languages-kicker:before{content:"";width:30px;height:2px;background:currentColor}
.languages-intro h2{max-width:650px;margin:20px 0 22px;color:var(--lp-ink);font-size:clamp(39px,4.4vw,66px);font-weight:800;line-height:1.04;letter-spacing:-.045em}
.languages-intro__copy p{max-width:610px;margin:0;color:#60737c;font-size:18px;line-height:1.75}
.languages-cta{display:inline-flex;align-items:center;gap:20px;margin-top:34px;padding:15px 18px 15px 24px;border-radius:999px;background:var(--lp-ink);box-shadow:0 14px 34px rgba(7,52,71,.2);color:#fff!important;font-size:14px;font-weight:800;text-decoration:none!important;transition:.25s ease}
.languages-cta span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lp-pink);font-size:18px;transition:.25s ease}
.languages-cta:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(7,52,71,.28)}.languages-cta:hover span{transform:rotate(-35deg)}
.languages-orbit{position:relative;display:grid;place-items:center;aspect-ratio:1;max-width:450px;margin:auto}
.languages-orbit__globe{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:252px;aspect-ratio:1;border:1px solid rgba(255,255,255,.22);border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#0b4559,#052c3c);box-shadow:0 36px 70px rgba(7,52,71,.28),inset 0 0 60px rgba(255,255,255,.04);color:#fff}
.languages-orbit__globe:before,.languages-orbit__globe:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%}.languages-orbit__globe:before{inset:18px 64px}.languages-orbit__globe:after{inset:64px 18px}
.languages-orbit__globe strong{position:relative;z-index:2;font-size:69px;line-height:.9;letter-spacing:-.07em}.languages-orbit__globe strong span{color:var(--lp-pink)}.languages-orbit__globe small{position:relative;z-index:2;margin-top:13px;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.7}
.languages-orbit__meridian,.languages-orbit__latitude{position:absolute;background:rgba(255,255,255,.13)}.languages-orbit__meridian{top:0;bottom:0;width:1px}.languages-orbit__latitude{left:0;right:0;height:1px}
.languages-orbit__halo{position:absolute;border:1px solid rgba(7,52,71,.12);border-radius:50%}.languages-orbit__halo--one{inset:37px;animation:language-spin 22s linear infinite}.languages-orbit__halo--two{inset:3px;border-style:dashed;animation:language-spin 32s linear infinite reverse}
.languages-orbit__tag{position:absolute;z-index:3;display:grid;place-items:center;width:57px;height:57px;border:1px solid rgba(7,52,71,.08);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 16px 38px rgba(7,52,71,.14);color:var(--lp-ink);font-size:23px;font-weight:800}.languages-orbit__tag--ja{top:7%;left:20%;transform:rotate(-8deg)}.languages-orbit__tag--ko{top:24%;right:1%;transform:rotate(7deg)}.languages-orbit__tag--zh{bottom:12%;right:14%;transform:rotate(-5deg)}.languages-orbit__tag--th{bottom:17%;left:5%;transform:rotate(6deg)}
@keyframes language-spin{to{transform:rotate(360deg)}}
.languages-catalog{padding:110px 0 120px;background:var(--lp-paper)}
.languages-section-heading{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:14px 30px;margin-bottom:45px}.languages-section-heading .languages-kicker{grid-column:1/-1}.languages-section-heading h2{margin:0;color:var(--lp-ink);font-size:clamp(35px,4vw,54px);line-height:1;font-weight:800;letter-spacing:-.04em}.languages-section-heading__line{height:1px;margin-bottom:8px;background:#dce3e2}
.languages-core-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.language-card{min-height:222px;display:flex;flex-direction:column;justify-content:space-between;padding:24px;border:1px solid #e1e7e6;border-radius:22px;background:rgba(255,255,255,.86);box-shadow:0 7px 26px rgba(7,52,71,.04);transition:.28s ease}
.language-card:hover{transform:translateY(-7px);border-color:rgba(237,47,84,.28);box-shadow:0 20px 45px rgba(7,52,71,.11)}
.language-card__top{display:flex;align-items:center;justify-content:space-between}.language-card__code{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf3f3;color:var(--lp-ink);font-size:11px;font-weight:900;letter-spacing:.08em}.language-card__arrow{color:#a9b6b8;font-size:20px;transition:.25s}.language-card:hover .language-card__arrow{color:var(--lp-pink);transform:translate(2px,-2px)}
.language-card h3{margin:0 0 7px;color:var(--lp-ink);font-size:21px;line-height:1.2;font-weight:800;letter-spacing:-.02em}.language-card p{margin:0;color:#94a3a8;font-size:13px}
.languages-more{margin-top:54px;padding:36px 40px 40px;border-radius:26px;background:var(--lp-ink);box-shadow:0 24px 60px rgba(7,52,71,.2)}
.languages-more__heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;font-size:23px;font-weight:800}.languages-more__heading strong{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:var(--lp-pink);font-size:12px}
.languages-chip-grid{display:flex;flex-wrap:wrap;gap:10px}.language-chip{display:inline-flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.055);color:#e9f0f2;font-size:13px;font-weight:600}.language-chip i{width:6px;height:6px;border-radius:50%;background:#7d9ba5}.language-chip--more{border-color:rgba(237,47,84,.4);background:rgba(237,47,84,.14);color:#fff}.language-chip--more i{background:var(--lp-pink)}
@media(max-width:900px){.languages-intro{padding:80px 0}.languages-intro__grid{grid-template-columns:1fr;gap:60px}.languages-intro__copy{text-align:center}.languages-kicker,.languages-cta{justify-content:center}.languages-intro h2,.languages-intro__copy p{margin-inline:auto}.languages-orbit{width:min(100%,410px)}.languages-core-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.languages-shell{width:min(100% - 30px,1160px)}.languages-intro{padding:62px 0 72px}.languages-intro h2{font-size:38px}.languages-intro__copy p{font-size:16px;line-height:1.65}.languages-orbit__globe{width:205px}.languages-orbit__globe strong{font-size:57px}.languages-orbit__tag{width:48px;height:48px;border-radius:13px;font-size:19px}.languages-catalog{padding:76px 0}.languages-section-heading{grid-template-columns:1fr;margin-bottom:32px}.languages-section-heading__line{display:none}.languages-core-grid{grid-template-columns:1fr 1fr;gap:10px}.language-card{min-height:176px;padding:18px;border-radius:17px}.language-card h3{font-size:17px}.languages-more{margin-top:34px;padding:25px 20px 28px;border-radius:20px}.languages-more__heading{font-size:20px}.languages-chip-grid{gap:8px}.language-chip{padding:9px 12px;font-size:12px}}
@media(max-width:380px){.languages-core-grid{grid-template-columns:1fr}.language-card{min-height:160px}}
@media(prefers-reduced-motion:reduce){.languages-orbit__halo{animation:none}.language-card,.languages-cta{transition:none}}

/* Resource category pages */
.washi-more-link{display:inline-flex;align-items:center;gap:9px;color:inherit!important;text-decoration:none!important}.washi-more-link svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.washi-more-link:hover svg,.washi-more-link:focus-visible svg{transform:translateX(4px)}
.washi-resource-page{padding:90px 24px 110px;background:#f7f9f9;color:#073447}.washi-resource-page__inner{width:min(850px,100%);margin:auto}.washi-resource-back{display:inline-flex;align-items:center;gap:9px;margin-bottom:34px;color:#073447!important;font-size:14px;font-weight:800;text-decoration:none!important}.washi-resource-back svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.washi-resource-back:hover,.washi-resource-back:focus-visible{color:#ed2f54!important}.washi-resource-back:hover svg,.washi-resource-back:focus-visible svg{transform:translateX(-4px)}.washi-resource-page__eyebrow{margin:0 0 12px;color:#ed2f54;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.washi-resource-page h2{margin:0;font-size:clamp(38px,6vw,64px);line-height:1.05}.washi-resource-page__inner>p:not(.washi-resource-page__eyebrow){max-width:680px;margin:22px 0 0;color:#5e737c;font-size:18px;line-height:1.75}.washi-resource-page__empty{margin-top:48px;padding:36px;border:1px solid #dce5e7;border-radius:24px;background:#fff;box-shadow:0 20px 50px rgba(7,52,71,.08)}.washi-resource-page__empty h3{margin:0 0 10px;font-size:25px}.washi-resource-page__empty p{margin:0 0 24px;color:#667b84;line-height:1.7}.washi-resource-page__empty a{display:inline-flex;padding:13px 22px;border-radius:999px;background:#ed2f54;color:#fff!important;font-weight:800;text-decoration:none}.washi-resource-page__empty a:hover,.washi-resource-page__empty a:focus-visible{background:#073447}@media(max-width:600px){.washi-resource-page{padding:64px 18px 80px}.washi-resource-page__empty{padding:26px 22px}}

/* About page: compact mobile process/quality sections and tap-safe cards. */
@media (max-width: 767px) {
    .elementor-767 .reason:hover,
    .elementor-767 .reason:focus,
    .elementor-767 .reason:active {
        background: #fff !important;
        border-color: #e4e9ed !important;
        transform: none !important;
    }

    .elementor-767 .reason:hover .elementor-heading-title,
    .elementor-767 .reason:focus .elementor-heading-title,
    .elementor-767 .reason:active .elementor-heading-title {
        color: #073447 !important;
    }

    .elementor-767 .reason:hover > .elementor-widget-heading:last-child .elementor-heading-title,
    .elementor-767 .reason:focus > .elementor-widget-heading:last-child .elementor-heading-title,
    .elementor-767 .reason:active > .elementor-widget-heading:last-child .elementor-heading-title {
        color: #5d6f78 !important;
    }

    .elementor-767 .elementor-element-265968d,
    .elementor-767 .elementor-element-3325fd4 {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        gap: 14px !important;
    }

    .elementor-767 .elementor-element-9d8561f .elementor-heading-title,
    .elementor-767 .elementor-element-31e10e7 .elementor-heading-title {
        font-size: 0.8125rem !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    .elementor-767 .process {
        padding: 16px 12px !important;
        min-height: 112px !important;
    }

    .elementor-767 .process h2.elementor-heading-title:not(.elementor-absolute) {
        font-size: 0.75rem !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
    }

    .elementor-767 .process .elementor-absolute.elementor-widget-heading .elementor-heading-title {
        font-size: 0.75rem !important;
        font-weight: 600 !important;
    }

    .elementor-767 .elementor-element-d94311b .elementor-heading-title {
        font-size: 0.8125rem !important;
        font-weight: 600 !important;
        line-height: 1.4 !important;
    }

    .elementor-767 .elementor-element-99950a5 .elementor-heading-title,
    .elementor-767 .elementor-element-5df09ad .elementor-heading-title,
    .elementor-767 .elementor-element-b2b4fb4 .elementor-heading-title,
    .elementor-767 .elementor-element-5c84389 .elementor-heading-title,
    .elementor-767 .elementor-element-2dfa497 .elementor-heading-title,
    .elementor-767 .elementor-element-7a355b4 .elementor-heading-title {
        font-size: 0.75rem !important;
        font-weight: 400 !important;
        line-height: 1.5 !important;
    }

    .elementor-767 .iBox2 h2.elementor-heading-title {
        font-size: 0.75rem !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
    }
}

/* Languages page: premium skin over the original Elementor markup (HTML unchanged). */
.elementor-772{--languages-ink:#073447;--languages-pink:#ed2f54;--languages-soft:#f6f8f8}
.elementor-772 .elementor-element-efa9b8d{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#f7faf9 100%)!important}
.elementor-772 .elementor-element-efa9b8d:before{content:"";position:absolute;width:420px;height:420px;right:-110px;top:-110px;border-radius:50%;background:radial-gradient(circle,rgba(237,47,84,.11),rgba(237,47,84,0) 68%);pointer-events:none}
.elementor-772 .elementor-element-c604f00 .elementor-heading-title{color:var(--languages-ink)!important;font-weight:800!important;letter-spacing:-.035em;text-wrap:balance}
.elementor-772 .elementor-element-c604f00 .elementor-heading-title:before{content:"";display:block;width:42px;height:3px;margin-bottom:18px;border-radius:99px;background:var(--languages-pink)}
.elementor-772 .elementor-element-2ee3466 .elementor-heading-title{color:#61757e!important;line-height:1.75!important}
.elementor-772 .elementor-element-a198af7 img{filter:drop-shadow(0 28px 32px rgba(7,52,71,.14));transition:transform .45s ease,filter .45s ease}
.elementor-772 .elementor-element-efa9b8d:hover .elementor-element-a198af7 img{transform:translateY(-5px);filter:drop-shadow(0 34px 38px rgba(7,52,71,.18))}
.elementor-772 .elementor-element-34459ac{background:linear-gradient(180deg,#f7f9f9 0%,#fff 100%)!important}
.elementor-772 .elementor-element-c8cb7b6 .elementor-heading-title,.elementor-772 .elementor-element-e262204 .elementor-heading-title{color:var(--languages-ink)!important;font-weight:800!important;letter-spacing:-.035em}
.elementor-772 .elementor-element-c8cb7b6 .elementor-heading-title:after,.elementor-772 .elementor-element-e262204 .elementor-heading-title:after{content:"";display:block;width:46px;height:3px;margin-top:15px;border-radius:99px;background:var(--languages-pink)}
.elementor-772 .elementor-element-9d88410>.elementor-element.elementor-widget-heading,.elementor-772 .elementor-element-754ad80>.elementor-element.elementor-widget-heading:not(.elementor-element-e262204){position:relative;overflow:hidden;border:1px solid rgba(7,52,71,.09)!important;border-radius:14px!important;background:rgba(255,255,255,.9)!important;box-shadow:0 7px 22px rgba(7,52,71,.055)!important;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease!important}
.elementor-772 .elementor-element-9d88410>.elementor-element.elementor-widget-heading:before,.elementor-772 .elementor-element-754ad80>.elementor-element.elementor-widget-heading:not(.elementor-element-e262204):before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--languages-pink);transform:scaleY(0);transition:transform .25s ease}
.elementor-772 .elementor-element-9d88410>.elementor-element.elementor-widget-heading:hover,.elementor-772 .elementor-element-754ad80>.elementor-element.elementor-widget-heading:not(.elementor-element-e262204):hover{transform:translateY(-4px);border-color:rgba(237,47,84,.28)!important;box-shadow:0 15px 34px rgba(7,52,71,.11)!important}
.elementor-772 .elementor-element-9d88410>.elementor-element.elementor-widget-heading:hover:before,.elementor-772 .elementor-element-754ad80>.elementor-element.elementor-widget-heading:not(.elementor-element-e262204):hover:before{transform:scaleY(1)}
.elementor-772 .elementor-element-9d88410>.elementor-element .elementor-heading-title,.elementor-772 .elementor-element-754ad80>.elementor-element.elementor-widget-heading:not(.elementor-element-e262204) .elementor-heading-title{color:var(--languages-ink)!important;font-weight:700!important;transition:color .25s ease}
.elementor-772 .elementor-element-9d88410>.elementor-element:hover .elementor-heading-title,.elementor-772 .elementor-element-754ad80>.elementor-element.elementor-widget-heading:not(.elementor-element-e262204):hover .elementor-heading-title{color:var(--languages-pink)!important}
.elementor-772 .elementor-element-aaa8aa8 svg,.elementor-772 .elementor-element-bc72925 svg{filter:drop-shadow(0 12px 22px rgba(7,52,71,.08));opacity:.92}
@media(max-width:767px){.elementor-772 .elementor-element-c604f00 .elementor-heading-title:before{margin-inline:auto}.elementor-772 .elementor-element-efa9b8d:before{width:280px;height:280px}.elementor-772 .elementor-element-9d88410>.elementor-element.elementor-widget-heading,.elementor-772 .elementor-element-754ad80>.elementor-element.elementor-widget-heading:not(.elementor-element-e262204){border-radius:12px!important}}
@media(prefers-reduced-motion:reduce){.elementor-772 .elementor-element-a198af7 img,.elementor-772 .elementor-element-9d88410>.elementor-element.elementor-widget-heading,.elementor-772 .elementor-element-754ad80>.elementor-element.elementor-widget-heading{transition:none!important}}

/* Premium CSS-only skin: About, Careers, Contact and Services. */
.elementor-767,.elementor-768,.elementor-773{--premium-ink:#073447;--premium-pink:#ed2f54;--premium-muted:#657982;--premium-line:rgba(7,52,71,.1);--premium-shadow:0 20px 52px rgba(7,52,71,.1)}
.elementor-767 .elementor-heading-title,.elementor-768 .elementor-heading-title,.elementor-773 .elementor-heading-title{text-wrap:balance}
.elementor-767 img,.elementor-768 img,.elementor-773 img{transition:transform .4s ease,filter .4s ease}

/* Careers */
.elementor-768 .elementor-element-67f9fe9,.elementor-768 .elementor-element-81caf94{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f7faf9)!important}
.elementor-768 .elementor-element-67f9fe9:before,.elementor-768 .elementor-element-81caf94:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(237,47,84,.1),transparent 70%);pointer-events:none}
.elementor-768 .elementor-element-67f9fe9:before{right:-90px;top:-100px}.elementor-768 .elementor-element-81caf94:before{left:-100px;bottom:-110px}
.elementor-768 .elementor-element-798aeaf .elementor-heading-title,.elementor-768 .elementor-element-7dbee6b .elementor-heading-title{color:var(--premium-ink)!important;font-weight:800!important;letter-spacing:-.035em}
.elementor-768 .elementor-element-798aeaf .elementor-heading-title:after,.elementor-768 .elementor-element-7dbee6b .elementor-heading-title:after{content:"";display:block;width:44px;height:3px;margin-top:16px;border-radius:9px;background:var(--premium-pink)}
.elementor-768 .elementor-element-de34722 .elementor-heading-title,.elementor-768 .elementor-element-6ec60c0 .elementor-heading-title{color:var(--premium-muted)!important;line-height:1.7!important}
.elementor-768 .elementor-element-e2ab427 img,.elementor-768 .elementor-element-028d4e2 img{filter:drop-shadow(0 24px 30px rgba(7,52,71,.15))}
.elementor-768 .elementor-element-67f9fe9:hover img,.elementor-768 .elementor-element-81caf94:hover img{transform:translateY(-5px);filter:drop-shadow(0 30px 35px rgba(7,52,71,.2))}
.elementor-768 .elementor-element-cf3532c,.elementor-768 .elementor-element-72b81d7{background:#f7f9f9!important}
.elementor-768 .careers-form-container{border:1px solid var(--premium-line)!important;border-radius:22px!important;background:rgba(255,255,255,.96)!important;box-shadow:var(--premium-shadow)!important}
.elementor-768 .premium-form input,.elementor-768 .premium-form select,.elementor-768 .premium-form textarea{border-color:#dfe7e8!important;background:#fbfcfc!important;transition:border-color .2s,box-shadow .2s,background .2s!important}

/* About */
.elementor-767 .elementor-element-07a5f6c,.elementor-767 .elementor-element-f7f835e,.elementor-767 .elementor-element-8f6133e{position:relative;overflow:hidden}
.elementor-767 .elementor-element-07a5f6c{background:linear-gradient(145deg,#fff,#f7faf9)!important}.elementor-767 .elementor-element-f7f835e{background:linear-gradient(180deg,#f7f9f9,#fff)!important}
.elementor-767 .elementor-element-b6e6b11 .elementor-heading-title,.elementor-767 .elementor-element-f2f2a7f .elementor-heading-title,.elementor-767 .elementor-element-a2038b6 .elementor-heading-title,.elementor-767 .elementor-element-01a0b2b .elementor-heading-title{color:var(--premium-ink)!important;font-weight:800!important;letter-spacing:-.035em}
.elementor-767 .elementor-element-b6e6b11 .elementor-heading-title:after,.elementor-767 .elementor-element-f2f2a7f .elementor-heading-title:after,.elementor-767 .elementor-element-01a0b2b .elementor-heading-title:after{content:"";display:block;width:44px;height:3px;margin-top:15px;border-radius:9px;background:var(--premium-pink)}
.elementor-767 .elementor-element-fc9764a .elementor-heading-title,.elementor-767 .elementor-element-41f0f78 .elementor-heading-title{color:var(--premium-muted)!important;line-height:1.72!important}
.elementor-767 .reason{border:1px solid var(--premium-line)!important;border-radius:20px!important;background:rgba(255,255,255,.88)!important;box-shadow:0 8px 28px rgba(7,52,71,.055)!important;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important}
.elementor-767 .reason:hover{transform:translateY(-5px);border-color:rgba(237,47,84,.25)!important;box-shadow:var(--premium-shadow)!important}
.elementor-767 .iContainer{border-radius:16px!important;overflow:hidden}.elementor-767 .reason:hover .iContainer img{transform:scale(1.045)}
.elementor-767 .elementor-widget-image img{filter:drop-shadow(0 18px 28px rgba(7,52,71,.1))}

/* Services */
.elementor-773{background:linear-gradient(180deg,#fff 0%,#f8fafa 45%,#fff 100%)}
.elementor-773>.e-con,.elementor-773>.elementor-element{position:relative}
.elementor-773 .elementor-widget-heading .elementor-heading-title{color:var(--premium-ink);font-weight:800;letter-spacing:-.025em}
.elementor-773 .eael-adv-accordion{filter:drop-shadow(0 7px 18px rgba(7,52,71,.045))}
.elementor-773 .eael-accordion-list{overflow:hidden;border:1px solid var(--premium-line)!important;border-radius:14px!important;background:rgba(255,255,255,.94)!important;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important}
.elementor-773 .eael-accordion-list:hover{transform:translateY(-3px);border-color:rgba(237,47,84,.25)!important;box-shadow:0 13px 28px rgba(7,52,71,.09)!important}
.elementor-773 .eael-accordion-header{transition:color .2s ease,background .2s ease!important}.elementor-773 .eael-accordion-header:hover{color:var(--premium-pink)!important;background:#fff8f9!important}
.elementor-773 .eael-accordion-content{color:var(--premium-muted)!important;line-height:1.72!important}
.elementor-773 .elementor-widget-image img{filter:drop-shadow(0 22px 30px rgba(7,52,71,.12))}.elementor-773 .e-con:hover>.elementor-widget-image img{transform:translateY(-4px)}

@media(max-width:767px){.elementor-768 .elementor-element-798aeaf .elementor-heading-title:after,.elementor-768 .elementor-element-7dbee6b .elementor-heading-title:after,.elementor-767 .elementor-element-b6e6b11 .elementor-heading-title:after,.elementor-767 .elementor-element-f2f2a7f .elementor-heading-title:after,.elementor-767 .elementor-element-01a0b2b .elementor-heading-title:after{margin-inline:auto}.elementor-768 .careers-form-container{border-radius:17px!important}.elementor-767 .reason{border-radius:16px!important}.elementor-773 .eael-accordion-list{border-radius:12px!important}}
@media(prefers-reduced-motion:reduce){.elementor-767 *,.elementor-768 *,.elementor-773 *{scroll-behavior:auto!important}.elementor-767 img,.elementor-768 img,.elementor-773 img,.elementor-767 .reason,.elementor-773 .eael-accordion-list{transition:none!important}}

/* Contact: retain the original UI while restoring its illustration and logo presence. */
body:has(.elementor-769) .washi-header-logo{min-width:245px}
body:has(.elementor-769) .washi-header-logo .ws-logo-img{width:245px;max-width:100%;height:auto;opacity:1;filter:none}
.elementor-769 .washi-page-hero{min-height:500px;padding:76px 0;background:#f4f6f8!important;color:#073447}
.elementor-769 .washi-page-hero:before{content:"";position:absolute;left:-75px;bottom:-90px;width:300px;height:300px;border:18px solid rgba(7,52,71,.055);border-radius:50%;box-shadow:0 0 0 18px rgba(7,52,71,.035),0 0 0 36px rgba(7,52,71,.025)}
.elementor-769 .washi-page-hero:after{content:"";position:absolute;z-index:2;right:clamp(7%,14vw,260px);bottom:-66px;width:min(39vw,430px);height:calc(100% + 30px);background:url('/assets/media/illustrations/global-communication-hero.svg') center bottom/contain no-repeat;filter:drop-shadow(0 22px 25px rgba(7,52,71,.1));pointer-events:none}
.elementor-769 .washi-page-hero__inner{z-index:3;width:min(1160px,calc(100% - 48px));padding:0}
.elementor-769 .washi-page-hero__eyebrow{color:#ed2f54}.elementor-769 .washi-page-hero__eyebrow span{background:#ed2f54}
.elementor-769 .washi-page-hero__title{max-width:48%;color:#073447;text-shadow:none;font-size:clamp(42px,5vw,68px)}
.elementor-769 .washi-page-hero__title:after{background:#ed2f54}
.elementor-769 .washi-page-hero__grid,.elementor-769 .washi-page-hero__glow,.elementor-769 .washi-page-hero__mark{display:none}
@media(max-width:900px){body:has(.elementor-769) .washi-header-logo{min-width:0}.elementor-769 .washi-page-hero{min-height:430px}.elementor-769 .washi-page-hero:after{right:1%;width:min(48vw,360px)}.elementor-769 .washi-page-hero__title{max-width:50%}}
@media(max-width:600px){body:has(.elementor-769) .washi-header-logo .ws-logo-img{width:190px}.elementor-769 .washi-page-hero{min-height:530px;padding-top:55px}.elementor-769 .washi-page-hero__inner{width:min(100% - 30px,1160px);text-align:center;align-items:center}.elementor-769 .washi-page-hero__eyebrow{justify-content:center}.elementor-769 .washi-page-hero__title{max-width:100%;font-size:42px}.elementor-769 .washi-page-hero:after{right:50%;bottom:-75px;width:min(82vw,350px);height:350px;transform:translateX(50%)}.elementor-769 .washi-page-hero:before{width:220px;height:220px}}

/* Careers bug fixes: heading hierarchy and file-upload containment. */
.elementor-768 .elementor-element-67f9fe9>.e-con-inner,.elementor-768 .elementor-element-81caf94>.e-con-inner{padding-top:72px;padding-bottom:52px}
.elementor-768 .elementor-element-310c007,.elementor-768 .elementor-element-13b62f4{gap:8px!important}
.elementor-768 .elementor-element-798aeaf,.elementor-768 .elementor-element-7dbee6b{margin:0!important}
.elementor-768 .elementor-element-798aeaf .elementor-heading-title,.elementor-768 .elementor-element-7dbee6b .elementor-heading-title{margin:0!important;font-size:clamp(36px,4vw,54px)!important;line-height:1.08!important}
.elementor-768 .elementor-element-de34722,.elementor-768 .elementor-element-6ec60c0{margin:0!important}
.elementor-768 .elementor-element-de34722 .elementor-heading-title,.elementor-768 .elementor-element-6ec60c0 .elementor-heading-title{margin:0!important;font-size:clamp(20px,2vw,28px)!important;line-height:1.3!important;font-weight:500!important}
.elementor-768 .premium-form .custom-file-upload{display:block!important;min-width:0!important;overflow:hidden!important}
.elementor-768 .premium-form .file-upload-trigger{min-height:68px!important;max-height:none!important;display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;overflow:hidden!important}
.elementor-768 .premium-form .file-upload-trigger svg.upload-icon{display:block!important;flex:0 0 22px!important;width:22px!important;min-width:22px!important;max-width:22px!important;height:22px!important;min-height:22px!important;max-height:22px!important;margin:0!important;padding:0!important;inset:auto!important;position:static!important;transform:none!important}
.elementor-768 .premium-form .file-upload-trigger .file-label-text{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:normal!important;font-size:13px!important;line-height:1.45!important}
@media(max-width:767px){.elementor-768 .elementor-element-67f9fe9>.e-con-inner,.elementor-768 .elementor-element-81caf94>.e-con-inner{padding-top:44px;padding-bottom:34px}.elementor-768 .elementor-element-798aeaf .elementor-heading-title,.elementor-768 .elementor-element-7dbee6b .elementor-heading-title{font-size:32px!important}.elementor-768 .elementor-element-de34722 .elementor-heading-title,.elementor-768 .elementor-element-6ec60c0 .elementor-heading-title{font-size:19px!important}}

/* Careers: reduce Astra's default 4em gap above the footer. */
body:has(.elementor-768) #primary{margin-bottom:16px!important}
@media(max-width:767px){body:has(.elementor-768) #primary{margin-bottom:10px!important}}

/* Homepage: the CTA is the final section, so remove Astra's default 4em
   content-area margin that otherwise creates a white band above the footer. */
body:has(.elementor-771) #primary {
    margin-bottom: 0 !important;
}

:root {
    --brand-red: #ed2f54;
    --brand-red-rgb: 237, 47, 84;
    --brand-red-hover: #d8294b;
    --brand-teal: #042e3e;
    --brand-teal-rgb: 4, 46, 62;
}

/* Shared inner-page hero — intentionally independent from Elementor page IDs. */
.washi-page-hero {
    --hero-teal: var(--brand-teal);
    --hero-pink: var(--brand-red);
    position: relative;
    isolation: isolate;
    min-height: clamp(164px, 15vw, 210px);
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: clamp(38px, 4vw, 54px) 24px;
    color: #fff;
    background:
        linear-gradient(105deg, rgba(237, 47, 84, .16), transparent 32%),
        var(--hero-teal);
}

.washi-page-hero__inner {
    position: relative;
    z-index: 2;
    width: min(1180px, 100%);
}

.washi-page-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(10px, .85vw, 12px);
    font-weight: 700;
    letter-spacing: .19em;
    line-height: 1.2;
    text-transform: uppercase;
}

.washi-page-hero__eyebrow span {
    width: 34px;
    height: 2px;
    border-radius: 2px;
    background: var(--hero-pink);
}

.washi-page-hero__title {
    max-width: 920px;
    margin: 0;
    color: #fff;
    font-family: "Univia Pro", "Inter", sans-serif;
    font-size: clamp(36px, 4.5vw, 62px);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1;
    text-wrap: balance;
}

.washi-page-hero__title::after {
    content: ".";
    color: var(--hero-pink);
}

.washi-page-hero__mark {
    position: absolute;
    right: clamp(0px, 4vw, 54px);
    bottom: 0;
    display: flex;
    align-items: flex-end;
    gap: 6px;
    opacity: .65;
}

.washi-page-hero__mark span {
    display: block;
    width: 6px;
    height: 24px;
    border: 2px solid rgba(255, 255, 255, .5);
    border-bottom: 0;
    border-radius: 999px 999px 0 0;
}

.washi-page-hero__mark span:nth-child(2) { height: 38px; }
.washi-page-hero__mark span:nth-child(3) { height: 52px; border-color: var(--hero-pink); }

.washi-page-hero__grid {
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .07;
    background-image:
        linear-gradient(rgba(255,255,255,.15) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.15) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(90deg, transparent, #000 35%, #000);
}

.washi-page-hero__glow {
    position: absolute;
    z-index: -1;
    width: 190px;
    aspect-ratio: 1;
    border: 1px solid rgba(237, 47, 84, .22);
    border-radius: 50%;
}

.washi-page-hero__glow--one { top: -130px; right: 8%; box-shadow: 0 0 0 38px rgba(237,47,84,.04), 0 0 0 76px rgba(237,47,84,.025); }
.washi-page-hero__glow--two { bottom: -180px; left: -60px; width: 250px; }

@media (max-width: 767px) {
    .washi-page-hero {
        min-height: 142px;
        place-items: center start;
        padding: 32px 20px 34px;
    }

    .washi-page-hero__title { max-width: calc(100% - 54px); font-size: clamp(32px, 10.5vw, 46px); }
    .washi-page-hero__mark { right: 2px; bottom: 0; transform: scale(.72); transform-origin: bottom right; }
    .washi-page-hero__grid { background-size: 36px 36px; }
}

/* --------------------------------------------------------------------------
   SERVICES PAGE — complete mobile pass
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
    .elementor-773 {
        --services-ink: #073447;
        --services-copy: #5d6f78;
        --services-accent: #ed2f54;
    }

    .elementor-773 .elementor-element-fb2e646 {
        width: 100% !important;
        margin: 0 !important;
        padding: 40px 20px 52px !important;
        gap: 40px !important;
        overflow: hidden;
    }

    .elementor-773 .elementor-element-837b52e {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 22px !important;
        padding: 0 !important;
    }

    .elementor-773 .elementor-element-5fdb378 {
        width: 100% !important;
        max-width: 38rem !important;
        gap: 14px !important;
        align-items: flex-start !important;
    }

    .elementor-773 .elementor-element-28afc6a,
    .elementor-773 .elementor-element-72c4ca3 {
        width: 100% !important;
        max-width: none !important;
        text-align: left !important;
    }

    .elementor-773 .elementor-element-28afc6a .elementor-heading-title {
        color: var(--services-ink) !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
    }

    .elementor-773 .elementor-element-72c4ca3 .elementor-heading-title {
        color: var(--services-copy) !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.65 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        -webkit-text-stroke: 0 !important;
    }

    .elementor-773 .elementor-element-72616bb,
    .elementor-773 .elementor-element-72616bb > .elementor-widget-container {
        width: 100% !important;
        max-width: 360px !important;
        margin: 0 auto !important;
    }

    .elementor-773 .elementor-element-72616bb img {
        width: 100% !important;
        max-height: 320px !important;
        object-fit: contain !important;
    }

    /* Every service family becomes one clean, full-width mobile section. */
    .elementor-773 :is(
        .elementor-element-bb21056,
        .elementor-element-e58dd17,
        .elementor-element-96560a7,
        .elementor-element-a3c69b0,
        .elementor-element-5dee6de,
        .elementor-element-73cd433,
        .elementor-element-3692563
    ) {
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 32px 0 !important;
        gap: 16px !important;
        align-items: stretch !important;
    }

    .elementor-773 :is(
        .elementor-element-a04948b,
        .elementor-element-4efc00b,
        .elementor-element-c9b8d17,
        .elementor-element-1568446,
        .elementor-element-9a22cba,
        .elementor-element-12aa5c0
    ) {
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 6px !important;
        text-align: left !important;
    }

    .elementor-773 :is(
        .elementor-element-a04948b,
        .elementor-element-4efc00b,
        .elementor-element-c9b8d17,
        .elementor-element-1568446,
        .elementor-element-9a22cba,
        .elementor-element-12aa5c0
    ) .elementor-heading-title {
        color: var(--services-ink) !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        text-align: left !important;
    }

    /* All service accordions share one compact mobile system. */
    .elementor-773 .elementor-widget-eael-adv-accordion,
    .elementor-773 .eael-adv-accordion,
    .elementor-773 .eael-accordion-list {
        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-773 .elementor-widget-eael-adv-accordion {
        margin: 0 !important;
    }

    .elementor-773 .eael-accordion-list {
        margin: 0 0 10px !important;
        overflow: hidden;
        border: 1px solid #e4e9ed !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 4px 12px rgba(7, 52, 71, 0.045) !important;
        transform: none !important;
    }

    .elementor-773 .eael-accordion-header,
    .elementor-773 .eael-accordion-header:hover,
    .elementor-773 .eael-accordion-header:focus,
    .elementor-773 .eael-accordion-header:active {
        min-height: 48px !important;
        padding: 13px 14px !important;
        gap: 10px !important;
        background: #fff !important;
        color: var(--services-ink) !important;
        transform: none !important;
    }

    .elementor-773 .eael-accordion-header.active,
    .elementor-773 .eael-accordion-header.elementor-active {
        background: #fff6f8 !important;
        color: var(--services-ink) !important;
    }

    .elementor-773 .eael-accordion-tab-title {
        min-width: 0;
        color: inherit !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        letter-spacing: 0 !important;
        overflow-wrap: anywhere;
    }

    .elementor-773 .eael-accordion-header .fa-accordion-icon,
    .elementor-773 .eael-accordion-header svg.fa-accordion-icon {
        width: 18px !important;
        min-width: 18px !important;
        height: 18px !important;
        margin-left: auto !important;
        font-size: 18px !important;
        line-height: 18px !important;
    }

    .elementor-773 .eael-accordion-content {
        padding: 14px !important;
        color: var(--services-copy) !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.65 !important;
        overflow-wrap: anywhere;
    }

    .elementor-773 .eael-accordion-content :is(p, li, span) {
        color: inherit !important;
        font-size: inherit !important;
        font-weight: 400 !important;
        line-height: inherit !important;
    }

    /* Decorative/service imagery follows content instead of using desktop order. */
    .elementor-773 :is(
        .elementor-element-47e4419,
        .elementor-element-f06fa3d,
        .elementor-element-d69e45d,
        .elementor-element-c2814e6,
        .elementor-element-3fedb3a,
        .elementor-element-932fba2
    ) {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        max-width: 340px !important;
        margin: 16px auto 0 !important;
        order: initial !important;
    }

    .elementor-773 :is(
        .elementor-element-47e4419,
        .elementor-element-f06fa3d,
        .elementor-element-d69e45d,
        .elementor-element-c2814e6,
        .elementor-element-3fedb3a,
        .elementor-element-932fba2
    ) img {
        width: 100% !important;
        max-height: 300px !important;
        object-fit: contain !important;
    }

    .elementor-773 .elementor-element-20281af {
        width: 100% !important;
        gap: 14px !important;
        padding: 0 !important;
    }

    .elementor-773 .elementor-element-a48fa34 {
        width: 100% !important;
        max-width: 38rem !important;
        margin: 0 auto !important;
        text-align: left !important;
    }

    .elementor-773 .elementor-element-a48fa34 .elementor-heading-title {
        color: var(--services-copy) !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.65 !important;
        text-align: left !important;
        -webkit-text-stroke: 0 !important;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .washi-page-hero__inner { animation: washi-hero-reveal .7s cubic-bezier(.2,.8,.2,1) both; }
}

@keyframes washi-hero-reveal {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Responsive safety layer for legacy Elementor content. */
.entry-content,
.entry-content .elementor,
.entry-content .e-con,
.entry-content .elementor-widget,
.entry-content .elementor-widget-container {
    min-width: 0;
}

.entry-content img,
.entry-content svg,
.entry-content video,
.entry-content iframe {
    max-width: 100%;
}

.entry-content .elementor-heading-title,
.entry-content p,
.entry-content a,
.entry-content label {
    overflow-wrap: anywhere;
}

/* Fields of Expertise — native layout, no Elementor overrides. */
.fields-page {
    width: min(1180px, calc(100% - 40px));
    margin: clamp(34px, 5vw, 72px) auto clamp(56px, 7vw, 96px);
}

@media (min-width: 1200px) {
    .fields-page {
        width: min(1600px, calc(100% - 40px));
    }
}

.fields-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
    align-items: center;
    gap: clamp(28px, 6vw, 76px);
    margin-bottom: clamp(28px, 4vw, 48px);
    padding: clamp(28px, 5vw, 64px);
    background: rgba(4, 46, 62, .035);
    border: 1px solid rgba(4, 46, 62, .08);
    border-radius: 24px;
}

.fields-intro__label {
    display: block;
    margin-bottom: 12px;
    color: #ed2f54;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.fields-intro h2 {
    margin: 0;
    color: #042e3e;
    font-family: "Univia Pro", "Inter", sans-serif;
    font-size: clamp(28px, 3.25vw, 46px);
    font-weight: 800;
    line-height: 1.15;
    text-wrap: balance;
}

.fields-intro__art {
    display: block;
    width: min(100%, 410px);
    max-height: 300px;
    margin-inline: auto;
    object-fit: contain;
}

.fields-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.field-card {
    align-self: start;
    overflow: clip;
    background: #fff;
    border: 1px solid rgba(4, 46, 62, .13);
    border-radius: 15px;
    box-shadow: 0 8px 28px rgba(4, 46, 62, .055);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.field-card:hover,
.field-card[open] {
    border-color: rgba(237, 47, 84, .45);
    box-shadow: 0 12px 34px rgba(4, 46, 62, .09);
}

.field-card summary {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 14px;
    min-height: 76px;
    padding: 13px 18px;
    color: #042e3e;
    cursor: pointer;
    list-style: none;
}

.field-card summary::-webkit-details-marker { display: none; }

.field-card summary:focus-visible {
    outline: 3px solid rgba(237, 47, 84, .32);
    outline-offset: -3px;
}

.field-card__icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    color: #ed2f54;
    font-size: 27px;
}

.field-card__icon i { line-height: 1; }

.field-card__title {
    font-size: clamp(15px, 1.25vw, 18px);
    font-weight: 700;
    line-height: 1.3;
}

.field-card__toggle {
    position: relative;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(4, 46, 62, .18);
    border-radius: 50%;
}

.field-card__toggle::before,
.field-card__toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 1.5px;
    background: #ed2f54;
    transform: translate(-50%, -50%);
}

.field-card__toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.field-card[open] .field-card__toggle::after { transform: translate(-50%, -50%) rotate(0); }

.field-card__content {
    padding: 0 18px 20px 70px;
}

.field-card__content p {
    margin: 0;
    color: #425b65;
    font-size: 15px;
    line-height: 1.65;
}

@media (max-width: 900px) {
    .fields-intro { grid-template-columns: minmax(0, 1fr) minmax(210px, .65fr); }
    .fields-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .fields-page {
        width: min(100% - 24px, 1180px);
        margin-top: 24px;
    }

    .fields-intro {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 24px 18px;
        text-align: center;
        border-radius: 18px;
    }

    .fields-intro__label {
        margin-bottom: 9px;
        font-size: 10px;
        letter-spacing: .12em;
    }

    .fields-intro h2 {
        max-width: 300px;
        margin-inline: auto;
        font-size: clamp(20px, 6.2vw, 24px);
        font-weight: 700;
        line-height: 1.24;
        letter-spacing: -.02em;
    }

    .fields-intro__art { max-height: 200px; }

    .field-card summary {
        grid-template-columns: 34px minmax(0, 1fr) 20px;
        gap: 11px;
        min-height: 66px;
        padding: 11px 13px;
    }

    .field-card__icon { width: 34px; height: 34px; font-size: 24px; }
    .field-card__title { font-size: 15px; line-height: 1.35; }
    .field-card__content { padding: 0 14px 17px 58px; }
    .field-card__content p { font-size: 14px; line-height: 1.6; }

    /* Prevent iOS form zoom and keep interactive text comfortably readable. */
    input,
    select,
    textarea,
    button {
        font-size: 16px;
    }
}

@media (max-width: 380px) {
    .washi-page-hero__title {
        max-width: calc(100% - 42px);
        font-size: 29px;
        line-height: 1.05;
    }

    .washi-page-hero__eyebrow {
        gap: 9px;
        margin-bottom: 10px;
        font-size: 9px;
        letter-spacing: .13em;
    }

    .washi-page-hero__eyebrow span { width: 25px; }
    .fields-intro h2 { font-size: 20px; }
}

/* Final mobile cascade overrides for About page Elementor exports. */
@media (max-width: 767px) {
    .elementor-767 .reason:hover,
    .elementor-767 .reason:focus,
    .elementor-767 .reason:active {background:#fff!important;border-color:#e4e9ed!important;transform:none!important}
    .elementor-767 .reason:hover .elementor-heading-title,
    .elementor-767 .reason:focus .elementor-heading-title,
    .elementor-767 .reason:active .elementor-heading-title {color:#073447!important}
    .elementor-767 .reason:hover > .elementor-widget-heading:last-child .elementor-heading-title,
    .elementor-767 .reason:focus > .elementor-widget-heading:last-child .elementor-heading-title,
    .elementor-767 .reason:active > .elementor-widget-heading:last-child .elementor-heading-title {color:#5d6f78!important}
    .elementor-767 .elementor-element-265968d,
    .elementor-767 .elementor-element-3325fd4 {padding:28px 16px!important;gap:14px!important}
    .elementor-767 .elementor-element-9d8561f .elementor-heading-title,
    .elementor-767 .elementor-element-31e10e7 .elementor-heading-title {font-size:.8125rem!important;font-weight:600!important;line-height:1.35!important;letter-spacing:0!important;text-transform:none!important}
    .elementor-767 .process {padding:16px 12px!important;min-height:112px!important}
    .elementor-767 .process h2.elementor-heading-title:not(.elementor-absolute),
    .elementor-767 .process .elementor-absolute.elementor-widget-heading .elementor-heading-title {font-size:.75rem!important;font-weight:500!important;line-height:1.35!important}
    .elementor-767 .elementor-element-d94311b .elementor-heading-title {font-size:.8125rem!important;font-weight:600!important;line-height:1.4!important}
    .elementor-767 .elementor-element-99950a5 .elementor-heading-title,
    .elementor-767 .elementor-element-5df09ad .elementor-heading-title,
    .elementor-767 .elementor-element-b2b4fb4 .elementor-heading-title,
    .elementor-767 .elementor-element-5c84389 .elementor-heading-title,
    .elementor-767 .elementor-element-2dfa497 .elementor-heading-title,
    .elementor-767 .elementor-element-7a355b4 .elementor-heading-title {font-size:.75rem!important;font-weight:400!important;line-height:1.5!important}
    .elementor-767 .iBox2 h2.elementor-heading-title {font-size:.75rem!important;font-weight:500!important;line-height:1.35!important}
}

@font-face {
    font-family: 'UniviaPro';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('/assets/fonts/univia/univia-pro-light.woff2') format('woff2'),
        url('/assets/fonts/univia/univia-pro-light.woff') format('woff'),
        url('/assets/fonts/univia/univia-pro-light.ttf') format('truetype');
}

@font-face {
    font-family: 'Univia Pro';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/assets/fonts/univia/univia-pro-regular.woff2') format('woff2'),
        url('/assets/fonts/univia/univia-pro-regular.woff') format('woff'),
        url('/assets/fonts/univia/univia-pro-regular.ttf') format('truetype');
}

@font-face {
    font-family: 'UniviaPro';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/assets/fonts/univia/univia-pro-regular.woff2') format('woff2'),
        url('/assets/fonts/univia/univia-pro-regular.woff') format('woff'),
        url('/assets/fonts/univia/univia-pro-regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Univia Pro';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/assets/fonts/univia/univia-pro-medium.woff2') format('woff2'),
        url('/assets/fonts/univia/univia-pro-medium.woff') format('woff'),
        url('/assets/fonts/univia/univia-pro-medium.ttf') format('truetype');
}

@font-face {
    font-family: 'UniviaPro';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/assets/fonts/univia/univia-pro-medium.woff2') format('woff2'),
        url('/assets/fonts/univia/univia-pro-medium.woff') format('woff'),
        url('/assets/fonts/univia/univia-pro-medium.ttf') format('truetype');
}

@font-face {
    font-family: 'Univia Pro';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/univia/univia-pro-bold.woff2') format('woff2'),
        url('/assets/fonts/univia/univia-pro-bold.woff') format('woff'),
        url('/assets/fonts/univia/univia-pro-bold.ttf') format('truetype');
}

@font-face {
    font-family: 'UniviaPro';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/univia/univia-pro-bold.woff2') format('woff2'),
        url('/assets/fonts/univia/univia-pro-bold.woff') format('woff'),
        url('/assets/fonts/univia/univia-pro-bold.ttf') format('truetype');
}

@font-face {
    font-family: 'Univia Pro';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('/assets/fonts/univia/univia-pro-black.woff2') format('woff2'),
        url('/assets/fonts/univia/univia-pro-black.woff') format('woff'),
        url('/assets/fonts/univia/univia-pro-black.ttf') format('truetype');
}


/* ============================================================
   AST SCROLL TO TOP REMOVAL & FOOTER ALIGNMENT
   ============================================================ */
#ast-scroll-top,
.ast-scroll-top-icon,
.ast-scroll-to-top-right {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    overflow: hidden !important;
}

html,
body,
#page,
.site {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* ============================================================
   CONTACT US FORM RESPONSIVE & MODERN STYLING
   ============================================================ */
.elementor-element-b13991d {
    width: 100% !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 20px 20px 60px 20px !important;
}

.elementor-element-b13991d .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.eael-contact-form-7-wrapper,
.eael-contact-form-7,
.ws-contact-form,
.wpcf7 {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

#ContactForm {
    width: 100% !important;
    max-width: 1100px !important;
    background: #ffffff !important;
    padding: 40px !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid rgba(237, 47, 84, 0.1) !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    margin: 0 auto !important;
}

#ContactForm .inputField {
    flex: 1 1 calc(50% - 10px) !important;
    min-width: 280px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

#ContactForm .areaField {
    flex: 1 1 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

#ContactForm p {
    margin: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

#ContactForm p br {
    display: none !important;
}

#ContactForm .icon {
    display: none !important;
}

#ContactForm .contact-field-label {
    display: block !important;
    margin: 0 0 8px 3px !important;
    color: #526174 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

#ContactForm .contact-field-label.required-field::after {
    content: " *" !important;
    color: #ED2F54 !important;
}

#ContactForm .contact-field-label span {
    color: #94a0af !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

#ContactForm .ws-form-control-wrap,
#ContactForm .wpcf7-form-control-wrap {
    width: 100% !important;
    display: block !important;
}

#ContactForm input.input,
#ContactForm textarea.input {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 18px !important;
    font-size: 16px !important;
    font-family: inherit !important;
    color: #1a202c !important;
    background-color: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    transition: all 0.25s ease-in-out !important;
}

#ContactForm input.input::placeholder,
#ContactForm textarea.input::placeholder {
    color: #a0aec0 !important;
}

#ContactForm input.input:focus,
#ContactForm textarea.input:focus {
    background-color: #ffffff !important;
    border-color: #ED2F54 !important;
    box-shadow: 0 0 0 4px rgba(237, 47, 84, 0.15) !important;
    outline: none !important;
}

#ContactForm textarea.input {
    min-height: 140px !important;
    resize: vertical !important;
}

#ContactForm .submitBtn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 280px !important;
    margin: 15px auto 0 auto !important;
    padding: 16px 36px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #ED2F54 0%, #d02042 100%) !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    box-shadow: 0 8px 25px rgba(237, 47, 84, 0.35) !important;
    transition: all 0.3s ease !important;
}

#ContactForm .submitBtn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 30px rgba(237, 47, 84, 0.5) !important;
    background: linear-gradient(135deg, #f03e61 0%, #b81736 100%) !important;
}

#ContactForm .submitBtn:active {
    transform: translateY(0) !important;
}

@media (max-width: 767px) {
    #ContactForm {
        padding: 24px 16px !important;
        gap: 16px !important;
    }

    #ContactForm .inputField {
        flex: 1 1 100% !important;
        min-width: 100% !important;
    }

    #ContactForm .submitBtn {
        max-width: 100% !important;
    }
}

/* Careers + Contact: maximize usable form width on phones. Their exported
   sections already contain padded cards, so remove the duplicated outer
   gutters and retain only a small safe edge. */
@media (max-width: 767px) {
    .elementor-768 :is(
        .elementor-element-cf3532c,
        .elementor-element-81caf94
    ).e-con.e-parent,
    .elementor-769 .elementor-element-b13991d.e-con.e-parent {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .elementor-768 :is(
        .elementor-element-cf3532c,
        .elementor-element-81caf94
    ) > .e-con-inner,
    .elementor-769 .elementor-element-b13991d > .e-con-inner {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .elementor-768 :is(
        .elementor-element-20587ab,
        .elementor-element-72b81d7
    ),
    .elementor-769 .elementor-element-5b6a6ee,
    .elementor-769 .eael-contact-form-7-wrapper,
    .elementor-769 .eael-contact-form-7,
    .elementor-769 .ws-contact-form {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .elementor-768 .careers-form-container,
    .elementor-769 #ContactForm {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        border-radius: 14px !important;
    }

    .elementor-768 .premium-form .form-grid {
        gap: 14px !important;
    }

    .elementor-768 :is(
        .elementor-element-20587ab,
        .elementor-element-72b81d7
    ) .elementor-form-fields-wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .elementor-768 :is(
        .elementor-element-20587ab,
        .elementor-element-72b81d7
    ) .elementor-field-group {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 380px) {
    .elementor-768 :is(
        .elementor-element-cf3532c,
        .elementor-element-81caf94
    ).e-con.e-parent,
    .elementor-769 .elementor-element-b13991d.e-con.e-parent {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    .elementor-768 .careers-form-container,
    .elementor-769 #ContactForm {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

/* Inner-page hero contrast. Keep these selectors after the shared mobile type
   scale so its generic heading color cannot darken text on the navy surface. */
.entry-content .washi-page-hero__title {
    color: #ffffff !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.16);
}

.entry-content .washi-page-hero__title::after {
    color: #ff496b !important;
}

.entry-content .washi-page-hero__eyebrow {
    width: fit-content;
    margin-bottom: 13px;
    padding: 6px 10px 6px 8px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em;
    backdrop-filter: blur(6px);
}

.entry-content .washi-page-hero__eyebrow span {
    width: 22px;
    background: #ff496b;
    box-shadow: 0 0 10px rgba(255, 73, 107, 0.45);
}

/* Mobile normalization for every imported public-page section. Elementor's
   exports frequently use heading widgets for paragraphs, so normalize by the
   rendered HTML element instead of the widget name alone. */
@media (max-width: 767px) {
    .entry-content > .elementor:not(.elementor-771) {
        --ws-page-gutter: clamp(18px, 5vw, 22px);
        overflow: clip;
    }

    .entry-content > .elementor:not(.elementor-771) .e-con.e-parent:not(.washi-page-hero) {
        max-width: 100%;
        padding-left: var(--ws-page-gutter) !important;
        padding-right: var(--ws-page-gutter) !important;
    }

    .entry-content > .elementor:not(.elementor-771) p.elementor-heading-title,
    .entry-content > .elementor:not(.elementor-771) div.elementor-heading-title,
    .entry-content > .elementor:not(.elementor-771) .elementor-widget-text-editor,
    .entry-content > .elementor:not(.elementor-771) .elementor-widget-text-editor p {
        color: #5d6f78 !important;
        font-size: 0.875rem !important;
        font-weight: 400 !important;
        line-height: 1.7 !important;
        letter-spacing: 0 !important;
        text-wrap: pretty;
    }

    .entry-content > .elementor:not(.elementor-771) h2.elementor-heading-title {
        font-size: clamp(1.3rem, 5.5vw, 1.55rem) !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
    }

    .entry-content > .elementor:not(.elementor-771) h3.elementor-heading-title,
    .entry-content > .elementor:not(.elementor-771) h4.elementor-heading-title {
        font-size: clamp(1rem, 4.4vw, 1.15rem) !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
    }

    .entry-content > .elementor:not(.elementor-771) .elementor-widget-image,
    .entry-content > .elementor:not(.elementor-771) .elementor-widget-image > .elementor-widget-container {
        max-width: 100% !important;
    }

    .entry-content > .elementor:not(.elementor-771) .elementor-widget-image img {
        display: block;
        width: auto;
        max-width: 100% !important;
        height: auto !important;
        margin-inline: auto;
        object-fit: contain;
    }

    .entry-content > .elementor:not(.elementor-771) .elementor-widget-video,
    .entry-content > .elementor:not(.elementor-771) .elementor-wrapper,
    .entry-content > .elementor:not(.elementor-771) iframe,
    .entry-content > .elementor:not(.elementor-771) video {
        width: 100% !important;
        max-width: 100% !important;
    }

    .entry-content > .elementor:not(.elementor-771) .elementor-widget-container {
        overflow-wrap: anywhere;
    }

    .entry-content > .elementor:not(.elementor-771) .elementor-field-group,
    .entry-content > .elementor:not(.elementor-771) .wpcf7-form-control-wrap,
    .entry-content > .elementor:not(.elementor-771) .wpcf7-form-control {
        max-width: 100%;
    }

    /* About story copy was exported as a heading and inherited a display size. */
    .elementor-767 .elementor-element-fc9764a .elementor-heading-title {
        max-width: 38ch;
        margin-inline: auto;
        color: #5d6f78 !important;
        font-family: "Univia Pro", "Inter", sans-serif !important;
        font-size: 0.875rem !important;
        font-weight: 400 !important;
        line-height: 1.72 !important;
        text-align: left !important;
        -webkit-text-stroke: 0 !important;
    }

    .elementor-767 :is(
        .elementor-element-fc9764a,
        .elementor-element-41f0f78,
        .elementor-element-01baa1f,
        .elementor-element-cbcc39b
    ) {
        width: 100% !important;
        max-width: 38rem !important;
        text-align: left !important;
    }

    .elementor-767 :is(
        .elementor-element-fc9764a,
        .elementor-element-41f0f78,
        .elementor-element-01baa1f,
        .elementor-element-cbcc39b
    ) .elementor-heading-title {
        color: #5d6f78 !important;
        font-size: 0.875rem !important;
        font-weight: 400 !important;
        line-height: 1.72 !important;
        text-align: left !important;
        -webkit-text-stroke: 0 !important;
    }

    .elementor-767 .elementor-element-07a5f6c {
        padding-top: 36px !important;
        padding-bottom: 44px !important;
    }

    .elementor-767 .elementor-element-3003d0f img {
        max-height: 360px;
    }

    /* Card descriptions are also exported as H2 widgets. The second heading
       inside each reason card is body copy, not another card title. */
    .elementor-767 .reason > .e-con > .elementor-widget-heading:last-child .elementor-heading-title,
    .elementor-767 .reason > .elementor-widget-heading:last-child .elementor-heading-title {
        color: #5d6f78 !important;
        font-size: 0.82rem !important;
        font-weight: 400 !important;
        line-height: 1.6 !important;
        letter-spacing: 0 !important;
        text-align: center;
        -webkit-text-stroke: 0 !important;
    }

    .elementor-767 .reason {
        min-height: 0 !important;
        padding: 24px 18px !important;
        border-radius: 18px !important;
    }

    .elementor-767 .reason .e-con {
        gap: 12px !important;
    }
}

/* A white-text hover was exported without a dependable dark background,
   making cards appear blank. Pair the color transition with its surface and
   expose it only on devices that truly support hover. */
@media (hover: hover) and (pointer: fine) {
    .elementor-767 .reason:hover {
        background: #073447 !important;
        border-color: #073447 !important;
    }

    .elementor-767 .reason:hover .elementor-heading-title {
        color: #ffffff !important;
    }
}

@media (hover: none), (pointer: coarse) {
    .elementor-767 .reason:hover,
    .elementor-767 .reason:focus,
    .elementor-767 .reason:active {
        background: #ffffff !important;
        border-color: #e4e9ed !important;
        transform: none !important;
    }

    .elementor-767 .reason:hover .elementor-heading-title,
    .elementor-767 .reason:focus .elementor-heading-title,
    .elementor-767 .reason:active .elementor-heading-title {
        color: #073447 !important;
    }

    .elementor-767 .reason:hover > .e-con > .elementor-widget-heading:last-child .elementor-heading-title,
    .elementor-767 .reason:focus > .e-con > .elementor-widget-heading:last-child .elementor-heading-title,
    .elementor-767 .reason:active > .e-con > .elementor-widget-heading:last-child .elementor-heading-title {
        color: #5d6f78 !important;
    }

    /* Prevent sticky :hover/:active states from hiding content after a tap. */
    .elementor-767 .process:hover,
    .elementor-767 .process:active,
    .elementor-771 .testmonialBox:hover,
    .elementor-771 .testmonialBox:active {
        background: #ffffff !important;
        border-color: #e2e8f0 !important;
        transform: none !important;
    }

    .elementor-767 .process:hover *,
    .elementor-767 .process:active *,
    .elementor-771 .testmonialBox:hover *,
    .elementor-771 .testmonialBox:active * {
        color: #073447 !important;
    }
}

/* --------------------------------------------------------------------------
   ABOUT PAGE — complete mobile pass
   The source page is an Elementor export with per-widget fixed widths and
   display typography. These rules cover every section in document order.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
    .elementor-767 {
        --about-copy: #5d6f78;
        --about-ink: #073447;
        --about-accent: #ed2f54;
    }

    .elementor-767 :is(
        .elementor-element-07a5f6c,
        .elementor-element-f7f835e,
        .elementor-element-8f6133e,
        .elementor-element-acff640,
        .elementor-element-9714314,
        .elementor-element-265968d,
        .elementor-element-96ca45f,
        .elementor-element-3325fd4,
        .elementor-element-bee07ce
    ) {
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 44px 20px !important;
        gap: 24px !important;
    }

    /* All body-copy widgets, including descriptions incorrectly exported H2. */
    .elementor-767 :is(
        .elementor-element-fc9764a, .elementor-element-41f0f78,
        .elementor-element-01baa1f, .elementor-element-cbcc39b,
        .elementor-element-73b39a5, .elementor-element-f6abe26,
        .elementor-element-125b996, .elementor-element-1e41376,
        .elementor-element-cac501e, .elementor-element-03054bb,
        .elementor-element-0f06335, .elementor-element-f4c6c98,
        .elementor-element-7c2e10d, .elementor-element-b3a1414,
        .elementor-element-7431f2b, .elementor-element-27ed128,
        .elementor-element-d28d225, .elementor-element-99950a5,
        .elementor-element-b2b4fb4, .elementor-element-5c84389,
        .elementor-element-2dfa497, .elementor-element-7a355b4
    ) {
        width: 100% !important;
        max-width: 38rem !important;
        margin-inline: auto !important;
        text-align: left !important;
    }

    .elementor-767 :is(
        .elementor-element-fc9764a, .elementor-element-41f0f78,
        .elementor-element-01baa1f, .elementor-element-cbcc39b,
        .elementor-element-73b39a5, .elementor-element-f6abe26,
        .elementor-element-125b996, .elementor-element-1e41376,
        .elementor-element-cac501e, .elementor-element-03054bb,
        .elementor-element-0f06335, .elementor-element-f4c6c98,
        .elementor-element-7c2e10d, .elementor-element-b3a1414,
        .elementor-element-7431f2b, .elementor-element-27ed128,
        .elementor-element-d28d225, .elementor-element-99950a5,
        .elementor-element-b2b4fb4, .elementor-element-5c84389,
        .elementor-element-2dfa497, .elementor-element-7a355b4
    ) .elementor-heading-title {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        color: var(--about-copy) !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.65 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        -webkit-text-stroke: 0 !important;
    }

    /* Why-us grid: compact cards, distinct title and body hierarchy. */
    .elementor-767 .elementor-element-fb4c01b {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .elementor-767 .reason {
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 22px 18px !important;
        background: #fff !important;
    }

    .elementor-767 .reason .elementor-widget-heading:first-child .elementor-heading-title {
        color: var(--about-ink) !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
    }

    /* Roadmap: neutral compact cards; no hover/active color persistence. */
    .elementor-767 .elementor-element-979bcb6 {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        margin: 0 !important;
    }

    .elementor-767 .process,
    .elementor-767 .process:hover,
    .elementor-767 .process:focus,
    .elementor-767 .process:active {
        width: 100% !important;
        min-height: 92px !important;
        margin: 0 !important;
        padding: 20px 16px !important;
        gap: 6px !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: 0 5px 14px rgba(7, 52, 71, 0.06) !important;
        transform: none !important;
    }

    .elementor-767 .process .elementor-heading-title,
    .elementor-767 .process:hover .elementor-heading-title,
    .elementor-767 .process:focus .elementor-heading-title,
    .elementor-767 .process:active .elementor-heading-title {
        color: var(--about-ink) !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
    }

    .elementor-767 .process .elementor-absolute .elementor-heading-title,
    .elementor-767 .process:hover .elementor-absolute .elementor-heading-title,
    .elementor-767 .process:active .elementor-absolute .elementor-heading-title {
        color: var(--about-accent) !important;
        font-size: 14px !important;
        font-weight: 600 !important;
    }

    /* Project-management tiles. */
    .elementor-767 .elementor-element-d62b60b {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .elementor-767 .iBox2 {
        width: 100% !important;
        min-height: 0 !important;
        padding: 20px 16px !important;
        border-radius: 16px !important;
    }

    .elementor-767 .iBox2 .elementor-heading-title {
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.45 !important;
    }

    /* Quality standards: remove narrow initial widths and stack every card. */
    .elementor-767 .elementor-element-3325fd4 > .elementor-widget-heading {
        width: 100% !important;
        max-width: 38rem !important;
        margin-inline: auto !important;
        text-align: left !important;
    }

    .elementor-767 .elementor-element-31e10e7 .elementor-heading-title {
        font-size: 18px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
    }

    .elementor-767 .elementor-element-d94311b .elementor-heading-title {
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.4 !important;
    }

    .elementor-767 .elementor-element-add8b88,
    .elementor-767 .elementor-element-e7eb4f5 {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .elementor-767 :is(
        .elementor-element-5e1b225, .elementor-element-5a88f05,
        .elementor-element-0473cbe, .elementor-element-0dc8b77
    ) {
        width: 100% !important;
        min-height: 0 !important;
        padding: 20px !important;
        gap: 12px !important;
        border-radius: 18px !important;
    }

    .elementor-767 :is(
        .elementor-element-5e1b225, .elementor-element-5a88f05,
        .elementor-element-0473cbe, .elementor-element-0dc8b77
    ) .elementor-widget-image img {
        width: 100% !important;
        max-height: 220px !important;
        object-fit: cover !important;
        border-radius: 14px !important;
    }

    /* Conclusion: compact image and readable copy instead of display text. */
    .elementor-767 .elementor-element-bee07ce {
        background: var(--about-accent) !important;
    }

    .elementor-767 .elementor-element-5df09ad {
        width: 100% !important;
        max-width: 38rem !important;
        margin: 0 auto !important;
    }

    .elementor-767 .elementor-element-5df09ad .elementor-heading-title {
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.6 !important;
        text-align: left !important;
    }

    .elementor-767 .elementor-element-87f3108,
    .elementor-767 .elementor-element-87f3108 > .elementor-widget-container {
        width: 100% !important;
        max-width: 360px !important;
        margin: 0 auto !important;
    }

    .elementor-767 .elementor-element-87f3108 img {
        width: 100% !important;
        max-height: 320px !important;
        object-fit: contain !important;
    }
}

/* Explicit description widgets on the remaining public pages. */
@media (max-width: 767px) {
    .entry-content :is(
        .elementor-element-de34722,
        .elementor-element-6ec60c0,
        .elementor-element-2ee3466,
        .elementor-element-72c4ca3,
        .elementor-element-a48fa34
    ) {
        width: 100% !important;
        max-width: 38rem !important;
        margin-inline: auto !important;
    }

    .entry-content :is(
        .elementor-element-de34722,
        .elementor-element-6ec60c0,
        .elementor-element-2ee3466,
        .elementor-element-72c4ca3,
        .elementor-element-a48fa34
    ) .elementor-heading-title {
        color: #5d6f78 !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.65 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        -webkit-text-stroke: 0 !important;
    }
}

/* ============================================================
   PREMIUM ACCORDION & PROCESS SECTIONS SYSTEM
   ============================================================ */

/* Accordion Item Wrapper */
.elementor-widget-eael-adv-accordion {
    margin-bottom: 14px !important;
    width: 100% !important;
}

.eael-adv-accordion {
    border: none !important;
    background: transparent !important;
}

/* Accordion Header Card */
.eael-accordion-header,
.elementor-tab-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    background-color: #ffffff !important;
    border: 1.5px solid #E2E8F0 !important;
    border-radius: 14px !important;
    cursor: pointer !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin-bottom: 0 !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03) !important;
    user-select: none !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

/* Hover State for Accordion Header */
.eael-accordion-header:hover,
.elementor-tab-title:hover {
    border-color: rgba(237, 47, 84, 0.4) !important;
    box-shadow: 0 6px 20px rgba(237, 47, 84, 0.08) !important;
    transform: translateY(-1px) !important;
    background-color: #FAFAFA !important;
}

/* Active / Expanded Header State */
.eael-accordion-header.active,
.eael-accordion-header.active-default,
.eael-accordion-header.elementor-active,
.elementor-tab-title.active,
.elementor-tab-title.elementor-active {
    background-color: #ffffff !important;
    border-color: #E2E8F0 !important;
    border-left: 4px solid #ED2F54 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04) !important;
    transform: none !important;
}

/* Tab Title Text Styling */
.eael-accordion-tab-title,
.elementor-tab-title>span.eael-accordion-tab-title,
.elementor-tab-title>span:not(.eael-advanced-accordion-icon-closed):not(.eael-advanced-accordion-icon-opened) {
    font-family: "Univia Pro", "UniviaPro", "Inter", sans-serif !important;
    font-size: 0.975rem !important;
    font-weight: 600 !important;
    color: #0F172A !important;
    line-height: 1.45 !important;
    flex: 1 1 auto !important;
    flex-grow: 1 !important;
    transition: color 0.25s ease !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
}

.eael-accordion-header.active .eael-accordion-tab-title,
.eael-accordion-header.active-default .eael-accordion-tab-title,
.eael-accordion-header.elementor-active .eael-accordion-tab-title {
    color: #0F172A !important;
}

/* ============================================================
   ACCORDION ICON BADGES & TOGGLE SYSTEM
   ============================================================ */

/* Badge Container (Closed / Opened State Dot) */
.eael-accordion-header>.eael-advanced-accordion-icon-closed,
.eael-accordion-header>.eael-advanced-accordion-icon-opened,
.elementor-tab-title>.eael-advanced-accordion-icon-closed,
.elementor-tab-title>.eael-advanced-accordion-icon-opened {
    width: 14px !important;
    min-width: 14px !important;
    max-width: 14px !important;
    height: 14px !important;
    min-height: 14px !important;
    max-height: 14px !important;
    flex: 0 0 14px !important;
    border-radius: 50% !important;
    background-color: #ED2F54 !important;
    display: inline-block !important;
    margin-right: 12px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    transition: transform 0.25s ease, background-color 0.25s ease !important;
}

/* Toggle SVG Icon (+ / x) */
.elementor-tab-title .fa-toggle,
.eael-accordion-header .fa-toggle,
.elementor-tab-title svg.e-fas-plus,
.eael-accordion-header svg.e-fas-plus {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    fill: #ED2F54 !important;
    color: #ED2F54 !important;
    margin-left: 12px !important;
    padding: 0 !important;
    display: block !important;
    flex-shrink: 0 !important;
    transition: transform 0.3s ease !important;
}

.elementor-tab-title.active .fa-toggle,
.elementor-tab-title.active-default .fa-toggle,
.elementor-tab-title.elementor-active .fa-toggle,
.eael-accordion-header.active .fa-toggle,
.eael-accordion-header.elementor-active .fa-toggle {
    transform: rotate(45deg) !important;
}

/* Accordion Content Drawer */
.eael-accordion-content {
    padding: 20px 24px !important;
    background-color: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    border-top: none !important;
    border-bottom-left-radius: 14px !important;
    border-bottom-right-radius: 14px !important;
    font-family: inherit !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    color: #334155 !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
}

.eael-accordion-content p,
.eael-accordion-content div,
.eael-accordion-content span {
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    color: #334155 !important;
    font-weight: 400 !important;
}

.eael-accordion-content p {
    margin-bottom: 12px !important;
}

.eael-accordion-content p:last-child {
    margin-bottom: 0 !important;
}

.eael-accordion-content ul {
    margin: 12px 0 !important;
    padding-left: 0 !important;
    list-style: none !important;
}

.eael-accordion-content ul li {
    position: relative !important;
    padding-left: 22px !important;
    margin-bottom: 8px !important;
    font-size: 0.95rem !important;
    color: #334155 !important;
    line-height: 1.6 !important;
}

.eael-accordion-content ul li::before {
    content: "•" !important;
    color: #ED2F54 !important;
    font-size: 1.3rem !important;
    position: absolute !important;
    left: 4px !important;
    top: -2px !important;
}

/* Translation Flowchart Image inside Accordion Drawer */
.eael-accordion-content img.ws-image-853 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 14px auto 0 !important;
    border-radius: 12px !important;
    border: 1px solid #E2E8F0 !important;
    padding: 8px !important;
    background: #FFFFFF !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
}

/* Never clip the wide translation workflow at the accordion boundary. */
.elementor-771 .elementor-element-539b625,
.elementor-771 .elementor-element-539b625>.elementor-widget-container,
.elementor-771 .elementor-element-539b625 .eael-adv-accordion,
.elementor-771 .elementor-element-539b625 .eael-accordion-list,
.elementor-771 .elementor-element-539b625 .eael-accordion-content {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

/* ============================================================
   PROJECT MANAGEMENT CRITERIA CARDS (.elementor-856)
   ============================================================ */

.elementor-856 .elementor-element-8b2a1ee .elementor-heading-title {
    font-family: "Univia Pro", "Inter", sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
    color: #334155 !important;
    font-weight: 400 !important;
    margin-bottom: 24px !important;
}

.elementor-856 .elementor-element-a0f83be {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin-top: 20px !important;
    margin-bottom: 12px !important;
    width: 100% !important;
}

.elementor-856 .elementor-element-6b98622,
.elementor-856 .elementor-element-8f4a5ca {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    width: 100% !important;
}

/* Individual Criteria Card Box */
.elementor-856 .elementor-element-ca090bd,
.elementor-856 .elementor-element-10428b9,
.elementor-856 .elementor-element-7ec1b7c,
.elementor-856 .elementor-element-21f895e,
.elementor-856 .elementor-element-1a60895,
.elementor-856 .elementor-element-a6563a6 {
    flex: 1 1 calc(33.333% - 14px) !important;
    min-width: 200px !important;
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 16px !important;
    padding: 24px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.03) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-sizing: border-box !important;
}

.elementor-856 .elementor-element-ca090bd:hover,
.elementor-856 .elementor-element-10428b9:hover,
.elementor-856 .elementor-element-7ec1b7c:hover,
.elementor-856 .elementor-element-21f895e:hover,
.elementor-856 .elementor-element-1a60895:hover,
.elementor-856 .elementor-element-a6563a6:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(237, 47, 84, 0.35) !important;
    box-shadow: 0 12px 25px rgba(237, 47, 84, 0.08) !important;
    background-color: #FFFFFF !important;
}

/* Card Icon Outer Container & Circle Badge */
.elementor-856 .elementor-element-56de22d,
.elementor-856 .elementor-element-210b991,
.elementor-856 .elementor-element-0220bb9,
.elementor-856 .elementor-element-d612def,
.elementor-856 .elementor-element-5224a65,
.elementor-856 .elementor-element-ebb7a2b {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    margin: 0 auto 14px auto !important;
}

.elementor-856 .elementor-element-56de22d>.elementor-widget-container,
.elementor-856 .elementor-element-210b991>.elementor-widget-container,
.elementor-856 .elementor-element-0220bb9>.elementor-widget-container,
.elementor-856 .elementor-element-d612def>.elementor-widget-container,
.elementor-856 .elementor-element-5224a65>.elementor-widget-container,
.elementor-856 .elementor-element-ebb7a2b>.elementor-widget-container {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%) !important;
    padding: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.15) !important;
    transition: transform 0.3s ease, background 0.3s ease !important;
    box-sizing: border-box !important;
}

.elementor-856 .elementor-element-ca090bd:hover .elementor-element-56de22d>.elementor-widget-container,
.elementor-856 .elementor-element-10428b9:hover .elementor-element-210b991>.elementor-widget-container,
.elementor-856 .elementor-element-7ec1b7c:hover .elementor-element-0220bb9>.elementor-widget-container,
.elementor-856 .elementor-element-21f895e:hover .elementor-element-d612def>.elementor-widget-container,
.elementor-856 .elementor-element-1a60895:hover .elementor-element-5224a65>.elementor-widget-container,
.elementor-856 .elementor-element-a6563a6:hover .elementor-element-ebb7a2b>.elementor-widget-container {
    background: linear-gradient(135deg, #ED2F54 0%, #d02042 100%) !important;
    transform: scale(1.06) !important;
}

.elementor-856 .elementor-element-56de22d img,
.elementor-856 .elementor-element-210b991 img,
.elementor-856 .elementor-element-0220bb9 img,
.elementor-856 .elementor-element-d612def img,
.elementor-856 .elementor-element-5224a65 img,
.elementor-856 .elementor-element-ebb7a2b img {
    width: 32px !important;
    height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    object-fit: contain !important;
    filter: none !important;
    opacity: 1 !important;
}

/* Criteria Card Title */
.elementor-856 .elementor-element-96a4852 .elementor-heading-title,
.elementor-856 .elementor-element-fa4b079 .elementor-heading-title,
.elementor-856 .elementor-element-6515d43 .elementor-heading-title,
.elementor-856 .elementor-element-6731492 .elementor-heading-title,
.elementor-856 .elementor-element-17001b4 .elementor-heading-title,
.elementor-856 .elementor-element-60b40c5 .elementor-heading-title {
    font-family: "Univia Pro", "Inter", sans-serif !important;
    font-size: 0.925rem !important;
    font-weight: 500 !important;
    color: #0F172A !important;
    line-height: 1.35 !important;
    text-align: center !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
}

/* Keep the project-management answer legible in long-word locales such as German. */
.elementor-856 .elementor-element-8b2a1ee .elementor-heading-title {
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

.elementor-856 .eael-accordion-header .eael-accordion-tab-title {
    font-family: "Univia Pro", "Inter", sans-serif !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}

/* Preserve the published Elementor typography and colors. */
html,
body {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
}

/* Home expert banner mirrors the published Washi layout. */
.elementor-771 .washi-faq-section {
    padding: 48px 5% 20px !important;
    --padding-top: 48px !important;
    --padding-bottom: 20px !important;
    --padding-left: 5% !important;
    --padding-right: 5% !important;
    --gap: 0 !important;
    --row-gap: 0 !important;
    --column-gap: 0 !important;
}

.elementor-771 .washi-faq-section>.e-con-inner {
    width: 100%;
    max-width: 1140px;
    gap: 0 !important;
}

.elementor-771 .washi-faq-section .elementor-widget-heading:not(.elementor-element-6ef4d09) {
    width: 100% !important;
    max-width: 920px !important;
    align-self: center !important;
    margin: 18px 0 8px !important;
}

.elementor-771 .washi-faq-section .elementor-widget-heading:not(.elementor-element-6ef4d09) .elementor-heading-title {
    margin: 0 !important;
}

.elementor-771 .washi-faq-section .elementor-element-6ef4d09 {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

.elementor-771 .washi-faq-section .elementor-widget-eael-adv-accordion {
    width: 100% !important;
    max-width: 920px !important;
    align-self: center !important;
    margin: 0 0 18px !important;
}

/* Reserve a clean overlap zone after the final FAQ. The CTA artwork keeps its
   authored negative offset, but rises into this space instead of the answer. */
.elementor-771 .washi-faq-section .elementor-element-7419b33 {
    margin-bottom: 112px !important;
}

.elementor-771 .washi-expert-cta {
    position: relative !important;
    left: auto !important;
    width: calc(100% - 40px) !important;
    max-width: calc(100% - 40px) !important;
    box-sizing: border-box !important;
    min-height: 437px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center;
    gap: clamp(60px, 8vw, 150px) !important;
    margin: 0 20px 64px !important;
    padding: 0 clamp(40px, 8vw, 150px) !important;
    background: #ed2f54 !important;
    overflow: visible;
}

.elementor-771 .washi-expert-cta.elementor-element {
    --width: calc(100% - 40px) !important;
    --gap: clamp(60px, 8vw, 150px) !important;
    --row-gap: clamp(60px, 8vw, 150px) !important;
    --column-gap: clamp(60px, 8vw, 150px) !important;
    --padding-top: 0 !important;
    --padding-bottom: 0 !important;
    --padding-left: clamp(40px, 8vw, 150px) !important;
    --padding-right: clamp(40px, 8vw, 150px) !important;
    --margin-top: 0 !important;
    --margin-right: 20px !important;
    --margin-bottom: 64px !important;
    --margin-left: 20px !important;
}

.elementor-771 .washi-expert-cta .elementor-element-fce0405 {
    width: min(450px, 42%) !important;
    max-width: 450px !important;
    flex: 0 1 450px !important;
    align-items: flex-start;
    gap: 38px;
    padding: 75px 0 80px !important;
}

.elementor-771 .washi-expert-cta .elementor-element-126efe4 .elementor-heading-title {
    max-width: 450px;
    margin: 0;
    color: #fff;
    font-size: 50px;
    font-weight: 800;
    line-height: 1.12;
}

.elementor-771 .washi-expert-cta .elementor-element-07e60d9 .elementor-button {
    padding: 15px 30px;
    color: #000;
    background: #fff;
    border: 1px solid #000;
    border-radius: 48px;
    font-size: 28px;
    font-weight: 300;
}

.elementor-771 .washi-expert-cta .elementor-element-07e60d9 .elementor-button-content-wrapper {
    display: inline-flex;
    align-items: center;
    flex-direction: row !important;
    gap: 18px;
}

.elementor-771 .washi-expert-cta .elementor-element-07e60d9 .elementor-button-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    order: 2;
    width: 24px;
    height: 24px;
    margin: 0 !important;
}

.elementor-771 .washi-expert-cta .elementor-element-07e60d9 .teenyicon.ti-arrow-right {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 0;
    font-style: normal;
}

.elementor-771 .washi-expert-cta .elementor-element-07e60d9 .teenyicon.ti-arrow-right::before {
    content: "\2192";
    color: currentColor;
    font-family: Arial, sans-serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
}

.elementor-771 .washi-expert-cta .elementor-element-8479883>.elementor-widget-container {
    margin: -8rem 0 0 !important;
}

.elementor-771 .washi-expert-cta .elementor-element-8479883 {
    width: min(500px, 100%) !important;
    max-width: 500px !important;
    flex: 0 1 500px !important;
    align-self: center !important;
}

.elementor-771 .washi-expert-cta .elementor-element-8479883 img {
    display: block;
    width: 500px;
    max-width: min(100%, 500px);
    max-height: 500px;
    object-fit: contain;
    height: auto;
    margin: 0 auto;
}

@media (max-width: 1024px) {
    .elementor-771 .washi-faq-section {
        padding: 40px 5% 20px !important;
        --padding-top: 40px !important;
        --padding-bottom: 20px !important;
        --padding-left: 5% !important;
        --padding-right: 5% !important;
    }

    .elementor-771 .washi-expert-cta {
        flex-direction: column !important;
        gap: 24px !important;
        padding: 48px 32px !important;
    }

    .elementor-771 .washi-expert-cta.elementor-element {
        --gap: 24px !important;
        --row-gap: 24px !important;
        --column-gap: 24px !important;
        --padding-left: 32px !important;
        --padding-right: 32px !important;
    }

    .elementor-771 .washi-expert-cta .elementor-element-fce0405 {
        width: 100% !important;
        max-width: 560px !important;
        flex: 0 1 auto !important;
        align-items: center !important;
        padding: 0 !important;
        text-align: center;
    }

    .elementor-771 .washi-expert-cta .elementor-element-8479883>.elementor-widget-container {
        margin: 0 !important;
    }

    .elementor-771 .washi-expert-cta .elementor-element-126efe4 .elementor-heading-title {
        font-size: 37px;
    }

    .elementor-771 .washi-expert-cta .elementor-element-07e60d9 .elementor-button {
        font-size: 20px;
    }
}

@media (max-width: 767px) {
    .elementor-771 .washi-faq-section {
        padding: 32px 16px 16px !important;
        --padding-top: 32px !important;
        --padding-bottom: 16px !important;
        --padding-left: 16px !important;
        --padding-right: 16px !important;
    }

    .elementor-771 .washi-faq-section .elementor-widget-heading:not(.elementor-element-6ef4d09) {
        margin: 10px 0 8px !important;
    }

    .elementor-771 .washi-faq-section .elementor-element-7419b33 {
        margin-bottom: 24px !important;
    }

    .elementor-771 .washi-expert-cta {
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
        flex-direction: column !important;
        gap: 24px !important;
        margin: 0 10px 32px !important;
        padding: 44px 20px !important;
        text-align: center;
    }

    .elementor-771 .washi-expert-cta.elementor-element {
        --width: calc(100% - 20px) !important;
        --margin-right: 10px !important;
        --margin-bottom: 32px !important;
        --margin-left: 10px !important;
    }

    .elementor-771 .washi-expert-cta .elementor-element-fce0405 {
        align-items: center;
        padding: 0 !important;
    }

    .elementor-771 .washi-expert-cta .elementor-element-126efe4 .elementor-heading-title {
        font-size: 28px;
    }

    .elementor-771 .washi-expert-cta .elementor-element-8479883 img {
        max-width: 360px;
    }

    .elementor-771 .washi-expert-cta .elementor-element-8479883>.elementor-widget-container {
        margin: 0 !important;
    }
}

/* ============================================================
   ULTRA PREMIUM EXECUTIVE FOOTER SYSTEM
   ============================================================ */
.washi-premium-footer,
.elementor-location-footer,
.elementor-element-cb7c519 {
    background-color: #0F172A !important;
    color: #F8FAFC !important;
    padding: 60px 0 24px 0 !important;
    font-family: "Univia Pro", "Inter", sans-serif !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    display: block !important;
}

.footer-container {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

.footer-grid {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr !important;
    gap: 48px !important;
    align-items: start !important;
    padding-bottom: 44px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

@media (max-width: 991px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 36px !important;
    }
}

@media (max-width: 640px) {
    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
}

.footer-col {
    display: flex !important;
    flex-direction: column !important;
}

.footer-logo-img {
    height: 44px !important;
    width: auto !important;
    margin-bottom: 16px !important;
}

.footer-tagline {
    color: #94A3B8 !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    margin-bottom: 24px !important;
    max-width: 440px !important;
    font-weight: 400 !important;
}

.footer-heading {
    color: #FFFFFF !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    margin-bottom: 18px !important;
    margin-top: 0 !important;
    position: relative !important;
}

.footer-heading::after {
    content: '' !important;
    display: block !important;
    width: 28px !important;
    height: 3px !important;
    background: #ED2F54 !important;
    border-radius: 2px !important;
    margin-top: 8px !important;
}

.footer-nav-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.footer-nav-list li {
    margin-bottom: 12px !important;
}

.footer-nav-list a {
    color: #CBD5E1 !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    display: inline-block !important;
}

.footer-nav-list a:hover {
    color: #ED2F54 !important;
    transform: translateX(5px) !important;
}

.footer-subtext {
    color: #94A3B8 !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    margin-bottom: 18px !important;
}

.footer-social-icons {
    display: flex !important;
    gap: 12px !important;
}

.social-icon-btn {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

.social-icon-btn:hover {
    background: #ED2F54 !important;
    color: #FFFFFF !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 18px rgba(237, 47, 84, 0.4) !important;
}

.footer-cta-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 24px !important;
    font-size: 0.925rem !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    background: linear-gradient(135deg, #ED2F54 0%, #d02042 100%) !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    box-shadow: 0 6px 20px rgba(237, 47, 84, 0.3) !important;
    transition: all 0.3s ease !important;
}

.footer-cta-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(237, 47, 84, 0.5) !important;
    background: linear-gradient(135deg, #f03e61 0%, #b81736 100%) !important;
}

.footer-bottom {
    padding-top: 24px !important;
    text-align: center !important;
    color: #64748B !important;
    font-size: 0.875rem !important;
}

/* ============================================================
   RESPONSIVE MEDIA QUERIES FOR ALL HOME SECTIONS
   ============================================================ */

@media (max-width: 1200px) {

    .elementor-element-05e9b7e,
    .elementor-element-39c3dd9,
    .elementor-element-33e12bc {
        max-width: 100% !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

@media (max-width: 991px) {

    .elementor-856 .elementor-element-ca090bd,
    .elementor-856 .elementor-element-10428b9,
    .elementor-856 .elementor-element-7ec1b7c,
    .elementor-856 .elementor-element-21f895e,
    .elementor-856 .elementor-element-1a60895,
    .elementor-856 .elementor-element-a6563a6 {
        flex: 1 1 calc(50% - 10px) !important;
        min-width: 180px !important;
        padding: 20px 14px !important;
    }

    .elementor-element-39c3dd9 h1.elementor-heading-title {
        font-size: 1.6rem !important;
    }
}

@media (max-width: 767px) {
    .elementor-element-05e9b7e {
        padding: 24px 16px !important;
    }

    .elementor-856 .elementor-element-8b2a1ee .elementor-heading-title {
        font-size: 0.8125rem !important;
        line-height: 1.55 !important;
    }

    .elementor-856 .elementor-element-6b98622,
    .elementor-856 .elementor-element-8f4a5ca {
        gap: 12px !important;
    }

    .elementor-856 .elementor-element-ca090bd,
    .elementor-856 .elementor-element-10428b9,
    .elementor-856 .elementor-element-7ec1b7c,
    .elementor-856 .elementor-element-21f895e,
    .elementor-856 .elementor-element-1a60895,
    .elementor-856 .elementor-element-a6563a6 {
        flex: 1 1 calc(50% - 6px) !important;
        min-width: 135px !important;
        padding: 16px 10px !important;
        border-radius: 12px !important;
    }

    .elementor-856 .elementor-element-56de22d,
    .elementor-856 .elementor-element-210b991,
    .elementor-856 .elementor-element-0220bb9,
    .elementor-856 .elementor-element-d612def,
    .elementor-856 .elementor-element-5224a65,
    .elementor-856 .elementor-element-ebb7a2b {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        margin-bottom: 10px !important;
    }

    .elementor-856 .elementor-element-56de22d>.elementor-widget-container,
    .elementor-856 .elementor-element-210b991>.elementor-widget-container,
    .elementor-856 .elementor-element-0220bb9>.elementor-widget-container,
    .elementor-856 .elementor-element-d612def>.elementor-widget-container,
    .elementor-856 .elementor-element-5224a65>.elementor-widget-container,
    .elementor-856 .elementor-element-ebb7a2b>.elementor-widget-container {
        width: 48px !important;
        height: 48px !important;
        padding: 10px !important;
    }

    .elementor-856 .elementor-element-56de22d img,
    .elementor-856 .elementor-element-210b991 img,
    .elementor-856 .elementor-element-0220bb9 img,
    .elementor-856 .elementor-element-d612def img,
    .elementor-856 .elementor-element-5224a65 img,
    .elementor-856 .elementor-element-ebb7a2b img {
        width: 24px !important;
        height: 24px !important;
    }

    .eael-accordion-header,
    .elementor-tab-title {
        padding: 12px 14px !important;
        border-radius: 10px !important;
    }

    .eael-accordion-tab-title {
        font-size: 0.875rem !important;
    }

    .eael-accordion-content {
        padding: 14px 16px !important;
        font-size: 0.875rem !important;
        border-bottom-left-radius: 10px !important;
        border-bottom-right-radius: 10px !important;
    }

}

@media (max-width: 480px) {

    .elementor-856 .elementor-element-ca090bd,
    .elementor-856 .elementor-element-10428b9,
    .elementor-856 .elementor-element-7ec1b7c,
    .elementor-856 .elementor-element-21f895e,
    .elementor-856 .elementor-element-1a60895,
    .elementor-856 .elementor-element-a6563a6 {
        flex: 1 1 100% !important;
        width: 100% !important;
    }
}

/* ============================================================
   PREMIUM GLASSMORPHISM HEADER SYSTEM
   ============================================================ */

:root {
    --washi-header-bg: rgba(255, 255, 255, 0.95);
    --washi-header-bg-scrolled: #ffffff;
    --washi-header-blur: 16px;
    --washi-header-border: 1px solid rgba(241, 245, 249, 0.6);
    --washi-header-border-scrolled: 1px solid rgba(241, 245, 249, 0.9);
    --washi-header-shadow: 0 4px 30px rgba(0, 0, 0, 0.02);
    --washi-header-shadow-scrolled: 0 10px 30px -10px rgba(15, 23, 42, 0.06);
    --washi-header-height-desktop: 90px;
    --washi-header-height-scrolled: 72px;
    --washi-header-height-mobile: 68px;
}

/* Reset Astra/Elementor header container defaults if present */
.elementor-location-header {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* Main Container */
.washi-header-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    background: var(--washi-header-bg);
    border-bottom: var(--washi-header-border);
    box-shadow: var(--washi-header-shadow);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    height: var(--washi-header-height-desktop);
    display: flex;
    align-items: center;
}

.washi-header-container+#content {
    padding-top: var(--washi-header-height-desktop);
}

.washi-header-container.is-scrolled {
    background: var(--washi-header-bg-scrolled);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-bottom: var(--washi-header-border-scrolled);
    box-shadow: var(--washi-header-shadow-scrolled);
    height: var(--washi-header-height-desktop);
}

.washi-header-container.is-scrolled + #content {
    padding-top: var(--washi-header-height-desktop);
}

/* Inner Wrapper */
.washi-header-inner {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

/* Logo */
.washi-header-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.washi-header-logo a {
    display: flex;
    align-items: center;
}

.washi-header-logo .ws-logo-img {
    height: 24px;
    width: auto;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.washi-header-logo a:hover .ws-logo-img {
    transform: scale(1.03);
}

/* Desktop Navigation */
.washi-header-nav {
    display: flex;
    align-items: center;
    height: 100%;
}

.washi-nav-list {
    display: flex;
    align-items: center;
    gap: 32px;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
}

.washi-nav-item {
    display: flex;
    align-items: center;
    height: 100%;
    position: relative;
}

.washi-nav-link {
    font-family: 'Univia Pro', 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #1e293b;
    text-decoration: none;
    transition: color 0.3s ease;
    padding: 10px 0;
    position: relative;
}

.washi-nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background-color: var(--brand-red);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    transform: translateX(-50%);
}

.washi-nav-link:hover {
    color: var(--brand-red);
}

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

.washi-nav-link.is-active {
    color: var(--brand-red);
    font-weight: 600;
}

.washi-nav-link.is-active::after {
    width: 100%;
}

/* Right-side Actions */
.washi-header-actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* Premium Language Selector Dropdown */
.washi-lang-dropdown {
    position: relative;
}

.washi-lang-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 9999px;
    padding: 8px 16px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    font-family: 'Univia Pro', 'Inter', sans-serif;
    font-weight: 500;
    font-size: 14px;
    color: #334155;
    outline: none;
}

.washi-lang-btn:hover,
.washi-lang-dropdown.is-open .washi-lang-btn {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #0f172a;
}

.washi-flag-img {
    width: 18px;
    height: auto;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.washi-chevron-icon {
    width: 14px;
    height: 14px;
    stroke-width: 2.5;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.washi-lang-dropdown.is-open .washi-chevron-icon {
    transform: rotate(180deg);
}

.washi-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.08);
    width: 150px;
    display: flex;
    flex-direction: column;
    padding: 6px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px) scale(0.96);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 10000;
}

.washi-lang-dropdown.is-open .washi-dropdown-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.washi-dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    text-decoration: none;
    color: #475569;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.washi-dropdown-item:hover {
    background: #f8fafc;
    color: var(--brand-red);
}

/* Contact CTA Button */
.washi-cta-button {
    font-family: 'Univia Pro', 'Inter', sans-serif;
    background-color: var(--brand-red);
    color: #ffffff !important;
    font-weight: 600;
    font-size: 14px;
    padding: 10px 24px;
    border-radius: 9999px;
    box-shadow: 0 4px 14px -3px rgba(var(--brand-red-rgb), 0.35);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.washi-cta-button:hover {
    background-color: var(--brand-red-hover);
    box-shadow: 0 6px 20px -3px rgba(var(--brand-red-rgb), 0.5);
    transform: translateY(-1px);
}

.washi-cta-button.is-active {
    background-color: var(--brand-dark-blue, #042e3e);
    box-shadow: none;
}

/* Mobile Hamburger */
.washi-hamburger {
    display: none;
    background: transparent;
    border: none;
    cursor: pointer;
    flex-direction: column;
    gap: 6px;
    width: 28px;
    padding: 4px;
    z-index: 100001;
    outline: none;
}

.hamburger-line {
    height: 2px;
    width: 100%;
    background-color: #0f172a;
    border-radius: 9999px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Morph Hamburger to X */
.washi-hamburger.is-active .line-1 {
    transform: translateY(8px) rotate(45deg);
}

.washi-hamburger.is-active .line-2 {
    opacity: 0;
    transform: translateX(-8px);
}

.washi-hamburger.is-active .line-3 {
    transform: translateY(-8px) rotate(-45deg);
}

/* Mobile Slide Drawer */
.washi-mobile-drawer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    visibility: hidden;
    transition: visibility 0.4s;
}

.washi-mobile-drawer.is-open {
    visibility: visible;
}

.washi-drawer-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.3);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.washi-mobile-drawer.is-open .washi-drawer-overlay {
    opacity: 1;
}

.washi-drawer-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 340px;
    max-width: 85%;
    height: 100%;
    background: #ffffff;
    box-shadow: -10px 0 40px rgba(15, 23, 42, 0.08);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    padding: 32px 24px;
}

.washi-mobile-drawer.is-open .washi-drawer-content {
    transform: translateX(0);
}

.washi-drawer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.washi-drawer-header .ws-logo-img {
    height: 22px;
}

.washi-drawer-close {
    background: transparent;
    border: none;
    cursor: pointer;
    color: #64748b;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
    outline: none;
}

.washi-drawer-close:hover {
    color: var(--brand-red);
}

.washi-drawer-close svg {
    width: 24px;
    height: 24px;
}

.washi-drawer-nav {
    flex-grow: 1;
    overflow-y: auto;
    margin-bottom: 24px;
}

.washi-drawer-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.washi-drawer-link {
    font-family: 'Univia Pro', 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #0f172a;
    text-decoration: none;
    display: block;
    padding: 10px 0;
    border-bottom: 1px solid #f1f5f9;
    transition: all 0.25s ease;
}

.washi-drawer-link:hover,
.washi-drawer-link.is-active {
    color: var(--brand-red);
    border-bottom-color: rgba(var(--brand-red-rgb), 0.2);
    padding-left: 4px;
}

.washi-drawer-footer {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: auto;
}

.washi-drawer-langs {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.washi-langs-label {
    font-family: 'Univia Pro', 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #94a3b8;
    margin: 0;
}

.washi-lang-options {
    display: flex;
    gap: 8px;
}

.washi-lang-option {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 6px;
    border: 1px solid #e2e8f0;
    border-radius: 9999px;
    font-family: 'Univia Pro', 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    color: #475569;
    transition: all 0.2s ease;
    flex: 1;
    justify-content: center;
    white-space: nowrap;
}

.washi-lang-option img {
    width: 16px;
    height: auto;
    border-radius: 1px;
}

.washi-lang-option:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.washi-lang-option.is-active {
    border-color: var(--brand-red);
    color: var(--brand-red);
    background: rgba(var(--brand-red-rgb), 0.03);
}

.washi-cta-block {
    width: 100%;
    padding: 14px;
    font-size: 15px;
}

/* Global Description Typography System */
p,
.elementor-text-editor,
.elementor-widget-container p,
.elementor-text-editor p,
.ast-container p {
    font-family: "Univia Pro", "Inter", "Roboto", system-ui, -apple-system, sans-serif;
}

.eael-accordion-tab-title,
.elementor-tab-title>span.eael-accordion-tab-title,
.elementor-tab-title>span:not(.eael-advanced-accordion-icon-closed):not(.eael-advanced-accordion-icon-opened) {
    font-weight: 500 !important;
}

/* ============================================================
   RESPONSIVE LAYOUT MEDIA QUERIES
   ============================================================ */

@media (max-width: 1024px) {
    :root {
        --washi-header-height-desktop: 76px;
    }

    .washi-header-inner {
        padding: 0 24px;
    }

    .washi-header-nav {
        display: none;
    }

    .washi-lang-dropdown {
        display: none;
    }

    .washi-header-actions .washi-cta-button {
        display: none;
    }

    .washi-hamburger {
        display: flex;
    }

    /* Tablet Responsive descriptions (heading widgets used as paragraph text) */
    .elementor-element-fc9764a .elementor-heading-title, /* brand story desc */
    .elementor-element-41f0f78 .elementor-heading-title, /* company desc */
    .elementor-element-01baa1f .elementor-heading-title, /* vision desc */
    .elementor-element-cbcc39b .elementor-heading-title, /* mission desc */
    .elementor-element-73b39a5 .elementor-heading-title, /* why langs desc */
    .elementor-element-f6abe26 .elementor-heading-title, /* why flex desc */
    .elementor-element-125b996 .elementor-heading-title, /* why 247 desc */
    .elementor-element-1e41376 .elementor-heading-title, /* why conf desc */
    .elementor-element-cac501e .elementor-heading-title, /* why quality desc */
    .elementor-element-03054bb .elementor-heading-title, /* why network desc */
    .elementor-element-0f06335 .elementor-heading-title, /* why domains desc */
    .elementor-element-f4c6c98 .elementor-heading-title, /* why trans desc */
    .elementor-element-7c2e10d .elementor-heading-title, /* why qa desc */
    .elementor-element-b3a1414 .elementor-heading-title, /* why afford desc */
    .elementor-element-7431f2b .elementor-heading-title, /* why tech desc */
    .elementor-element-27ed128 .elementor-heading-title, /* process overview desc */
    .elementor-element-b2b4fb4 .elementor-heading-title, /* quality linguistic desc */
    .elementor-element-5c84389 .elementor-heading-title, /* quality visual desc */
    .elementor-element-2dfa497 .elementor-heading-title, /* quality cultural desc */
    .elementor-element-7a355b4 .elementor-heading-title, /* quality functional desc */
    .elementor-element-373d353 .elementor-heading-title, /* fields page intro desc */
    .elementor-element-2ee3466 .elementor-heading-title, /* languages page intro desc */
    .elementor-element-72c4ca3 .elementor-heading-title, /* services page solution subtitle */
    .elementor-element-a48fa34 .elementor-heading-title, /* services page gaming desc */
    .elementor-element-6ec60c0 .elementor-heading-title, /* careers page vendor subtitle */
    .elementor-element-99950a5 .elementor-heading-title, /* quality intro paragraph */
    .elementor-element-5df09ad .elementor-heading-title  /* quality conclusion paragraph */ {
        font-size: 16px !important;
        font-weight: 300 !important;
        line-height: 1.6 !important;
    }

    /* Tablet: Reset negative margins on the conclusion illustration container */
    .elementor-element-87f3108 > .elementor-widget-container {
        margin: 0 !important;
    }

    /* Tablet: Responsive Quality Standards question subtitle */
    .elementor-element-d94311b .elementor-heading-title {
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;
    }

    /* Tablet Responsive small labels (Vision, Mission, section taglines) */
    .elementor-element-bd0e44a .elementor-heading-title, /* vision label */
    .elementor-element-f27f68c .elementor-heading-title, /* mission label */
    .elementor-element-c604f00 .elementor-heading-title, /* lan`guages page tagline */
    .elementor-element-31e10e7 .elementor-heading-title  /* quality standards tagline */ {
        font-size: 16px !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
    }

    /* Tablet and Mobile: Style the accordion toggle icons to be small and inline instead of huge and overlapping */
    .eael-accordion-header {
        display: flex !important;
        align-items: center !important;
        position: relative !important;
    }

    .eael-accordion-header .fa-toggle.eaa-svg {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 24px !important;
        height: 24px !important;
        margin-right: 12px !important;
        flex-shrink: 0 !important;
    }

    .eael-accordion-header .fa-toggle.eaa-svg svg {
        width: 24px !important;
        height: 24px !important;
        max-width: 100% !important;
        max-height: 100% !important;
        position: static !important; /* Reset any absolute positioning */
        display: block !important;
        transform: none !important;
    }

    /* Tablet: Tighten horizontal padding on parent sections to prevent squished layouts */
    .e-parent,
    .elementor-section,
    .elementor-element.e-con.e-parent,
    .ast-container {
        --padding-left: 24px !important;
        --padding-right: 24px !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Tablet and Mobile: Make all icon containers (.iContainer) perfect circles and size icons inside cleanly */
    .iContainer {
        width: 80px !important;
        height: 80px !important;
        max-width: 80px !important;
        max-height: 80px !important;
        aspect-ratio: 1 / 1 !important;
        border-radius: 50% !important; /* Force circular shape */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Force the deep inner elementor wrappers to center align inside the circular container */
    .iContainer .elementor-widget,
    .iContainer .elementor-widget-container,
    .iContainer .elementor-shortcode {
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .iContainer svg,
    .iContainer img {
        width: 36px !important; /* Fixed pixel dimensions to prevent microscopic rendering */
        height: 36px !important;
        display: block !important;
        margin: 0 auto !important;
    }

    /* Tablet: Responsive card titles inside "Why Choose Us" (.reason) & PM/QA grids (.iBox2) */
    .reason h2.elementor-heading-title {
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
    }

    .iBox2 h2.elementor-heading-title {
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 768px) {
    :root {
        --washi-header-height-desktop: 68px;
    }

    .washi-header-inner {
        padding: 0 16px;
    }

    .washi-header-logo .ws-logo-img {
        height: 20px;
    }

    /* Global Responsive Typography Overrides for Mobile */
    .elementor h1,
    .elementor .h1,
    h1.elementor-heading-title,
    .elementor-heading-title.elementor-size-xl,
    .elementor-heading-title.elementor-size-xxl {
        font-size: 28px !important;
        line-height: 1.2 !important;
        letter-spacing: -0.02em !important;
    }

    .elementor h2,
    .elementor .h2,
    h2.elementor-heading-title,
    .elementor-heading-title.elementor-size-large {
        font-size: 22px !important;
        line-height: 1.25 !important;
        letter-spacing: -0.01em !important;
    }

    .elementor h3,
    .elementor .h3,
    h3.elementor-heading-title,
    .elementor-heading-title.elementor-size-medium {
        font-size: 18px !important;
        line-height: 1.3 !important;
    }

    .elementor h4,
    .elementor .h4,
    h4.elementor-heading-title,
    .elementor-heading-title.elementor-size-small {
        font-size: 16px !important;
        line-height: 1.3 !important;
    }

    .elementor h5,
    .elementor .h5,
    .elementor h6,
    .elementor .h6 {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    /* Description & paragraph styles */
    .elementor-text-editor,
    .elementor-widget-container p,
    .elementor p {
        font-family: "Univia Pro", "Inter", "Roboto", system-ui, -apple-system, sans-serif !important;
        font-size: 14px !important;
        line-height: 1.55 !important;
        font-weight: 400 !important;
        color: #475569 !important;
    }

    /* Tighten spacing between parent sections on mobile and reduce horizontal margins */
    .e-parent,
    .elementor-section,
    .elementor-element.e-con.e-parent,
    .ast-container {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
        --padding-left: 10px !important;
        --padding-right: 10px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        margin-top: 0 !important; /* Override large desktop margins/paddings on mobile */
        margin-bottom: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Clean spacing and padding for card containers on mobile to prevent overlapping */
    .reason {
        margin-top: 12px !important;
        margin-bottom: 12px !important;
        padding: 24px 16px !important;
    }

    .iBox2 {
        margin-top: 4px !important;
        margin-bottom: 4px !important;
        padding: 24px 16px !important;
    }

    /* Reduce parent row gap for B) Project Managers criteria on mobile */
    .elementor-element-d62b60b {
        --row-gap: 12px !important;
        --column-gap: 12px !important;
        gap: 12px !important;
    }

    /* Stretch inner elements on mobile so they use all available width */
    .e-con-inner {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Specific mobile component size adjustments */
    .washi-faq-section .elementor-heading-title {
        margin-bottom: 12px !important;
    }

    /* Center stats boxes and icons on mobile */
    .elementor-element-13326e4 .e-con.e-child,
    .elementor-element-a3707e1,
    .elementor-element-d73e914,
    .elementor-element-1d7d948,
    .elementor-element-e995b1a {
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    /* Reset absolute positioning on mobile stats icons to stack naturally */
    .serviceIcon {
        top: auto !important;
        left: auto !important;
        width: auto !important;
        margin-bottom: 12px !important;
        display: flex !important;
        justify-content: center !important;
    }

    .elementor-element-13326e4 .elementor-widget-shortcode,
    .elementor-element-13326e4 .elementor-widget-heading {
        display: flex !important;
        justify-content: center !important;
        text-align: center !important;
        width: 100% !important;
    }

    .elementor-element-13326e4 .elementor-heading-title,
    .elementor-element-13326e4 p {
        text-align: center !important;
        width: 100% !important;
    }

    .elementor-element-13326e4 svg {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .eael-accordion-tab-title,
    .elementor-tab-title>span.eael-accordion-tab-title,
    .elementor-tab-title>span:not(.eael-advanced-accordion-icon-closed):not(.eael-advanced-accordion-icon-opened) {
        font-size: 14px !important;
        line-height: 1.45 !important;
        font-weight: 500 !important;
    }

    /* Hide absolute background shapes/graphics on mobile to prevent text overlap, visual clutter, and horizontal overflow */
    .shape,
    .shape2,
    #shapeContainer,
    #shapeLeft,
    #rightShape,
    .elementor-element-aaa8aa8,
    .elementor-element-bc72925 {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /* Process steps roadmap parent container on mobile: reduce massive gap */
    .elementor-element-bee07ce {
        --row-gap: 12px !important;
        --column-gap: 12px !important;
        gap: 12px !important;
    }

    /* Process steps roadmap on mobile: stack steps, keep rectangular card shape with rounded corners */
    .process {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto !important;
        height: auto !important;
        aspect-ratio: auto !important;
        padding: 24px 16px !important;
        margin: 2px 0 !important;
        border-radius: 16px !important; /* rectangular rounded card */
        background-color: #ffffff !important; /* default white background */
        border: 1px solid #e2e8f0 !important; /* card border */
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05) !important; /* soft shadow */
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        transition: all 0.3s ease !important;
    }

    .process:hover,
    .process:active {
        background-color: #ED2F54 !important;
        border-color: #ED2F54 !important;
        box-shadow: 0 10px 15px -3px rgba(237, 47, 84, 0.3) !important;
    }

    .process:hover *,
    .process:active * {
        color: #ffffff !important;
    }

    .process .elementor-widget-shortcode {
        display: none !important;
    }

    /* Reset absolute positioning on step numbers and make them relative inside the circle */
    .process .elementor-absolute.elementor-widget-heading {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        margin: 0 0 8px 0 !important;
        text-align: center !important;
        width: auto !important;
    }

    /* Style the step numbers to be visible (red by default, white on hover) */
    .process .elementor-absolute.elementor-widget-heading .elementor-heading-title {
        color: #ED2F54 !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        margin: 0 !important;
    }

    /* Style the step titles inside the circular card */
    .process h2.elementor-heading-title:not(.elementor-absolute) {
        font-size: 14px !important;
        line-height: 1.4 !important;
        font-weight: 600 !important;
        color: #042E3E !important;
        margin: 0 !important;
    }

    /* Mobile Responsive descriptions (heading widgets used as paragraph text) */
    .elementor-element-fc9764a .elementor-heading-title, /* brand story desc */
    .elementor-element-41f0f78 .elementor-heading-title, /* company desc */
    .elementor-element-01baa1f .elementor-heading-title, /* vision desc */
    .elementor-element-cbcc39b .elementor-heading-title, /* mission desc */
    .elementor-element-73b39a5 .elementor-heading-title, /* why langs desc */
    .elementor-element-f6abe26 .elementor-heading-title, /* why flex desc */
    .elementor-element-125b996 .elementor-heading-title, /* why 247 desc */
    .elementor-element-1e41376 .elementor-heading-title, /* why conf desc */
    .elementor-element-cac501e .elementor-heading-title, /* why quality desc */
    .elementor-element-03054bb .elementor-heading-title, /* why network desc */
    .elementor-element-0f06335 .elementor-heading-title, /* why domains desc */
    .elementor-element-f4c6c98 .elementor-heading-title, /* why trans desc */
    .elementor-element-7c2e10d .elementor-heading-title, /* why qa desc */
    .elementor-element-b3a1414 .elementor-heading-title, /* why afford desc */
    .elementor-element-7431f2b .elementor-heading-title, /* why tech desc */
    .elementor-element-27ed128 .elementor-heading-title, /* process overview desc */
    .elementor-element-b2b4fb4 .elementor-heading-title, /* quality linguistic desc */
    .elementor-element-5c84389 .elementor-heading-title, /* quality visual desc */
    .elementor-element-2dfa497 .elementor-heading-title, /* quality cultural desc */
    .elementor-element-7a355b4 .elementor-heading-title, /* quality functional desc */
    .elementor-element-373d353 .elementor-heading-title, /* fields page intro desc */
    .elementor-element-2ee3466 .elementor-heading-title, /* languages page intro desc */
    .elementor-element-72c4ca3 .elementor-heading-title, /* services page solution subtitle */
    .elementor-element-a48fa34 .elementor-heading-title, /* services page gaming desc */
    .elementor-element-6ec60c0 .elementor-heading-title, /* careers page vendor subtitle */
    .elementor-element-99950a5 .elementor-heading-title, /* quality intro paragraph */
    .elementor-element-5df09ad .elementor-heading-title  /* quality conclusion paragraph */ {
        font-size: 14px !important;
        font-weight: 300 !important;
        line-height: 1.55 !important;
    }

    /* Mobile: Reset negative margins on the conclusion illustration container */
    .elementor-element-87f3108 > .elementor-widget-container {
        margin: 0 !important;
    }

    /* Mobile: Responsive Quality Standards question subtitle */
    .elementor-element-d94311b .elementor-heading-title {
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;
    }

    /* Mobile Responsive small labels (Vision, Mission, section taglines) */
    .elementor-element-bd0e44a .elementor-heading-title, /* vision label */
    .elementor-element-f27f68c .elementor-heading-title, /* mission label */
    .elementor-element-c604f00 .elementor-heading-title, /* languages page tagline */
    .elementor-element-31e10e7 .elementor-heading-title  /* quality standards tagline */ {
        font-size: 14px !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
    }

    /* Mobile: Responsive card titles inside "Why Choose Us" (.reason) & PM/QA grids (.iBox2) */
    .reason h2.elementor-heading-title {
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }

    .iBox2 h2.elementor-heading-title {
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }
}

/* ============================================================
   PREMIUM CAREERS FORM UX/UI DESIGN SYSTEM
   ============================================================ */
.careers-form-container {
    width: 100% !important;
    max-width: 1100px !important;
    background: #ffffff !important;
    padding: 40px !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08) !important;
    border: 1.5px solid rgba(237, 47, 84, 0.1) !important;
    box-sizing: border-box !important;
    margin: 30px auto !important;
    text-align: left !important;
}

/* Alert Banners */
.alert-success-banner,
.alert-error-banner {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 16px 20px !important;
    border-radius: 12px !important;
    margin-bottom: 24px !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

.alert-success-banner {
    background-color: #ecfdf5 !important;
    border: 1.5px solid #10b981 !important;
    color: #065f46 !important;
}

.alert-error-banner {
    background-color: #fef2f2 !important;
    border: 1.5px solid #f87171 !important;
    color: #991b1b !important;
}handle

/* Auto-dismiss alert transition classes */
.alert-dismissing {
    opacity: 0 !important;
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-width: 0 !important;
    overflow: hidden !important;
    transition: opacity 0.5s ease, max-height 0.5s ease, padding 0.5s ease, margin 0.5s ease !important;
}

.alert-dismissed {
    display: none !important;
}

/* Field Error Messages & Highlights */
.field-error-message {
    color: #ED2F54 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin-top: 5px !important;
    display: block !important;
    text-align: left !important;
    width: 100% !important;
}

.premium-form .input-error,
#ContactForm .input-error {
    border-color: #ED2F54 !important;
    background-color: #fffafb !important;
    box-shadow: 0 0 0 4px rgba(237, 47, 84, 0.1) !important;
}

.alert-icon {
    width: 22px !important;
    height: 22px !important;
    flex-shrink: 0 !important;
}

.error-list {
    margin: 0 !important;
    padding-left: 20px !important;
    list-style-type: disc !important;
}

/* Form Grid */
.premium-form .form-grid {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    gap: 20px !important;
    width: 100% !important;
}

.premium-form .form-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    box-sizing: border-box !important;
}

.premium-form .form-group.col-6 {
    grid-column: span 6 !important;
}

.premium-form .form-group.col-12 {
    grid-column: span 12 !important;
}

/* Labels & Inputs */
.premium-form label:not(.file-upload-trigger) {
    display: block !important;
    margin: 0 0 8px 3px !important;
    color: #526174 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.premium-form .required-field::after {
    content: " *" !important;
    color: #ED2F54 !important;
}

.premium-form .form-optional{color:#94a0af;font-size:11px;font-weight:600}

.premium-form input[type="text"],
.premium-form input[type="email"],
.premium-form input[type="tel"],
.premium-form input[type="number"],
.premium-form input[type="url"],
.premium-form input[type="date"],
.premium-form textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 18px !important;
    font-size: 12px !important;
    font-family: inherit !important;
    color: #1a202c !important;
    background-color: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    transition: all 0.25s ease-in-out !important;
}

.premium-form input[type="date"] {
    min-height: 53px !important;
    color-scheme: light !important;
    cursor: pointer !important;
}

.premium-form input[type="date"]::-webkit-calendar-picker-indicator {
    padding: 7px !important;
    border-radius: 8px !important;
    background-color: rgba(237, 47, 84, 0.1) !important;
    cursor: pointer !important;
}

.premium-form input:placeholder-shown,
.premium-form textarea:placeholder-shown {
    color: #a0aec0 !important;
}

.premium-form input:focus,
.premium-form textarea:focus {
    background-color: #ffffff !important;
    border-color: #ED2F54 !important;
    box-shadow: 0 0 0 4px rgba(237, 47, 84, 0.15) !important;
    outline: none !important;
}

.premium-form textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

/* Custom File Upload */
.custom-file-upload {
    position: relative !important;
    width: 100% !important;
}

.file-input-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
}

.file-upload-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 18px 24px !important;
    border: 2px dashed #E2E8F0 !important;
    border-radius: 12px !important;
    background-color: #f8fafc !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    font-weight: 500 !important;
    color: #475569 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.file-upload-trigger:hover {
    border-color: #ED2F54 !important;
    background-color: rgba(237, 47, 84, 0.02) !important;
    color: #ED2F54 !important;
}

.upload-icon {
    width: 22px !important;
    height: 22px !important;
    stroke: currentColor !important;
}

/* Recaptcha Wrapper */
.recaptcha-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 15px 0 !important;
}

/* Submit Section */
.submit-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 20px !important;
}

.premium-submit-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 300px !important;
    padding: 16px 36px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #ED2F54 0%, #d02042 100%) !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    box-shadow: 0 8px 25px rgba(237, 47, 84, 0.35) !important;
    transition: all 0.3s ease !important;
}

.premium-submit-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 30px rgba(237, 47, 84, 0.5) !important;
    background: linear-gradient(135deg, #f03e61 0%, #b81736 100%) !important;
}

.premium-submit-btn:active {
    transform: translateY(0) !important;
}

/* Responsive Styles */
@media (max-width: 767px) {
    .careers-form-container {
        padding: 15px 10px !important;
        margin: 5px auto !important;
    }

    .premium-form .form-group.col-6 {
        grid-column: span 12 !important;
    }

    .premium-submit-btn {
        max-width: 100% !important;
    }
}

/* ============================================================
   HOME PAGE POLISH
   Scoped to Elementor page 771 so the original markup and the
   styling of every other page remain untouched.
   ============================================================ */
.elementor-771 {
    --washi-home-ink: #042e3e;
    --washi-home-accent: #ed2f54;
    --washi-home-focus: rgba(237, 47, 84, 0.24);
    --washi-home-shadow: 0 18px 48px rgba(4, 46, 62, 0.1);
    isolation: isolate;
}

.elementor-771,
.elementor-771 * {
    box-sizing: border-box;
}

/* Keep exported artwork crisp and prevent intrinsic image overflow. */
.elementor-771 img {
    max-width: 100%;
}

.elementor-771 img {
    height: auto;
}

/* Preserve the existing button design while improving interaction feedback. */
.elementor-771 .elementor-button {
    transition: transform 180ms ease, box-shadow 180ms ease,
        background-color 180ms ease, color 180ms ease !important;
    will-change: transform;
}

.elementor-771 .elementor-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(237, 47, 84, 0.24);
}

.elementor-771 .elementor-button:active {
    transform: translateY(0);
}

.elementor-771 a:focus-visible,
.elementor-771 button:focus-visible,
.elementor-771 [tabindex]:focus-visible {
    outline: 3px solid var(--washi-home-focus) !important;
    outline-offset: 4px;
}

/* Give the two resource cards consistent depth without changing their shape. */
.elementor-771 .box1 {
    transition: transform 220ms ease, box-shadow 220ms ease !important;
}

.elementor-771 .box1:hover {
    transform: translateY(-5px);
    box-shadow: var(--washi-home-shadow);
}

/* Make accordion state changes feel deliberate and retain clear keyboard focus. */
.elementor-771 .eael-accordion-list {
    overflow: hidden;
}

.elementor-771 .eael-accordion-header,
.elementor-771 .fa-toggle {
    transition: color 180ms ease, background-color 180ms ease,
        transform 180ms ease !important;
}

.elementor-771 .eael-accordion-header:focus-visible {
    outline: 3px solid var(--washi-home-focus);
    outline-offset: -3px;
}

/* Prevent decorative layers from ever blocking links or text selection. */
.elementor-771 #shapeContainer,
.elementor-771 #shapeLeft,
.elementor-771 #rightShape,
.elementor-771 [id^="part"] {
    pointer-events: none;
    user-select: none;
}

/* Elementor gives this absolutely positioned decoration no reliable width.
   Keep its authored SVG dimensions so the four arch strokes stay visible. */
.elementor-771 #shapeContainer {
    display: flex !important;
    right: 0 !important;
    bottom: -10px !important;
    width: 254px !important;
    min-width: 254px !important;
    height: 486px !important;
    overflow: hidden !important;
    z-index: 0 !important;
}

.elementor-771 #shapeContainer .elementor-widget-shortcode,
.elementor-771 #shapeContainer .elementor-widget-container,
.elementor-771 #shapeContainer .elementor-shortcode,
.elementor-771 #shapeContainer svg {
    width: auto !important;
    max-width: none !important;
    overflow: hidden !important;
}

/* The exported icon font is not consistently available locally. Render the
   same arrow as text so the CTA matches production in every environment. */
.elementor-771 .elementor-element-6468efc .elementor-button-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    font-size: 0 !important;
}

.elementor-771 .elementor-element-6468efc .elementor-button-icon i {
    display: none !important;
}

.elementor-771 .elementor-element-6468efc .elementor-button-icon::before {
    content: "\2192";
    display: block;
    color: currentColor;
    font-family: Arial, sans-serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
}

.elementor-771 #heroSetion > .elementor-element-5c7e7eb {
    position: relative !important;
    z-index: 1 !important;
}

/* Closed is the default state for every FAQ. Elementor adds an active class
   when a visitor opens one, which is the only state that reveals the answer. */
.elementor-771 .washi-faq-section .eael-accordion-content {
    display: none;
}

.elementor-771 .washi-faq-section .eael-accordion-header.active + .eael-accordion-content,
.elementor-771 .washi-faq-section .eael-accordion-header.active-default + .eael-accordion-content,
.elementor-771 .washi-faq-section .eael-accordion-header.elementor-active + .eael-accordion-content {
    display: block;
}

/* Quality Assurance item published open by default. */
.elementor-771 #q-how-does-washi-globalize-ensure-delivering-top-notch-translations.active-default +
    #elementor-tab-content-1452 {
    display: block !important;
}

/* ============================================================
   HOME FAQ — REFINED SURFACE (same layout and interactions)
   ============================================================ */
.elementor-771 .washi-faq-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 5%, rgba(237, 47, 84, 0.08), transparent 26rem),
        linear-gradient(180deg, #fff 0%, #fffafb 52%, #fff 100%) !important;
}

.elementor-771 .washi-faq-section::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 8rem;
    right: -8rem;
    width: 23rem;
    height: 23rem;
    border: 1px solid rgba(237, 47, 84, 0.1);
    border-radius: 50%;
    box-shadow: 0 0 0 54px rgba(237, 47, 84, 0.025),
        0 0 0 108px rgba(237, 47, 84, 0.018);
    pointer-events: none;
}

.elementor-771 .washi-faq-section > .e-con-inner {
    position: relative;
}

.elementor-771 .washi-faq-section .elementor-element-d5e7c91 {
    width: 180px !important;
    max-width: 180px !important;
    height: 150px !important;
    min-height: 0 !important;
    flex: 0 0 150px !important;
    align-self: center !important;
    margin: 0 auto 8px !important;
    opacity: 0.95;
    overflow: visible;
}

.elementor-771 .washi-faq-section .elementor-element-d5e7c91 > .elementor-widget-container {
    display: grid;
    width: 180px !important;
    height: 150px !important;
    place-items: center;
    overflow: visible;
}

.elementor-771 .washi-faq-section .elementor-element-d5e7c91 img {
    display: block;
    width: 180px !important;
    max-width: 100% !important;
    height: 180px !important;
    object-fit: contain;
    transform: none !important;
}

.elementor-771 .elementor-element.elementor-element-0cc9699 .elementor-heading-title {
    font-weight: 700 !important;
}

.elementor-771 .washi-faq-section .elementor-element-6ef4d09 .elementor-heading-title {
    max-width: 760px;
    margin-inline: auto !important;
    color: #101828 !important;
    font-size: clamp(2rem, 4vw, 3.25rem) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em;
    text-align: center;
}

.elementor-771 .washi-faq-section .elementor-widget-heading:not(.elementor-element-6ef4d09) {
    position: relative;
    padding-left: 17px;
}

.elementor-771 .washi-faq-section .elementor-widget-heading:not(.elementor-element-6ef4d09)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 22px;
    border-radius: 999px;
    background: #ed2f54;
    transform: translateY(-50%);
}

.elementor-771 .washi-faq-section .elementor-widget-heading:not(.elementor-element-6ef4d09) .elementor-heading-title {
    color: #344054 !important;
    font-size: clamp(1rem, 2vw, 1.2rem) !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em;
}

.elementor-771 .washi-faq-section .eael-accordion-list {
    margin-bottom: 10px;
    border: 1px solid #e7eaf0;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 8px 28px rgba(16, 24, 40, 0.055);
    transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.elementor-771 .washi-faq-section .eael-accordion-list:hover {
    border-color: rgba(237, 47, 84, 0.28);
    box-shadow: 0 14px 34px rgba(16, 24, 40, 0.08);
    transform: translateY(-1px);
}

.elementor-771 .washi-faq-section .eael-accordion-header {
    min-height: 64px;
    margin: 0 !important;
    padding: 17px 19px !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

.elementor-771 .washi-faq-section .eael-accordion-header.active,
.elementor-771 .washi-faq-section .eael-accordion-header.active-default,
.elementor-771 .washi-faq-section .eael-accordion-header.elementor-active {
    border-radius: 15px 15px 0 0 !important;
    background: linear-gradient(90deg, rgba(237, 47, 84, 0.075), rgba(237, 47, 84, 0.015)) !important;
}

.elementor-771 .washi-faq-section .eael-accordion-tab-title {
    color: #182230 !important;
    font-size: clamp(0.94rem, 1.5vw, 1.02rem) !important;
    font-weight: 650 !important;
    line-height: 1.5 !important;
}

.elementor-771 .washi-faq-section .eael-accordion-header > .eael-advanced-accordion-icon-closed,
.elementor-771 .washi-faq-section .eael-accordion-header > .eael-advanced-accordion-icon-opened {
    width: 9px !important;
    min-width: 9px !important;
    max-width: 9px !important;
    height: 9px !important;
    min-height: 9px !important;
    max-height: 9px !important;
    flex-basis: 9px !important;
    margin-right: 13px !important;
    box-shadow: 0 0 0 5px rgba(237, 47, 84, 0.1);
}

.elementor-771 .washi-faq-section .eael-accordion-header .fa-toggle {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    max-height: 34px !important;
    margin-left: 16px !important;
    padding: 10px !important;
    border-radius: 50%;
    background: #fff;
    box-shadow: inset 0 0 0 1px #e4e7ec, 0 3px 8px rgba(16, 24, 40, 0.06);
    box-sizing: border-box;
}

.elementor-771 .washi-faq-section .eael-accordion-header.active .fa-toggle,
.elementor-771 .washi-faq-section .eael-accordion-header.active-default .fa-toggle,
.elementor-771 .washi-faq-section .eael-accordion-header.elementor-active .fa-toggle {
    background: #ed2f54;
    fill: #fff !important;
    box-shadow: 0 5px 12px rgba(237, 47, 84, 0.24);
    transform: rotate(45deg) !important;
}

.elementor-771 .washi-faq-section .eael-accordion-content {
    padding: 5px 24px 23px 41px !important;
    border: 0 !important;
    border-top: 1px solid rgba(231, 234, 240, 0.8) !important;
    border-radius: 0 0 15px 15px !important;
    background: #fff !important;
    color: #475467 !important;
    box-shadow: none !important;
}

.elementor-771 .washi-faq-section .eael-accordion-content p,
.elementor-771 .washi-faq-section .eael-accordion-content li {
    color: #475467 !important;
    line-height: 1.75 !important;
}

.elementor-771 .washi-faq-section .eael-accordion-content > img {
    display: block;
    width: 100%;
    height: auto;
    margin: 20px auto 4px;
    padding: 14px;
    border: 1px solid #eaecf0;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(16, 24, 40, 0.05);
}

/* The generic FAQ heading rules above must not enlarge headings inside the
   embedded project-management criteria component. */
.elementor-771 .washi-faq-section .elementor-856 .elementor-element-8b2a1ee .elementor-heading-title {
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
}

.elementor-771 .washi-faq-section .elementor-856 .elementor-element-96a4852 .elementor-heading-title,
.elementor-771 .washi-faq-section .elementor-856 .elementor-element-fa4b079 .elementor-heading-title,
.elementor-771 .washi-faq-section .elementor-856 .elementor-element-6515d43 .elementor-heading-title,
.elementor-771 .washi-faq-section .elementor-856 .elementor-element-6731492 .elementor-heading-title,
.elementor-771 .washi-faq-section .elementor-856 .elementor-element-17001b4 .elementor-heading-title,
.elementor-771 .washi-faq-section .elementor-856 .elementor-element-60b40c5 .elementor-heading-title {
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
}

@media (max-width: 767px) {
    .elementor-771 .washi-faq-section::before {
        display: none;
    }

    .elementor-771 .washi-faq-section .elementor-856 .elementor-element-8b2a1ee .elementor-heading-title {
        font-size: 0.75rem !important;
    }

    .elementor-771 .washi-faq-section .elementor-856 .elementor-element-96a4852 .elementor-heading-title,
    .elementor-771 .washi-faq-section .elementor-856 .elementor-element-fa4b079 .elementor-heading-title,
    .elementor-771 .washi-faq-section .elementor-856 .elementor-element-6515d43 .elementor-heading-title,
    .elementor-771 .washi-faq-section .elementor-856 .elementor-element-6731492 .elementor-heading-title,
    .elementor-771 .washi-faq-section .elementor-856 .elementor-element-17001b4 .elementor-heading-title,
    .elementor-771 .washi-faq-section .elementor-856 .elementor-element-60b40c5 .elementor-heading-title {
        font-size: 0.6875rem !important;
    }

    .elementor-771 .washi-faq-section .elementor-element-d5e7c91 {
        width: 132px !important;
        max-width: 132px !important;
        height: 112px !important;
        flex-basis: 112px !important;
        margin-bottom: 6px !important;
    }

    .elementor-771 .washi-faq-section .elementor-element-d5e7c91 > .elementor-widget-container {
        width: 132px !important;
        height: 112px !important;
    }

    .elementor-771 .washi-faq-section .elementor-element-d5e7c91 img {
        width: 132px !important;
        height: 132px !important;
    }

    .elementor-771 .washi-faq-section .eael-accordion-header {
        min-height: 58px;
        padding: 14px !important;
    }

    .elementor-771 .washi-faq-section .eael-accordion-header .fa-toggle {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        max-height: 30px !important;
        margin-left: 10px !important;
        padding: 9px !important;
    }

    .elementor-771 .washi-faq-section .eael-accordion-content {
        padding: 4px 16px 19px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .elementor-771 .washi-faq-section *,
    .elementor-771 .washi-faq-section *::before,
    .elementor-771 .washi-faq-section *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

@media (max-width: 1024px) {
    .elementor-771 #heroSetion {
        overflow: hidden;
    }

    .elementor-771 #img img {
        width: min(100%, 560px);
    }
}

@media (max-width: 767px) {
    /* Counter the broad mobile defaults with homepage-safe spacing. */
    .elementor-771.elementor {
        width: 100%;
        max-width: 100%;
    }

    .elementor-771 #heroSetion {
        padding-inline: 20px !important;
    }

    .elementor-771 #shapeContainer {
        display: none !important;
    }

    .elementor-771 .elementor-element-0e8261a .elementor-heading-title {
        font-size: clamp(28px, 8vw, 36px) !important;
        line-height: 1.16 !important;
        text-wrap: balance;
    }

    .elementor-771 .elementor-element-b887f97 .elementor-heading-title {
        font-size: 14px !important;
        line-height: 1.6 !important;
        text-wrap: pretty;
    }

    .elementor-771 .elementor-element-13326e4 {
        padding-inline: 16px !important;
    }

    .elementor-771 .box1 {
        width: 100% !important;
        max-width: 420px !important;
        margin-inline: auto !important;
    }

    .elementor-771 .box1:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .elementor-771 *,
    .elementor-771 *::before,
    .elementor-771 *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Match the production translation roadmap geometry. The roadmap SVG is wider
   than its circle because it also contains the connector arrow. */
@media (min-width: 768px) {
    .elementor-767 .process {
        width: 170px;
        min-width: 170px;
        height: 170px;
        min-height: 170px;
        flex: 0 0 170px;
        overflow: visible;
    }

    .elementor-767 .process > .elementor-widget-shortcode,
    .elementor-767 .process > .elementor-widget-shortcode .elementor-widget-container,
    .elementor-767 .process > .elementor-widget-shortcode .elementor-shortcode {
        overflow: visible;
    }

    .entry-content .elementor-767 .process > .elementor-widget-shortcode svg {
        width: auto;
        max-width: none;
        height: auto;
    }
}

.elementor-773 .eael-adv-accordion .eael-accordion-list {
    margin-bottom: 0 !important;
}

/* --------------------------------------------------------------------------
   Premium mobile rhythm
   Keep the imported Elementor page styles visually consistent on small
   screens. This block intentionally lives last so page-exported rules cannot
   inflate typography or spacing after the responsive layout is applied.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
    :root {
        --ws-mobile-gutter: clamp(18px, 5.2vw, 24px);
        --ws-mobile-section-space: clamp(48px, 13vw, 72px);
    }

    html {
        font-size: 14px;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    body {
        color: #344054;
        font-size: 0.875rem;
        font-weight: 400;
        line-height: 1.65;
        letter-spacing: -0.005em;
        text-rendering: optimizeLegibility;
        -webkit-font-smoothing: antialiased;
    }

    .site-content,
    .entry-content,
    .elementor,
    .elementor-section,
    .e-con {
        max-width: 100%;
    }

    .entry-content h1,
    .entry-content h2,
    .entry-content h3,
    .entry-content h4,
    .entry-content h5,
    .entry-content h6,
    .entry-content .elementor-heading-title {
        color: #0b3442;
        font-weight: 600 !important;
        letter-spacing: -0.025em;
        text-wrap: balance;
    }

    .entry-content h1,
    .entry-content .washi-page-hero__title {
        font-size: clamp(1.65rem, 6.3vw, 1.8rem) !important;
        line-height: 1.15 !important;
    }

    .entry-content h2,
    .entry-content h2.elementor-heading-title {
        font-size: clamp(1.25rem, 5.2vw, 1.5rem) !important;
        line-height: 1.22 !important;
    }

    .entry-content h3,
    .entry-content h3.elementor-heading-title,
    .entry-content .eael-accordion-tab-title {
        font-size: clamp(1rem, 4vw, 1.1rem) !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
    }

    .entry-content h4,
    .entry-content h5,
    .entry-content h6 {
        font-size: 1rem !important;
        line-height: 1.4 !important;
        font-weight: 600 !important;
    }

    .entry-content p,
    .entry-content li,
    .entry-content .elementor-widget-text-editor,
    .entry-content .elementor-widget-text-editor p {
        font-size: 0.875rem !important;
        font-weight: 400 !important;
        line-height: 1.68 !important;
    }

    .entry-content small,
    .entry-content .washi-page-hero__eyebrow,
    .entry-content [class*="eyebrow"],
    .entry-content [class*="kicker"] {
        font-size: 0.7rem !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        letter-spacing: 0.11em;
    }

    .entry-content .elementor-button,
    .entry-content button,
    .entry-content input[type="submit"] {
        min-height: 44px;
        padding: 11px 20px !important;
        border-radius: 999px;
        font-size: 0.875rem !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
        letter-spacing: 0;
    }

    .entry-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    .entry-content select,
    .entry-content textarea {
        font-size: 16px !important; /* Prevents iOS focus zoom. */
        font-weight: 400 !important;
    }

    .entry-content img,
    .entry-content svg,
    .entry-content video,
    .entry-content iframe {
        max-width: 100%;
    }

    /* Homepage hero: compact editorial scale with more breathing room. */
    .elementor-771 #heroSetion {
        min-height: auto !important;
        padding: 38px var(--ws-mobile-gutter) 42px !important;
    }

    .elementor-771 .elementor-element-0e8261a .elementor-heading-title {
        max-width: 300px;
        margin-inline: auto;
        font-size: clamp(1.55rem, 6.4vw, 1.72rem) !important;
        font-weight: 600 !important;
        line-height: 1.14 !important;
    }

    .elementor-771 .elementor-element-6468efc > .elementor-widget-container {
        margin: 0 !important;
        padding-bottom: 12px !important;
    }

    .elementor-771 .elementor-element-6468efc .elementor-button {
        min-height: 40px;
        padding: 10px 20px !important;
        font-size: 14px !important;
        font-weight: 400 !important;
    }

    .elementor-771 .elementor-element-6468efc .elementor-button-icon {
        width: 20px !important;
        min-width: 20px !important;
        height: 20px !important;
    }

    .elementor-771 .elementor-element-6468efc .elementor-button-icon::before {
        font-size: 23px;
    }

    .elementor-771 .elementor-element-b887f97 .elementor-heading-title {
        max-width: 48ch;
        margin-inline: auto;
        color: #526071 !important;
        font-size: 0.7rem !important;
        font-weight: 400 !important;
        line-height: 1.5 !important;
    }

    .elementor-771 #img {
        width: min(96%, 380px) !important;
        margin: 0 auto !important;
    }

    .elementor-771 #img img {
        width: 100% !important;
        height: auto !important;
    }

    .elementor-771 .washi-faq-section .eael-accordion-tab-title {
        font-size: 0.95rem !important;
        font-weight: 500 !important;
        letter-spacing: -0.01em;
    }
}

@media (max-width: 380px) {
    :root {
        --ws-mobile-gutter: 16px;
    }

    html {
        font-size: 14px;
    }

    .elementor-771 #heroSetion {
        padding-top: 34px !important;
    }
}

/* About mobile fixes must follow all exported Elementor responsive rules. */
@media (max-width: 767px) {
    .elementor-767 .reason:is(:hover,:focus,:active) {background:#fff!important;border-color:#e4e9ed!important;transform:none!important}
    .elementor-767 .reason:is(:hover,:focus,:active) .elementor-heading-title {color:#073447!important}
    .elementor-767 .reason:is(:hover,:focus,:active) > .elementor-widget-heading:last-child .elementor-heading-title {color:#5d6f78!important}
    .elementor-767 .elementor-element-265968d,
    .elementor-767 .elementor-element-3325fd4 {padding:28px 16px!important;gap:14px!important}
    .elementor-767 .elementor-element-9d8561f .elementor-heading-title,
    .elementor-767 .elementor-element-31e10e7 .elementor-heading-title {font-size:.8125rem!important;font-weight:600!important;line-height:1.35!important;letter-spacing:0!important;text-transform:none!important}
    .elementor-767 .process {padding:16px 12px!important;min-height:112px!important}
    .elementor-767 .process h2.elementor-heading-title:not(.elementor-absolute),
    .elementor-767 .process .elementor-absolute.elementor-widget-heading .elementor-heading-title {font-size:.75rem!important;font-weight:500!important;line-height:1.35!important}
    .elementor-767 .elementor-element-d94311b .elementor-heading-title {font-size:.8125rem!important;font-weight:600!important;line-height:1.4!important}
    .elementor-767 :is(.elementor-element-99950a5,.elementor-element-5df09ad,.elementor-element-b2b4fb4,.elementor-element-5c84389,.elementor-element-2dfa497,.elementor-element-7a355b4) .elementor-heading-title {font-size:.75rem!important;font-weight:400!important;line-height:1.5!important}
    .elementor-767 .iBox2 h2.elementor-heading-title {font-size:.75rem!important;font-weight:500!important;line-height:1.35!important}

    /* Match and exceed the global mobile H2 selector's specificity. */
    body .entry-content > .elementor.elementor-767 .elementor-element-9d8561f h2.elementor-heading-title,
    body .entry-content > .elementor.elementor-767 .elementor-element-31e10e7 h2.elementor-heading-title {
        font-size: 0.875rem !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    body .entry-content > .elementor.elementor-767 .elementor-element-d94311b h2.elementor-heading-title {
        font-size: 0.75rem !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
    }

    body .entry-content > .elementor.elementor-767 .elementor-element-99950a5 h2.elementor-heading-title,
    body .entry-content > .elementor.elementor-767 .elementor-element-5df09ad h2.elementor-heading-title,
    body .entry-content > .elementor.elementor-767 .elementor-element-b2b4fb4 h2.elementor-heading-title,
    body .entry-content > .elementor.elementor-767 .elementor-element-5c84389 h2.elementor-heading-title,
    body .entry-content > .elementor.elementor-767 .elementor-element-2dfa497 h2.elementor-heading-title,
    body .entry-content > .elementor.elementor-767 .elementor-element-7a355b4 h2.elementor-heading-title {
        font-size: 0.75rem !important;
        font-weight: 400 !important;
        line-height: 1.45 !important;
    }

    body .entry-content > .elementor.elementor-767 .process h2.elementor-heading-title,
    body .entry-content > .elementor.elementor-767 .iBox2 h2.elementor-heading-title {
        font-size: 0.6875rem !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
    }

    /* Services intro: override exported fixed dimensions and global mobile H2 sizing. */
    body .entry-content > .elementor.elementor-773 .elementor-element-fb2e646 {
        padding: 28px 16px !important;
        gap: 28px !important;
    }

    body .entry-content > .elementor.elementor-773 .elementor-element-837b52e {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 18px !important;
    }

    body .entry-content > .elementor.elementor-773 .elementor-element-5fdb378 {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        gap: 12px !important;
    }

    body .entry-content > .elementor.elementor-773 .elementor-element-28afc6a,
    body .entry-content > .elementor.elementor-773 .elementor-element-72c4ca3 {
        width: 100% !important;
        max-width: 100% !important;
    }

    body .entry-content > .elementor.elementor-773 .elementor-element-28afc6a h2.elementor-heading-title {
        font-size: 1.125rem !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
    }

    body .entry-content > .elementor.elementor-773 .elementor-element-72c4ca3 h2.elementor-heading-title {
        font-size: 0.9375rem !important;
        font-weight: 400 !important;
        line-height: 1.55 !important;
    }

    body .entry-content > .elementor.elementor-773 .elementor-element-72616bb,
    body .entry-content > .elementor.elementor-773 .elementor-element-72616bb > .elementor-widget-container {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    body .entry-content > .elementor.elementor-773 .elementor-element-72616bb img {
        display: block !important;
        width: min(74%, 240px) !important;
        height: auto !important;
        margin: 0 auto !important;
        object-fit: contain !important;
    }
}
