:root {
  --paper: #f2f7f5;
  --paper-deep: #e5efeb;
  --white: #fbfdfc;
  --ink: #101918;
  --charcoal: #0b302d;
  --charcoal-2: #123f3a;
  --gold: #5f9f94;
  --gold-bright: #9ed5ca;
  --gold-pale: #d5ebe5;
  --stone: #d9e6e2;
  --olive: #214a44;
  --muted: #60716d;
  --line: #d1dfda;
  --radius-lg: 34px;
  --radius-md: 22px;
  --font-sans: "Manrope", Arial, sans-serif;
  --font-serif: "Plus Jakarta Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background-color: var(--paper); background-image: radial-gradient(circle at 8% 4%, rgba(143, 190, 180, .22), transparent 28%), radial-gradient(circle at 92% 38%, rgba(201, 225, 218, .26), transparent 32%), linear-gradient(180deg, #f8fbfa 0%, var(--paper) 58%, #edf4f1 100%); background-attachment: fixed; font-family: var(--font-sans); -webkit-font-smoothing: antialiased; }
body, button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
.shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.section { padding-block: 130px; }
.skip-link { position: fixed; z-index: 200; top: 12px; left: 16px; padding: 10px 16px; color: var(--white); background: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.scroll-progress { position: fixed; z-index: 150; top: 0; left: 0; right: 0; height: 3px; pointer-events: none; }
.scroll-progress i { display: block; width: 100%; height: 100%; background: var(--gold-bright); transform: scaleX(0); transform-origin: left center; }

.page-intro { position: fixed; z-index: 180; inset: 0; display: none; place-content: center; justify-items: center; gap: 18px; color: var(--gold-pale); background: radial-gradient(circle at 50% 42%, #1a514b 0%, var(--charcoal) 46%, #061f1d 100%); }
.has-js .page-intro { display: grid; }
.page-intro img { width: 86px; height: 76px; object-fit: contain; }
.page-intro span { font-family: var(--font-serif); font-size: 22px; letter-spacing: .05em; }
.page-intro.is-hidden { visibility: hidden; pointer-events: none; }

.utility-bar { border-bottom: 1px solid var(--line); background: rgba(246, 250, 248, .82); }
.utility-inner { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--muted); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.utility-inner p { margin: 0; }
.utility-inner div { display: flex; align-items: center; gap: 11px; }
.utility-inner a { transition: color .2s ease; }
.utility-inner a:hover { color: var(--ink); }

.site-header { position: sticky; z-index: 60; top: 0; border-bottom: 1px solid transparent; background: rgba(242, 247, 245, .88); backdrop-filter: blur(16px); transition: border-color .3s ease, box-shadow .3s ease; }
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 10px 35px rgba(10, 48, 44, .08); }
.header-inner { min-height: 82px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 11px; width: max-content; }
.brand-logo { width: 44px; height: 40px; object-fit: contain; }
.brand-copy { display: grid; line-height: 1; }
.brand-copy strong { font-family: var(--font-serif); font-size: 24px; font-weight: 600; letter-spacing: .05em; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: 8px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; justify-content: center; gap: 34px; color: #38504c; font-size: 12px; font-weight: 600; }
.nav-links a { position: relative; padding-block: 31px; }
.nav-links a::before { content: ""; position: absolute; left: 50%; bottom: 21px; width: 4px; height: 4px; border-radius: 50%; background: var(--gold); opacity: 0; transform: translate(-50%, 5px); transition: opacity .2s ease, transform .2s ease; }
.nav-links a:hover::before, .nav-links a.is-active::before { opacity: 1; transform: translate(-50%, 0); }
.header-cta { justify-self: end; display: inline-flex; align-items: center; gap: 14px; min-height: 46px; padding: 0 20px; border: 1px solid #50746e; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .03em; transition: color .25s ease, background .25s ease, border-color .25s ease; }
.header-cta:hover { color: var(--white); border-color: var(--charcoal); background: var(--charcoal); }
.menu-toggle { display: none; border: 0; background: transparent; }

.hero { padding: 0; }
.hero-frame { --hero-gutter: max(40px, calc((100vw - 1500px) / 2)); position: relative; width: 100%; min-height: 720px; display: grid; grid-template-columns: .92fr 1.08fr; overflow: hidden; border-radius: 0; background-color: var(--charcoal); background-image: radial-gradient(circle at 8% 8%, rgba(106, 175, 162, .32), transparent 34%), radial-gradient(circle at 72% 110%, rgba(34, 103, 94, .62), transparent 43%), linear-gradient(145deg, #164a45 0%, #0a302d 48%, #061f1d 100%); box-shadow: 0 32px 76px rgba(9, 50, 46, .2); }
.hero-copy { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: 88px 52px 104px var(--hero-gutter); color: var(--white); }
.hero-overline { display: flex; align-items: center; gap: 14px; margin-bottom: 34px; color: var(--gold-pale); }
.hero-overline span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(158, 213, 202, .48); border-radius: 50%; font-family: var(--font-serif); font-size: 12px; }
.hero-overline p { margin: 0; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.hero h1 { margin-bottom: 30px; font-family: var(--font-serif); font-size: clamp(58px, 5.4vw, 80px); font-weight: 500; line-height: .94; letter-spacing: -.06em; }
.title-line { display: block; overflow: hidden; padding: 0 8px 10px 0; }
.title-line i { display: block; font-style: normal; transform-origin: left bottom; }
.title-line.title-accent { color: var(--gold-bright); }
.title-line.title-accent i { font-style: italic; }
.hero-lead { max-width: 590px; margin-bottom: 36px; color: #c9ded9; font-size: 15px; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 28px; padding: 0 24px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .03em; }
.button-gold { color: var(--ink); background: var(--gold-bright); transition: background .25s ease; }
.button-gold:hover { background: var(--white); }
.text-action { display: inline-flex; gap: 12px; padding-bottom: 7px; border-bottom: 1px solid #5f8880; color: #d9ebe7; font-size: 11px; }
.text-action:hover { border-color: var(--gold-bright); }

.hero-art { position: relative; min-width: 0; margin: 34px var(--hero-gutter) 34px 0; overflow: hidden; border-radius: 22px; background: #071e1c; box-shadow: inset 0 0 0 1px rgba(211, 235, 229, .14), 0 22px 55px rgba(2, 24, 21, .28); }
.hero-art::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: rgba(14, 78, 70, .24); mix-blend-mode: color; }
.hero-photo-image { position: absolute; top: -5%; left: 0; width: 100%; height: 110%; object-fit: cover; object-position: 51% center; filter: saturate(.72) contrast(1.04) brightness(.95); transform: scale(1.02); will-change: transform; }
.photo-topline { position: absolute; z-index: 2; top: 22px; left: 22px; right: 22px; display: flex; justify-content: space-between; gap: 20px; padding: 11px 14px; color: var(--white); background: rgba(7, 43, 39, .7); backdrop-filter: blur(10px); font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.photo-card { position: absolute; z-index: 3; right: 22px; bottom: 22px; left: 22px; max-width: 430px; padding: 24px 26px 25px; color: var(--ink); background: rgba(247, 252, 250, .94); backdrop-filter: blur(14px); box-shadow: 0 22px 54px rgba(7, 41, 37, .26); }
.photo-card-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--line); color: #39796f; font-size: 8px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.photo-card-top i { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; font-style: normal; }
.photo-card > strong { display: block; max-width: 350px; margin-bottom: 11px; font-family: var(--font-serif); font-size: 27px; font-weight: 600; line-height: 1.08; letter-spacing: -.035em; }
.photo-card > p { max-width: 340px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.hero-index { position: absolute; z-index: 4; bottom: 27px; left: var(--hero-gutter); display: flex; gap: 28px; color: #80a59e; font-size: 8px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.hero-index span { display: flex; align-items: center; gap: 10px; }
.hero-index span::before { content: ""; width: 18px; height: 1px; background: #56877e; }

.expertise-band { overflow: hidden; padding: 22px 0; border-bottom: 1px solid var(--line); background: linear-gradient(90deg, rgba(245, 250, 248, .92), rgba(225, 239, 234, .88), rgba(245, 250, 248, .92)); }
.expertise-track { width: max-content; display: flex; align-items: center; gap: 34px; color: #54706b; font-family: var(--font-serif); font-size: 16px; font-weight: 600; letter-spacing: -.01em; animation: marquee 28s linear infinite; }
.expertise-track i { color: var(--gold); font-size: 10px; font-style: normal; }

.section-label { display: flex; align-items: center; gap: 13px; margin-bottom: 34px; color: #37776c; }
.section-label span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #77aa9f; border-radius: 50%; font-family: var(--font-serif); font-size: 12px; }
.section-label p { margin: 0; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.manifesto-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 110px; }
.manifesto h2, .documents-head h2, .services-head h2, .method h2, .contact h2 { margin-bottom: 0; font-family: var(--font-serif); font-size: clamp(48px, 5vw, 70px); font-weight: 500; line-height: 1.01; letter-spacing: -.055em; }
.manifesto h2 em { color: #34786d; font-weight: 500; }
.manifesto-copy > p { margin-bottom: 36px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.manifesto-points { display: grid; border-top: 1px solid var(--line); }
.manifesto-points span { display: grid; grid-template-columns: 38px 1fr; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 12px; font-weight: 600; }
.manifesto-points b { color: var(--gold); font-family: var(--font-serif); font-size: 17px; font-weight: 500; }

.previsional-teaser { position: relative; overflow: hidden; background: linear-gradient(180deg, rgba(248, 251, 250, .94), rgba(231, 241, 237, .84)); }
.previsional-teaser-panel { position: relative; min-height: 620px; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 70px; padding: 68px; overflow: hidden; border: 1px solid rgba(157, 210, 199, .23); border-radius: var(--radius-lg); color: var(--white); background-color: var(--charcoal); background-image: radial-gradient(circle at 10% 8%, rgba(106, 181, 166, .34), transparent 31%), radial-gradient(circle at 91% 88%, rgba(35, 111, 99, .66), transparent 41%), linear-gradient(145deg, #164b45 0%, #0a302d 52%, #061f1d 100%); box-shadow: 0 34px 85px rgba(7, 56, 49, .19); perspective: 1400px; }
.previsional-teaser-panel::before { content: ""; position: absolute; inset: 0; opacity: .2; pointer-events: none; background-image: linear-gradient(rgba(178, 219, 211, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(178, 219, 211, .07) 1px, transparent 1px); background-size: 50px 50px; mask-image: linear-gradient(90deg, transparent, #000 35%, #000); }
.teaser-orbit { position: absolute; border: 1px solid rgba(159, 213, 202, .13); border-radius: 50%; pointer-events: none; }
.teaser-orbit-one { top: -220px; right: -160px; width: 520px; height: 520px; box-shadow: 0 0 0 52px rgba(160, 215, 203, .022), 0 0 0 112px rgba(160, 215, 203, .015); }
.teaser-orbit-two { bottom: -260px; left: -210px; width: 480px; height: 480px; box-shadow: 0 0 0 58px rgba(160, 215, 203, .018); }
.previsional-teaser-copy { position: relative; z-index: 2; }
.teaser-period { width: max-content; max-width: 100%; margin-bottom: 22px; padding: 9px 13px; border: 1px solid rgba(163, 215, 204, .25); border-radius: 999px; color: #b8d8d1; background: rgba(5, 35, 31, .22); font-size: 11px; line-height: 1.4; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.previsional-teaser-copy h2 { max-width: 620px; margin: 0; font-family: var(--font-serif); font-size: clamp(46px, 4.6vw, 67px); font-weight: 500; line-height: 1.01; letter-spacing: -.055em; }
.previsional-teaser-copy h2 em { color: var(--gold-bright); font-weight: 500; }
.previsional-teaser-copy > p { max-width: 560px; margin: 27px 0 34px; color: #bfd6d1; font-size: 14px; line-height: 1.8; }
.teaser-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.teaser-primary, .teaser-download { min-height: 58px; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; padding: 0 23px; border-radius: 999px; font-size: 12px; line-height: 1.35; font-weight: 700; transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease; }
.teaser-primary { min-width: 262px; color: var(--ink); background: linear-gradient(135deg, #b9e4dc 0%, #8dc9be 100%); box-shadow: 0 16px 38px rgba(4, 30, 26, .24); }
.teaser-primary:hover { background: var(--white); transform: translateY(-3px); }
.teaser-download { border: 1px solid rgba(172, 218, 208, .3); color: #d1e5e0; background: rgba(4, 31, 28, .18); }
.teaser-download:hover { border-color: var(--gold-bright); color: var(--white); transform: translateY(-3px); }
.previsional-teaser-data { position: relative; z-index: 2; min-width: 0; padding: 26px; border: 1px solid rgba(178, 219, 211, .21); border-radius: 23px; background: linear-gradient(145deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .035)); backdrop-filter: blur(13px); box-shadow: 0 30px 70px rgba(0, 20, 17, .27); transform-style: preserve-3d; }
.teaser-data-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding-bottom: 17px; border-bottom: 1px solid rgba(178, 219, 211, .18); color: #b7d5ce; font-size: 11px; line-height: 1.45; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.teaser-data-head span { display: flex; align-items: center; gap: 9px; }
.teaser-data-head i { width: 7px; height: 7px; border-radius: 50%; background: var(--gold-bright); box-shadow: 0 0 0 6px rgba(158, 213, 202, .09); animation: indicator-breathe 2.4s ease-in-out infinite; }
.teaser-data-head strong { color: var(--gold-bright); font-size: inherit; }
.teaser-metrics { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.teaser-metric { min-height: 150px; display: flex; flex-direction: column; justify-content: space-between; padding: 20px; overflow: hidden; border: 1px solid rgba(177, 219, 210, .16); border-radius: 17px; background: linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .018)); transition: transform .35s cubic-bezier(.2, .75, .25, 1), border-color .35s ease, background .35s ease; }
.teaser-metric:hover { border-color: rgba(177, 225, 215, .35); background: linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .035)); transform: translateY(-5px); }
.teaser-metric.is-emphasis { color: #10362f; border-color: rgba(223, 242, 238, .32); background: linear-gradient(145deg, #c7e8e0, #8cc9bd); }
.teaser-metric span { color: #b4d0ca; font-size: 10px; line-height: 1.5; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.teaser-metric.is-emphasis span { color: #356c62; }
.teaser-metric strong { font-family: var(--font-serif); font-size: clamp(24px, 2.35vw, 34px); font-weight: 600; line-height: 1; letter-spacing: -.05em; white-space: nowrap; }
.teaser-data-foot { display: flex; align-items: flex-start; justify-content: space-between; gap: 26px; margin-top: 18px; padding-top: 17px; border-top: 1px solid rgba(178, 219, 211, .18); color: #aecbc4; }
.teaser-data-foot span { flex: 0 0 auto; color: var(--gold-bright); font-size: 10px; line-height: 1.5; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.teaser-data-foot p { max-width: 350px; margin: 0; font-size: 11px; line-height: 1.6; text-align: right; }

.previsional-page { background-attachment: fixed; }
.previsional-page-hero { position: relative; overflow: hidden; color: var(--white); background-color: var(--charcoal); background-image: radial-gradient(circle at 12% 5%, rgba(117, 191, 176, .34), transparent 32%), radial-gradient(circle at 86% 78%, rgba(42, 121, 109, .55), transparent 38%), linear-gradient(140deg, #174d47 0%, #0a312e 52%, #061f1d 100%); }
.previsional-page-hero::after { content: ""; position: absolute; right: -12vw; bottom: -38vw; width: 72vw; height: 72vw; border: 1px solid rgba(159, 214, 203, .13); border-radius: 50%; box-shadow: 0 0 0 7vw rgba(159, 214, 203, .023), 0 0 0 15vw rgba(159, 214, 203, .017); pointer-events: none; }
.previsional-page-hero-inner { position: relative; z-index: 1; min-height: 720px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 90px; padding-block: 78px; }
.previsional-page-hero h1 { margin: 0 0 30px; font-family: var(--font-serif); font-size: clamp(58px, 6vw, 88px); font-weight: 500; line-height: .96; letter-spacing: -.065em; }
.previsional-page-hero h1 span { display: block; }
.previsional-page-hero h1 .detail-title-accent { color: var(--gold-bright); font-style: italic; }
.previsional-page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; }
.pdf-action { min-height: 58px; display: grid; grid-template-columns: 1fr auto; gap: 3px 28px; align-items: center; padding: 10px 19px; border: 1px solid rgba(177, 219, 210, .27); border-radius: 999px; color: #d8e8e4; background: rgba(5, 34, 31, .26); }
.pdf-action span { font-size: 10px; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; }
.pdf-action strong { font-size: 12px; line-height: 1.4; }
.pdf-action i { grid-column: 2; grid-row: 1 / span 2; color: var(--gold-bright); font-style: normal; }
.previsional-page-card { position: relative; padding: 30px; overflow: hidden; border: 1px solid rgba(181, 223, 214, .22); border-radius: 24px; background: linear-gradient(145deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .035)); backdrop-filter: blur(14px); box-shadow: 0 30px 70px rgba(0, 20, 17, .27); }
.page-period { margin-bottom: 28px; color: #c5dbd6; font-size: 12px; line-height: 1.6; }
.page-sis { display: grid; gap: 8px; padding: 27px; border: 1px solid rgba(221, 241, 236, .31); border-radius: 18px; color: #113a33; background: linear-gradient(145deg, #c7e7df, #8fcbbf); }
.page-sis span { color: #2d655b; font-size: 10px; line-height: 1.45; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.page-sis strong { font-family: var(--font-serif); font-size: 58px; font-weight: 600; line-height: 1; letter-spacing: -.06em; }
.page-sis small { font-size: 12px; line-height: 1.5; }
.previsional-page-card > p { margin: 24px 0 0; color: #bdd5cf; font-size: 12px; line-height: 1.7; }
.previsional-full { padding-top: 105px; }
.previsional-download-button { min-height: 53px; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 20px; padding: 0 20px; border: 1px solid #6da99d; border-radius: 999px; color: #174a43; font-size: 12px; line-height: 1.4; font-weight: 700; transition: color .25s ease, background .25s ease; }
.previsional-download-button:hover { color: var(--white); background: var(--charcoal); }

.previsional { position: relative; overflow: hidden; background: linear-gradient(180deg, rgba(248, 251, 250, .9), rgba(231, 241, 237, .82)); }
.previsional::before { content: ""; position: absolute; top: -260px; right: -240px; width: 620px; height: 620px; border: 1px solid rgba(56, 120, 108, .1); border-radius: 50%; box-shadow: 0 0 0 70px rgba(83, 145, 133, .035), 0 0 0 150px rgba(83, 145, 133, .025); pointer-events: none; }
.previsional-head { position: relative; z-index: 1; display: grid; grid-template-columns: 1.18fr .82fr; align-items: end; gap: 100px; margin-bottom: 58px; }
.previsional-head h2 { max-width: 790px; margin: 0; font-family: var(--font-serif); font-size: clamp(48px, 5vw, 70px); font-weight: 500; line-height: 1.01; letter-spacing: -.055em; }
.previsional-head h2 em { color: #34786d; font-weight: 500; }
.previsional-intro > p { margin-bottom: 27px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.previsional-period { display: flex; align-items: center; gap: 13px; padding-top: 18px; border-top: 1px solid var(--line); color: #61746f; font-size: 10px; line-height: 1.5; letter-spacing: .07em; text-transform: uppercase; }
.previsional-period span { display: flex; align-items: center; gap: 6px; }
.previsional-period strong { color: var(--ink); }
.previsional-period i { width: 4px; height: 4px; border-radius: 50%; background: var(--gold); }

.previsional-dashboard { position: relative; min-height: 500px; padding: 34px; overflow: hidden; border: 1px solid rgba(160, 214, 203, .2); border-radius: var(--radius-lg); color: var(--white); background-color: var(--charcoal); background-image: radial-gradient(circle at 8% 0%, rgba(105, 181, 166, .32), transparent 29%), radial-gradient(circle at 93% 7%, rgba(69, 145, 131, .27), transparent 31%), linear-gradient(145deg, #164b45 0%, #0a302d 48%, #061f1d 100%); box-shadow: 0 34px 85px rgba(7, 56, 49, .19); }
.previsional-dashboard::before { content: ""; position: absolute; inset: 0; opacity: .22; pointer-events: none; background-image: linear-gradient(rgba(178, 219, 211, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(178, 219, 211, .07) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, #000, transparent 42%); }
.previsional-dashboard::after { content: "ASD"; position: absolute; top: 84px; right: -22px; color: rgba(255, 255, 255, .025); font-family: var(--font-serif); font-size: 240px; font-weight: 600; line-height: 1; letter-spacing: -.08em; pointer-events: none; }
.previsional-loading { position: relative; z-index: 1; min-height: 260px; display: grid; place-items: center; color: #a6c8c1; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.previsional-dashboard-top { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; padding-bottom: 19px; border-bottom: 1px solid rgba(178, 219, 211, .18); }
.previsional-dashboard-top > p { margin: 0; color: #a7c4bd; font-size: 10px; line-height: 1.5; letter-spacing: .045em; text-align: right; }
.previsional-status { display: flex; align-items: center; gap: 10px; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.previsional-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--gold-bright); box-shadow: 0 0 0 6px rgba(158, 213, 202, .1); animation: indicator-breathe 2.4s ease-in-out infinite; }
.previsional-status span { color: #9fc3bb; }
.previsional-status strong { color: var(--white); }

.previsional-alert { position: relative; z-index: 2; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; margin-bottom: 18px; padding: 19px 22px; overflow: hidden; border: 1px solid rgba(214, 237, 232, .35); border-radius: 17px; color: #11352f; background: linear-gradient(115deg, #d8eee8 0%, #a9d8ce 48%, #d7eee8 100%); box-shadow: 0 16px 36px rgba(0, 18, 15, .19); }
.previsional-alert::after { content: ""; position: absolute; top: -80%; left: -28%; width: 28%; height: 260%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .48), transparent); transform: rotate(18deg); animation: indicator-sheen 6s ease-in-out infinite; }
.previsional-alert > span { padding: 8px 11px; border: 1px solid rgba(16, 66, 57, .25); border-radius: 999px; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.previsional-alert > div { display: grid; gap: 4px; }
.previsional-alert strong { font-family: var(--font-serif); font-size: 16px; font-weight: 600; }
.previsional-alert small { color: #365f58; font-size: 11px; line-height: 1.5; }
.previsional-alert > b { font-family: var(--font-serif); font-size: 27px; font-weight: 600; letter-spacing: -.04em; }

.previsional-highlights { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
.previsional-highlight { min-height: 132px; display: flex; flex-direction: column; justify-content: space-between; padding: 20px; border: 1px solid rgba(172, 215, 207, .17); border-radius: 17px; background: linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .025)); backdrop-filter: blur(8px); transition: transform .35s cubic-bezier(.2, .75, .25, 1), border-color .35s ease, background .35s ease; }
.previsional-highlight:hover { border-color: rgba(168, 223, 211, .38); background: linear-gradient(145deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .045)); transform: translateY(-5px); }
.previsional-highlight.is-emphasis { color: #10362f; border-color: rgba(217, 240, 235, .35); background: linear-gradient(145deg, #bce2d9, #85c4b7); }
.previsional-highlight > span { color: #b6d0ca; font-size: 9px; line-height: 1.45; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.previsional-highlight.is-emphasis > span { color: #356c62; }
.previsional-highlight > strong { font-family: var(--font-serif); font-size: clamp(22px, 2.5vw, 32px); font-weight: 600; line-height: 1; letter-spacing: -.045em; white-space: nowrap; }

.indicator-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; perspective: 1400px; }
.indicator-card { grid-column: span 6; min-width: 0; padding: 27px; overflow: hidden; border: 1px solid rgba(53, 103, 94, .17); border-radius: 19px; color: var(--ink); background: linear-gradient(145deg, rgba(251, 253, 252, .98), rgba(229, 240, 236, .96)); box-shadow: 0 18px 42px rgba(0, 22, 18, .16); transition: transform .35s cubic-bezier(.2, .75, .25, 1), box-shadow .35s ease, border-color .35s ease; }
.indicator-card:hover { border-color: rgba(80, 151, 138, .38); box-shadow: 0 27px 55px rgba(0, 25, 21, .22); transform: translateY(-5px); }
.indicator-card--wide { grid-column: span 12; }
.indicator-card--medium { grid-column: span 6; }
.indicator-card-head { display: grid; grid-template-columns: 36px 1fr; gap: 16px; margin-bottom: 22px; padding-bottom: 19px; border-bottom: 1px solid #ccddd8; }
.indicator-card-head > span { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid #82b6ab; border-radius: 50%; color: #3a7f73; font-family: var(--font-serif); font-size: 9px; }
.indicator-card-head h3 { margin: 0 0 6px; font-family: var(--font-serif); font-size: 20px; font-weight: 600; line-height: 1.12; letter-spacing: -.035em; }
.indicator-card-head p { margin: 0; color: #5c716c; font-size: 11px; line-height: 1.6; }
.indicator-list { display: grid; gap: 0; margin: 0; }
.indicator-list > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; min-height: 45px; padding: 10px 0; border-bottom: 1px solid #d7e3df; }
.indicator-list > div:last-child { border-bottom: 0; }
.indicator-list dt { color: #465e58; font-size: 12px; line-height: 1.5; }
.indicator-list dd { margin: 0; font-size: 13px; line-height: 1.45; font-weight: 700; text-align: right; white-space: nowrap; }
.indicator-table-wrap { width: 100%; overflow-x: auto; scrollbar-color: #77aa9f transparent; }
.indicator-table-wrap:focus-visible { outline: 2px solid #68a799; outline-offset: 4px; }
.indicator-table { width: 100%; border-collapse: collapse; color: #28413d; font-size: 12px; line-height: 1.45; }
.indicator-table th, .indicator-table td { padding: 13px 14px; border-bottom: 1px solid #d6e3df; text-align: right; white-space: nowrap; }
.indicator-table thead th { color: #2f7065; background: rgba(113, 171, 159, .12); font-size: 9px; line-height: 1.4; letter-spacing: .065em; text-transform: uppercase; }
.indicator-table th:first-child { text-align: left; }
.indicator-table tbody th { color: #263d39; font-weight: 600; }
.indicator-table tbody td { font-weight: 700; }
.indicator-table tbody tr { transition: background .2s ease; }
.indicator-table tbody tr:hover { background: rgba(109, 173, 160, .09); }
.indicator-table tbody tr:last-child th, .indicator-table tbody tr:last-child td { border-bottom: 0; }
.indicator-note { margin: 19px 0 0; padding-top: 15px; border-top: 1px solid #d3e1dd; color: #5d746e; font-size: 10px; line-height: 1.7; }
.previsional-source { position: relative; z-index: 2; display: flex; justify-content: space-between; gap: 35px; margin-top: 23px; padding-top: 20px; border-top: 1px solid rgba(173, 217, 208, .18); color: #8fb3ab; }
.previsional-source span { flex: 0 0 auto; color: var(--gold-bright); font-size: 9px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.previsional-source p { max-width: 690px; margin: 0; font-size: 10px; line-height: 1.65; text-align: right; }

.documents { position: relative; overflow: hidden; background-color: #edf5f2; background-image: radial-gradient(circle at 6% 12%, rgba(124, 190, 177, .22), transparent 25%), radial-gradient(circle at 94% 85%, rgba(63, 128, 116, .2), transparent 30%), linear-gradient(145deg, #f8fbfa 0%, #e7f1ed 56%, #f6faf8 100%); }
.documents::before { content: ""; position: absolute; top: 8%; right: -16vw; width: 52vw; height: 52vw; border: 1px solid rgba(56, 122, 110, .12); border-radius: 50%; box-shadow: 0 0 0 7vw rgba(60, 129, 116, .03), 0 0 0 15vw rgba(60, 129, 116, .02); pointer-events: none; }
.documents-head { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 110px; margin-bottom: 62px; }
.documents-head > p { margin-bottom: 4px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.document-experience { position: relative; z-index: 1; min-height: 880px; display: grid; grid-template-columns: .68fr 1.32fr; overflow: hidden; border: 1px solid rgba(46, 103, 94, .18); border-radius: 34px; background: rgba(250, 253, 252, .9); box-shadow: 0 35px 90px rgba(11, 63, 56, .15); }
.document-copy { position: relative; z-index: 3; display: flex; flex-direction: column; padding: 76px 54px 54px; background: linear-gradient(155deg, rgba(251, 253, 252, .98), rgba(232, 242, 238, .96)); }
.document-copy::after { content: "ASD"; position: absolute; right: -18px; bottom: -44px; color: rgba(44, 109, 97, .055); font-family: var(--font-serif); font-size: 190px; font-weight: 600; letter-spacing: -.08em; pointer-events: none; }
.document-eyebrow { margin-bottom: 24px; color: #34786d; font-size: 9px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.document-copy h3 { max-width: 420px; margin-bottom: 25px; font-family: var(--font-serif); font-size: clamp(34px, 3.3vw, 48px); font-weight: 500; line-height: 1.04; letter-spacing: -.045em; }
.document-copy > p:not(.document-eyebrow) { margin-bottom: 45px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.document-tabs { display: grid; gap: 10px; }
.document-tab { position: relative; min-height: 94px; display: grid; grid-template-columns: 34px 1fr 20px; align-items: center; gap: 14px; padding: 18px 18px; border: 1px solid rgba(63, 112, 103, .17); border-radius: 16px; text-align: left; background: rgba(251, 253, 252, .66); cursor: pointer; transition: color .35s ease, border-color .35s ease, background .35s ease, transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease; }
.document-tab:hover { transform: translateX(5px); border-color: rgba(57, 126, 113, .36); box-shadow: 0 12px 28px rgba(20, 78, 69, .09); }
.document-tab.is-active { color: var(--white); border-color: rgba(151, 211, 199, .3); background: radial-gradient(circle at 100% 0%, rgba(117, 192, 177, .27), transparent 42%), linear-gradient(135deg, #164b45, #0b302d); box-shadow: 0 18px 36px rgba(9, 57, 50, .18); }
.document-tab > span:first-child { color: #4f8e82; font-family: var(--font-serif); font-size: 12px; }
.document-tab.is-active > span:first-child { color: var(--gold-bright); }
.document-tab > span:nth-child(2) { display: grid; gap: 6px; }
.document-tab strong { font-family: var(--font-serif); font-size: 18px; font-weight: 500; }
.document-tab small { color: #758681; font-size: 9px; }
.document-tab.is-active small { color: #a9c8c2; }
.document-tab i { font-style: normal; transition: transform .3s ease; }
.document-tab.is-active i { color: var(--gold-bright); transform: translateX(3px); }
.document-assurances { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 42px; }
.document-assurances span { padding: 8px 10px; border: 1px solid rgba(56, 112, 102, .18); border-radius: 999px; color: #5d746f; font-size: 7px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

.document-stage { position: relative; min-width: 0; min-height: 880px; display: grid; place-items: center; padding: 88px 55px 72px; overflow: hidden; color: var(--white); background-color: #0b302d; background-image: radial-gradient(circle at 14% 9%, rgba(104, 181, 166, .32), transparent 31%), radial-gradient(circle at 90% 88%, rgba(37, 110, 98, .72), transparent 42%), linear-gradient(145deg, #164b45 0%, #0a302d 52%, #061f1d 100%); perspective: 1600px; }
.document-stage::before { content: ""; position: absolute; inset: 0; opacity: .28; pointer-events: none; background-image: linear-gradient(rgba(173, 218, 208, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(173, 218, 208, .06) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 76%, transparent); }
.document-stage-top, .document-stage-bottom { position: absolute; z-index: 5; left: 38px; right: 38px; display: flex; justify-content: space-between; gap: 20px; color: #9fc5bd; font-size: 8px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.document-stage-top { top: 30px; padding-bottom: 16px; border-bottom: 1px solid rgba(177, 218, 209, .18); }
.document-stage-top strong { color: var(--gold-bright); font-weight: 700; }
.document-stage-bottom { bottom: 27px; padding-top: 16px; border-top: 1px solid rgba(177, 218, 209, .18); }
.document-orbit { position: absolute; border: 1px solid rgba(159, 213, 202, .14); border-radius: 50%; pointer-events: none; }
.orbit-one { top: -110px; right: -160px; width: 460px; height: 460px; box-shadow: 0 0 0 38px rgba(160, 215, 203, .025), 0 0 0 82px rgba(160, 215, 203, .018); }
.orbit-two { bottom: -190px; left: -200px; width: 510px; height: 510px; box-shadow: 0 0 0 46px rgba(160, 215, 203, .022); }
.document-canvas { position: relative; z-index: 2; width: min(100%, 690px); transform-style: preserve-3d; }
.document-preview { width: 100%; margin: 0; }
.document-preview.is-entering { animation: document-enter .75s cubic-bezier(.17, .85, .25, 1) both; }
.document-preview-open { position: relative; width: 100%; height: auto; display: block; padding: 0; overflow: hidden; border: 1px solid rgba(255, 255, 255, .28); border-radius: 7px; text-align: left; background: #fbfaf6; box-shadow: 0 42px 85px rgba(0, 15, 13, .42), 0 0 0 10px rgba(255, 255, 255, .035); cursor: zoom-in; transform: none; transform-origin: center center; transition: transform .45s cubic-bezier(.18, .85, .25, 1), box-shadow .45s ease; }
.document-preview-open::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 18%, rgba(255, 255, 255, .24) 42%, transparent 58%); transform: translateX(-130%); transition: transform .9s cubic-bezier(.2, .8, .2, 1); }
.document-preview-open:hover { transform: translateY(-6px); box-shadow: 0 52px 105px rgba(0, 16, 13, .5), 0 0 0 10px rgba(255, 255, 255, .05); }
.document-preview-open:hover::after { transform: translateX(130%); }
.document-preview-open > .document-open-label { position: absolute; z-index: 4; top: 13px; right: 13px; display: flex; align-items: center; gap: 10px; padding: 9px 12px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 999px; color: var(--white); background: rgba(6, 35, 32, .9); backdrop-filter: blur(10px); font-size: 7px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: 0; transform: translateY(-7px); transition: opacity .3s ease, transform .3s ease; }
.document-preview-open:hover > .document-open-label, .document-preview-open:focus-visible > .document-open-label { opacity: 1; transform: none; }
.document-preview-open > .document-open-label i { color: var(--gold-bright); font-style: normal; }
.web-document { position: relative; z-index: 1; width: 100%; padding: 15px; color: #142c3f; background: #fbfaf6; font-family: var(--font-sans); }
.web-doc-header { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 13px 15px; border-top: 4px solid #c49a36; border-radius: 5px 5px 9px 9px; color: #fff; background: #173e5b; }
.web-doc-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.web-doc-brand > img { width: 40px; height: 36px; flex: 0 0 auto; object-fit: contain; filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .18)); }
.web-doc-brand > span { display: grid; gap: 3px; min-width: 0; }
.web-doc-brand strong { font-size: 12px; letter-spacing: .07em; white-space: nowrap; }
.web-doc-brand small { color: #c3d3de; font-size: 5.5px; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.web-doc-heading { display: grid; justify-items: end; gap: 4px; text-align: right; }
.web-doc-heading small { color: #c3d3de; font-size: 5.5px; letter-spacing: .12em; text-transform: uppercase; }
.web-doc-heading strong { font-size: 13px; line-height: 1.1; text-transform: uppercase; }
.web-doc-heading b { padding: 4px 9px; border-radius: 999px; color: #fff; background: #c49a36; font-size: 6px; }
.web-doc-intro { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0 10px; }
.web-doc-intro h4 { margin: 0 0 3px; font-size: 18px; line-height: 1; }
.web-doc-intro p { margin: 0; color: #65737e; font-size: 7.5px; }
.web-doc-intro > span { flex: 0 0 auto; padding: 7px 10px; border: 1px solid #bdd2dc; border-radius: 7px; color: #335873; background: #edf4f7; font-size: 5.4px; line-height: 1.45; text-align: center; text-transform: uppercase; }
.web-doc-intro > span b { font-size: 6.4px; text-transform: none; }
.web-doc-info { display: grid; grid-template-columns: repeat(2, 1fr); overflow: hidden; border: 1px solid #d4dfe5; border-radius: 7px; background: #fff; }
.web-doc-info > div { min-width: 0; display: grid; gap: 4px; padding: 8px 10px; border-right: 1px solid #d4dfe5; border-bottom: 1px solid #d4dfe5; }
.web-doc-info > div:nth-child(2n) { border-right: 0; }
.web-doc-info > div:nth-last-child(-n+2) { border-bottom: 0; }
.web-doc-info small, .web-doc-metrics small { color: #315d7c; font-size: 7px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.web-doc-info strong { overflow-wrap: anywhere; font-size: 10px; }
.web-doc-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-top: 10px; }
.web-doc-table, .web-doc-contributions { overflow: hidden; border: 1px solid #d4dfe5; border-radius: 7px; background: #fff; }
.web-doc-table-head { min-height: 28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 7px 10px; color: #fff; background: #173e5b; }
.web-doc-table-head strong { font-size: 9.5px; letter-spacing: .06em; text-transform: uppercase; }
.web-doc-table-head small { font-size: 7px; text-transform: uppercase; }
.web-doc-table > p { min-height: 27px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 5px 9px; border-bottom: 1px solid #d4dfe5; font-size: 8.8px; }
.web-doc-table > p b { font-size: 9.4px; }
.web-doc-table > p.is-highlight { background: #f6f0e0; }
.web-doc-table > p.is-total { color: #fff; border-bottom: 0; background: #102f48; font-weight: 700; }
.web-doc-grand-total { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 10px; padding: 10px 14px; border: 1px solid #c49a36; border-radius: 8px; background: #eef4f7; }
.web-doc-grand-total > span { display: grid; gap: 4px; }
.web-doc-grand-total strong { color: #81631e; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.web-doc-grand-total small { color: #65737e; font-size: 6.4px; }
.web-doc-grand-total > b { color: #112a3e; font-size: 22px; white-space: nowrap; }
.web-doc-section-title { margin: 10px 0 7px; font-size: 11px; }
.web-doc-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.web-doc-metrics > div { display: grid; gap: 5px; padding: 9px; border: 1px solid #d4dfe5; border-radius: 7px; background: #fff; }
.web-doc-metrics b { font-size: 13px; white-space: nowrap; }
.web-doc-contributions { margin-top: 10px; }
.web-doc-contributions > p { min-height: 44px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; margin: 0; padding: 7px 10px; border-bottom: 1px solid #d4dfe5; }
.web-doc-contributions > p > span { min-width: 0; display: grid; gap: 3px; }
.web-doc-contributions > p strong { font-size: 9.5px; }
.web-doc-contributions > p small { color: #5d6d79; font-size: 8.2px; line-height: 1.35; }
.web-doc-contributions > p small b { color: #173e5b; font-size: inherit; }
.web-doc-contributions > p > b { font-size: 10.5px; white-space: nowrap; }
.web-doc-contributions > p.is-total { color: #fff; border-bottom: 0; background: #102f48; }
.web-doc-contributions > p.is-total small, .web-doc-contributions > p.is-total small b { color: #d6e2e8; }
.document-preview figcaption { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-top: 23px; color: #b8d3cd; }
.document-preview figcaption strong { color: var(--white); font-family: var(--font-serif); font-size: 15px; font-weight: 500; }
.document-preview figcaption span { max-width: 205px; text-align: right; font-size: 8px; line-height: 1.6; }

.document-lightbox { width: min(1180px, calc(100% - 42px)); max-width: none; height: calc(100dvh - 42px); max-height: none; margin: auto; padding: 0; overflow: hidden; border: 1px solid rgba(164, 216, 205, .26); border-radius: 25px; color: var(--white); background: #0b302d; box-shadow: 0 38px 120px rgba(0, 20, 17, .55); }
.document-lightbox[open] { display: grid; grid-template-rows: auto 1fr auto; animation: lightbox-in .38s cubic-bezier(.18, .84, .25, 1) both; }
.document-lightbox::backdrop { background: rgba(4, 20, 18, .78); backdrop-filter: blur(12px); }
.document-lightbox-bar { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 16px 22px 16px 28px; border-bottom: 1px solid rgba(170, 215, 206, .18); }
.document-lightbox-bar > div { display: grid; gap: 5px; }
.document-lightbox-bar span { color: var(--gold-bright); font-size: 7px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.document-lightbox-bar strong { font-family: var(--font-serif); font-size: 18px; font-weight: 500; }
.document-lightbox-bar button { display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 16px; border: 1px solid rgba(170, 215, 206, .24); border-radius: 999px; color: var(--white); background: rgba(255, 255, 255, .04); cursor: pointer; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.document-lightbox-bar button i { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: #194b45; background: var(--gold-bright); font-size: 16px; font-style: normal; }
.document-lightbox-scroll { overflow: auto; padding: 34px; background: radial-gradient(circle at 50% 0%, rgba(142, 194, 183, .22), transparent 34%), #dfeae6; }
.document-lightbox-scroll .is-dialog-document { width: min(100%, 1020px); margin: 0 auto; border: 1px solid rgba(37, 86, 77, .14); border-radius: 9px; box-shadow: 0 30px 85px rgba(8, 49, 43, .25); }
.document-lightbox > p { margin: 0; padding: 14px 28px; color: #9fc2ba; font-size: 8px; text-align: center; letter-spacing: .06em; }
body.has-document-dialog { overflow: hidden; }

@media (min-width: 721px) {
  .document-lightbox-scroll .is-dialog-document { padding: 26px; }
  .document-lightbox-scroll .web-doc-header { min-height: 98px; padding: 18px 21px; }
  .document-lightbox-scroll .web-doc-brand > img { width: 54px; height: 48px; }
  .document-lightbox-scroll .web-doc-brand strong { font-size: 17px; }
  .document-lightbox-scroll .web-doc-brand small, .document-lightbox-scroll .web-doc-heading small { font-size: 8px; }
  .document-lightbox-scroll .web-doc-heading strong { font-size: 18px; }
  .document-lightbox-scroll .web-doc-heading b { padding: 6px 12px; font-size: 8px; }
  .document-lightbox-scroll .web-doc-intro { padding: 22px 0 16px; }
  .document-lightbox-scroll .web-doc-intro h4 { font-size: 27px; }
  .document-lightbox-scroll .web-doc-intro p { font-size: 11px; }
  .document-lightbox-scroll .web-doc-intro > span { padding: 10px 14px; font-size: 7px; }
  .document-lightbox-scroll .web-doc-intro > span b { font-size: 9px; }
  .document-lightbox-scroll .web-doc-info > div { gap: 6px; padding: 13px 15px; }
  .document-lightbox-scroll .web-doc-info small, .document-lightbox-scroll .web-doc-metrics small { font-size: 9px; }
  .document-lightbox-scroll .web-doc-info strong { font-size: 13px; }
  .document-lightbox-scroll .web-doc-columns { gap: 14px; margin-top: 15px; }
  .document-lightbox-scroll .web-doc-table-head { min-height: 40px; padding: 10px 14px; }
  .document-lightbox-scroll .web-doc-table-head strong { font-size: 12px; }
  .document-lightbox-scroll .web-doc-table-head small { font-size: 9px; }
  .document-lightbox-scroll .web-doc-table > p { min-height: 37px; padding: 8px 13px; font-size: 11.5px; }
  .document-lightbox-scroll .web-doc-table > p b { font-size: 12px; }
  .document-lightbox-scroll .web-doc-grand-total { min-height: 78px; margin-top: 15px; padding: 14px 19px; }
  .document-lightbox-scroll .web-doc-grand-total strong { font-size: 14px; }
  .document-lightbox-scroll .web-doc-grand-total small { font-size: 10px; }
  .document-lightbox-scroll .web-doc-grand-total > b { font-size: 30px; }
  .document-lightbox-scroll .web-doc-section-title { margin: 16px 0 10px; font-size: 16px; }
  .document-lightbox-scroll .web-doc-metrics { gap: 10px; }
  .document-lightbox-scroll .web-doc-metrics > div { gap: 7px; padding: 14px; }
  .document-lightbox-scroll .web-doc-metrics b { font-size: 17px; }
  .document-lightbox-scroll .web-doc-contributions { margin-top: 15px; }
  .document-lightbox-scroll .web-doc-contributions > p { min-height: 62px; gap: 18px; padding: 11px 15px; }
  .document-lightbox-scroll .web-doc-contributions > p strong { font-size: 12px; }
  .document-lightbox-scroll .web-doc-contributions > p small { font-size: 10.5px; }
  .document-lightbox-scroll .web-doc-contributions > p > b { font-size: 13px; }
}

@keyframes document-enter { from { opacity: 0; transform: translateX(46px) rotateY(-5deg) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes lightbox-in { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: none; } }

.services { position: relative; overflow: hidden; background-color: var(--white); background-image: radial-gradient(circle at 86% 12%, rgba(112, 172, 160, .19), transparent 30%), linear-gradient(155deg, #fbfdfc 0%, #eef6f3 58%, #f8fbfa 100%); }
.services-head { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 110px; margin-bottom: 56px; }
.services-head > p { margin-bottom: 4px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.service-showcase { overflow: hidden; border: 1px solid rgba(89, 143, 133, .24); border-radius: var(--radius-lg); background: #e6f0ed; box-shadow: 0 30px 74px rgba(11, 65, 59, .14); }
.service-directory { padding: 24px; background: linear-gradient(145deg, rgba(250, 253, 252, .98), rgba(227, 239, 235, .98)); }
.service-directory-head { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 17px; padding: 0 3px 17px; border-bottom: 1px solid var(--line); }
.service-directory-head span { color: #39796e; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.service-directory-head p { margin: 0; color: var(--muted); font-size: 11px; }
.service-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.service-tab { position: relative; min-width: 0; min-height: 128px; display: grid; grid-template-columns: 30px 1fr auto; align-items: start; gap: 13px; padding: 20px; border: 1px solid rgba(76, 127, 118, .17); border-radius: 16px; color: var(--ink); text-align: left; background: rgba(250, 253, 252, .78); cursor: pointer; transition: color .35s ease, background .35s ease, transform .35s cubic-bezier(.2, .75, .25, 1), box-shadow .35s ease; }
.service-tab:hover { box-shadow: 0 16px 34px rgba(9, 61, 54, .1); transform: translateY(-4px); }
.service-tab.is-active { color: var(--white); border-color: rgba(165, 217, 206, .25); background: radial-gradient(circle at 100% 0%, rgba(100, 177, 162, .28), transparent 43%), linear-gradient(135deg, #174d47 0%, #0b302d 68%, #072420 100%); box-shadow: 0 18px 40px rgba(8, 52, 47, .2); }
.service-tab > span:first-child { color: #4e9387; font-family: var(--font-serif); font-size: 13px; }
.service-tab.is-active > span:first-child { color: var(--gold-bright); }
.service-tab > span:nth-child(2) { min-width: 0; display: grid; gap: 10px; }
.service-tab strong { font-family: var(--font-serif); font-size: 17px; font-weight: 600; line-height: 1.08; letter-spacing: -.025em; }
.service-tab small { color: #768985; font-size: 9px; }
.service-tab.is-active small { color: #a9c9c2; }
.service-tab i { color: var(--gold); font-size: 14px; font-style: normal; opacity: .45; transition: opacity .25s ease, transform .25s ease; }
.service-tab.is-active i { color: var(--gold-bright); opacity: 1; transform: translateX(3px); }
.service-panels { position: relative; min-width: 0; min-height: 530px; }
.service-panel { position: absolute; inset: 0; overflow: hidden; padding: 40px 46px 46px; color: var(--white); background-color: var(--charcoal); background-image: radial-gradient(circle at 88% 12%, rgba(111, 180, 166, .31), transparent 34%), radial-gradient(circle at 8% 100%, rgba(31, 103, 93, .48), transparent 36%), linear-gradient(145deg, #164b45 0%, #0b302d 56%, #061f1d 100%); }
.service-panel[hidden] { display: none; }
.service-panel.is-entering { animation: panel-enter .68s cubic-bezier(.17, .85, .25, 1) both; }
.panel-number { position: absolute; right: -5px; bottom: -78px; color: rgba(255, 255, 255, .045); font-family: var(--font-serif); font-size: 280px; font-weight: 600; line-height: 1; pointer-events: none; }
.panel-topline { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 38px; padding-bottom: 17px; border-bottom: 1px solid rgba(178, 219, 211, .18); color: #9fc2ba; font-size: 8px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.panel-topline b { color: var(--gold-bright); font-weight: 700; }
.panel-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 70px; }
.panel-copy { min-width: 0; }
.panel-kicker { margin-bottom: 24px; color: var(--gold-bright); font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.service-panel h3 { max-width: 620px; margin-bottom: 24px; font-family: var(--font-serif); font-size: clamp(40px, 4vw, 58px); font-weight: 500; line-height: 1; letter-spacing: -.05em; }
.panel-lead { max-width: 570px; margin: 0; color: #c4dad5; font-size: 14px; line-height: 1.75; }
.panel-deliverables { padding: 28px; border: 1px solid rgba(173, 217, 208, .2); border-radius: 18px; background: rgba(5, 34, 31, .3); backdrop-filter: blur(9px); box-shadow: 0 22px 50px rgba(0, 22, 19, .16); }
.panel-deliverables > p { margin: 0 0 20px; color: var(--gold-bright); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.service-panel ul { display: grid; gap: 0; margin: 0 0 25px; padding: 0; list-style: none; }
.service-panel li { position: relative; padding: 13px 0 13px 24px; border-top: 1px solid rgba(178, 219, 211, .15); color: #d5e6e2; font-size: 11px; line-height: 1.55; }
.service-panel li:last-child { border-bottom: 1px solid rgba(178, 219, 211, .15); }
.service-panel li::before { content: ""; position: absolute; top: 1.25em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--gold-bright); }
.panel-deliverables > a { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 48px; padding: 0 17px; border: 1px solid rgba(167, 219, 208, .28); border-radius: 999px; color: var(--ink); background: linear-gradient(135deg, #b9e4dc, #8dc9be); font-size: 10px; font-weight: 700; transition: background .25s ease, transform .25s ease; }
.panel-deliverables > a:hover { background: var(--white); transform: translateY(-2px); }

.method { position: relative; background: linear-gradient(180deg, rgba(238, 246, 243, .82), rgba(247, 250, 249, .94)); }
.method-panel { position: relative; padding: 64px; overflow: hidden; border: 1px solid rgba(157, 209, 198, .2); border-radius: var(--radius-lg); color: var(--white); background: radial-gradient(circle at 90% 8%, rgba(105, 180, 165, .3), transparent 31%), linear-gradient(145deg, #174b45 0%, #0a302d 58%, #061f1d 100%); box-shadow: 0 30px 72px rgba(8, 55, 49, .16); }
.method-panel::after { content: "04"; position: absolute; right: -18px; top: 34px; color: rgba(255, 255, 255, .03); font-family: var(--font-serif); font-size: 250px; font-weight: 600; line-height: 1; pointer-events: none; }
.method-head { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 90px; margin-bottom: 52px; }
.method-head h2 { color: var(--white); }
.method-head > p { margin: 0 0 5px; color: #b7d0ca; font-size: 13px; line-height: 1.8; }
.method-steps { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }
.method-steps li { min-height: 255px; padding: 25px; border: 1px solid rgba(172, 215, 207, .16); border-radius: 17px; background: linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025)); transition: transform .35s cubic-bezier(.2, .75, .25, 1), border-color .35s ease, background .35s ease; }
.method-steps li:hover { border-color: rgba(170, 222, 211, .36); background: linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04)); transform: translateY(-6px); }
.method-steps li > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 52px; }
.method-steps li span { color: var(--gold-bright); font-family: var(--font-serif); font-size: 17px; }
.method-steps li i { color: #8fb7ae; font-size: 8px; font-style: normal; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.method-steps h3 { margin-bottom: 13px; font-family: var(--font-serif); font-size: 22px; font-weight: 600; letter-spacing: -.035em; }
.method-steps p { margin: 0; color: #b8cfca; font-size: 11px; line-height: 1.7; }

.contact { padding-top: 0; background: linear-gradient(180deg, rgba(247, 250, 249, .94), rgba(238, 246, 243, .82)); }
.contact-panel { position: relative; min-height: 620px; display: grid; grid-template-columns: 1.05fr .95fr; grid-template-rows: auto 1fr; align-items: center; gap: 54px 80px; overflow: hidden; padding: 42px 78px 72px; border-radius: var(--radius-lg); color: var(--white); background-color: var(--charcoal); background-image: radial-gradient(circle at 78% 22%, rgba(111, 181, 166, .31), transparent 34%), radial-gradient(circle at 8% 100%, rgba(43, 111, 101, .42), transparent 36%), linear-gradient(145deg, #174b46 0%, #0a2f2c 58%, #061f1d 100%); box-shadow: 0 30px 70px rgba(9, 54, 49, .16); }
.contact-mark { position: absolute; right: -70px; bottom: -80px; width: 430px; opacity: .06; transform: rotate(-6deg); }
.contact-topline { position: relative; z-index: 1; grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 24px; padding-bottom: 19px; border-bottom: 1px solid rgba(178, 219, 211, .18); color: #9fc2ba; font-size: 8px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.contact-topline strong { color: var(--gold-bright); }
.contact-kicker { margin-bottom: 26px; color: var(--gold-bright); font-size: 9px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.contact-copy { position: relative; z-index: 1; }
.contact-copy > p:nth-of-type(2) { max-width: 590px; margin: 30px 0 0; color: #c7ddd8; font-size: 14px; line-height: 1.8; }
.contact-assurances { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 31px; }
.contact-assurances span { padding: 8px 11px; border: 1px solid rgba(161, 211, 201, .2); border-radius: 999px; color: #a9c8c1; font-size: 8px; font-weight: 700; letter-spacing: .06em; }
.contact-actions { position: relative; z-index: 1; display: grid; gap: 12px; }
.contact-actions a { position: relative; display: grid; gap: 7px; padding: 23px 58px 23px 25px; border: 1px solid rgba(157, 207, 197, .34); border-radius: 16px; background: rgba(7, 35, 32, .2); backdrop-filter: blur(8px); transition: border-color .25s ease, background .25s ease, color .25s ease, transform .25s ease; }
.contact-actions a:hover { border-color: var(--gold-bright); transform: translateY(-3px); }
.contact-actions a.contact-primary { color: var(--ink); border-color: var(--gold-bright); background: linear-gradient(135deg, #b9e4dc 0%, #8dc9be 100%); }
.contact-actions a.contact-primary:hover { background: var(--white); }
.contact-actions span { color: var(--gold-bright); font-size: 8px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.contact-actions .contact-primary span { color: #245e55; }
.contact-actions strong { overflow-wrap: anywhere; font-size: 13px; }
.contact-actions small { color: #98b9b1; font-size: 9px; }
.contact-actions .contact-primary small { color: #47756c; }
.contact-actions i { position: absolute; top: 50%; right: 26px; font-style: normal; transform: translateY(-50%); }

.site-footer { padding: 20px 0 30px; border-top: 1px solid var(--line); background: linear-gradient(180deg, rgba(245, 250, 248, .92), rgba(229, 240, 236, .94)); }
.footer-main { min-height: 110px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; }
.footer-main > p { margin: 0; color: var(--muted); font-family: var(--font-serif); font-size: 20px; }
.footer-links { display: flex; justify-content: flex-end; gap: 24px; color: var(--muted); font-size: 10px; font-weight: 600; }
.footer-links a:hover { color: var(--ink); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 19px; border-top: 1px solid var(--line); color: #72847f; font-size: 8px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.footer-bottom p { margin: 0; }
.whatsapp-float { position: fixed; z-index: 50; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 10px; padding: 7px 15px 7px 7px; border: 1px solid #598053; border-radius: 999px; color: var(--white); background: #35652f; box-shadow: 0 12px 30px rgba(38, 50, 33, .24); font-size: 10px; font-weight: 700; }
.whatsapp-float span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #35652f; background: var(--white); font-size: 8px; }

/* Service detail: Remuneraciones */
.service-detail-page { background-attachment: fixed; }
.detail-hero { position: relative; overflow: hidden; color: var(--white); background-color: var(--charcoal); background-image: radial-gradient(circle at 12% 5%, rgba(117, 191, 176, .34), transparent 32%), radial-gradient(circle at 86% 78%, rgba(42, 121, 109, .55), transparent 38%), linear-gradient(140deg, #174d47 0%, #0a312e 52%, #061f1d 100%); }
.detail-hero::after { content: ""; position: absolute; right: -11vw; bottom: -36vw; width: 70vw; height: 70vw; border: 1px solid rgba(159, 214, 203, .14); border-radius: 50%; box-shadow: 0 0 0 7vw rgba(159, 214, 203, .025), 0 0 0 15vw rgba(159, 214, 203, .02); pointer-events: none; }
.detail-hero-inner { position: relative; z-index: 1; min-height: 750px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 90px; padding-block: 84px; }
.detail-back { display: inline-flex; margin-bottom: 56px; color: #a6ccc4; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.detail-kicker { margin-bottom: 24px; color: var(--gold-bright); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.detail-hero h1 { margin-bottom: 30px; font-family: var(--font-serif); font-size: clamp(58px, 5.7vw, 86px); font-weight: 500; line-height: .98; letter-spacing: -.065em; }
.detail-hero h1 > span { display: block; overflow: hidden; padding-bottom: 7px; }
.detail-hero h1 i { display: block; font-style: normal; }
.detail-hero h1 .detail-title-accent { color: var(--gold-bright); }
.detail-hero h1 .detail-title-accent i { font-style: italic; }
.detail-lead { max-width: 680px; margin-bottom: 36px; color: #c9ded9; font-size: 15px; line-height: 1.8; }
.detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; }
.detail-scope { position: relative; overflow: hidden; padding: 32px; border: 1px solid rgba(185, 226, 218, .23); background: rgba(7, 37, 34, .42); backdrop-filter: blur(15px); box-shadow: 0 28px 70px rgba(3, 25, 22, .25); }
.detail-scope::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 100% 0%, rgba(147, 210, 197, .18), transparent 38%); }
.scope-head { position: relative; display: flex; justify-content: space-between; gap: 18px; padding-bottom: 24px; border-bottom: 1px solid rgba(190, 224, 217, .22); color: #9bc4bb; font-size: 8px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.detail-scope ol { position: relative; margin: 0; padding: 0; list-style: none; }
.detail-scope li { display: grid; grid-template-columns: 38px 1fr; gap: 5px 16px; padding: 22px 0; border-bottom: 1px solid rgba(190, 224, 217, .16); }
.detail-scope li > span { grid-row: span 2; color: var(--gold-bright); font-size: 10px; padding-top: 3px; }
.detail-scope li strong { font-size: 13px; }
.detail-scope li i { color: #91aaa5; font-size: 9px; font-style: normal; }
.detail-scope > p { position: relative; margin: 22px 0 0; color: #a8beb9; font-size: 9px; line-height: 1.65; }

.detail-intro-grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 100px; }
.detail-intro h2, .deliverables-head h2, .report-feature h2, .detail-process h2, .detail-contact h2 { margin: 0; font-family: var(--font-serif); font-size: clamp(46px, 5vw, 70px); font-weight: 500; line-height: 1.02; letter-spacing: -.06em; }
.detail-intro-grid > div > p { color: var(--muted); font-size: 14px; line-height: 1.8; }
.detail-intro-grid > div > p:last-child { margin-bottom: 0; }

.deliverables { position: relative; overflow: hidden; background-color: var(--white); background-image: radial-gradient(circle at 90% 5%, rgba(110, 176, 162, .2), transparent 28%), radial-gradient(circle at 5% 95%, rgba(193, 224, 216, .28), transparent 30%), linear-gradient(150deg, #fbfdfc, #edf5f2 58%, #f8fbfa); }
.deliverables-head { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 90px; margin-bottom: 52px; }
.deliverables-head > p { margin-bottom: 3px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.deliverables-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; perspective: 1200px; }
.deliverable-card { position: relative; min-height: 410px; display: flex; flex-direction: column; padding: 38px; overflow: hidden; border: 1px solid rgba(64, 115, 106, .18); background: rgba(249, 252, 251, .9); box-shadow: 0 18px 48px rgba(14, 70, 63, .08); transform-style: preserve-3d; transition: transform .4s cubic-bezier(.2, .75, .25, 1), box-shadow .4s ease; }
.deliverable-card::after { content: ""; position: absolute; right: -70px; bottom: -95px; width: 220px; height: 220px; border-radius: 50%; background: rgba(106, 169, 157, .11); transition: transform .45s ease; }
.deliverable-card:hover { transform: translateY(-7px) rotateX(1.5deg); box-shadow: 0 28px 62px rgba(11, 70, 62, .14); }
.deliverable-card:hover::after { transform: scale(1.18); }
.card-liquidaciones { background: linear-gradient(145deg, rgba(226, 241, 236, .96), rgba(194, 220, 213, .88)); }
.card-libro { background: linear-gradient(145deg, rgba(239, 247, 244, .97), rgba(211, 229, 224, .92)); }
.card-reporte { color: var(--white); border-color: rgba(157, 210, 199, .25); background: radial-gradient(circle at 92% 7%, rgba(112, 183, 169, .27), transparent 34%), linear-gradient(145deg, #194d47, #0b302d 62%, #071f1d); }
.deliverable-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; margin-bottom: auto; padding-bottom: 52px; }
.deliverable-top span { color: var(--gold); font-size: 11px; font-weight: 700; }
.deliverable-top i { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; color: #54877e; font-size: 8px; font-style: normal; font-weight: 700; letter-spacing: .08em; }
.card-reporte .deliverable-top i { color: var(--gold-bright); }
.deliverable-card h3 { position: relative; z-index: 1; max-width: 520px; margin-bottom: 16px; font-family: var(--font-serif); font-size: 31px; font-weight: 600; line-height: 1.05; letter-spacing: -.045em; }
.deliverable-card > p { position: relative; z-index: 1; max-width: 530px; margin-bottom: 22px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.card-reporte > p { color: #bcd1cc; }
.deliverable-card ul { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.deliverable-card li { padding: 7px 10px; border: 1px solid rgba(65, 112, 104, .18); border-radius: 999px; color: #53706a; background: rgba(255, 255, 255, .38); font-size: 8px; font-weight: 700; }
.card-reporte li { color: #cee0dc; border-color: rgba(179, 218, 210, .22); background: rgba(255, 255, 255, .035); }

.report-feature-panel { position: relative; display: grid; grid-template-columns: .95fr 1.05fr; gap: 82px; overflow: hidden; padding: 72px; border-radius: var(--radius-lg); color: var(--white); background: radial-gradient(circle at 80% 15%, rgba(110, 181, 167, .3), transparent 32%), linear-gradient(145deg, #174b45 0%, #0a2f2c 58%, #061f1d 100%); box-shadow: 0 30px 72px rgba(8, 55, 49, .17); }
.report-feature-panel::after { content: "RE"; position: absolute; right: -28px; bottom: -104px; color: rgba(255, 255, 255, .035); font-family: var(--font-serif); font-size: 330px; font-weight: 600; line-height: 1; }
.contracts-detail-page .report-feature-panel::after { content: "CT"; }
.section-label-dark { color: var(--gold-bright); }
.section-label-dark span { border-color: rgba(159, 213, 202, .56); }
.report-feature-copy { position: relative; z-index: 1; }
.report-feature-copy > p { margin: 28px 0 34px; color: #bed2cd; font-size: 13px; line-height: 1.8; }
.report-feature-copy > a { display: inline-flex; gap: 30px; padding-bottom: 7px; border-bottom: 1px solid var(--gold-bright); color: var(--gold-bright); font-size: 10px; font-weight: 700; }
.report-points { position: relative; z-index: 1; display: grid; align-content: center; }
.report-points article { display: grid; grid-template-columns: 40px 1fr; gap: 18px; padding: 23px 0; border-top: 1px solid rgba(181, 218, 211, .17); }
.report-points article:last-child { border-bottom: 1px solid rgba(181, 218, 211, .17); }
.report-points article > span { color: var(--gold-bright); font-size: 9px; }
.report-points h3 { margin-bottom: 7px; font-size: 13px; }
.report-points p { margin: 0; color: #aac1bc; font-size: 10px; line-height: 1.65; }

.detail-process-head { max-width: 900px; }
.process-track { height: 1px; margin-top: 72px; background: var(--line); }
.process-track i { display: block; width: 100%; height: 3px; background: var(--gold); transform: scaleX(0); transform-origin: left; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; }
.process-grid li { position: relative; min-height: 255px; padding: 36px 34px 0 0; border-right: 1px solid var(--line); }
.process-grid li:last-child { border-right: 0; padding-left: 30px; }
.process-grid li:not(:first-child):not(:last-child) { padding-left: 30px; }
.process-grid li::before { content: ""; position: absolute; top: -5px; left: -1px; width: 9px; height: 9px; border: 2px solid var(--paper); border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 1px var(--gold); }
.process-grid li > span { display: block; margin-bottom: 40px; color: var(--gold); font-size: 10px; font-weight: 700; }
.process-grid h3 { margin-bottom: 12px; font-family: var(--font-serif); font-size: 23px; font-weight: 600; letter-spacing: -.04em; }
.process-grid p { max-width: 235px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }

.detail-contact { padding-top: 0; }
.detail-contact-panel { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 80px; padding: 72px; overflow: hidden; border-radius: var(--radius-lg); background: radial-gradient(circle at 85% 10%, rgba(126, 190, 177, .27), transparent 30%), linear-gradient(145deg, #e2efeb, #bedbd4); box-shadow: 0 25px 65px rgba(12, 71, 63, .12); }
.detail-contact-panel > div:first-child > p { margin-bottom: 23px; color: #33776b; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.detail-contact-actions { display: grid; gap: 10px; }
.detail-contact-actions a { position: relative; display: grid; gap: 7px; padding: 22px 52px 22px 24px; border: 1px solid rgba(51, 110, 99, .25); background: rgba(250, 253, 252, .56); backdrop-filter: blur(8px); transition: transform .25s ease, background .25s ease; }
.detail-contact-actions a:hover { background: rgba(255, 255, 255, .82); }
.detail-contact-actions span { color: #3d7c71; font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.detail-contact-actions strong { overflow-wrap: anywhere; font-size: 12px; }
.detail-contact-actions i { position: absolute; top: 50%; right: 23px; font-style: normal; transform: translateY(-50%); }

[data-reveal] { opacity: 1; transform: none; }
.has-js [data-reveal] { opacity: 0; transform: translateY(28px); }
.has-js [data-reveal].is-revealed { opacity: 1; transform: none; transition: opacity .85s cubic-bezier(.22, .85, .3, 1), transform .85s cubic-bezier(.22, .85, .3, 1); }

@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes panel-enter { from { opacity: 0; transform: translateX(22px); } to { opacity: 1; transform: none; } }
@keyframes indicator-breathe { 0%, 100% { box-shadow: 0 0 0 5px rgba(158, 213, 202, .08); } 50% { box-shadow: 0 0 0 9px rgba(158, 213, 202, .02); } }
@keyframes indicator-sheen { 0%, 28% { transform: translateX(-30%) rotate(18deg); opacity: 0; } 42% { opacity: 1; } 58%, 100% { transform: translateX(510%) rotate(18deg); opacity: 0; } }

@media (max-width: 1080px) {
  .nav-links { gap: 20px; }
  .hero-frame { min-height: 680px; }
  .hero-copy { padding-left: var(--hero-gutter); }
  .hero h1 { font-size: clamp(54px, 6.5vw, 70px); }
  .hero-index { left: var(--hero-gutter); }
  .previsional-teaser-panel { gap: 48px; padding: 52px; }
  .previsional-page-hero-inner { gap: 60px; }
  .manifesto-grid, .documents-head, .services-head { gap: 70px; }
  .previsional-head { gap: 70px; }
  .document-experience { grid-template-columns: .64fr 1.36fr; }
  .document-copy { padding: 62px 38px 46px; }
  .document-stage { padding-inline: 45px; }
  .service-tab strong { font-size: 16px; }
  .service-panel { padding: 46px; }
  .contact-panel { padding: 60px; }
}

@media (max-width: 960px) {
  .header-inner { grid-template-columns: auto 1fr; }
  .nav-links { justify-content: flex-end; }
  .header-cta { display: none; }
  .hero-frame { --hero-gutter: 26px; grid-template-columns: 1fr; }
  .hero-copy { padding: 76px 56px 52px; }
  .hero-art { min-height: 610px; margin: 0 26px 26px; border-radius: 0 0 24px 24px; }
  .hero-index { display: none; }
  .previsional-teaser-panel { grid-template-columns: 1fr; gap: 48px; }
  .previsional-teaser-copy { max-width: 720px; }
  .previsional-teaser-data { width: 100%; }
  .previsional-page-hero-inner { min-height: auto; grid-template-columns: 1fr; gap: 52px; padding-block: 72px; }
  .previsional-page-card { max-width: 720px; }
  .manifesto-grid, .documents-head, .services-head { grid-template-columns: 1fr; gap: 42px; }
  .previsional-head { grid-template-columns: 1fr; gap: 36px; }
  .previsional-intro { max-width: 700px; margin-left: auto; }
  .previsional-dashboard { padding: 26px; }
  .previsional-highlights { grid-template-columns: repeat(2, 1fr); }
  .manifesto-copy { max-width: 650px; margin-left: auto; }
  .documents-head { margin-bottom: 44px; }
  .document-experience { grid-template-columns: 1fr; }
  .document-copy { padding: 56px; }
  .document-copy > p:not(.document-eyebrow) { max-width: 700px; }
  .document-tabs { grid-template-columns: repeat(2, 1fr); }
  .document-assurances { margin-top: 34px; padding-top: 0; }
  .document-stage { min-height: 860px; }
  .service-tabs { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .service-tab { min-height: 110px; }
  .service-panels { min-height: 620px; }
  .method-head { grid-template-columns: 1fr; gap: 32px; }
  .method-steps { grid-template-columns: repeat(2, 1fr); }
  .method-line { display: none; }
  .method-steps li { min-height: 250px; border-top-color: rgba(172, 215, 207, .16); }
  .method-steps li::before { display: none; }
  .contact-panel { grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 44px; }
  .detail-hero-inner { grid-template-columns: 1fr; gap: 55px; padding-block: 72px; }
  .detail-scope { max-width: 720px; }
  .detail-intro-grid, .deliverables-head, .report-feature-panel, .detail-contact-panel { grid-template-columns: 1fr; gap: 48px; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .process-grid li:nth-child(2) { border-right: 0; }
  .process-grid li:nth-child(3), .process-grid li:nth-child(4) { border-top: 1px solid var(--line); }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-main > p { display: none; }
}

@media (max-width: 720px) {
  .shell { width: min(100% - 28px, 1240px); }
  .section { padding-block: 88px; }
  .utility-inner { justify-content: center; min-height: 30px; }
  .utility-inner p, .utility-inner span, .utility-inner a[href^="tel"] { display: none; }
  .header-inner { min-height: 70px; display: flex; justify-content: space-between; }
  .menu-toggle { display: flex; align-items: center; gap: 9px; padding: 10px; }
  .menu-toggle i { width: 18px; height: 11px; border-top: 1px solid; border-bottom: 1px solid; }
  .nav-links { position: absolute; top: 100%; left: 0; right: 0; display: none; align-items: stretch; gap: 0; padding: 10px 20px 18px; border-bottom: 1px solid var(--line); background: rgba(242, 247, 245, .97); box-shadow: 0 16px 30px rgba(9, 54, 49, .1); }
  .nav-links.is-open { display: grid; }
  .nav-links a { padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
  .nav-links a::before { display: none; }
  .hero { padding-top: 0; }
  .hero-frame { border-radius: 0; }
  .hero-copy { padding: 54px 26px 44px; }
  .hero-overline { margin-bottom: 28px; }
  .hero h1 { font-size: clamp(47px, 13vw, 62px); line-height: .96; }
  .hero-lead { font-size: 14px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 22px; }
  .previsional-teaser-panel { width: 100%; min-width: 0; min-height: 0; gap: 40px; padding: 42px 22px; border-radius: 24px; }
  .previsional-teaser-copy, .teaser-actions, .previsional-teaser-data, .teaser-metrics { width: 100%; min-width: 0; max-width: 100%; }
  .previsional-teaser-copy h2 { font-size: clamp(40px, 11vw, 54px); }
  .previsional-teaser-copy > p { font-size: 13px; }
  .teaser-actions { align-items: stretch; flex-direction: column; }
  .teaser-primary, .teaser-download { width: 100%; min-width: 0; max-width: 100%; gap: 14px; padding-inline: 20px; overflow-wrap: anywhere; }
  .previsional-teaser-data { padding: 16px; border-radius: 19px; }
  .teaser-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .teaser-metric { min-width: 0; }
  .teaser-data-head { align-items: flex-start; flex-direction: column; gap: 10px; }
  .teaser-metric { min-height: 118px; padding: 15px; }
  .teaser-metric strong { font-size: 23px; }
  .teaser-data-foot { align-items: flex-start; flex-direction: column; gap: 10px; }
  .teaser-data-foot p { text-align: left; }
  .previsional-page-hero h1 { font-size: clamp(48px, 13vw, 64px); }
  .previsional-page-hero-inner { padding-block: 56px; }
  .previsional-page-actions { align-items: stretch; flex-direction: column; }
  .previsional-page-actions > * { width: 100%; }
  .previsional-page-card { padding: 21px; }
  .page-sis { padding: 22px; }
  .hero-art { min-height: 520px; margin: 0 12px 12px; }
  .hero-photo-image { object-position: 55% center; }
  .photo-topline { top: 12px; right: 12px; left: 12px; }
  .photo-card { right: 12px; bottom: 12px; left: 12px; padding: 21px 22px; }
  .photo-card > strong { font-size: 28px; }
  .expertise-track { gap: 24px; font-size: 17px; }
  .manifesto h2, .documents-head h2, .services-head h2, .method h2, .contact h2 { font-size: clamp(40px, 11vw, 54px); }
  .previsional-head h2 { font-size: clamp(40px, 11vw, 54px); }
  .previsional-intro { margin-left: 0; }
  .previsional-period { align-items: flex-start; flex-direction: column; gap: 8px; }
  .previsional-period i { display: none; }
  .previsional-dashboard { padding: 16px; border-radius: 24px; }
  .previsional-dashboard-top { align-items: flex-start; flex-direction: column; gap: 12px; }
  .previsional-dashboard-top > p { text-align: left; }
  .previsional-alert { grid-template-columns: 1fr auto; gap: 13px; padding: 17px; }
  .previsional-alert > span { grid-column: 1 / -1; width: max-content; }
  .previsional-alert strong { font-size: 14px; }
  .previsional-highlight { min-height: 112px; padding: 16px; }
  .previsional-highlight > strong { font-size: 24px; }
  .indicator-card, .indicator-card--medium, .indicator-card--wide { grid-column: span 12; padding: 21px; }
  .indicator-card-head { grid-template-columns: 31px 1fr; gap: 12px; }
  .indicator-card-head h3 { font-size: 18px; }
  .indicator-table { min-width: 570px; }
  .indicator-card--wide .indicator-table { min-width: 760px; }
  .previsional-source { align-items: flex-start; flex-direction: column; gap: 12px; }
  .previsional-source p { text-align: left; }
  .manifesto-copy { margin-left: 0; }
  .documents-head { margin-bottom: 36px; }
  .document-experience { min-height: auto; border-radius: 24px; }
  .document-copy { padding: 44px 25px 38px; }
  .document-copy h3 { font-size: 38px; }
  .document-copy > p:not(.document-eyebrow) { margin-bottom: 34px; }
  .document-tabs { grid-template-columns: 1fr; }
  .document-tab { min-height: 84px; }
  .document-assurances { gap: 6px; margin-top: 28px; }
  .document-stage { min-height: 0; padding: 78px 20px 68px; }
  .document-stage-top, .document-stage-bottom { right: 22px; left: 22px; }
  .document-canvas { width: 100%; }
  .document-preview-open { height: auto; transform: none; }
  .document-preview-open > .document-open-label { top: 8px; right: 8px; opacity: 1; transform: none; }
  .web-document { padding: 10px; }
  .web-doc-header { min-height: 62px; gap: 10px; padding: 10px; }
  .web-doc-brand > img { width: 34px; height: 30px; }
  .web-doc-brand strong { font-size: 9px; }
  .web-doc-brand small, .web-doc-heading small { display: none; }
  .web-doc-heading strong { max-width: 155px; font-size: 9px; }
  .web-doc-intro h4 { font-size: 15px; }
  .web-doc-intro p { font-size: 6.5px; }
  .web-doc-intro > span { padding: 5px 7px; }
  .web-doc-info > div { padding: 7px; }
  .web-doc-info strong { font-size: 8.7px; }
  .web-doc-columns { grid-template-columns: 1fr; }
  .web-doc-table > p { font-size: 8.5px; }
  .web-doc-metrics { grid-template-columns: repeat(2, 1fr); }
  .web-doc-contributions > p { min-height: 48px; }
  .web-doc-grand-total > b { font-size: 17px; }
  .document-preview figcaption { flex-direction: column; gap: 8px; }
  .document-preview figcaption span { max-width: none; text-align: left; }
  .document-lightbox { width: calc(100% - 16px); height: calc(100dvh - 16px); border-radius: 18px; }
  .document-lightbox-bar { min-height: 68px; padding: 12px 12px 12px 18px; }
  .document-lightbox-bar strong { font-size: 14px; }
  .document-lightbox-bar button { padding-left: 11px; }
  .document-lightbox-scroll { padding: 16px; }
  .services-head { margin-bottom: 38px; }
  .service-showcase { min-height: auto; border-radius: 22px; }
  .service-directory { padding: 16px; }
  .service-directory-head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .service-tabs { grid-template-columns: 1fr; }
  .service-tab { min-height: 90px; }
  .service-panels { min-height: 760px; }
  .service-panel { padding: 34px 27px; }
  .panel-topline { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 30px; }
  .panel-layout { grid-template-columns: 1fr; gap: 30px; }
  .panel-kicker { margin-bottom: 20px; }
  .service-panel h3 { font-size: 42px; }
  .panel-number { font-size: 210px; }
  .panel-deliverables { padding: 22px; }
  .method-panel { padding: 42px 22px; border-radius: 24px; }
  .method-steps { grid-template-columns: 1fr; }
  .method-steps li { min-height: 220px; padding: 24px; }
  .method-steps li > div { margin-bottom: 38px; }
  .method-steps > li > span { margin-bottom: 24px; }
  .contact-panel { min-height: auto; padding: 52px 26px; border-radius: 24px; }
  .contact-topline { align-items: flex-start; flex-direction: column; gap: 8px; }
  .contact-mark { width: 300px; }
  .detail-hero-inner { min-height: auto; padding-block: 58px; }
  .detail-back { margin-bottom: 42px; }
  .detail-hero h1 { font-size: clamp(45px, 12vw, 58px); }
  .detail-actions { align-items: flex-start; flex-direction: column; gap: 22px; }
  .detail-scope { padding: 25px 22px; }
  .detail-intro h2, .deliverables-head h2, .report-feature h2, .detail-process h2, .detail-contact h2 { font-size: clamp(38px, 10.5vw, 50px); }
  .detail-intro-grid, .deliverables-head { gap: 30px; }
  .deliverables-grid { grid-template-columns: 1fr; }
  .deliverable-card { min-height: 370px; padding: 30px 25px; }
  .deliverable-card h3 { font-size: 27px; }
  .report-feature-panel { padding: 46px 25px; border-radius: 24px; }
  .report-feature-panel::after { font-size: 220px; }
  .process-track { display: none; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid li, .process-grid li:last-child, .process-grid li:not(:first-child):not(:last-child) { min-height: auto; padding: 28px 0; border-right: 0; border-top: 1px solid var(--line); }
  .process-grid li::before { display: none; }
  .process-grid li > span { margin-bottom: 22px; }
  .detail-contact-panel { padding: 46px 25px; border-radius: 24px; }
  .footer-main { min-height: auto; display: flex; flex-direction: column; align-items: flex-start; padding-block: 28px; }
  .footer-links { flex-wrap: wrap; justify-content: flex-start; }
  .footer-bottom { flex-direction: column; }
  .whatsapp-float strong { display: none; }
  .whatsapp-float { padding: 7px; }
}

@media (max-width: 540px) {
  .hero-art { min-height: 500px; }
  .teaser-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .teaser-metric { min-height: 108px; padding: 14px 12px; }
  .teaser-metric strong { font-size: clamp(18px, 5.2vw, 20px); }
  .teaser-metric span { font-size: 9px; }
  .previsional-highlights { grid-template-columns: 1fr 1fr; }
  .previsional-highlight { min-height: 104px; }
  .previsional-highlight > strong { font-size: 20px; }
  .indicator-list > div { align-items: flex-start; grid-template-columns: 1fr; gap: 5px; }
  .indicator-list dd { text-align: left; }
  .document-stage { min-height: 0; padding-inline: 14px; }
  .web-doc-brand > img { width: 28px; height: 25px; }
  .web-doc-heading strong { max-width: 135px; font-size: 8px; }
  .web-doc-intro { align-items: flex-start; }
  .web-doc-intro > span { font-size: 4.8px; }
  .web-doc-contributions > p { gap: 8px; padding-inline: 7px; }
  .web-doc-contributions > p small { font-size: 7.2px; }
  .service-panels { min-height: 690px; }
  .service-panel h3 { font-size: 38px; }
}

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