/* Exact baseline binaries, hosted locally; see assets/fonts/licenses/. */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('../assets/fonts/hanken-grotesk-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('../assets/fonts/space-grotesk-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url('../assets/fonts/material-symbols-home.woff2') format('woff2');
}
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}


*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media (forced-colors:active) {[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}body,html{margin:0;padding:0}body{overscroll-behavior:none}main>:first-child{margin-top:0!important}main>:last-child{margin-bottom:0!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.inset-0{inset:0}.order-1{order:1}.order-2{order:2}.block{display:block}.grid{display:grid}.hidden{display:none}.h-\[520px\]{height:520px}.w-full{width:100%}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-center{align-items:center}.items-stretch{align-items:stretch}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-8{gap:2rem}.bg-\[\#fcfdff\]{--tw-bg-opacity:1;background-color:rgb(252 253 255/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.object-cover{-o-object-fit:cover;object-fit:cover}.font-body{font-family:Hanken Grotesk,sans-serif}.text-\[18px\]{font-size:18px}.text-\[24px\]{font-size:24px}.text-\[\#0f172a\]{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0f172a}::-webkit-scrollbar-thumb{background:#334155}.hairline-b{border-bottom:1px solid rgba(226,232,240,.8)}.hairline-r{border-right:1px solid rgba(226,232,240,.8)}.dark-hairline-b{border-bottom:1px solid hsla(0,0%,100%,.1)}.dark-hairline-r{border-right:1px solid hsla(0,0%,100%,.1)}.selection\:bg-\[\#00818d\] ::-moz-selection{--tw-bg-opacity:1;background-color:rgb(0 129 141/var(--tw-bg-opacity,1))}.selection\:bg-\[\#00818d\] ::selection{--tw-bg-opacity:1;background-color:rgb(0 129 141/var(--tw-bg-opacity,1))}.selection\:text-white ::-moz-selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.selection\:text-white ::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.selection\:bg-\[\#00818d\]::-moz-selection{--tw-bg-opacity:1;background-color:rgb(0 129 141/var(--tw-bg-opacity,1))}.selection\:bg-\[\#00818d\]::selection{--tw-bg-opacity:1;background-color:rgb(0 129 141/var(--tw-bg-opacity,1))}.selection\:text-white::-moz-selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.selection\:text-white::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Refinement of the approved editorial layout: same palette, photographs and
   typefaces. Named selectors keep Hero and responsive behavior maintainable. */
:root { --brand-navy: #0a1128; --brand-ink: #0f172a; --brand-accent: #00818d; --brand-accent-hover: #006570; --brand-accent-on-dark: #43c1c8; --muted-ink: #475569; --header-height: 88px; --ease-out: cubic-bezier(.22, 1, .36, 1); --ease-soft: cubic-bezier(.33, 1, .68, 1); --t-press: 140ms; --t-hover: 190ms; --t-reveal: 560ms; }
[hidden] { display: none !important; }
body { font-weight: 400; }
main { padding-top: 0; }
section[id], #jornada-ferramentaria, #contato, #demo-buyer, #demo-supplier, #legal-status { scroll-margin-top: calc(var(--header-height) + 20px); }
:where(a, button, [tabindex]):focus-visible { outline: 2px solid var(--brand-accent); outline-offset: 4px; }
#site-header :where(a, button):focus-visible { outline-color: var(--brand-accent-on-dark); }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 12px 18px; background: white; color: var(--brand-navy); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.section-container { width: 100%; max-width: 1440px; margin-inline: auto; padding-inline: 48px; }

/* Official full lockup uses a dedicated, transparent digital negative. */
#site-header { position: fixed; inset: 0 0 auto; z-index: 50; background: rgb(10 17 40 / .97); border-bottom: 1px solid #ffffff18; color: white; }
.header-inner { height: var(--header-height); display: grid; grid-template-columns: 190px minmax(0, 1fr) auto; align-items: center; gap: 20px; }
.brand-link { display: block; width: 190px; flex: none; }
.brand-link img { display: block; width: 100%; height: auto; object-fit: contain; }
#primary-navigation { display: flex; align-items: center; justify-content: center; gap: clamp(12px, 1.2vw, 18px); min-width: 0; }
#primary-navigation > a, .nav-about-toggle { display: inline-flex; align-items: center; gap: 5px; color: #cbd5e1; font-size: 13px; font-weight: 500; white-space: nowrap; transition: color .2s; }
#primary-navigation > a:hover, .nav-about-toggle:hover { color: white; }
.nav-about { position: relative; }
.nav-about-toggle { min-height: 44px; }
.nav-about-toggle span, .mobile-about-toggle span { font-size: 16px; line-height: 1; }
.nav-submenu { position: absolute; top: calc(100% + 10px); left: 50%; width: 286px; padding: 8px; transform: translateX(-50%); background: #111c37; border: 1px solid #ffffff20; border-radius: 3px; box-shadow: 0 12px 28px #02061755; }
.nav-submenu a { display: block; padding: 11px 12px; border-radius: 2px; color: #dbe3ee; font-size: 13px; line-height: 1.35; transition: background-color .16s, color .16s; }
.nav-submenu a:hover, .nav-submenu a:focus-visible { background: #ffffff0d; color: #fff; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.nav-toggle { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; color: #e2e8f0; }
#mobile-navigation { position: absolute; inset: var(--header-height) 0 auto; max-height: calc(100svh - var(--header-height)); overflow-y: auto; padding: 12px max(24px, calc((100vw - 1344px) / 2)) 20px; background: var(--brand-navy); border-bottom: 1px solid #ffffff26; box-shadow: 0 14px 24px #02061730; }
#mobile-navigation > a, .mobile-about-toggle, #mobile-about-submenu a { display: flex; align-items: center; width: 100%; min-height: 44px; padding: 11px 0; color: #dbe3ee; font-size: 15px; text-align: left; }
.mobile-about-toggle { justify-content: space-between; }
#mobile-about-submenu { padding-left: 16px; border-left: 1px solid #ffffff24; }
#mobile-about-submenu a { min-height: 42px; font-size: 14px; }
#mobile-navigation .mobile-quote { justify-content: center; min-height: 48px; margin-top: 12px; padding: 13px 20px; color: white; }

/* One button system across both journeys. Labels never wrap. */
.cta { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 13px 24px; font-size: 13px; font-weight: 600; line-height: 20px; letter-spacing: .025em; text-transform: uppercase; white-space: nowrap; border: 1px solid transparent; border-radius: 2px; transition: background-color .2s, border-color .2s, color .2s; }
.cta-primary { background: var(--brand-accent); color: white; }
.cta-primary:hover { background: var(--brand-accent-hover); }
.cta-secondary { background: transparent; color: var(--brand-ink); border-color: #94a3b8; }
.cta-secondary:hover { border-color: var(--brand-ink); background: #f1f5f9; }
.dark-section .cta-secondary, #hero .cta-secondary { color: #e2e8f0; border-color: #ffffff45; }
.dark-section .cta-secondary:hover, #hero .cta-secondary:hover { color: white; border-color: #ffffff99; background: #ffffff0a; }
.header-cta { min-height: 44px; padding: 11px 16px; font-size: 11px; }

/* Full viewport Hero sits behind the fixed official header. Content can grow
   when text scaling or a short viewport needs more room. */
#hero { position: relative; display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; overflow: hidden; background: var(--brand-navy); color: white; }
.hero-photo-layer { overflow: hidden; }
.hero-photo { display: block; width: 100%; height: 100%; object-fit: cover; }
#hero-bg-1 .hero-photo { object-position: 54% 50%; }
#hero-bg-2 .hero-photo { object-position: 58% 30%; }
#hero-bg-3 .hero-photo { object-position: 56% 50%; }
.hero-photo-components .hero-photo { filter: saturate(.88) contrast(1.02); }
.buyer-photo { object-position: 53% 50%; }
.supplier-photo { object-position: 50% 50%; }
.hero-vignette { background: linear-gradient(90deg, rgb(10 17 40 / .97) 0%, rgb(10 17 40 / .80) 48%, rgb(10 17 40 / .22) 100%), linear-gradient(0deg, var(--brand-navy), transparent 66%); }
#hero-bg-2.opacity-100 ~ .hero-vignette { background: linear-gradient(90deg, rgb(10 17 40 / .90) 0%, rgb(10 17 40 / .68) 48%, rgb(10 17 40 / .16) 100%), linear-gradient(0deg, var(--brand-navy), transparent 66%); }
.hero-shell { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; justify-content: center; padding-top: calc(var(--header-height) + 64px); padding-bottom: 44px; }
.hero-main { width: 100%; }
.hero-copy { max-width: 760px; }
.hero-copy h1 { max-width: 760px; font-family: 'Space Grotesk', sans-serif; font-size: clamp(42px, 4.4vw, 64px); line-height: 1.08; font-weight: 600; letter-spacing: -.035em; }
.hero-description { max-width: 640px; margin-top: 30px; color: #e2e8f0; font-size: clamp(19px, 1.45vw, 22px); line-height: 1.6; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.hero-support { max-width: 570px; margin-top: 30px; color: #cbd5e1; font-size: clamp(16px, 1.2vw, 18px); line-height: 1.6; }
.hero-match-card { container-type: inline-size; justify-self: end; width: 100%; max-width: 410px; padding: 30px; background: rgb(10 17 40 / .86); border: 1px solid #ffffff26; border-top: 2px solid var(--brand-accent); border-radius: 4px; }
.hero-match-card h2 { color: #f8fafc; font-family: 'Space Grotesk', sans-serif; font-size: clamp(18px, 6.3cqi, 24px); font-weight: 600; line-height: 1.25; letter-spacing: -.02em; }
.hero-match-description { margin-top: 16px; color: #cbd5e1; font-size: clamp(15px, 4.7cqi, 17px); line-height: 1.6; }
.hero-match-criteria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; margin-top: 24px; padding: 0; list-style: none; }
.hero-match-criteria li { display: flex; align-items: center; gap: 9px; color: #e2e8f0; font-size: clamp(14px, 4cqi, 15px); line-height: 1.5; }
.hero-match-criteria li::before { content: ''; width: 4px; height: 4px; flex: none; background: var(--brand-accent-on-dark); }
.hero-match-result { margin-top: 24px; padding-top: 20px; border-top: 1px solid #ffffff26; color: #f8fafc; font-family: 'Space Grotesk', sans-serif; font-size: clamp(19px, 5.5cqi, 22px); font-weight: 600; line-height: 1.35; }

/* Approved alternating surfaces and editorial split compositions. */
.home-section { padding-block: 88px; }
.pale-section { background: #f8f9fc; }
.dark-section { background: var(--brand-navy); color: white; }
.section-head { max-width: 800px; margin-bottom: 40px; }
.section-head.grid { max-width: none; }
.section-head h2, .conversion-panel h2 { font-family: 'Space Grotesk', sans-serif; font-size: 36px; line-height: 1.18; font-weight: 600; letter-spacing: -.025em; }
.section-head p { max-width: 720px; margin-top: 16px; color: var(--muted-ink); font-size: 16px; line-height: 1.7; }
.section-head.grid > p { margin-top: 4px; }
.dark-section p { color: #cbd5e1; }
.section-action { margin-top: 32px; }
.workflow { border-top: 1px solid #e2e8f0; }
.workflow li { padding: 28px 28px 0; }
.workflow li:first-child { padding-left: 0; }
.workflow li:last-child { padding-right: 0; }
.step-number { color: var(--brand-accent-hover); font-family: 'Space Grotesk', sans-serif; font-size: 34px; line-height: 1; font-weight: 500; }
.workflow h3 { margin-top: 20px; font-family: 'Space Grotesk', sans-serif; font-size: 18px; font-weight: 600; line-height: 1.4; }
.workflow p { margin-top: 12px; color: var(--muted-ink); font-size: 15px; line-height: 1.65; }
.distribution-statement { margin-block: 48px; color: var(--brand-accent-on-dark) !important; max-width: 1050px; font-family: 'Space Grotesk', sans-serif; font-size: 52px; line-height: 1.1; font-weight: 600; letter-spacing: -.025em; }
.editorial-columns { padding-top: 32px; border-top: 1px solid #e2e8f0; }
.dark-section .editorial-columns { border-color: #ffffff20; }
.editorial-columns h3 { font-family: 'Space Grotesk', sans-serif; font-size: 22px; line-height: 1.35; font-weight: 500; }
.editorial-columns p { margin-top: 12px; color: var(--muted-ink); font-size: 15px; line-height: 1.65; }
.dark-section .editorial-columns p { color: #cbd5e1; }
#sobre .about-section-head { margin-bottom: 24px; }
#sobre .about-section-head p { max-width: 720px; margin-top: 12px; }
#sobre .about-section-head p + p { margin-top: 8px; }
#sobre .about-highlights { row-gap: 28px; }
#sobre .about-highlights h3 { font-size: 22px; font-weight: 500; }
#sobre .about-highlights p { margin-top: 10px; }
.service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(192px, 1fr); gap: 14px; margin: 0; padding: 0; list-style: none; }
.service-grid > li { min-width: 0; }
.service-card { display: flex; height: 100%; min-height: 192px; flex-direction: column; align-items: flex-start; padding: 24px; background: #fff; border: 1px solid #dbe1e9; transition: background-color .18s ease, border-color .18s ease; }
.service-card h3 { color: var(--brand-ink); font-family: 'Space Grotesk', sans-serif; font-size: 19px; font-weight: 600; line-height: 1.32; letter-spacing: -.015em; }
.service-card p { max-width: 280px; margin-top: 10px; color: var(--muted-ink); font-size: 14px; line-height: 1.55; }
.service-section-action { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.services-all-button { cursor: not-allowed; letter-spacing: .01em; text-transform: none; }
figcaption { margin-top: 12px; color: #64748b; font-size: 12px; line-height: 18px; }
.dark-section figcaption { color: #94a3b8; }
.benefit-list { display: grid; gap: 24px; }
.benefit-list h3, .supplier-benefits h3 { font-family: 'Space Grotesk', sans-serif; font-size: 18px; line-height: 1.4; font-weight: 600; }
.benefit-list p, .supplier-benefits p { margin-top: 6px; color: var(--muted-ink); font-size: 15px; line-height: 1.65; }
.dark-section .supplier-benefits p { color: #cbd5e1; }
.technical-table { border: 1px solid #e2e8f0; -webkit-overflow-scrolling: touch; }
.technical-table table { width: 100%; min-width: 720px; border-collapse: collapse; text-align: left; font-size: 15px; line-height: 1.65; }
.technical-table thead { background: #f8f9fc; font-size: 13px; }
.technical-table th, .technical-table td { padding: 18px 24px; vertical-align: top; border-bottom: 1px solid #e2e8f0; }
.technical-table th { font-weight: 600; }
.technical-table tbody th { width: 23%; font-family: 'Space Grotesk', sans-serif; }
.technical-table td { color: var(--muted-ink); }
.technical-table td:nth-child(2) { width: 45%; }
.technical-table tr:last-child > * { border-bottom: 0; }
.centered-head { margin-inline: auto; text-align: center; }
.centered-head p { margin-inline: auto; }
#video-institucional { padding-block: clamp(58px, 6vw, 76px); }
#video-institucional .institutional-video-layout { display: grid; max-width: 1220px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "video content"; align-items: stretch; gap: clamp(36px, 5.5vw, 76px); }
#video-institucional .video-stage { position: relative; z-index: 0; grid-area: video; display: grid; place-items: stretch; justify-self: center; align-self: center; width: clamp(280px, 23vw, 330px); aspect-ratio: 9 / 16; min-width: 0; margin: 0; overflow: visible; }
#video-institucional .video-stage::before { position: absolute; z-index: -1; width: 74%; height: 78%; border-radius: 50%; background: #00818d; content: ""; opacity: .13; filter: blur(68px); pointer-events: none; }
#video-institucional .video-section-content { grid-area: content; display: flex; min-width: 0; flex-direction: column; align-self: stretch; justify-content: center; gap: clamp(52px, 6vw, 76px); padding-block: 20px; }
#video-institucional .video-section-head { max-width: none; margin: 0; text-align: left; }
#video-institucional .video-section-head h2 { max-width: 540px; font-size: clamp(32px, 2.55vw, 38px); line-height: 1.16; letter-spacing: -.02em; text-wrap: balance; }
#video-institucional .video-title-accent { color: #43c1c8; }
#video-institucional .video-section-head p { max-width: 540px; margin-top: 18px; color: #cbd5e1; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.6; }
#video-institucional .institutional-video { position: relative; display: block; width: 100%; max-width: 100%; height: 100%; max-height: none; aspect-ratio: 9 / 16; margin: 0; border: 1px solid rgb(255 255 255 / 18%); border-radius: 0; background: #080e20; object-fit: contain; box-shadow: 0 20px 42px rgb(0 0 0 / 32%); }
#video-institucional .video-play-button { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; width: 68px; height: 68px; place-items: center; padding: 0; transform: translate(-50%, -50%); border: 1px solid rgb(255 255 255 / 72%); border-radius: 50%; background: rgb(5 19 37 / 76%); color: #fff; box-shadow: 0 8px 28px rgb(0 0 0 / 30%); cursor: pointer; backdrop-filter: blur(6px); transition: background-color .2s ease, border-color .2s ease, opacity .2s ease, transform .2s ease, visibility .2s ease; }
#video-institucional .video-play-button svg { width: 28px; height: 28px; }
#video-institucional .video-play-button:hover { transform: translate(-50%, -50%) scale(1.06); border-color: #43c1c8; background: #00818d; }
#video-institucional .video-play-button:focus-visible { outline: 3px solid #43c1c8; outline-offset: 4px; }
#video-institucional .video-stage.is-playing .video-play-button { visibility: hidden; opacity: 0; pointer-events: none; }
#video-institucional .video-journeys { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; width: 100%; margin: 0; }
#video-institucional .video-journey { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 20px 18px; border: 1px solid rgb(255 255 255 / 14%); border-radius: 0; text-align: center; }
#video-institucional .video-journey h3 { color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 18px; line-height: 1.35; font-weight: 600; }
#video-institucional .video-journey .cta { width: 100%; min-width: 0; justify-content: center; text-transform: uppercase; letter-spacing: .01em; }
.network-section { padding-block: 64px; }
.network-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .95fr); align-items: center; gap: 64px; max-width: 1280px; }
.network-section .network-copy { max-width: 620px; margin-bottom: 0; }
.network-copy p + p { margin-top: 12px; }
.network-copy strong { color: #075985; font-weight: 600; }
.network-visual { min-width: 0; width: 100%; max-width: 560px; justify-self: center; padding: 16px 0 0; }
.network-partners { display: grid; grid-template-columns: 1fr 32px 1fr; align-items: center; justify-items: center; min-height: 76px; gap: 12px; }
.network-brand { display: block; width: 100%; max-width: 232px; height: auto; }
.network-partner-join { color: #69798c; font-size: 24px; font-weight: 300; line-height: 1; }
.network-fundep { display: block; width: 73%; max-width: 158px; height: auto; object-fit: contain; transform: translateY(2px); }
.network-map { position: relative; width: 100%; aspect-ratio: 480 / 260; container-type: inline-size; }
.network-lines { display: block; width: 100%; height: 100%; }
.network-lines path { fill: none; stroke: #73869b; stroke-width: 1.5; stroke-dasharray: 1200; stroke-dashoffset: 0; vector-effect: non-scaling-stroke; }
.network-lines .network-collaboration { stroke: #6f8398; }
.network-lines circle { fill: var(--brand-accent); }
.network-core { position: absolute; left: 28%; top: 24.615%; width: 44%; height: 30.769%; display: flex; align-items: center; justify-content: center; background: var(--brand-navy); color: white; font-family: 'Space Grotesk', sans-serif; font-size: clamp(15px, 3.7cqi, 20px); font-weight: 500; line-height: 1.25; letter-spacing: -.02em; text-align: center; }
.network-label { position: absolute; color: #475569; font-size: 15px; font-weight: 500; line-height: 1.4; }
.network-capacities { left: 13.333%; top: calc(74.615% + 12px); transform: translateX(-50%); }
.network-services { left: 85%; top: calc(43.077% - 12px); transform: translate(-50%, -100%); }
.network-regions { left: calc(71.667% + 12px); top: 83.077%; transform: translateY(-50%); }
.faq-container { max-width: 960px; }
.faq-item { border-top: 1px solid #e2e8f0; }
.faq-item:last-child { border-bottom: 1px solid #e2e8f0; }
.faq-item button { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; padding-block: 24px; text-align: left; font-family: 'Space Grotesk', sans-serif; font-size: 18px; line-height: 1.45; font-weight: 600; }
.faq-item button:hover { color: var(--brand-accent-hover); }
.faq-plus { flex: none; color: #64748b; font-size: 24px; font-weight: 400; }
.faq-answer { padding-bottom: 24px; color: var(--muted-ink); font-size: 15px; line-height: 1.7; max-width: 760px; }
.conversion-panel { display: flex; flex-direction: column; padding: 44px; }
.buyer-panel { background: var(--brand-navy); color: white; }
.supplier-panel { background: white; border: 1px solid #e2e8f0; }
.journey-label { margin-bottom: 18px; color: #0284c7; font-size: 12px; line-height: 18px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.buyer-panel .journey-label { color: var(--brand-accent-on-dark); }
.supplier-panel h2 { font-size: 30px; }
.conversion-panel > p:not(.journey-label) { margin-top: 20px; color: var(--muted-ink); font-size: 16px; line-height: 1.7; }
.buyer-panel > p:not(.journey-label) { color: #cbd5e1; }
.conversion-action { margin-top: auto; padding-top: 32px; }
.demo-note { margin-top: 14px; color: #64748b; font-size: 12px; line-height: 1.6; }
.buyer-panel .demo-note { color: #cbd5e1; }
.demo-note.is-active { color: inherit; }

/* Section 12 — equal button baselines and a compact, readable mobile stack. */
#solicitar .conversion-panel { min-width: 0; }
#solicitar .conversion-panel h2 { max-width: 22ch; text-wrap: balance; }
#solicitar .conversion-panel > p { max-width: 48ch; }
#solicitar .conversion-action { display: flex; align-items: flex-end; }
#solicitar .conversion-action .cta { min-width: 178px; }
#solicitar .cta:disabled { cursor: not-allowed; }
@media (max-width: 1023px) {
  #solicitar .conversion-panel { padding: 34px; }
}
@media (max-width: 767px) {
  #solicitar > .section-container { gap: 24px; }
  #solicitar .conversion-panel { padding: 26px; }
  #solicitar .conversion-action { padding-top: 24px; }
}
@media (max-width: 359px) {
  #solicitar .conversion-panel { padding: 22px; }
  #solicitar .conversion-action .cta { width: 100%; }
}

/* Section 07 — editorial view of the demand-to-capacity matching flow. */
#matriz-tecnica .matching-intro { max-width: 860px; margin-bottom: 44px; }
#matriz-tecnica .matching-intro h2 { max-width: 760px; }
#matriz-tecnica .matching-intro p { max-width: 760px; }
#matriz-tecnica .matching-flow {
  display: grid;
  --matching-flow-gap: clamp(64px, 8vw, 120px);
  grid-template-columns: repeat(3, max-content);
  justify-content: center;
  align-items: center;
  gap: var(--matching-flow-gap);
  margin: 0;
  padding: 34px 40px;
  background: #f5f7fa;
  list-style: none;
}
#matriz-tecnica .matching-stage {
  position: relative;
  min-width: 0;
  color: var(--brand-navy);
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(22px, 2.1vw, 30px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-align: center;
}
#matriz-tecnica .matching-stage-match { color: #0d4350; }
#matriz-tecnica .matching-stage-suppliers { color: var(--brand-accent-hover); }
#matriz-tecnica .matching-stage:not(:last-child)::after {
  position: absolute;
  top: 50%;
  left: calc(100% + var(--matching-flow-gap) / 2);
  color: #55717e;
  content: '→';
  font-family: 'Hanken Grotesk', sans-serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
  transform: translate(-50%, -50%);
}
#matriz-tecnica .matching-criteria {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 32px;
  margin: 50px 0 0;
  padding: 0;
  list-style: none;
}
#matriz-tecnica .matching-criteria li {
  min-width: 0;
  padding: 17px 0 19px;
  border-top: 1px solid #dce3e9;
  color: var(--brand-ink);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
}

footer { padding-block: 64px 28px; }
.footer-columns { display: grid; grid-template-columns: minmax(220px, 1.05fr) minmax(340px, 1.45fr) minmax(220px, .95fr); gap: clamp(32px, 4vw, 64px); align-items: start; }
.footer-brand-group, .footer-navigation, .footer-utility, .footer-contact, .footer-legal { min-width: 0; }
.footer-brand { display: inline-flex; width: 224px; margin: 0 0 16px; padding: 9px 12px; border-radius: 5px; background: #f8fafc; }
.footer-brand img { display: block; width: 100%; height: auto; }
footer p { max-width: 380px; margin-top: 12px; font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
footer .footer-description { margin-top: 0; color: #d5deea; }
footer h2 { margin: 0 0 18px; font-family: 'Space Grotesk', sans-serif; font-size: 16px; font-weight: 500; color: #f8fafc; }
footer nav ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 22px; }
footer a:not(.brand-link) { min-height: 24px; color: #d2dbe7; font-size: 15px; line-height: 1.5; text-decoration-thickness: 1px; text-underline-offset: 3px; }
footer a:not(.brand-link):hover { color: white; }
.footer-contact-list, .legal-links { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.footer-contact-list li, .legal-links li { display: grid; gap: 3px; min-width: 0; color: #d2dbe7; font-size: 15px; line-height: 1.45; }
.footer-pending { color: #aebed0; font-size: 13px; }
.footer-legal { margin-top: 30px; }
.footer-lower { display: flex; justify-content: space-between; gap: 20px 36px; flex-wrap: wrap; margin-top: 44px; padding-top: 20px; border-top: 1px solid #ffffff26; }
footer .company-identity, footer .copyright { max-width: none; margin: 0; color: #b3c0d0; font-size: 13px; line-height: 1.6; }
footer .company-identity span { padding-inline: 4px; color: #8fa2b8; }

@media (max-width: 1023px) {
  .footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 44px; }
  .footer-brand-group { grid-column: 1 / -1; }
  .footer-utility { grid-column: 2; }
}

@media (max-width: 1279px) and (min-width: 1024px) {
  .hero-copy h1 { font-size: 58px; }
  .hero-match-card { max-width: 380px; padding: 26px; }
}
@media (max-width: 1279px) {
  #primary-navigation { display: none; }
  .header-inner { grid-template-columns: minmax(0, 1fr) auto; }
  .header-actions { justify-self: end; }
  .nav-toggle { display: inline-flex; }
}
@media (max-width: 1023px) {
  .hero-main { row-gap: 34px; }
  .hero-match-card { justify-self: start; max-width: 480px; }
  .hero-copy { max-width: 720px; }
  .hero-copy h1 { font-size: 54px; max-width: 700px; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workflow li { padding-inline: 0; padding-right: 28px; }
  .editorial-photo img { height: 440px; }
  #matriz-tecnica .matching-criteria { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
  .network-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .network-section .network-copy { max-width: 760px; }
  .network-visual { max-width: 560px; }
}
@media (min-width: 1280px) { #mobile-navigation { display: none !important; } }
@media (max-width: 767px) {
  .section-container { padding-inline: 24px; }
  .home-section { padding-block: 64px; }
  .section-head { margin-bottom: 32px; }
  .section-head h2, .conversion-panel h2 { font-size: 30px; }
  #sobre .about-section-head { margin-bottom: 20px; }
  #sobre .about-highlights { row-gap: 24px; }
  .section-head.grid > p { margin-top: 0; }
  .distribution-statement { font-size: 36px; margin-block: 36px; }
  .workflow li { padding-right: 0; }
  .editorial-columns { padding-top: 24px; }
  .editorial-photo img { height: 360px; }
  .conversion-panel { padding: 32px; }
  .network-section { padding-block: 48px; }
  .network-layout { gap: 28px; }
  .network-visual { padding: 12px 0 0; }
  .network-partners { grid-template-columns: 1.15fr 16px 1fr; gap: 10px; min-height: 60px; }
  .network-partner-join { font-size: 20px; }
  .network-label { font-size: 14px; }
  .faq-item button { gap: 16px; padding-block: 22px; }
  .faq-answer { padding: 0 36px 22px 0; }
  footer { padding-block: 48px 26px; }
  #matriz-tecnica .matching-intro { margin-bottom: 32px; }
  #matriz-tecnica .matching-flow { --matching-flow-gap: 64px; padding: 24px 28px; }
  #matriz-tecnica .matching-stage { font-size: 23px; }
  #matriz-tecnica .matching-stage:not(:last-child)::after { left: calc(100% + var(--matching-flow-gap) / 2); font-size: 22px; }
  #matriz-tecnica .matching-criteria { margin-top: 36px; column-gap: 24px; }
}
@media (max-width: 639px) {
  :root { --header-height: 80px; }
  .header-inner { grid-template-columns: minmax(0, 1fr) 44px; gap: 12px; }
  .brand-link { width: min(184px, 100%); }
  .header-cta { display: none; }
  #mobile-navigation { padding-inline: 24px; }
  .hero-shell { justify-content: flex-start; padding-top: calc(var(--header-height) + 28px); padding-bottom: 28px; }
  .hero-main { order: 0; row-gap: 30px; }
  .hero-match-card { max-width: none; padding: 24px; }
  .hero-match-description { font-size: clamp(15px, 4.7cqi, 17px); }
  .hero-support { margin-top: 24px; font-size: 16px; }
  .hero-vignette { background: linear-gradient(90deg, rgb(10 17 40 / .94), rgb(10 17 40 / .55)), linear-gradient(0deg, var(--brand-navy), transparent 72%); }
  #hero-bg-2.opacity-100 ~ .hero-vignette { background: linear-gradient(90deg, rgb(10 17 40 / .86), rgb(10 17 40 / .46)), linear-gradient(0deg, var(--brand-navy), transparent 72%); }
  #matriz-tecnica .matching-flow { grid-template-columns: minmax(0, 1fr); justify-items: start; gap: 24px; padding: 24px; }
  #matriz-tecnica .matching-stage { padding-left: 34px; font-size: 22px; text-align: left; }
  #matriz-tecnica .matching-stage:not(:last-child)::after { top: calc(100% + 12px); right: auto; left: 5px; content: '↓'; font-size: 18px; transform: none; }
  #matriz-tecnica .matching-criteria { column-gap: 20px; }
  .hero-copy h1 { font-size: 40px; line-height: 1.1; letter-spacing: -.025em; }
  .hero-description { font-size: 18px; line-height: 1.55; margin-top: 24px; }
  .hero-ctas { display: grid; grid-template-columns: minmax(0, 1fr); margin-top: 28px; }
  .hero-ctas .cta { width: 100%; }
  .cta { font-size: 12px; padding-inline: 20px; }
  #video-institucional .video-journeys { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  #video-institucional .video-journey { padding: 14px; }
  .footer-columns { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .footer-brand-group, .footer-navigation, .footer-utility { grid-column: 1; }
  .footer-navigation ul { gap: 12px 18px; }
  .footer-legal { margin-top: 24px; }
  .footer-lower { display: grid; gap: 10px; margin-top: 32px; padding-top: 18px; }
  .footer-brand { width: min(224px, 100%); }
  .conversion-panel { padding: 28px; }
}

/* V3 art direction and motion: quiet brand accents, once-only scroll entrances,
   and control feedback. All reveals fail open unless a working observer is set. */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 20px); }
.cta { transition: background-color var(--t-hover) ease, border-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-out); }
.cta:not(:disabled):not([aria-disabled="true"]):hover { transform: translateY(-1px); }
.cta:not(:disabled):not([aria-disabled="true"]):active { transform: translateY(0) scale(.985); }
.cta:disabled, .cta[aria-disabled="true"] { cursor: not-allowed; }
.cta .material-symbols-outlined { transition: transform var(--t-hover) var(--ease-out); }
.cta:not(:disabled):not([aria-disabled="true"]):hover .material-symbols-outlined { transform: translateX(3px); }
#site-header :where(a, button), footer a:not(.brand-link) { transition: color var(--t-hover) ease, background-color var(--t-hover) ease; }
.workflow li { position: relative; }
.step-number { position: relative; display: inline-block; }
.step-number::before { position: absolute; top: -29px; left: 50%; width: 34px; height: 2px; background: var(--brand-accent); content: ''; transform: translateX(-50%); }
#para-compradores .buyer-benefit-list > li,
#para-ferramentarias .supplier-benefits > li { position: relative; padding-left: 16px; }
#para-compradores .buyer-benefit-list > li::before,
#para-ferramentarias .supplier-benefits > li::before { position: absolute; top: 21px; left: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--brand-accent); content: ''; }
#para-ferramentarias .supplier-benefits > li::before { background: var(--brand-accent-on-dark); }
#matriz-tecnica .matching-stage-match::before { background: var(--brand-accent); }
#sobre .about-highlights > div { position: relative; padding-top: 18px; }
#sobre .about-highlights > div::before { position: absolute; inset: 0 auto auto 0; width: 34px; height: 2px; background: var(--brand-accent); content: ''; }
.service-card:focus-within, .faq-item:focus-within { border-color: var(--brand-accent); }
.hero-match-card { animation: hero-card-in 520ms var(--ease-out) 100ms both; }
.hero-copy > * { animation: hero-copy-in 500ms var(--ease-out) both; }
.hero-copy > :nth-child(1) { animation-delay: 0ms; }
.hero-copy > :nth-child(2) { animation-delay: 65ms; }
.hero-copy > :nth-child(3) { animation-delay: 115ms; }
.hero-copy > :nth-child(4) { animation-delay: 165ms; }
@keyframes hero-copy-in { from { opacity: .01; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hero-card-in { from { opacity: .01; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* FAQ disclosure uses a grid row transition for content-driven height. */
.faq-item button { transition: color var(--t-hover) ease; }
.faq-item button:hover, .faq-item button[aria-expanded="true"] { color: var(--brand-accent-hover); }
.faq-plus { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #cbd5e1; border-radius: 50%; color: var(--brand-accent-hover); transition: color var(--t-hover) ease, background-color var(--t-hover) ease, border-color var(--t-hover) ease, transform var(--t-hover) var(--ease-out); }
.faq-item button[aria-expanded="true"] .faq-plus { transform: scale(.96); border-color: var(--brand-accent); background: var(--brand-accent); color: white; }
.faq-answer:not(.hidden) { display: grid; grid-template-rows: 0fr; max-width: none; padding: 0; opacity: 0; transition: grid-template-rows 260ms var(--ease-out), opacity 180ms ease; }
.faq-answer:not(.hidden) > p { min-height: 0; overflow: hidden; max-width: 760px; color: var(--muted-ink); font-size: 15px; line-height: 1.7; }
.faq-answer.is-open { grid-template-rows: 1fr; opacity: 1; }
.faq-answer:not(.hidden) > p { padding: 0 0 24px; }

html.motion-ready [data-motion-reveal] { opacity: 0; transform: translateY(18px); transition: opacity var(--t-reveal) var(--ease-out), transform var(--t-reveal) var(--ease-out); transition-delay: var(--reveal-delay, 0ms); }
html.motion-ready [data-motion-reveal].is-visible { opacity: 1; transform: none; }
html.motion-ready .editorial-photo[data-motion-reveal] img { transform: scale(1.025); transition: transform 720ms var(--ease-soft); }
html.motion-ready .editorial-photo[data-motion-reveal].is-visible img { transform: scale(1); }
html.motion-ready .network-visual.is-visible .network-lines path { animation: network-line-draw 780ms var(--ease-soft) both; }
@keyframes network-line-draw { from { stroke-dashoffset: 1200; } to { stroke-dashoffset: 0; } }
.footer-columns a:focus-visible, footer a:not(.brand-link):hover { color: var(--brand-accent-on-dark); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-copy > *, .hero-match-card { animation: none !important; }
  html.motion-ready [data-motion-reveal] { opacity: 1; transform: none; transition: none; }
  html.motion-ready .editorial-photo[data-motion-reveal] img { transform: none; transition: none; }
  html.motion-ready .network-lines path { stroke-dasharray: none; stroke-dashoffset: 0; transition: none; }
  .faq-answer:not(.hidden) { transition: none; }
  .cta, .faq-item button, .faq-plus { transition-duration: 0.01ms !important; }
}

/* Legal document pages: restrained reading layout using the Home V3 tokens. */
.legal-page { min-height: 100vh; background: #fcfdff; color: var(--brand-ink); }
.legal-skip { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 12px 18px; transform: translateY(-150%); background: #fff; color: var(--brand-navy); }
.legal-skip:focus { transform: translateY(0); }
.legal-header { background: var(--brand-navy); color: #fff; }
.legal-header-inner, .legal-footer-inner { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.legal-header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.legal-brand img { width: 190px; height: auto; }
.legal-home-link, .legal-footer a { color: #fff; text-decoration: underline; text-decoration-color: #43c1c8; text-underline-offset: 4px; transition: color .16s ease; }
.legal-home-link:hover, .legal-footer a:hover { color: #43c1c8; }
.legal-main { width: min(1180px, calc(100% - 48px)); margin-inline: auto; padding-block: 30px 96px; }
.legal-breadcrumb { margin-bottom: 24px; color: #475569; font-size: 14px; }
.legal-breadcrumb a { color: var(--brand-accent-hover); text-decoration: underline; text-underline-offset: 3px; }
.legal-draft { margin-bottom: 34px; padding: 16px 20px; border-left: 4px solid #9a5b00; background: #fff4d6; color: #493000; font-size: 15px; line-height: 1.55; }
.legal-draft strong { display: block; font-family: 'Space Grotesk', sans-serif; font-size: 16px; }
.legal-draft p { margin-top: 4px; }
.legal-title { max-width: 850px; font-family: 'Space Grotesk', sans-serif; font-size: clamp(36px, 5vw, 56px); line-height: 1.08; font-weight: 600; letter-spacing: -.035em; }
.legal-updated { margin-top: 14px; color: #475569; font-size: 15px; }
.legal-intro { max-width: 760px; margin-top: 24px; font-size: 18px; line-height: 1.7; }
.legal-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); align-items: start; gap: 64px; margin-top: 48px; }
.legal-toc { position: sticky; top: 24px; padding: 20px; background: #f1f5f9; }
.legal-toc h2 { font-family: 'Space Grotesk', sans-serif; font-size: 18px; line-height: 1.3; font-weight: 600; }
.legal-toc ol { display: grid; gap: 11px; margin: 16px 0 0; padding-left: 20px; list-style: decimal; }
.legal-toc a { color: #164c59; font-size: 14px; line-height: 1.4; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; transition: color .16s ease, text-decoration-color .16s ease; }
.legal-toc a:hover { color: var(--brand-accent-hover); text-decoration-color: currentColor; }
.legal-content { min-width: 0; max-width: 760px; }
.legal-section { scroll-margin-top: 28px; padding-bottom: 34px; }
.legal-section + .legal-section { padding-top: 30px; border-top: 1px solid #dbe1e9; }
.legal-section h2 { margin-bottom: 14px; color: var(--brand-navy); font-family: 'Space Grotesk', sans-serif; font-size: 25px; line-height: 1.25; font-weight: 600; letter-spacing: -.02em; }
.legal-section h3 { margin-top: 22px; margin-bottom: 8px; font-family: 'Space Grotesk', sans-serif; font-size: 19px; line-height: 1.35; font-weight: 600; }
.legal-section p, .legal-section li { font-size: 16px; line-height: 1.75; }
.legal-section p + p { margin-top: 12px; }
.legal-section ul { display: grid; gap: 5px; margin: 12px 0 16px; padding-left: 24px; list-style: disc; }
.legal-section li::marker { color: var(--brand-accent); }
.legal-pending { color: #7a4300; font-weight: 600; }
.legal-related { margin-top: 16px; }
.legal-related a { color: #006570; text-decoration: underline; text-underline-offset: 3px; }
.legal-footer { padding-block: 38px; background: var(--brand-navy); color: #fff; }
.legal-footer-inner { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; }
.legal-footer h2 { font-family: 'Space Grotesk', sans-serif; font-size: 17px; font-weight: 600; }
.legal-footer ul { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 12px; }
.legal-footer p { color: #cbd5e1; font-size: 14px; line-height: 1.6; }
.legal-page :where(a, [tabindex]):focus-visible { outline: 3px solid var(--brand-accent); outline-offset: 4px; }
.legal-header :where(a, [tabindex]):focus-visible, .legal-footer :where(a, [tabindex]):focus-visible { outline-color: #43c1c8; }
@media (max-width: 800px) {
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 36px; }
  .legal-toc { position: static; }
  .legal-toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; }
  .legal-content { max-width: none; }
}
@media (max-width: 520px) {
  .legal-header-inner, .legal-footer-inner, .legal-main { width: min(100% - 32px, 1180px); }
  .legal-header-inner { min-height: 72px; }
  .legal-brand img { width: 154px; }
  .legal-home-link { font-size: 14px; }
  .legal-main { padding-block: 22px 64px; }
  .legal-draft { padding: 14px 16px; }
  .legal-title { font-size: clamp(30px, 10vw, 36px); }
  .legal-intro { font-size: 17px; }
  .legal-toc { padding: 17px; }
  .legal-toc ol { grid-template-columns: minmax(0, 1fr); }
  .legal-footer-inner { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .legal-page *, .legal-page *::before, .legal-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (max-width: 1023px) {
  #video-institucional { padding-block: 56px; }
  #video-institucional .institutional-video-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "video" "journeys"; row-gap: 22px; }
  #video-institucional .video-stage { width: min(300px, 70vw); min-height: 0; padding: 0; }
  #video-institucional .video-section-content { display: contents; }
  #video-institucional .video-section-head { grid-area: copy; text-align: left; }
  #video-institucional .video-section-head h2 { max-width: 640px; font-size: clamp(30px, 4vw, 38px); text-wrap: balance; }
  #video-institucional .video-section-head p { max-width: 620px; margin-top: 14px; }
  #video-institucional .institutional-video { width: 100%; max-height: none; }
  #video-institucional .video-journeys { grid-area: journeys; width: 100%; max-width: 720px; margin-inline: auto; }
}
@media (max-width: 560px) {
  .service-grid { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; gap: 10px; }
  .service-card { min-height: 132px; padding: 20px; }
  .service-card p { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .service-card { transition: none; }
}
@media (max-width: 359px) {
  .section-container { padding-inline: 16px; }
  .hero-copy h1 { font-size: 36px; }
  .hero-description { font-size: 17px; }
  .conversion-panel { padding: 24px; }
  .conversion-panel h2 { font-size: 28px; }
}
@media (min-width: 1024px) and (max-height: 740px) {
  .hero-shell { padding-top: calc(var(--header-height) + 52px); padding-bottom: 24px; }
  .hero-copy h1 { font-size: 56px; }
  .hero-description { margin-top: 24px; font-size: 19px; }
  .hero-ctas { margin-top: 28px; }
}

/* Buyer section: approved copy and six editorial benefits. */
#para-compradores .buyer-section-head { margin-bottom: 28px; }
#para-compradores .buyer-section-head p + p { margin-top: 10px; }
#para-compradores .buyer-benefit-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  column-gap: 28px;
  row-gap: 0;
}
#para-compradores .buyer-benefit-list > li { min-width: 0; padding-block: 14px; border-top: 1px solid #e2e8f0; }
#para-compradores .buyer-benefit-list h3 { font-size: 16px; line-height: 1.45; }
#para-compradores .buyer-section-action { margin-top: 24px; }
@media (max-width: 639px) {
  #para-compradores .buyer-benefit-list { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; }
}
@media (max-width: 359px) {
  #para-compradores .buyer-section-action .cta { gap: 8px; padding-inline: 14px; font-size: 11px; letter-spacing: .015em; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; }
}

/* Section 03 — controlled editorial hierarchy for the approved differentiator. */
#diferencial .differential-intro { max-width: 920px; margin-bottom: 38px; }
#diferencial .differential-intro h2 { font-family: 'Space Grotesk', sans-serif; font-size: clamp(30px, 3vw, 40px); line-height: 1.18; font-weight: 600; letter-spacing: -.03em; }
#diferencial .differential-feature { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr); align-items: center; gap: clamp(36px, 6vw, 88px); padding-block: 8px 48px; }
#diferencial .differential-highlight { min-width: 0; }
#diferencial .differential-number { color: var(--brand-accent-on-dark); font-family: 'Space Grotesk', sans-serif; font-size: clamp(80px, 9vw, 128px); line-height: .92; font-weight: 600; letter-spacing: -.075em; white-space: nowrap; }
#diferencial .differential-label { margin-top: 12px; color: #f8fafc; font-family: 'Space Grotesk', sans-serif; font-size: clamp(19px, 2vw, 25px); line-height: 1.35; font-weight: 500; letter-spacing: -.015em; }
#diferencial .differential-description { max-width: 560px; color: #cbd5e1; font-size: 17px; line-height: 1.75; }
#diferencial .differential-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #ffffff24; padding-top: 28px; }
#diferencial .differential-benefits > div { min-width: 0; padding-inline: 28px; }
#diferencial .differential-benefits > div:first-child { padding-left: 0; }
#diferencial .differential-benefits > div + div { border-left: 1px solid #ffffff24; }
#diferencial .differential-benefits h3 { font-family: 'Space Grotesk', sans-serif; font-size: 19px; line-height: 1.4; font-weight: 600; }
#diferencial .differential-benefits p { max-width: 340px; margin-top: 8px; color: #cbd5e1; font-size: 15px; line-height: 1.65; }
@media (max-width: 767px) {
  #diferencial .differential-intro { margin-bottom: 28px; }
  #diferencial .differential-intro h2 { font-size: 30px; }
  #diferencial .differential-feature { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-bottom: 34px; }
  #diferencial .differential-number { font-size: clamp(64px, 19vw, 80px); }
  #diferencial .differential-label { margin-top: 10px; font-size: 20px; }
  #diferencial .differential-description { font-size: 16px; line-height: 1.7; }
  #diferencial .differential-benefits { grid-template-columns: minmax(0, 1fr); padding-top: 8px; }
  #diferencial .differential-benefits > div,
  #diferencial .differential-benefits > div:first-child { padding: 20px 0; }
  #diferencial .differential-benefits > div + div { border-left: 0; border-top: 1px solid #ffffff24; }
  #diferencial .differential-benefits p { margin-top: 5px; }
}

/* Section 06: Sandra-approved supplier benefits, kept within this section. */
#para-ferramentarias .supplier-section-head { margin-bottom: 28px; }
#para-ferramentarias .supplier-section-head p { max-width: 680px; }
#para-ferramentarias .supplier-benefits {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: none;
  grid-auto-flow: row;
  column-gap: 28px;
  row-gap: 0;
}
#para-ferramentarias .supplier-benefits > li { min-width: 0; padding-block: 13px; border-top: 1px solid #ffffff24; }
#para-ferramentarias .supplier-benefits h3 { font-size: 16px; line-height: 1.45; }
#para-ferramentarias .supplier-section-action { margin-top: 24px; }
@media (min-width: 640px) {
  #para-ferramentarias .supplier-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
  }
}
@media (max-width: 359px) {
  #para-ferramentarias .supplier-section-action .cta { gap: 8px; padding-inline: 12px; font-size: 11px; letter-spacing: .01em; }
}

/* Rodapé institucional — seção 13 */
footer { padding-block: 44px 20px; }
.footer-columns { grid-template-columns: minmax(205px, .9fr) minmax(300px, 1.1fr) minmax(330px, 1.3fr); gap: 36px; }
.footer-brand { width: 208px; margin: 0 0 10px; padding: 0; border-radius: 0; background: transparent; }
.footer-brand img { width: 100%; height: auto; }
footer .footer-description { margin-top: 0; font-size: 14px; line-height: 1.5; }
footer h2 { margin-bottom: 12px; font-size: 15px; }
footer nav ul { grid-auto-flow: column; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); gap: 7px 20px; }
footer a:not(.brand-link) { min-height: 22px; font-size: 14px; line-height: 1.4; }
.footer-utility { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 20px; }
.footer-contact-list, .legal-links { gap: 8px; }
.footer-contact-list li, .legal-links li { gap: 2px; font-size: 14px; line-height: 1.4; }
.footer-contact-list li { grid-template-columns: minmax(0, 1fr); }
.footer-contact-list a[href^="mailto:"] { display: block; width: 100%; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.footer-pending { font-size: 12px; }
.footer-legal { margin-top: 0; }
.footer-lower { gap: 12px 28px; margin-top: 28px; padding-top: 14px; }
footer .company-identity, footer .copyright { font-size: 12px; line-height: 1.5; }

@media (max-width: 1100px) {
  .footer-columns { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 26px 36px; }
  .footer-brand-group { grid-column: auto; }
  .footer-utility { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
  .footer-lower { margin-top: 24px; }
}

@media (max-width: 639px) {
  footer { padding-block: 36px 18px; }
  .footer-columns { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .footer-brand-group, .footer-navigation, .footer-utility { grid-column: 1; }
  .footer-brand { width: min(208px, 100%); }
  footer h2 { margin-bottom: 10px; }
  footer nav ul { grid-template-rows: repeat(4, auto); gap: 7px 16px; }
  .footer-utility { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .footer-lower { display: grid; gap: 6px; margin-top: 22px; padding-top: 12px; }
}

@media (max-width: 767px) {
  #hero-bg-2 .hero-photo { object-position: 63% 30%; }
  #hero-bg-1 .hero-photo { object-position: 48% 50%; }
  #hero-bg-3 .hero-photo { object-position: 56% 50%; }
  .buyer-photo { object-position: 52% 50%; }
  .supplier-photo { object-position: 50% 50%; }
}

@media (min-width: 1280px) and (max-width: 1439px) {
  #hero .hero-copy { width: calc(100% + 96px); max-width: 800px; }
  #hero .hero-copy h1 { max-width: 800px; font-size: 49px; }
}
@media (min-width: 1440px) {
  #hero .hero-copy { width: calc(100% + 140px); max-width: 900px; }
  #hero .hero-copy h1 { max-width: 900px; font-size: clamp(52px, 3.8vw, 58px); }
}

/* Preserve readable body copy over the second slide on tablet. */
@media (min-width: 640px) and (max-width: 1023px) {
  #hero-bg-2.opacity-100 ~ .hero-vignette {
    background: linear-gradient(90deg, rgb(10 17 40 / .90) 0%, rgb(10 17 40 / .68) 48%, rgb(10 17 40 / .24) 100%), linear-gradient(0deg, var(--brand-navy), transparent 66%);
  }
}

/* Discreet rotation control in the Hero's existing bottom spacing. */
#hero .hero-rotation-toggle {
  position: absolute;
  z-index: 2;
  right: max(16px, calc((100% - 1440px) / 2 + 40px));
  bottom: 8px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #e2e8f0;
  cursor: pointer;
}
#hero .hero-rotation-toggle svg { width: 18px; height: 18px; }
#hero .hero-rotation-toggle:hover { color: var(--brand-accent-on-dark); }
#hero .hero-rotation-toggle:focus-visible { outline: 2px solid var(--brand-accent-on-dark); outline-offset: -2px; }
#hero .hero-rotation-toggle:disabled { opacity: .65; cursor: default; }
@media (max-width: 639px) {
  #hero .hero-rotation-toggle { bottom: 0; }
}
