/*=====================================================
  IRSA brand layer — loaded after the Babun theme CSS.
  Brand palette (ratios: light 60% · dark 25% · signal 10% · teal 5%):
  dark #0A5B54 · teal #1E978E · signal #2FD164 · ink #111B21
  Signal green marks decisions/actions only — never large backgrounds.
=====================================================*/

@import url("../fonts/IBMPlexSansArabic/plex-arabic.css");
@import url("../fonts/BrandLatin/brand-latin.css");

/*---------- Arabic typography ----------*/
/* The template base is 20px — oversized for body copy; 17px reads as a
   professional corporate measure while staying above the 16px mobile floor. */
body {
  font-family: "Inter", "IBM Plex Sans Arabic", "Satoshi", sans-serif;
  font-size: 17px;
}
h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", "IBM Plex Sans Arabic", "Satoshi", sans-serif;
}
/* The template's display sizes are tuned for a Latin display font;
   Arabic needs smaller sizes and taller line-height. */
h1 { font-size: clamp(34px, 4.6vw, 60px); line-height: 1.35; }
h2 { font-size: clamp(27px, 3.4vw, 44px); line-height: 1.4; }
h3 { line-height: 1.45; }
h4 { line-height: 1.5; }
p  { line-height: 1.9; }
.text-xl { font-size: clamp(18px, 15px + 0.6vw, 21px); line-height: 1.8; }
.text-lg { font-size: clamp(17px, 15px + 0.4vw, 19px); line-height: 1.9; }
.address-block-one .title { font-family: inherit; }
/* the template pins the nav links to Satoshi (Latin-only) — realign with the site font */
.theme-main-menu .nav-item .nav-link {
  font-family: "Inter", "IBM Plex Sans Arabic", "Satoshi", sans-serif;
  font-size: 16px;
}

/* Faster taps on mobile (remove the 300ms delay) + no default grey tap flash; our own
   hover/active/focus states already convey feedback. No visual change on desktop. */
a, button, summary, [role="button"], .nav-link, .irsa-lang, .hero-node, .scroll-top {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
/* Keyboard skip link — off-screen until focused (accessibility) */
.irsa-skip {
  position: absolute; inset-inline-start: 12px; top: -64px; z-index: 100000;
  background: #0A5B54; color: #fff; padding: 10px 18px; border-radius: 0 0 10px 10px;
  font-weight: 600; text-decoration: none; transition: top 0.2s ease;
}
.irsa-skip:focus { top: 0; outline: 3px solid #2FD164; outline-offset: 2px; }

/* Latin fragments inside RTL text (domains, brand, numbers) */
.ltr {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
}

/* Anchor sections land below the fixed header */
#home, #services, #about, #sectors, #solutions, #ecosystem, #partners, #contact,
#problem, #packages, #process, #industries, #why, #supply, #cta {
  scroll-margin-top: 100px;
}
html { scroll-behavior: smooth; }

/*---------- Header / logo ----------*/
/* The lockup stays whole (mark + wordmark + IRSA.LTD) — sized to the tallest
   header sibling (desktop CTA ~50px, mobile toggler 44px) so the menu height
   never changes. Mark-only usage is reserved for tiny contexts (favicon). */
.irsa-logo-img {
  height: 48px;
  width: auto;
  display: block;
}
@media (max-width: 991px) {
  .theme-main-menu .irsa-logo-img { height: 44px; }
}
.navbar-collapse .irsa-logo-img { height: 40px !important; }
.footer-one .irsa-logo-img { height: 44px; }

/*---------- Hero — light, per the identity guidelines website mockup ----------*/
.hero-banner-one {
  background: linear-gradient(180deg, #F3F4F5 0%, #FFFFFF 100%);
}
/* global-network pattern: quiet dot grid fading in from the corner */
.hero-banner-one::before {
  background: radial-gradient(rgba(10, 91, 84, 0.12) 1.2px, transparent 1.2px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(ellipse at 12% 88%, #000 0%, transparent 58%);
  mask-image: radial-gradient(ellipse at 12% 88%, #000 0%, transparent 58%);
}
.hero-banner-one .hero-heading {
  background: none;
  padding: 0;
  color: #0A5B54;
}
.hero-banner-one .hero-heading .accent {
  background: linear-gradient(90deg, #2FD164 0%, #0A5B54 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #0C6B63;
}
.hero-banner-one .text-xl { color: #5F676A; }
/* Section-intro paragraphs read as muted graphite everywhere (was the template's near-black),
   matching the hero description and card body text for a consistent look. */
.block-feature-one .text-lg { color: #5F676A; }
.hero-banner-one .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 500;
  word-spacing: 2px;
  color: #0C6B63;
  margin-bottom: 25px;
}
.hero-banner-one .hero-eyebrow .bar {
  display: inline-block;
  width: 34px;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, #2FD164, #0A5B54);
}
.hero-banner-one .more-btn {
  border-color: rgba(10, 91, 84, 0.3);
  color: #0A5B54;
  right: auto;
  left: 4%;
  top: auto;
  bottom: 8%;
}
/* Floating sparkles (template shapes + keyframes) */
.irsa-hero-sparkle-1 {
  width: 26px;
  top: 24%;
  left: 45%;
  z-index: 1;
  animation: jumpTwo 6s infinite linear;
}

.block-feature-one .shape_01 { animation: jumpTwo 6s infinite linear; }
.block-feature-one .shape_02 { animation: jumpThree 6s infinite linear; }

/*---------- Operating model steps ----------*/
.irsa-step {
  height: 100%;
  padding: 30px 0 10px;
  border-top: 2px solid #E9E9E9;
  transition: border-color 0.3s ease-in-out;
}
.irsa-step:hover { border-top-color: #2FD164; }
.irsa-step .num {
  display: block;
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  color: #1E978E;
  opacity: 0.5;
  margin-bottom: 18px;
}
.irsa-step h4 { font-size: 20px; margin-bottom: 12px; }
.irsa-step p { font-size: 16px; line-height: 1.8; margin: 0; }

/*---------- Contact ----------*/
/* The template only pads/rounds .bg-wrapper when it sits inside .contact-us-section.
   The restructured contact page wraps it in .block-feature-one, so restore the card
   look here (rounded, padded, contained) — matches the brand panel radius (30px). */
.bg-wrapper.light-bg {
  border-radius: 30px;
  padding: 50px 50px 45px;
}
@media (max-width: 767px) {
  .bg-wrapper.light-bg { padding: 30px 22px 26px; border-radius: 22px; }
}
/* select styled to match the template's input fields (60px white rounded) */
.form-style-one .input-group-meta select {
  width: 100%;
  max-width: 100%;
  height: 60px;
  padding: 0 20px 0 48px;
  border: none;
  border-radius: 8px;
  background-color: #fff;
  font-size: 18px;
  font-family: inherit;
  color: rgba(0, 0, 0, 0.7);
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%230A5B54' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 20px center;
  cursor: pointer;
}
.form-style-one .input-group-meta select:invalid { color: rgba(0, 0, 0, 0.4); }
.form-style-one .irsa-wa-submit {
  line-height: 60px;
  border-radius: 8px;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0;
}
.irsa-wa-submit i { font-size: 20px; margin-inline-end: 8px; vertical-align: middle; }
.irsa-mail-alt { font-size: 15px; color: rgba(0, 0, 0, 0.55); }
.irsa-mail-alt a { color: #0A5B54; font-weight: 500; }
.irsa-mail-alt a:hover { color: #1E978E; }
.address-block-one p a.call,
.address-block-one p a.webaddress { direction: ltr; unicode-bidi: isolate; display: inline-block; }
.map-banner { border-radius: 30px; overflow: hidden; background: #F3F4F5; }
.map-banner iframe { display: block; border: 0; min-height: 380px; filter: grayscale(35%); }

/*---------- Footer ----------*/
/* the template colors only <a> tags inside footer lists; the plain-text
   address line needs the same light color */
.footer-one .footer-nav-link li { color: rgba(255, 255, 255, 0.82); }
.footer-one .legal-name {
  font-size: 14px;
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.78);
}

/*---------- Legal / institutional panel (About) ----------*/
.irsa-legal-panel {
  background: #F3F4F5;
  border-radius: 30px;
  padding: 45px 45px 25px;
}
.irsa-legal-panel .label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #0A5B54;
  margin-bottom: 10px;
}
.irsa-legal-panel p {
  font-size: 16px;
  line-height: 1.9;
  color: #111B21;
}
@media (max-width: 767px) {
  .irsa-legal-panel { padding: 30px 25px 10px; }
}

/*---------- Floating WhatsApp ----------*/
.irsa-whatsapp {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #2FD164;
  color: #111B21;
  font-size: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 25px rgba(10, 91, 84, 0.3);
  transition: all 0.3s ease-in-out;
}
.irsa-whatsapp:hover {
  background: #0A5B54;
  color: #fff;
  transform: translateY(-3px);
}

/*---------- Misc ----------*/
/* theme.js fades this in after 200px of scroll; hide it until then */
.scroll-top { display: none; }

/* The template paints a fixed-proportion tint (top -> bottom:17%) sized for
   the demo's content height; with IRSA content it cuts mid-section.
   Sections that need a tinted band use .light-bg-deep (full height) instead. */
.block-feature-one::before { display: none; }

/*---------- Small screens ----------*/
@media (max-width: 767px) {
  .hero-banner-one .hero-heading br { display: none; }
  .irsa-step { padding-top: 22px; }
}

/*=====================================================
  IRSA brand palette — overrides of Babun component colors
  Ratios: light 60% · dark #0A5B54 25% · signal #2FD164 10% · teal #1E978E 5%
  Approved contrast: #0A5B54/#FFF 7.67 · #2FD164/#111B21 8.80 · #1E978E/#FFF 4.14
=====================================================*/
h1, h2, h3, h4, h5, h6 { color: #0A5B54; }
.title-one .upper-title { color: #0C6B63; }
/* Preloader — the IRSA mark builds on load instead of the Latin "IRSA" letters.
   Three petals rise + grow (left→right stagger), then breathe gently, echoing
   the hero's rising-panels motion. Falls back to a static mark under the
   reduced-motion block below. */
.irsa-preloader-mark { display: flex; align-items: center; justify-content: center; }
.irsa-preloader-mark .pl-mark {
  width: clamp(92px, 22vw, 122px);
  height: auto;
  display: block;
  overflow: visible;
  filter: drop-shadow(0 16px 32px rgba(10, 91, 84, 0.22));
}
/* preloader mark = the IRSA panels, animated as a loading sequence, then flown to the hero mark on exit */
.pl-mark { transition: transform 0.9s cubic-bezier(0.55, 0.05, 0.2, 1); }
.pl-panel { transform-box: fill-box; transform-origin: 50% 100%; animation: plLoad 1.15s ease-in-out infinite; }
.pl-panel.p1 { animation-delay: 0s; }
.pl-panel.p2 { animation-delay: 0.16s; }
.pl-panel.p3 { animation-delay: 0.32s; }
@keyframes plLoad {
  0%, 100% { transform: translateY(13px); opacity: 0.6; }
  50%      { transform: translateY(-13px); opacity: 1; }
}
/* exit hand-off: fade the white backdrop while the mark flies to the hero position */
#irsa-preloader .ctn-preloader { transition: background-color 0.55s ease, opacity 0.5s ease; }
#irsa-preloader.irsa-pre-exit .ctn-preloader { background-color: transparent !important; }

/* dark surfaces — the official brand gradient */
.footer-one { background: linear-gradient(135deg, #0C6B63 0%, #0A5B54 60%, #07423D 100%); }
/* light header (hero is light per the guidelines) */
.theme-main-menu.menu-style-one { border-bottom: 1px solid rgba(10, 91, 84, 0.1); }
.theme-main-menu.white-vr .nav-item .nav-link { color: #0A5B54; }
.theme-main-menu.white-vr.fixed { background: #fff; box-shadow: 0 13px 35px -12px rgba(10, 91, 84, 0.12); }
@media screen and (max-width: 991px) {
  .white-vr .navbar-collapse { background-color: #fff; }
  .white-vr .navbar-collapse .nav-link { color: #0A5B54; }
}

/* signal green = decision & action (10%) */
.btn-one { background-color: #0A5B54; color: #fff; }
.btn-one:hover { background-color: #2FD164; color: #0A5B54; }
.btn-two { border-color: #0A5B54; color: #0A5B54; }
.btn-two:hover { background: #0A5B54; border-color: #0A5B54; color: #fff; }
.btn-four { background-color: #0A5B54; color: #fff; }
.btn-four:hover { background-color: #2FD164; color: #0A5B54; }
/* WhatsApp keeps Growth Green as its own channel color */
.form-style-one .irsa-wa-submit { background-color: #2FD164 !important; color: #0A5B54 !important; }
.form-style-one .irsa-wa-submit:hover { background-color: #0A5B54 !important; color: #fff !important; }
.scroll-top {
  width: 48px;
  height: 48px;
  line-height: 46px;
  left: 20px;
  bottom: 20px;
  background: #fff;
  color: #0A5B54;
  border: 1px solid rgba(10, 91, 84, 0.25);
  box-shadow: 0 10px 25px rgba(10, 91, 84, 0.18);
}
.scroll-top:hover { background: #0A5B54; color: #fff; }
.scroll-top::after { display: none; }
.card-style-two { border-color: rgba(10, 91, 84, 0.12); box-shadow: 0 2px 6px rgba(10, 91, 84, 0.04); }
.card-style-two:hover {
  background: #fff;
  border-color: rgba(47, 209, 100, 0.65);
  transform: translateY(-4px);
  box-shadow: 0 16px 30px rgba(10, 91, 84, 0.10);
}
.card-style-two .arrow-btn { opacity: 0.85; }
.hero-banner-one .more-btn:hover { background: #2FD164; border-color: #2FD164; color: #111B21; }

/* teal accents (5%) */
.address-block-one .icon { background: #0A5B54; }
.navbar-toggler { background: #2FD164 !important; }
.theme-main-menu .navbar-toggler::before,
.theme-main-menu .navbar-toggler::after,
.theme-main-menu .navbar-toggler span { background: #0A5B54; }

/*=====================================================
  Polish pass — international-standard details
=====================================================*/
/* remaining Babun greens purged from interactive surfaces */
.theme-main-menu.white-vr .nav-item:hover .nav-link,
.theme-main-menu.white-vr .nav-item .nav-link.active { color: #1E978E; }
.address-block-one p .call, .address-block-one p .webaddress { color: #0A5B54; }
.address-block-one p .call:hover, .address-block-one p .webaddress:hover { color: #1E978E; }
.theme-main-menu .navbar-toggler::before,
.theme-main-menu .navbar-toggler::after,
.theme-main-menu .navbar-toggler span { background: #111B21; }
::-webkit-scrollbar-thumb { background: #0A5B54; }
html { scrollbar-color: #0A5B54 #fff; }

/* keyboard focus visibility (template strips all outlines) */
a:focus-visible, button:focus-visible {
  outline: 2px solid #0A5B54;
  outline-offset: 3px;
  border-radius: inherit;
}
.hero-banner-one :focus-visible,
.footer-one :focus-visible,
.irsa-cta-band :focus-visible,
.theme-main-menu :focus-visible,
.irsa-whatsapp:focus-visible,
.scroll-top:focus-visible { outline-color: #2FD164; }
.form-style-one .input-group-meta input,
.form-style-one .input-group-meta textarea,
.form-style-one .input-group-meta select { border: 1px solid transparent; transition: border-color 0.2s, box-shadow 0.2s; }
.form-style-one .input-group-meta input:focus,
.form-style-one .input-group-meta textarea:focus,
.form-style-one .input-group-meta select:focus {
  border-color: #1E978E;
  box-shadow: 0 0 0 3px rgba(30, 151, 142, 0.18);
}
.card-style-two:has(.stretched-link:focus-visible) {
  border-color: #0A5B54;
  box-shadow: 0 0 0 2px #0A5B54;
}

/* form field details */
.form-style-one .input-group-meta input::placeholder,
.form-style-one .input-group-meta textarea::placeholder { color: rgba(0, 0, 0, 0.4); opacity: 1; }

/* one button system: 50px pill, weight 600 */
.btn-one, .btn-two, .btn-four { white-space: nowrap; }
.btn-one, .btn-four { line-height: 50px; font-size: 18px; font-weight: 600; border-radius: 40px; }
.btn-two { line-height: 48px; font-size: 18px; font-weight: 600; border-radius: 40px; padding: 0 30px; }
.form-style-one .btn-four { letter-spacing: 0; text-transform: none; font-size: 18px; font-weight: 600; }

/* card-style-one icons: brand-tinted resting chip */
.card-style-one .icon { background: #F3F4F5; }
.card-style-one:hover .icon { background: rgba(47, 209, 100, 0.16); }

/*=====================================================
  Unified icon system — ONE family (Bootstrap Icons),
  one brand color, size set per context by a single token.
  Replaces the old mixed custom SVG set (outline + fill +
  duotone + cutout) so every icon shares the same monoline
  weight and renders at a consistent, right-sized box.
=====================================================*/
.irsa-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  color: #0A5B54;
}
/* sector / service grid cards (card-style-two): bare, start-aligned glyph */
.card-style-two .irsa-ico {
  align-self: flex-start;   /* start = right in RTL, left in LTR */
  font-size: 32px;
  margin-bottom: 8px;
}
/* feature / about media cards (card-style-one): glyph inside the round chip */
.card-style-one .icon { width: 58px; height: 58px; }
.card-style-one .icon .irsa-ico { font-size: 24px; }
/* contact: white glyph inside the dark circle */
.address-block-one .icon { width: 70px; height: 70px; }
.address-block-one .icon .irsa-ico { font-size: 28px; color: #fff; }

/* light tints re-derived from the brand hue (template sage -> teal family) */
.light-bg { background-color: #F3F4F5; }
.light-bg-deep { background-color: #F3F4F5; }

/* contact link parity */
.irsa-contact-link { font-size: 18px; font-weight: 500; }

/* the fixed WhatsApp FAB must not cover the bottom-footer line */
@media (min-width: 1200px) {
  .footer-one .bottom-footer .d-xl-flex { padding-inline-end: 84px; }
}

/*---------- Language switcher (paired with the header CTA: 50px pill, radius 40) ----------*/
.irsa-lang {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 0 24px;
  border: 1px solid rgba(10, 91, 84, 0.35);
  border-radius: 40px;
  font-family: "Inter", "IBM Plex Sans Arabic", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #0A5B54;
  white-space: nowrap;
  transition: all 0.25s ease-in-out;
}
.irsa-lang:hover { background: #0A5B54; border-color: #0A5B54; color: #fff; }
@media (max-width: 991px) {
  .theme-main-menu .irsa-lang { height: 44px; padding: 0 20px; font-size: 15px; }
}
.navbar-collapse .irsa-lang { margin: 18px 12px 0; }

/*=====================================================
  Reduced motion — honor the OS "reduce motion" setting.
  The template ships continuous decorative loops (rising
  panels, orbit, sparkles, rotations) and WOW scroll
  reveals with no reduced-motion path. Here we near-zero
  every animation/transition, stop infinite loops, keep
  WOW-hidden content permanently visible, and disable
  smooth scrolling. (The partners auto-slider is JS-driven
  and is paused separately in each page's inline script.)
=====================================================*/
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  html { scroll-behavior: auto; }
  /* WOW.js hides elements until their reveal animation runs; keep them shown */
  .wow { visibility: visible !important; }
}

/*=====================================================
  RESTRUCTURE 2026 — Business Systems, Automation & AI
  New components for the technology-first positioning.
  Reuses the brand tokens above (dark #0A5B54 · teal #1E978E
  · signal #2FD164 · soft gray #F3F4F5 · graphite #5F676A).
=====================================================*/

/*---------- Hero graphic: prominent animated IRSA mark + 10 capability nodes with two-way data flow ----------*/
.irsa-hero-graphic { position: relative; width: 100%; max-width: 500px; margin-inline-start: auto; aspect-ratio: 1 / 1; }
/* data-flow layer: dashed links + particles travelling both ways */
.irsa-hero-graphic .hero-flow { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; z-index: 0; }
.irsa-hero-graphic .hero-flow .flow-line { stroke: #1E978E; stroke-width: 1.2; fill: none; opacity: 0.22; stroke-dasharray: 4 7; animation: irsaDash 4s linear infinite; }
.irsa-hero-graphic .hero-flow .flow-dot { filter: drop-shadow(0 0 3px rgba(47, 209, 100, 0.7)); }
/* soft halo pulsing behind the mark */
.irsa-hero-graphic .hero-halo {
  position: absolute; top: 50%; left: 50%; width: 54%; height: 54%; transform: translate(-50%, -50%); border-radius: 50%; z-index: 1;
  background: radial-gradient(circle, rgba(47, 209, 100, 0.18), rgba(47, 209, 100, 0) 68%); animation: haloPulse 6s ease-in-out infinite;
}
/* the official IRSA mark, prominent motion */
.irsa-hero-graphic .hero-mark { position: absolute; top: 50%; left: 50%; width: 31%; z-index: 2; transform: translate(-50%, -50%); }
.irsa-hero-graphic .hero-mark svg { width: 100%; height: auto; display: block; overflow: visible; filter: drop-shadow(0 18px 34px rgba(10, 91, 84, 0.28)); }
.irsa-hero-graphic .hero-mark .panel { transform-box: fill-box; transform-origin: 50% 100%; }
.irsa-hero-graphic .hero-mark .panel.p1 { animation: panelRiseA 3s ease-in-out infinite; }
.irsa-hero-graphic .hero-mark .panel.p2 { animation: panelRiseB 3s ease-in-out infinite; }
.irsa-hero-graphic .hero-mark .panel.p3 { animation: panelRiseC 2.4s ease-in-out infinite; }
/* capability nodes (icons) — orbit in/out at varying distances */
.irsa-hero-graphic .hero-node { position: absolute; transform: translate(-50%, -50%); z-index: 3; }
.irsa-hero-graphic .hero-node-inner {
  width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
  background: #fff; border: 1px solid rgba(10, 91, 84, 0.12); box-shadow: 0 10px 22px rgba(10, 91, 84, 0.14);
  color: #0A5B54; font-size: 20px; animation: nodeBreath 4s ease-in-out infinite;
}
.irsa-hero-graphic .hero-node-inner i { line-height: 1; }
/* Elegant on tablet & mobile: center the graphic below the hero text and scale it down */
@media (max-width: 991px) {
  .irsa-hero-graphic { margin: 48px auto 4px; max-width: 420px; }
}
@media (max-width: 767px) {
  .irsa-hero-graphic { max-width: min(340px, 86vw); margin-top: 36px; }
  .irsa-hero-graphic .hero-node-inner { width: 40px; height: 40px; border-radius: 12px; font-size: 17px; }
  .hero-banner-one .irsa-hero-sparkle-1 { display: none; }
}
@keyframes irsaDash { to { stroke-dashoffset: -22; } }
@keyframes haloPulse { 0%, 100% { opacity: 0.65; transform: translate(-50%, -50%) scale(0.88); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); } }
/* panels bob vertically only — constant size; p1 & p2 move in opposite directions for clear contrast */
@keyframes panelRiseA { 0%, 100% { transform: translateY(-24px); } 50% { transform: translateY(24px); } }
@keyframes panelRiseB { 0%, 100% { transform: translateY(24px); } 50% { transform: translateY(-24px); } }
@keyframes panelRiseC { 0%, 100% { transform: translateY(-16px); } 50% { transform: translateY(20px); } }
@keyframes nodeBreath { 0%, 100% { transform: translate(calc(var(--dx) * -11px), calc(var(--dy) * -11px)); } 50% { transform: translate(calc(var(--dx) * 13px), calc(var(--dy) * 13px)); } }

/*---------- Sub-page hero (Solutions, Industries, Packages, About, Contact) ----------*/
.irsa-subhero {
  background: linear-gradient(180deg, #F3F4F5 0%, #FFFFFF 100%);
  padding: 200px 0 70px;
  position: relative;
  border-bottom: 1px solid rgba(10, 91, 84, 0.08);
}
@media (max-width: 991px) { .irsa-subhero { padding: 150px 0 50px; } }
.irsa-subhero .upper-title { color: #0C6B63; }
.irsa-subhero h1 { color: #0A5B54; margin-bottom: 18px; }
.irsa-subhero h1 .accent {
  background: linear-gradient(90deg, #2FD164 0%, #0A5B54 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: #0C6B63;
}
.irsa-subhero p { color: #5F676A; max-width: 640px; }

/*---------- Breadcrumbs ----------*/
.irsa-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; list-style: none; padding: 0; margin: 0 0 22px; font-size: 14px; }
.irsa-breadcrumb li { display: flex; align-items: center; gap: 8px; color: #5F676A; }
.irsa-breadcrumb a { color: #0C6B63; font-weight: 500; }
.irsa-breadcrumb a:hover { color: #1E978E; }
.irsa-breadcrumb li[aria-current="page"] { color: #5F676A; }
.irsa-breadcrumb .sep { color: rgba(10, 91, 84, 0.4); font-size: 12px; }

/*---------- Problem cards ----------*/
.irsa-problem-card {
  height: 100%;
  padding: 30px 28px;
  background: #fff;
  border: 1px solid rgba(10, 91, 84, 0.12);
  border-radius: 18px;
  transition: all 0.3s ease-in-out;
}
.irsa-problem-card:hover { border-color: rgba(47, 209, 100, 0.6); transform: translateY(-4px); box-shadow: 0 16px 30px rgba(10, 91, 84, 0.08); }
.irsa-problem-card .icon {
  width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
  background: rgba(10, 91, 84, 0.07); color: #0A5B54; font-size: 24px; margin-bottom: 20px;
}
.irsa-problem-card h4 { font-size: 19px; margin-bottom: 10px; }
.irsa-problem-card p { font-size: 15.5px; line-height: 1.8; color: #5F676A; margin: 0; }

/*---------- Solution pillars ----------*/
.irsa-solution {
  height: 100%;
  padding: 40px 38px;
  background: #fff;
  border: 1px solid rgba(10, 91, 84, 0.12);
  border-radius: 22px;
  transition: all 0.3s ease-in-out;
  display: flex; flex-direction: column;
}
.irsa-solution:hover { border-color: rgba(47, 209, 100, 0.55); box-shadow: 0 20px 40px rgba(10, 91, 84, 0.09); transform: translateY(-4px); }
.irsa-solution .sol-head { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.irsa-solution .sol-ico {
  flex-shrink: 0; width: 58px; height: 58px; border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(47, 209, 100, 0.16), rgba(10, 91, 84, 0.10)); color: #0A5B54; font-size: 28px;
}
.irsa-solution h3 { font-size: 22px; margin: 0; }
.irsa-solution .sol-desc { font-size: 16px; line-height: 1.85; color: #5F676A; margin-bottom: 22px; }
.irsa-svc-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 24px; }
.irsa-svc-list li {
  font-size: 13.5px; font-weight: 500; color: #0C6B63;
  background: rgba(10, 91, 84, 0.05); border: 1px solid rgba(10, 91, 84, 0.12);
  border-radius: 30px; padding: 5px 13px; line-height: 1.6;
}
.irsa-solution .sol-link { margin-top: auto; align-self: flex-start; font-weight: 600; color: #0A5B54; display: inline-flex; align-items: center; gap: 8px; }
.irsa-solution .sol-link:hover { color: #1E978E; }
.irsa-solution .sol-link i { transition: transform 0.25s ease-in-out; }
.irsa-solution:hover .sol-link i { transform: translateX(-4px); } /* RTL: toward line end; LTR override flips it */

/*---------- Process steps (five-step grid) ----------*/
.irsa-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
@media (max-width: 1199px) { .irsa-steps { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) { .irsa-steps { grid-template-columns: 1fr; gap: 4px; } }

/*---------- Packages ----------*/
.irsa-package-card {
  height: 100%;
  padding: 36px 32px 32px;
  background: #fff;
  border: 1px solid rgba(10, 91, 84, 0.12);
  border-radius: 22px;
  display: flex; flex-direction: column;
  transition: all 0.3s ease-in-out;
}
.irsa-package-card:hover { border-color: rgba(47, 209, 100, 0.55); box-shadow: 0 20px 40px rgba(10, 91, 84, 0.09); transform: translateY(-4px); }
.irsa-package-card .pkg-name { font-family: "Montserrat", "IBM Plex Sans Arabic", sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.4px; color: #1E978E; margin-bottom: 6px; direction: ltr; unicode-bidi: isolate; }
.irsa-package-card h3 { font-size: 21px; margin-bottom: 14px; }
.irsa-package-card .pkg-for { font-size: 15px; color: #5F676A; line-height: 1.8; margin-bottom: 18px; }
.irsa-package-card .pkg-list { list-style: none; padding: 0; margin: 0 0 26px; }
.irsa-package-card .pkg-list li { position: relative; padding-inline-start: 26px; font-size: 15px; line-height: 1.6; color: rgba(0,0,0,0.72); margin-bottom: 10px; }
.irsa-package-card .pkg-list li::before {
  content: ""; position: absolute; inset-inline-start: 0; top: 8px; width: 8px; height: 8px; border-radius: 50%;
  background: #2FD164; box-shadow: 0 0 0 3px rgba(47, 209, 100, 0.16);
}
.irsa-package-card .pkg-price-note { font-size: 13.5px; color: #5F676A; margin: 0 0 18px; padding-top: 16px; border-top: 1px dashed rgba(10, 91, 84, 0.18); }
.irsa-package-card .btn-four { margin-top: auto; align-self: flex-start; }
/* Package detail block (packages page) — structured card:
   header band · who/problem · highlighted "includes" chips · organized meta grid · footer */
.irsa-pkg-detail {
  padding: 0; background: #fff; border: 1px solid rgba(10, 91, 84, 0.12);
  border-radius: 24px; overflow: hidden; transition: box-shadow .3s, border-color .3s;
}
.irsa-pkg-detail:hover { border-color: rgba(47, 209, 100, 0.4); box-shadow: 0 22px 46px rgba(10, 91, 84, 0.08); }
.irsa-pkg-detail .pkg-head {
  display: flex; align-items: center; gap: 16px;
  padding: 30px 38px 24px; border-bottom: 1px solid rgba(10, 91, 84, 0.08);
}
.irsa-pkg-detail .pkg-head-mark {
  flex-shrink: 0; width: 48px; height: 48px; border-radius: 13px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(47, 209, 100, 0.18), rgba(10, 91, 84, 0.10)); color: #0A5B54; font-size: 23px;
}
.irsa-pkg-detail .pkg-name { font-family: "Montserrat", "IBM Plex Sans Arabic", sans-serif; font-size: 12.5px; font-weight: 600; letter-spacing: 0.4px; color: #1E978E; direction: ltr; unicode-bidi: isolate; display: block; margin-bottom: 3px; }
.irsa-pkg-detail h3 { font-size: 22px; margin: 0; line-height: 1.3; }
.irsa-pkg-detail .pkg-body { padding: 26px 38px 8px; }
.irsa-pkg-detail .pkg-col-title { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.4px; color: #0A5B54; margin-bottom: 9px; }
.irsa-pkg-detail .pkg-for-row { margin-bottom: 22px; }
.irsa-pkg-detail .pkg-for-row p { font-size: 15px; line-height: 1.8; color: #5F676A; margin: 0; }
/* highlighted includes panel with chips */
.irsa-pkg-detail .pkg-includes { background: #F3F4F5; border-radius: 16px; padding: 20px 22px 22px; margin-bottom: 24px; }
.irsa-pkg-detail .pkg-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 9px 10px; padding: 0; margin: 0; }
.irsa-pkg-detail .pkg-chips li { display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid rgba(10, 91, 84, 0.14); border-radius: 30px; padding: 6px 14px; font-size: 14px; font-weight: 500; color: #0A5B54; line-height: 1.5; }
.irsa-pkg-detail .pkg-chips li i { color: #2FD164; font-size: 13px; }
/* organized meta grid: stages · excludes · requirements */
.irsa-pkg-detail .pkg-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px 32px; }
@media (max-width: 767px) { .irsa-pkg-detail .pkg-meta { grid-template-columns: 1fr; gap: 4px; } }
.irsa-pkg-detail .pkg-meta-col .pkg-col-title { border-top: 2px solid rgba(10, 91, 84, 0.10); padding-top: 15px; }
.irsa-pkg-detail .pkg-meta ul, .irsa-pkg-detail .pkg-meta ol { list-style: none; padding: 0; margin: 0 0 12px; }
.irsa-pkg-detail .pkg-meta li { display: flex; align-items: flex-start; gap: 9px; font-size: 14px; line-height: 1.6; color: rgba(0, 0, 0, 0.7); margin-bottom: 8px; }
.irsa-pkg-detail .pkg-meta li i { font-size: 13px; color: #1E978E; flex-shrink: 0; margin-top: 4px; }
.irsa-pkg-detail .pkg-meta .pkg-excl li i { color: #B04A3A; }
.irsa-pkg-detail .pkg-steps { counter-reset: pkgs; }
.irsa-pkg-detail .pkg-steps li { counter-increment: pkgs; }
.irsa-pkg-detail .pkg-steps li::before {
  content: counter(pkgs); flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; margin-top: 1px;
  display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700;
  background: rgba(30, 151, 142, 0.14); color: #0A5B54;
}
/* footer: price note + CTA aligned */
.irsa-pkg-detail .pkg-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 14px 20px; flex-wrap: wrap;
  padding: 18px 38px 28px; border-top: 1px solid rgba(10, 91, 84, 0.08); margin-top: 8px;
}
.irsa-pkg-detail .pkg-price-note { font-size: 13.5px; color: #5F676A; margin: 0; }
.irsa-pkg-detail .pkg-foot .btn-four { margin: 0; }
@media (max-width: 767px) {
  .irsa-pkg-detail .pkg-head, .irsa-pkg-detail .pkg-body, .irsa-pkg-detail .pkg-foot { padding-left: 24px; padding-right: 24px; }
  .irsa-pkg-detail .pkg-foot .btn-four { width: 100%; text-align: center; }
}

/*---------- Industries ----------*/
.irsa-industry-card {
  height: 100%;
  padding: 30px 28px;
  background: #fff;
  border: 1px solid rgba(10, 91, 84, 0.12);
  border-radius: 18px;
  transition: all 0.3s ease-in-out;
}
.irsa-industry-card:hover { border-color: rgba(47, 209, 100, 0.6); transform: translateY(-4px); box-shadow: 0 16px 30px rgba(10, 91, 84, 0.08); }
.irsa-industry-card .icon {
  width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
  background: rgba(10, 91, 84, 0.07); color: #0A5B54; font-size: 24px; margin-bottom: 18px;
}
.irsa-industry-card h4 { font-size: 19px; margin-bottom: 10px; }
.irsa-industry-card p { font-size: 15px; line-height: 1.8; color: #5F676A; margin: 0; }
/* Industry detail row (industries page) */
.irsa-industry-detail { padding: 36px 34px; background: #fff; border: 1px solid rgba(10, 91, 84, 0.12); border-radius: 20px; height: 100%; }
.irsa-industry-detail h3 { font-size: 22px; margin-bottom: 20px; display: flex; align-items: center; gap: 14px; }
.irsa-industry-detail h3 .ico { width: 48px; height: 48px; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; background: rgba(10,91,84,0.07); color: #0A5B54; font-size: 24px; flex-shrink: 0; }
.irsa-industry-detail .idt-label { display: block; font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; color: #1E978E; margin: 16px 0 8px; }
.irsa-industry-detail p { font-size: 15px; line-height: 1.8; color: #5F676A; margin: 0; }
.irsa-industry-detail ul { list-style: none; padding: 0; margin: 0; }
.irsa-industry-detail ul li { position: relative; padding-inline-start: 22px; font-size: 15px; line-height: 1.7; color: rgba(0,0,0,0.72); margin-bottom: 7px; }
.irsa-industry-detail ul li::before { content: ""; position: absolute; inset-inline-start: 0; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: #2FD164; }

/*---------- Supply & partnerships (secondary band) ----------*/
.irsa-supply-panel { background: #F3F4F5; border-radius: 30px; padding: 50px 48px; }
@media (max-width: 767px) { .irsa-supply-panel { padding: 34px 26px; } }
.irsa-supply-panel .irsa-svc-list li { background: #fff; }

/*---------- FAQ (native disclosure) ----------*/
.irsa-faq { max-width: 860px; margin: 0 auto; }
.irsa-faq details {
  border: 1px solid rgba(10, 91, 84, 0.14); border-radius: 14px; background: #fff; margin-bottom: 14px; overflow: hidden;
}
.irsa-faq details[open] { border-color: rgba(47, 209, 100, 0.5); }
.irsa-faq summary {
  list-style: none; cursor: pointer; padding: 22px 26px; font-family: "Montserrat", "IBM Plex Sans Arabic", sans-serif;
  font-weight: 600; font-size: 17px; color: #0A5B54; display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.irsa-faq summary::-webkit-details-marker { display: none; }
.irsa-faq summary::after { content: "\F64D"; font-family: "bootstrap-icons"; font-size: 15px; color: #1E978E; transition: transform 0.25s ease-in-out; flex-shrink: 0; }
.irsa-faq details[open] summary::after { transform: rotate(180deg); }
.irsa-faq .faq-body { padding: 0 26px 24px; font-size: 15.5px; line-height: 1.9; color: #5F676A; }

/*---------- CTA band (final call, dark brand gradient) ----------*/
.irsa-cta-band { background: linear-gradient(135deg, #0C6B63 0%, #0A5B54 60%, #07423D 100%); border-radius: 34px; padding: 66px 60px; text-align: center; position: relative; overflow: hidden; }
@media (max-width: 767px) { .irsa-cta-band { padding: 44px 26px; border-radius: 24px; } }
.irsa-cta-band .upper-title { color: rgba(255,255,255,0.8); }
.irsa-cta-band h2 { color: #fff; margin-bottom: 16px; }
.irsa-cta-band p { color: rgba(255,255,255,0.82); max-width: 620px; margin: 0 auto 34px; }
.irsa-cta-band .btn-one { background-color: #2FD164; color: #0A5B54; }
.irsa-cta-band .btn-one:hover { background-color: #fff; color: #0A5B54; }
.irsa-cta-band .btn-wa { background: transparent; border: 1px solid rgba(255,255,255,0.5); color: #fff; line-height: 48px; font-size: 18px; font-weight: 600; border-radius: 40px; padding: 0 28px; display: inline-flex; align-items: center; gap: 9px; transition: all 0.25s ease-in-out; }
.irsa-cta-band .btn-wa:hover { background: rgba(255,255,255,0.12); border-color: #fff; }

/*---------- Expected-results / value chips (solution detail pages) ----------*/
.irsa-outcome-list { list-style: none; padding: 0; margin: 0; }
.irsa-outcome-list li { display: flex; align-items: flex-start; gap: 14px; padding: 16px 0; border-bottom: 1px solid #E9E9E9; font-size: 16px; line-height: 1.7; color: rgba(0,0,0,0.75); }
.irsa-outcome-list li:last-child { border-bottom: none; }
.irsa-outcome-list li i { color: #2FD164; font-size: 21px; line-height: 1.5; flex-shrink: 0; }

/*---------- Two-step contact form disclosure ----------*/
.irsa-form-more { margin: 6px 0 30px; }
.irsa-form-more > summary {
  list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
  font-weight: 600; font-size: 15px; color: #0A5B54;
}
.irsa-form-more > summary::-webkit-details-marker { display: none; }
.irsa-form-more > summary::before { content: "\F64D"; font-family: "bootstrap-icons"; font-size: 13px; color: #1E978E; transition: transform 0.25s; }
.irsa-form-more[open] > summary::before { transform: rotate(180deg); }
.irsa-callout {
  background: rgba(10, 91, 84, 0.05); border: 1px solid rgba(10, 91, 84, 0.14); border-radius: 14px;
  padding: 18px 22px; font-size: 14.5px; line-height: 1.8; color: #5F676A;
}
.irsa-callout i { color: #1E978E; margin-inline-end: 8px; }
