/* Shared responsive layer for all public PT/EN pages. */
/* Keep intrinsic aspect ratios without overriding component image sizes. */
:where(img[width][height]) { width: auto; height: auto; }
:root {
  --body-font: 'Rubik', Arial, Helvetica, sans-serif;
  --heading: 'Nunito', Arial, Helvetica, sans-serif;
  --heading-1: 'Arimo', Arial, Helvetica, sans-serif;
  --heading-2: 'Oswald', Arial, Helvetica, sans-serif;
  --heading-3: 'Jost', Arial, Helvetica, sans-serif;
  --heading-4: 'Poppins', Arial, Helvetica, sans-serif;
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.xr-mobile-toggle { display: none; }
.xr-mobile-dialog { box-sizing: border-box; }
.xr-mobile-dialog:not([open]) { display: none; }
.xr-mobile-dialog[open] {
  position: fixed; inset: 0 0 0 auto; margin: 0; width: min(90vw, 380px);
  max-width: 100%; height: 100%; height: 100dvh; max-height: 100dvh;
  padding: max(20px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) 22px;
  border: 0; border-left: 1px solid #ffffff24; color: #fff; background: #0c0b0e;
  overflow-y: auto; overscroll-behavior: contain; font: 15px/1.5 Arial, Helvetica, sans-serif;
}
.xr-mobile-dialog::backdrop { background: #000b; backdrop-filter: blur(5px); }
.xr-mobile-dialog-head { position: sticky; top: 0; z-index: 1; background: #0c0b0e; display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 24px; }
.xr-mobile-dialog-brand { display: flex; align-items: center; min-height: 44px; }
.xr-mobile-dialog-brand img { width: 138px; height: auto; }
.xr-mobile-close { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; color: white; border: 1px solid #ffffff30; border-radius: 50%; background: #ffffff08; cursor: pointer; }
.xr-mobile-close svg { width: 19px; height: 19px; }
.xr-mobile-dialog nav ul { margin: 0; padding: 0; list-style: none; }
.xr-mobile-dialog nav a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 53px; padding: 14px 0; border-bottom: 1px solid #ffffff17; color: #eeeaf0; text-decoration: none; font-size: 16px; font-weight: 600; }
.xr-mobile-dialog nav a[aria-current="page"] { color: #ff248e; }
.xr-mobile-dialog nav a span { color: #a190a3; font-size: 14px; }
.xr-mobile-dialog-contact { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 16px; margin-top: 26px; background: #ed167e; border-radius: 5px; color: #fff !important; text-align: center; text-decoration: none; font-size: 14px; font-weight: 600; }
.xr-mobile-dialog-language { display: inline-flex; align-items: center; min-height: 44px; margin-top: 14px; color: #cbbccd; font-size: 13px; }
.xr-mobile-dialog :focus-visible, .xr-mobile-toggle:focus-visible { outline: 2px solid #ff80bd; outline-offset: 4px; }
html.xr-mobile-menu-open, html.xr-mobile-menu-open body { overflow: hidden !important; overscroll-behavior: none; }
body.xr-mobile-ready .scrollup { display: none !important; }
body.xr-mobile-ready.xr-page-scrolled .scrollup { display: grid !important; place-items: center; }

@media (max-width: 1024px) {
  .xr-mobile-ready #preloader { display: none !important; }
  .xr-mobile-ready .en-hamburger, .xr-mobile-ready .xr-hamburger,
  .xr-mobile-ready .mobile_menu, .xr-mobile-ready .en-mobile-nav,
  .xr-mobile-ready .xr-mobile-nav, .xr-mobile-ready .en-mobile-nav-backdrop,
  .xr-mobile-ready .xr-mobile-nav-backdrop { display: none !important; }
  .xr-mobile-ready .en-nav, .xr-mobile-ready .ori-main-navigation-area,
  .xr-mobile-ready .en-cta-wa, .xr-mobile-ready .header-whatsapp-btn { display: none !important; }
  .xr-mobile-ready .en-header, .xr-mobile-ready .lp-header,
  .xr-mobile-ready .pe-header, .xr-mobile-ready .lm-header,
  .xr-mobile-ready .ori-header-section {
    position: fixed; top: 0; left: 0; right: 0; width: 100%; min-height: 68px;
    padding: max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));
    background: #080809f5; border-bottom: 1px solid #ffffff14; z-index: 9990;
  }
  .xr-mobile-ready header, .xr-mobile-ready .en-header-right,
  .xr-mobile-ready .lm-header-inner, .xr-mobile-ready .ori-header-content { gap: 10px; }
  .xr-mobile-ready header { display: flex; align-items: center; justify-content: space-between; }
  .xr-mobile-ready header > .lm-container { width: 100%; padding: 0; }
  .xr-mobile-ready .lm-header-inner, .xr-mobile-ready .ori-header-content { display: flex; align-items: center; width: 100%; }
  .xr-mobile-ready .ori-header-content-area { width: 100%; padding: 0; }
  .xr-mobile-ready .ori-header-section .ori-header-content { padding: 0; }
  .xr-mobile-ready .ori-header-section .brand-logo { position: static !important; transform: none !important; width: auto; margin: 0 auto 0 0 !important; }
  .xr-mobile-ready .en-header-right { display: flex; align-items: center; flex-shrink: 0; }
  .xr-mobile-ready header a:has(img) { display: flex; align-items: center; min-height: 44px; flex-shrink: 1; }
  .xr-mobile-ready header img { width: auto; max-width: 140px; max-height: 36px; height: auto; object-fit: contain; }
  .xr-mobile-ready header .brand-logo, .xr-mobile-ready .lm-logo { min-width: 0; margin-right: auto; }
  .xr-mobile-ready header .lang-switcher, .xr-mobile-ready header .en-lang-btn, .xr-mobile-ready header .pe-lang {
    display: inline-flex; align-items: center; justify-content: center; min-width: 68px; min-height: 44px;
    margin-left: auto; padding: 8px 10px; font-size: 11px; letter-spacing: .06em; flex-shrink: 0;
  }
  .xr-mobile-toggle { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; flex-shrink: 0; width: 44px; height: 44px; padding: 10px; border: 1px solid #ffffff21; border-radius: 5px; color: #fff; background: transparent; cursor: pointer; margin-left: auto; }
  .xr-mobile-toggle span { display: block; width: 21px; height: 2px; background: currentColor; border-radius: 2px; }
  .xr-mobile-ready header .lp-header-cta, .xr-mobile-ready header .pe-header-cta, .xr-mobile-ready header .lm-header-cta { display: none; }
  .xr-mobile-ready :is(section[id], main[id]) { scroll-margin-top: calc(84px + env(safe-area-inset-top)); }
  .xr-mobile-ready .project-info-box { position: static; }
  .xr-mobile-ready .mfp-bg { z-index: 10020; }
  .xr-mobile-ready .mfp-wrap { z-index: 10021; }
}

@media (max-width: 768px) {
  html { overflow-x: clip; }
  body { min-width: 0; }
  .container, .lm-container { padding-left: max(20px, env(safe-area-inset-left)); padding-right: max(20px, env(safe-area-inset-right)); }
  :is(.row, .xr-bento-grid, .xrp-product-top, .xrp-metrics, .lm-hero-grid, .en-header-right) > * { min-width: 0; }
  :is(h1,h2,h3,h4,p,li,a,button,label,.value) { overflow-wrap: anywhere; }
  :is(button, a, input, select, textarea) { touch-action: manipulation; }
  :is(button,[role="button"]):focus-visible, a:focus-visible { outline: 2px solid #ff80bd; outline-offset: 3px; }
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { max-width: 100%; font-size: 16px !important; min-height: 48px; }
  img, video { max-width: 100%; }
  video { height: auto; }
  .xr-responsive-embed { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
  .xr-scroll-table { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
  .cursor, .cursor-follower, .mouse-cursor { display: none !important; }

  /* Headings and first-screen spacing, including the English home. */
  .en-hero { padding: 110px 0 52px; min-height: auto; }
  .en-hero h1 { font-size: clamp(26px, 7.8vw, 46px); line-height: 1.1; letter-spacing: -.04em; }
  .en-hero p { font-size: 15px; line-height: 1.75; margin-bottom: 26px; }
  .en-eyebrow, .lp-eyebrow, .case-eyebrow, .pe-eyebrow, .xrp-eyebrow { max-width: 100%; font-size: 10px; letter-spacing: .1em; white-space: normal; }
  .lp-hero, .pe-hero, .lm-hero { padding-top: 112px; padding-bottom: 52px; }
  .lp-hero h1, .pe-hero h1, .lm-hero-headline { font-size: clamp(28px, 8.2vw, 44px); line-height: 1.12; letter-spacing: -.035em; }
  .case-hero { min-height: 440px; min-height: min(72svh, 550px); padding: 110px 0 36px; }
  .case-hero h1 { font-size: clamp(30px, 8.4vw, 44px); line-height: 1.12; }
  .case-hero-meta { gap: 12px; margin-top: 20px; }
  .case-tags { gap: 7px; }
  .case-tag { font-size: 10px; padding: 6px 10px; }
  .case-hero-glow, .lp-hero-glow { max-width: 100vw; }
  .ori-slider-text h1 { font-size: clamp(30px, 8.8vw, 46px); line-height: 1.15; }
  .ori-slider-text h1 i { font-size: .75em; }
  .ori-breadcrumbs-section { padding: 115px 0 45px; }
  .ori-breadcrumb-content { padding: 0; }
  .ori-breadcrumb-content h1 { font-size: clamp(30px, 8.5vw, 46px); line-height: 1.15; }
  .ori-breadcrumb-content li { font-size: 13px; }
  .xr-hero { padding-top: calc(80px + env(safe-area-inset-top)); }
  .xr-hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; max-width: 380px; }
  .xr-hero-actions a { width: 100%; min-height: 50px; justify-content: space-between; padding: 0 18px; font-size: 13px; }
  .xr-hero-signature { font-size: clamp(11px,3vw,14px); letter-spacing: .2em; }
  .xr-hero-scene { height: clamp(275px, 78vw, 350px); }
  .xr-hero-mode { min-height: 46px; font-size: 10px; }
  .xr-hero-mode span { font-size: 9px; }
  .xr-hero-controls { width: 100%; justify-content: space-between; }
  .xr-hero-pause { flex-shrink: 0; }

  /* Comfortable spacing and card layouts. */
  .lp-section, .pe-section, .en-section, .lm-services, .lm-cases, .lm-process, .lm-faq,
  .xr-diferenciais-section, .xr-bento-section, .xr-cases-destaque-section, .xr-faq-section,
  .ori-portfolio-details-section, .ori-blog-feed-section { padding-top: 52px; padding-bottom: 52px; }
  .lp-section-title, .pe-title, .en-section h2, .lm-section-title, .xrp-h2,
  .ori-inner-section-title h2, .xr-bento-lead h2, .xr-cases-destaque-header h2 { font-size: clamp(27px,7.4vw,36px); line-height: 1.18; }
  .lp-section-title[style] { font-size: clamp(27px,7.4vw,34px) !important; }
  .case-desc-text, .lp-section p, .pe-sub, .lm-hero-sub { font-size: 15px; line-height: 1.8; }
  .info-card, .project-info-box { padding: 25px 20px; border-radius: 14px; }
  .info-card p, .solutions-list li { font-size: 14px; line-height: 1.75; }
  .project-info-row { align-items: start; gap: 12px; }
  .project-info-row .label { flex: 0 0 30%; font-size: 11px; }
  .project-info-row .value { flex: 1; min-width: 0; text-align: right; font-size: 13px; line-height: 1.6; }
  .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .gallery-item { border-radius: 10px; }
  .case-numbers { padding: 30px 0; }
  .case-number-item { padding: 18px 6px; }
  .case-number-item .num { font-size: clamp(28px,8vw,38px); }
  .case-number-item p { font-size: 10px; line-height: 1.6; letter-spacing: .05em; color: #b2aeb5; }
  .en-numbers { padding: 30px 0; }
  .en-number-item { padding: 18px 6px; }
  .en-number-item .num { font-size: clamp(32px,9vw,44px); }
  .en-number-item p { font-size: 10px; line-height: 1.6; letter-spacing: .04em; color: #b2aeb5; }
  .en-marquee-section { padding: 36px 0; }
  .lp-logos-wrapper, .en-marquee-wrapper { mask-image: none; -webkit-mask-image: none; }
  .lp-logos-track, .en-marquee-track { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px 16px; width: 100%; animation: none; transform: none; }
  .lp-logo-item, .en-marquee-item { min-width: 0; padding: 0; display: flex; justify-content: center; align-items: center; }
  .lp-logo-item img, .en-marquee-item img { max-width: 100%; width: auto; height: 30px; object-fit: contain; opacity: .8; }
  .xr-logo-duplicate { display: none; }
  .xr-bento-cell, .xr-bento-lead, .xrp-product-info, .xrp-product-side { min-width: 0; }
  .xr-bento-media { min-height: 240px; }
  .xr-bento-lead { padding: 26px 22px; }
  .xr-bento-lead p { font-size: 14px; line-height: 1.75; }
  .xr-bento-ctas { gap: 14px; flex-wrap: wrap; }
  .xr-featured-case-content { padding: 24px 20px; }
  .xr-featured-case-content h3 { font-size: clamp(26px,7vw,36px); }
  .ori-about-play-top-content { flex-direction: column; align-items: start !important; gap: 22px; }
  .ori-about-play-top-text, .ori-inner-section-title { max-width: 100%; width: 100%; }
  .ori-about-play-top-text { font-size: 15px; line-height: 1.8; }
  .ori-service-content-1 { padding-top: 32px; }
  .ori-portfolio-details-text { padding: 24px 0; }
  .ori-blog-sidebar { margin-bottom: 32px; }

  /* CTAs and filters stay readable and usable with a thumb. */
  .en-hero-btns, .lp-hero-btns, .pe-hero-btns, .lm-hero-btns { gap: 12px; }
  .lp-btn-primary, .lp-btn-outline, .lp-btn-secondary, .pe-btn-primary, .pe-btn-outline, .pe-btn-secondary,
  .lm-btn-primary, .lm-btn-secondary, .en-btn-primary, .en-btn-outline, .en-btn-secondary,
  .project-cta, .project-cta-outline, .xrp-btn-primary, .xrp-btn-ghost {
    min-height: 50px; max-width: 100%; padding: 14px 18px; white-space: normal;
    font-size: 13px; line-height: 1.5; letter-spacing: .04em; text-align: center;
  }
  .lp-hero :is(.lp-btn-primary,.lp-btn-outline,.lp-btn-secondary),
  .en-hero-btns a, .pe-hero :is(.pe-btn-primary,.pe-btn-outline,.pe-btn-secondary),
  .lm-hero :is(.lm-btn-primary,.lm-btn-secondary) { width: 100%; justify-content: center; }
  .pg-filter, .en-case-filter, .xr-case-filter, .portfolio-filter button { min-height: 44px; padding: 11px 14px; font-size: 12px; }
  .pg-filters, .en-portfolio-filters, .xr-cases-filters { flex-wrap: wrap; gap: 8px; }
  .back-link { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 14px; }
  .lp-final-cta, .pe-final-cta, .lm-final-cta, .en-cta-section, .xrp-cta { padding: 56px 0; }
  .lp-final-cta h2, .pe-final-cta h2, .lm-final-cta h2, .en-cta-section h2, .xrp-cta h2 { font-size: clamp(28px,8vw,40px); line-height: 1.2; }

  /* Long answers expand to their actual height on narrow screens. */
  .xr-faq-q, .enfaq-q, .vrfaq-faq-q, .lm-faq-q, .xrp-faq-q, .pe-faq-q { min-height: 56px; padding: 18px; gap: 14px; font-size: 15px; text-align: left; }
  .xr-faq-q h3, .enfaq-q h3, .vrfaq-faq-q h3 { font-size: 15px; line-height: 1.5; }
  .xr-faq-item.open .xr-faq-a, .enfaq-item.open .enfaq-a, .vrfaq-faq-item.open .vrfaq-faq-a,
  .xrp-faq-item.open .xrp-faq-a, .pe-faq-item.open .pe-faq-a { max-height: none !important; }
  .xr-faq-a p, .enfaq-a p, .vrfaq-faq-a p, .xrp-faq-a p { font-size: 14px; line-height: 1.8; }

  /* Footer columns, device safe areas and utility controls. */
  .ori-footer-widget-wrapper .row { padding: 0 !important; }
  .ori-footer-widget-wrapper .contact-widget { text-align: left !important; }
  .ori-footer-widget-wrapper .logo-widget { justify-content: start; }
  .ori-footer-widget-wrapper > .row > div { text-align: left; margin-bottom: 28px; }
  .ori-footer-copyright { flex-wrap: wrap; gap: 14px; }
  .en-footer-inner, .en-footer-bottom { align-items: start; flex-direction: column; gap: 20px; }
  .en-footer-contact { text-align: left; }
  .en-footer-links { gap: 8px 20px; }
  .en-footer-links a, .lp-footer a, .pe-footer a, .lm-footer a, .ori-footer-section .contact-info a { display: inline-flex; align-items: center; min-height: 44px; }
  .en-footer-social a, .ori-copyright-social a { display: inline-grid; place-items: center; width: 44px; height: 44px; }
  footer { padding-bottom: max(30px,calc(env(safe-area-inset-bottom) + 22px)); }
  .floating-whatsapp, .lp-float-wa, .lm-float-wa, .pe-float-wa, .en-float-wa, .xr-float-wa {
    width: 48px !important; height: 48px !important;
    right: max(14px,env(safe-area-inset-right)) !important;
    bottom: max(16px,calc(env(safe-area-inset-bottom) + 10px)) !important;
  }
  .floating-whatsapp i, .lp-float-wa i, .lm-float-wa i, .pe-float-wa i, .en-float-wa i, .xr-float-wa i { font-size: 25px !important; }
  .scrollup { width: 44px !important; height: 44px !important; line-height: 44px !important; right: max(16px,env(safe-area-inset-right)) !important; bottom: max(76px,calc(env(safe-area-inset-bottom) + 70px)) !important; }
  .floating-whatsapp-tooltip { display: none !important; }
  .xr-hero-in-view :is(.floating-whatsapp,.lp-float-wa,.lm-float-wa,.pe-float-wa,.en-float-wa,.xr-float-wa) { visibility: hidden; pointer-events: none; }
  body.xr-mobile-ready.xr-hero-in-view .scrollup { display: none !important; }
  #cookiescript_injected { max-width: 100% !important; max-height: 52svh !important; overflow-y: auto !important; box-sizing: border-box !important; }
  #cookiescript_description { font-size: 12px !important; line-height: 1.6 !important; }
  #cookiescript_accept, #cookiescript_reject, #cookiescript_save { min-height: 44px !important; }
  .mfp-image-holder .mfp-close { right: 0; min-width: 44px; min-height: 44px; }
  .mfp-img { max-height: calc(100svh - 80px) !important; object-fit: contain; }
}
@media (max-width: 380px) {
  .xr-mobile-ready header img { max-width: 122px; }
  .xr-mobile-ready header .lang-switcher, .xr-mobile-ready header .en-lang-btn { min-width: 65px; padding: 8px; }
  .gallery-grid, .lm-cases-grid, .lm-process-grid { grid-template-columns: 1fr; }
  .xr-hero-mode { padding: 10px 5px; font-size: 9px; }
  .xr-hero-mode span { font-size: 8px; margin-right: 3px; }
  .xr-hero-pause { margin-left: 2px; }
  .en-hero h1 { font-size: 26px; }
  .xrp-metrics { grid-template-columns: 1fr; }
}
@media (hover: none) {
  .gallery-item-overlay { background: linear-gradient(transparent 55%,#0006); align-items: end; justify-content: end; padding: 12px; }
  .gallery-item-overlay i { opacity: 1; transform: none; font-size: 18px; }
  .xr-mobile-ready .info-card:hover, .xr-mobile-ready .lm-service-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .xr-mobile-dialog *, .xr-mobile-toggle, .case-eyebrow-dot { animation: none !important; transition: none !important; }
  .lp-logos-track, .en-marquee-track, .xr-marquee-track, .line_animation .line_area::after { animation: none !important; }
}

/* ============================================================
   Cabeçalho XR Studio — o mesmo em todas as páginas principais.
   Fonte única: as páginas que ainda trazem estas regras inline
   (index, martech, projetos) devem migrar para cá.
   Markup esperado: <header class="en-header"> + .en-mobile-nav,
   comportamento em assets/js/xr-header.js.
   ============================================================ */

.en-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 9990;
	/* Sem esta linha o menu herdava a fonte de cada pagina — Rubik na home,
	   Inter em live-mkt e projetos-especiais, Arimo em projetos, Arial em
	   sites-imersivos — e o mesmo 13px rendia larguras diferentes. A fonte
	   vem do <link> do Google Fonts que acompanha esta folha em cada pagina. */
	font-family: 'Rubik', Arial, Helvetica, sans-serif;
	display: flex; align-items: center; justify-content: space-between;
	padding: 18px 48px;
	background: rgba(8,8,8,0.92);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.en-header img { height: 38px; }
.en-header-right { display: flex; align-items: center; gap: 16px; }
.en-nav { display: flex; align-items: center; gap: 28px; list-style: none; margin: 0; padding: 0; }
.en-nav a { color: rgba(255,255,255,0.6); font-size: 13px; font-weight: 600; text-decoration: none; letter-spacing: 0.06em; text-transform: uppercase; transition: color 200ms; }
.en-nav a:hover { color: #FF248E; }
.en-cta-wa {
	display: inline-flex; align-items: center; gap: 8px;
	background: linear-gradient(135deg,#FF248E,#d4006e);
	color: #fff !important; font-size: 13px; font-weight: 700;
	padding: 12px 24px; border-radius: 50px; letter-spacing: 0.06em;
	text-transform: uppercase; text-decoration: none;
	transition: 300ms all ease; box-shadow: 0 4px 20px rgba(255,36,142,0.35);
}
.en-cta-wa:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(255,36,142,0.5); }
.en-lang-btn {
	display: inline-flex; align-items: center; gap: 5px;
	border: 1px solid rgba(255,255,255,0.18); color: rgba(255,255,255,0.55) !important;
	font-size: 12px; font-weight: 700; padding: 8px 14px; border-radius: 50px;
	text-decoration: none; letter-spacing: 0.1em; text-transform: uppercase;
	transition: 300ms all ease;
}
.en-lang-btn:hover { border-color: #FF248E; color: #FF248E !important; }
.en-lang-active { color: #FF248E; }

/* Mobile menu (hamburger + drawer) */
.en-hamburger {
	display: none;
	flex-direction: column; justify-content: center; align-items: center; gap: 5px;
	width: 40px; height: 40px; background: transparent; border: none; padding: 0;
	cursor: pointer; flex-shrink: 0;
}
.en-hamburger span { display: block; width: 22px; height: 2px; background: #fff; border-radius: 2px; transition: 300ms all ease; }
.en-hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.en-hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.en-hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.en-mobile-nav-backdrop {
	position: fixed; inset: 0; background: rgba(0,0,0,0.55);
	z-index: 9988; opacity: 0; pointer-events: none; transition: opacity 300ms ease;
}
.en-mobile-nav-backdrop.is-open { opacity: 1; pointer-events: auto; }

.en-mobile-nav {
	font-family: 'Rubik', Arial, Helvetica, sans-serif;
	position: fixed; top: 0; right: 0; height: 100%; width: min(82vw, 320px);
	background: rgba(8,8,8,0.98); backdrop-filter: blur(14px);
	border-left: 1px solid rgba(255,255,255,0.08);
	z-index: 9989; padding: 100px 32px 32px;
	transform: translateX(100%); transition: transform 350ms ease;
	display: flex; flex-direction: column; gap: 28px; overflow-y: auto;
}
.en-mobile-nav.is-open { transform: translateX(0); }
.en-mobile-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.en-mobile-nav ul a {
	display: block; padding: 16px 0; color: #fff; font-size: 17px; font-weight: 600;
	text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.08);
	text-transform: uppercase; letter-spacing: 0.04em;
}
.en-mobile-nav ul a:hover, .en-mobile-nav ul a:active { color: #FF248E; }
.en-mobile-nav-cta {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	background: linear-gradient(135deg,#FF248E,#d4006e); color: #fff !important;
	font-size: 14px; font-weight: 700; padding: 15px 24px; border-radius: 50px;
	text-decoration: none; letter-spacing: 0.06em; text-transform: uppercase;
}
body.en-nav-open { overflow: hidden; }

/* Tablet + mobile: o nav completo (5 itens + CTA + idioma) não cabe — vira hambúrguer */
@media (max-width: 1024px) {
	.en-nav { display: none; }
	.en-hamburger { display: flex; }
	.en-header { padding: 16px 28px; }
}
@media (max-width: 768px) {
	.en-header { padding: 14px 20px; }
	.en-cta-wa span { display: none; }
}

/* Item da página atual — o único acréscimo ao bloco da home. */
.en-nav a.is-current { color: #FF248E; }
.en-mobile-nav ul a.is-current { color: #FF248E; }

/* O cabeçalho é fixo: páginas cujo topo encostava num header estático
   ganham este respiro via .xr-header-offset no primeiro bloco. */
.xr-header-offset { padding-top: 76px; }
@media (max-width: 1024px) { .xr-header-offset { padding-top: 70px; } }
@media (max-width: 768px)  { .xr-header-offset { padding-top: 64px; } }

/* Seis itens não cabem entre 1024 e 1200px: nesta faixa o nav vira
   hambúrguer. A regra vivia em xr-special-brand.css, que nem toda
   página carrega — como o cabeçalho é o mesmo em todas, ela vem junto. */
@media (max-width: 1200px) {
	.xr-has-sites-nav .en-nav { display: none; }
	.xr-has-sites-nav .en-hamburger { display: flex; }
}

/* O ícone do WhatsApp no drawer é SVG inline: sem esta regra ele cai no
   tamanho intrínseco (300x150) nas páginas que não definem .xr-svg-icon. */
.en-mobile-nav-cta svg { display: inline-block; width: 1em; height: 1em; fill: currentColor; vertical-align: -0.125em; }

/* No mobile quem aparece e o menu compartilhado do xr-responsive.js, montado
   no <body>. Ele ja era uniforme entre as paginas, mas em Arial: o atalho
   `font:` de .xr-mobile-dialog[open] (xr-responsive.css) fixa a familia junto
   com o tamanho. Repetimos aquela especificidade para alinhar o menu mobile
   ao cabecalho, sem mexer em xr-responsive.css — que as paginas de case usam
   sem carregar a Rubik. */
.xr-mobile-dialog[open], .xr-mobile-toggle { font-family: 'Rubik', Arial, Helvetica, sans-serif; }
