/* SIPOS PRO: an independent dark presentation, loaded only on /pro/. */
.pro-edition {
  --pro-black: #08090b;
  --pro-surface: #111216;
  --pro-line: #ffffff24;
  --pro-muted: #adb0ba;
  --pro-accent: #547aff;
  --blue: #819aff;
  --paper: var(--pro-black);
  background: var(--pro-black);
  color: #f4f5f8;
}
.pro-edition ::selection { background: #355bea; color: #fff; }
.pro-edition .section { padding-top: clamp(4rem, 7vw, 7.5rem); padding-bottom: clamp(4rem, 7vw, 7.5rem); }
.pro-edition .eyebrow { font-size: .8125rem; font-weight: 500; letter-spacing: .13em; }
.pro-edition :is(a,button,summary):focus-visible { outline: 2px solid #9eb1ff; outline-offset: 5px; }
.pro-edition .header { --blue: #294cf6; background: #fff; color: #1b1c20; border-bottom: 1px solid #e2e5eb; backdrop-filter: none; }
.pro-edition .header-cta { background: #1b1c20; color: #fff; }
.pro-edition .header-cta:hover { background: #294cf6; }
.pro-edition .menu-toggle span { background: #1b1c20; }
.pro-edition .solutions-menu,
.pro-edition .mobile-nav { background: #fff; color: #1b1c20; border-color: #e2e5eb; }
.pro-edition .solutions-menu a:hover { background: #f1f4fa; }
.pro-edition .solutions-menu small,
.pro-edition .mobile-nav small { color: #616b7d; }
.pro-edition .mobile-nav > a { border-color: #e2e5eb; }
.pro-edition .header :is(a,button):focus-visible { outline-color: #294cf6; }
.pro-edition .brand { position: relative; }
@supports (mask-image: url('/assets/logo-sipos.png')) or (-webkit-mask-image: url('/assets/logo-sipos.png')) {
  .pro-edition .brand img { opacity: 0; }
  .pro-edition .brand::before { content: ''; position: absolute; inset: 0; background: #547aff; -webkit-mask: url('/assets/logo-sipos.png') center / contain no-repeat; mask: url('/assets/logo-sipos.png') center / contain no-repeat; }
  .pro-edition .header .brand::before { background: #294cf6; }
}

.pro-opening { position: relative; padding: 1.75rem var(--pad) 0; overflow: hidden; background: var(--pro-black); }
.pro-opening-top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
.pro-edition .page-breadcrumb { margin: 0; color: #989da9; font-size: .8125rem; }
.pro-edition-label { color: #a9aebb; font-size: .75rem; letter-spacing: .15em; }
.pro-opening-copy { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, .65fr); gap: clamp(2rem, 6vw, 7rem); align-items: end; padding: clamp(3.5rem, 6vw, 6rem) 0 clamp(3.5rem, 5vw, 5rem); }
.pro-signature { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; }
.pro-logo-frame { position: relative; display: block; width: clamp(12.5rem, 20vw, 18rem); max-width: 100%; }
/* Reuse the exact uploaded mark; only the PRO badge changes its displayed palette. */
.pro-signature-image { display: block; width: 100%; height: auto; clip-path: inset(0 22.46% 0 0); }
.pro-signature-badge { position: absolute; inset: 0; width: 100%; height: auto; filter: invert(1); clip-path: inset(0 0 0 77.54%); }
.pro-opening h1 { font-size: clamp(3rem, 4.7vw, 5.4rem); line-height: 1.06; font-weight: 500; letter-spacing: -.06em; max-width: 20ch; }
.pro-opening h1 > span { display: block; color: #e1e4ed; }
.pro-opening-intro { padding-bottom: .45rem; }
.pro-opening-intro > .eyebrow { color: #bdc1cc; margin-bottom: 1.2rem; font-size: .75rem; letter-spacing: .1em; }
.pro-opening-intro > p { color: #b7bbc6; font-size: 1.0625rem; line-height: 1.75; max-width: 29rem; }
.pro-opening-actions { display: flex; align-items: flex-start; flex-direction: column; gap: 1.35rem; margin-top: 2rem; }
.pro-edition .pro-button { background: #f5f6fa; color: #101115; min-height: 3.25rem; font-size: .9375rem; padding: .95rem 1.6rem; }
.pro-edition .pro-button:hover { background: #dce4ff; transform: translateY(-2px); }
.pro-quiet-link { display: inline-block; width: fit-content; padding: .35rem 0; border-bottom: 1px solid #ffffff55; color: #e2e5ed; font-size: .9375rem; transition: color .25s, border-color .25s; }
.pro-quiet-link:hover { color: #a5b8ff; border-color: #a5b8ff; }

/* Original captures become part of the composition, without browser frames. */
.pro-cut { position: relative; width: 100%; overflow: hidden; border-radius: inherit; background: #fff; }
.pro-cut > .pro-cut-image { position: absolute; display: block; max-width: none; height: auto; margin: 0; }
.pro-composition { position: relative; isolation: isolate; padding-top: 1.5rem; margin: 1.5rem 0 1rem; scroll-margin-top: 8rem; }
.pro-composition::before { content: ''; position: absolute; z-index: -1; inset: -10% 0 0; background: radial-gradient(ellipse at 50% 45%, #ffffff13, transparent 65%); pointer-events: none; }
.pro-composition-orbit { position: absolute; z-index: -1; width: 75%; aspect-ratio: 1; border: 1px solid #ffffff10; border-radius: 50%; left: 12%; top: -27%; transform: rotateX(65deg) rotate(-18deg); pointer-events: none; }
.pro-composition-asterisk { position: absolute; z-index: 3; top: -4%; left: -1.3%; color: #fff; font-size: clamp(3rem, 6vw, 6rem); filter: drop-shadow(0 5px 15px #0008); }
.pro-overview { position: relative; width: 96%; margin: 0 auto; border-radius: .7rem; box-shadow: 0 40px 80px -25px #000, 0 0 0 1px #ffffff29; transform: perspective(1800px) rotateY(-7deg) rotateZ(-3deg); transform-origin: center; transition: transform 1.2s var(--ease); }
.pro-overview > img { display: block; width: 100%; height: auto; border-radius: inherit; }
.pro-composition-note { position: relative; margin: clamp(2.5rem, 5vw, 5rem) 4% 0; font-size: clamp(1.2rem, 2.3vw, 2.3rem); font-weight: 400; line-height: 1.25; letter-spacing: -.035em; color: #b3b5bc; }
.pro-opening-bottom a { font-size: .875rem; color: #e3e4e8; padding-bottom: .35rem; border-bottom: 1px solid #ffffff55; }
@media (hover: hover) and (pointer: fine) {
  .pro-composition:hover .pro-overview { transform: perspective(1800px) rotateY(-3deg) rotateZ(-1.5deg) translateY(-6px); }
}
.pro-opening-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding: 2rem 0 2.5rem; color: #9298a6; }
.pro-opening-bottom > span:first-child { font-size: .75rem; letter-spacing: .15em; }
.pro-opening-bottom > span:last-child { font-size: .875rem; }

.pro-section-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: end; gap: 8%; margin-bottom: 3.25rem; }
.pro-section-heading .eyebrow { color: #aeb4c3; margin-bottom: 1.35rem; }
.pro-section-heading h2 { max-width: 20ch; font-size: clamp(2.2rem, 3.4vw, 3.75rem); line-height: 1.1; letter-spacing: -.055em; }
.pro-section-heading > p { color: var(--pro-muted); max-width: 29rem; font-size: 1rem; line-height: 1.75; }
/* Each area has its own narrative and selected, legible chart details. */
.pro-editorial { background: #08090b; }
.pro-scene { position: relative; display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 7%; align-items: center; overflow: hidden; border-top: 1px solid #ffffff18; }
.pro-scene:nth-child(even) { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); background: #0e0f12; }
.pro-scene:nth-child(even) .pro-scene-copy { order: 2; }
.pro-scene:nth-child(even) .pro-scene-art { order: 1; }
.pro-scene-copy { position: relative; z-index: 2; padding-bottom: 2rem; }
.pro-scene-copy .eyebrow { color: #aeb1bd; margin-bottom: 1.6rem; }
.pro-scene-copy h2 { max-width: 15ch; font-size: clamp(2.2rem, 3.35vw, 4rem); line-height: 1.1; letter-spacing: -.055em; font-weight: 500; }
.pro-scene-copy > p { max-width: 32rem; margin-top: 1.7rem; font-size: 1.0625rem; line-height: 1.8; color: var(--pro-muted); }
.pro-scene-topics { max-width: 32rem; margin-top: 2.3rem; padding-top: 1.4rem; border-top: 1px solid #ffffff26; color: #d0d2db; font-size: .875rem; line-height: 1.8; }
.pro-scene-art { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); position: relative; isolation: isolate; padding: 1.5rem .5rem; }
.pro-scene-art::before { content: ''; position: absolute; z-index: -1; inset: 10% -15%; background: radial-gradient(ellipse, #ffffff0a, transparent 65%); pointer-events: none; }
.pro-scene-line { position: absolute; z-index: -1; inset: 12% 5%; border: 1px solid #ffffff14; border-radius: 50%; transform: rotate(-20deg); pointer-events: none; }
.pro-fragment { margin: 0; align-self: start; border-radius: 1.2rem; box-shadow: 0 24px 45px -16px #000b, 0 0 0 1px #ffffff38; transition: transform 1s var(--ease); }
.pro-fragment-main { grid-column: 2 / -1; grid-row: 1; transform: rotate(2deg); }
.pro-fragment-detail { grid-column: 1 / 6; grid-row: 2; margin-top: 1.3rem; transform: rotate(-4deg); }
.pro-scene-discentes .pro-fragment-main { grid-column: 1 / 12; transform: rotate(-2deg); }
.pro-scene-discentes .pro-fragment-detail { grid-column: 8 / -1; transform: rotate(4deg); }
.pro-scene-egressos .pro-fragment-main { grid-column: 4 / -1; transform: rotate(3deg); }
.pro-scene-egressos .pro-fragment-detail { grid-column: 1 / 9; transform: rotate(-3deg); margin-top: 2rem; }
.pro-scene-selecoes .pro-fragment-main { grid-column: 6 / -1; grid-row: 1 / 3; transform: rotate(4deg); }
.pro-scene-selecoes .pro-fragment-detail { grid-column: 1 / 6; grid-row: 2 / 4; transform: rotate(-5deg); margin-top: 7rem; }
@media (hover: hover) and (pointer: fine) {
  .pro-scene-art:hover .pro-fragment { transform: rotate(0) translateY(-5px); }
}

.pro-perspective { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 9%; align-items: center; background: #08090b; }
.pro-perspective-photo { position: relative; height: clamp(23rem, 37vw, 37rem); overflow: hidden; border-radius: 0 clamp(3rem, 8vw, 8rem) 0 0; }
.pro-perspective-photo > img { position: absolute; width: 100%; height: 112%; top: -6%; left: 0; object-fit: cover; object-position: center; }
.pro-perspective-photo::after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, #08090bcc); pointer-events: none; }
.pro-perspective-photo figcaption { position: absolute; bottom: 1.5rem; left: 1.5rem; right: 1.5rem; z-index: 1; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; color: #fff; font-size: .75rem; letter-spacing: .12em; }
.pro-perspective-copy > .eyebrow { color: #adb4c5; margin-bottom: 1.5rem; }
.pro-perspective h2 { font-size: clamp(2.2rem, 3.45vw, 3.6rem); line-height: 1.1; letter-spacing: -.055em; max-width: 19ch; margin-bottom: 1.7rem; }
.pro-perspective-copy > p { color: var(--pro-muted); line-height: 1.75; font-size: 1rem; max-width: 30rem; }
.pro-export { display: flex; align-items: start; gap: 1.5rem; margin: 2rem 0; padding: 1.7rem 0; border-top: 1px solid var(--pro-line); border-bottom: 1px solid var(--pro-line); }
.pro-export-formats { display: flex; flex-shrink: 0; gap: .45rem; padding-top: .3rem; }
.pro-export-formats > span { border: 1px solid #ffffff3d; border-radius: 3px; padding: .4rem .45rem; font-size: .75rem; letter-spacing: .06em; color: #eceef5; }
.pro-export p { font-size: .9375rem; color: #b5bac8; line-height: 1.7; }

.pro-implementation { border-top: 1px solid var(--pro-line); background: #0e0f12; }
.pro-implementation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5%; }
.pro-implementation-grid article { position: relative; padding-top: 2rem; border-top: 1px solid #ffffff33; }
.pro-implementation-grid article::before { content: ''; position: absolute; top: -1px; left: 0; width: 2.5rem; height: 2px; background: #c6cbda; transition: width .7s var(--ease); }
.pro-implementation-grid article:hover::before { width: 100%; }
.pro-implementation-grid h3 { font-size: 1.3rem; line-height: 1.3; margin-bottom: 1rem; }
.pro-implementation-grid p { font-size: 1rem; line-height: 1.7; color: var(--pro-muted); }

/* Retain the approved license composition, now within the PRO dark palette. */
.pro-edition .product-license { --product: #24262c; --product-ink: #f1f3fa; background: #08090b; color: #f4f5f8; border-top: 1px solid var(--pro-line); }
.pro-edition .product-license-heading > .eyebrow { color: #aeb7cc; }
.pro-edition .product-license-heading > p { color: var(--pro-muted); }
.pro-edition .license-offer { background: #17191e; border: 1px solid #ffffff32; box-shadow: 0 20px 65px #0003; }
.pro-edition .license-offer::after { content: ''; position: absolute; left: -1px; top: 2rem; bottom: 2rem; width: 1px; background: linear-gradient(transparent, #b5c1e5, transparent); pointer-events: none; }
.pro-edition .license-services-heading { border-color: #ffffff6b; }
.pro-edition .license-services-label { color: #a9b1c4; }
.pro-edition .license-services li { border-color: #ffffff2e; }
.pro-edition .license-service-icon { color: #dce2f2; border-color: #ffffff35; }
.pro-edition .license-services li p { color: var(--pro-muted); }
.pro-edition .license-services li:hover { background: linear-gradient(90deg, #1d2029, transparent); border-color: #8994b3; }
.pro-edition .license-services li:hover .license-service-icon { background: #2d303b; border-color: #78839e; }
.pro-edition .license-offer .license-proposal { background: #fff; color: #101115; }
.pro-edition .license-offer .license-proposal:hover { background: #e3e9fc; }
.pro-edition .license-offer .license-proposal:focus-visible { outline-color: #c4d0ff; }

/* Keep the SIPOS blue contact destination requested across all pages. */
.pro-edition .inquiry { border-top: 1px solid #ffffff20; border-bottom: 1px solid #ffffff20; }
.pro-edition .inquiry-layout { gap: 8%; }
.pro-edition .inquiry h2 { font-size: clamp(2.5rem, 4vw, 4rem); letter-spacing: -.05em; }
.pro-edition .faq { background: #08090b; color: #f4f5f8; border-bottom: 1px solid var(--pro-line); }
.pro-edition .faq .eyebrow { color: #aeb4c4; }
.pro-edition .faq h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.pro-edition .faq details { border-color: #ffffff2e; }
.pro-edition .faq summary { color: #e7eaf2; }
.pro-edition .faq summary > span { color: #aab3ca; }
.pro-edition .faq details p { color: #b5bac6; }
.pro-next { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem 2rem; align-items: end; padding: 3rem var(--pad); background: #101115; border-bottom: 1px solid var(--pro-line); transition: background .3s; }
.pro-next .eyebrow { grid-column: 1 / -1; color: #a1a8b9; }
.pro-next > span:not(.eyebrow) { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.15; letter-spacing: -.055em; }
.pro-next > small { color: #b3bbcd; font-size: .9375rem; }
.pro-next:hover { background: #1a1d25; }
.pro-edition .footer { background: #08090b; color: #e7eaf2; }
.pro-edition .footer-top p,
.pro-edition .footer-links .eyebrow,
.pro-edition .footer-bottom { color: #9da5b7; }
.pro-edition .footer-bottom { border-color: var(--pro-line); }
.pro-edition .footer-links a:hover { color: #b2c2ff; }

@media (min-width: 1700px) {
  .pro-opening-copy { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); }
  .pro-opening h1 { max-width: 22ch; }
  .pro-opening-intro { max-width: 32rem; }
}
@media (max-width: 1000px) {
  .pro-scene,
  .pro-scene:nth-child(even) { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 4%; }
  .pro-scene:nth-child(even) { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
  .pro-scene-copy h2 { font-size: clamp(2rem, 3.5vw, 3rem); }
  .pro-opening-copy { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 2rem; }
  .pro-opening h1 { font-size: clamp(3rem, 6vw, 4.2rem); }
  .pro-opening-intro > .eyebrow { max-width: 18rem; line-height: 1.7; }
  .pro-section-heading { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 5%; }
  .pro-perspective { gap: 5%; }
  .pro-export { flex-direction: column; gap: 1rem; }
}
@media (max-width: 750px) {
  .pro-composition { margin-top: 1rem; margin-bottom: 1.5rem; padding-top: .75rem; }
  .pro-overview { width: 96%; border-radius: .4rem; transform: rotate(-2deg); }
  .pro-composition-note { margin: 2rem 2% 0; font-size: clamp(1.2rem, 4vw, 1.8rem); }
  .pro-composition-asterisk { left: -2%; top: -6%; font-size: 2.8rem; }
  .pro-scene,
  .pro-scene:nth-child(even) { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .pro-scene:nth-child(even) .pro-scene-copy,
  .pro-scene:nth-child(even) .pro-scene-art { order: initial; }
  .pro-scene-copy { padding: 0; }
  .pro-scene-copy h2 { font-size: clamp(2.1rem, 6.5vw, 3rem); max-width: 21ch; }
  .pro-scene-copy > p { margin-top: 1.2rem; font-size: 1rem; }
  .pro-scene-copy .eyebrow { margin-bottom: 1rem; }
  .pro-scene-topics { margin-top: 1.5rem; padding-top: 1rem; }
  .pro-scene-art { padding: 1.3rem .25rem 1rem; }
  .pro-fragment { border-radius: .8rem; }
  .pro-fragment-main { grid-column: 1 / -1; }
  .pro-fragment-detail { grid-column: 1 / 8; margin-top: 1.5rem; }
  .pro-scene-discentes .pro-fragment-main { grid-column: 1 / -1; }
  .pro-scene-discentes .pro-fragment-detail { grid-column: 6 / -1; }
  .pro-scene-egressos .pro-fragment-main { grid-column: 2 / -1; }
  .pro-scene-egressos .pro-fragment-detail { grid-column: 1 / 12; }
  .pro-scene-selecoes .pro-fragment-main { grid-column: 5 / -1; }
  .pro-scene-selecoes .pro-fragment-detail { grid-column: 1 / 7; margin-top: 10rem; }
  .pro-edition .section { padding-top: 3.75rem; padding-bottom: 3.75rem; }
  .pro-opening { padding-top: 1.25rem; }
  .pro-edition-label { display: none; }
  .pro-opening-copy { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; padding: 2.75rem 0 3.25rem; }
  .pro-signature { margin-bottom: 1.75rem; }
  .pro-opening h1 { font-size: clamp(2.7rem, 7.7vw, 4rem); max-width: 18ch; }
  .pro-opening-intro > .eyebrow { max-width: none; margin-bottom: .75rem; }
  .pro-opening-intro > p { font-size: 1rem; max-width: 36rem; }
  .pro-opening-actions { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 1rem 1.25rem; margin-top: 1.5rem; }
  .pro-opening-bottom { gap: .7rem; padding: 1.5rem 0 2rem; }
  .pro-opening-bottom > span:first-child { font-size: .75rem; line-height: 1.7; }
  .pro-section-heading { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin-bottom: 2rem; }
  .pro-section-heading h2 { max-width: 23ch; font-size: clamp(2rem, 6vw, 2.75rem); }
  .pro-perspective { grid-template-columns: minmax(0, 1fr); gap: 2.25rem; }
  .pro-perspective-photo { height: clamp(20rem, 80vw, 32rem); }
  .pro-perspective h2 { font-size: clamp(2rem, 6vw, 2.8rem); max-width: 22ch; }
  .pro-export { flex-direction: row; }
  .pro-implementation-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .pro-implementation-grid article { padding-top: 1.5rem; }
  .pro-edition .inquiry-layout { gap: 3rem; }
  .pro-edition .inquiry h2 { font-size: clamp(2.4rem, 7vw, 3rem); }
  .pro-next { grid-template-columns: minmax(0, 1fr); padding-top: 2.5rem; padding-bottom: 2.5rem; }
}
@media (max-width: 380px) {
  .pro-opening h1 { font-size: 2.5rem; letter-spacing: -.055em; }
  .pro-export { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .pro-edition .pro-overview,
  .pro-edition .pro-fragment { transition: none; }
  .pro-edition .pro-implementation-grid article::before,
  .pro-edition .pro-quiet-link,
  .pro-edition .pro-next { transition: none; }
  .pro-edition .pro-button:hover { transform: none; }
}
