@charset "UTF-8";
/* ============================================================
   bootstrap.min.css v5.3.8 PURGADO (base — precisa vir antes do tema)
   ============================================================ */
/*!
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}ol,ul{padding-left:2rem}ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}b,strong{font-weight:bolder}.small,small{font-size:.875em}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,pre{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}th{text-align:inherit;text-align:-webkit-match-parent}td,th,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.img-fluid{max-width:100%;height:auto}.container{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:1400px){.container{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.col-12{flex:0 0 auto;width:100%}.g-4{--bs-gutter-x:1.5rem}.g-4{--bs-gutter-y:1.5rem}.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-6{flex:0 0 auto;width:50%}.offset-sm-1{margin-left:8.33333333%}}@media (min-width:768px){.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-6{flex:0 0 auto;width:50%}}@media (min-width:992px){.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}}@media (min-width:1200px){.col-xl{flex:1 0 0}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.gx-xl-5{--bs-gutter-x:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}:root{--bs-btn-close-filter: }.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}:root{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }@keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.offcanvas{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.overflow-hidden{overflow:hidden!important}.d-flex{display:flex!important}.d-none{display:none!important}.position-relative{position:relative!important}.w-100{width:100%!important}.h-100{height:100%!important}.flex-wrap{flex-wrap:wrap!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.align-items-center{align-items:center!important}.order-1{order:1!important}.order-2{order:2!important}.m-0{margin:0!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.mt-2{margin-top:.5rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.me-2{margin-right:.5rem!important}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.ms-4{margin-left:1.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.pt-0{padding-top:0!important}.pb-5{padding-bottom:3rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.fw-bold{font-weight:700!important}.text-center{text-align:center!important}.text-uppercase{text-transform:uppercase!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-circle{border-radius:50%!important}.visible{visibility:visible!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-flex{display:flex!important}}@media (min-width:768px){.d-md-flex{display:flex!important}.order-md-1{order:1!important}.order-md-2{order:2!important}}@media (min-width:992px){.order-lg-1{order:1!important}.order-lg-2{order:2!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.mt-lg-0{margin-top:0!important}.mb-lg-0{margin-bottom:0!important}.ps-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-flex{display:flex!important}.align-items-xl-center{align-items:center!important}.order-xl-3{order:3!important}}

/* ============================================================
   jarallax.min.css (vendor, 1.5KB)
   ============================================================ */
.jarallax{position:relative;z-index:0}.jarallax>.jarallax-img,picture.jarallax-img img{position:absolute;object-fit:cover;top:0;left:0;width:100%;height:100%;z-index:-1}

/* ============================================================
   style.css (unificado em site.css)
   ============================================================ */
/* ==========================================================================
   TransHub — Transport & Logistics
   Theme stylesheet (recreation of index-3)
   Layered on top of Bootstrap (grid/utilities/offcanvas/dropdown/tabs).
   --------------------------------------------------------------------------
   TABLE OF CONTENTS
   1.  Design tokens (CSS variables)
   2.  Base & typography
   3.  Containers
   4.  Buttons & helpers (sub-title, sec-title, ripple)
   5.  Preloader
   6.  Header (top bar, navbar, sticky, dropdowns)
   7.  Hero
   8.  Services
   9.  Marquee strip
   10. About (tabs)
   11. Stats
   12. Brand logos
   13. Process
   14. Solution
   15. Video CTA
   16. Recent work (portfolio)
   17. Why us + Quote form
   18. Reviews
   19. Blog
   20. Footer
   21. Scroll to top
   22. Animations
   23. Responsive
   ========================================================================== */

/* ============================ 1. Design tokens ========================== */
:root {
   --font-base: "DM Sans", sans-serif;
   --font-head: "Rethink Sans", sans-serif;

   --primary: #f1762a;
   --primary-rgb: 241, 118, 42;
   --primary-dark: #a9531d; /* laranja escurecido p/ contraste WCAG AA (4.5:1) sobre branco/shade */
   --secondary: #ff9a5f;
   --dark: #020e28;
   --dark-rgb: 2, 14, 40;
   --headings: #020e28;
   --body-color: #535353;
   --white: #fff;
   --white-rgb: 255, 255, 255;
   --shade: #ecf0f1;
   --light: #f7f7f7;
   --light-alt: #fff9f9;
   --mute: #5f6878;
   --mute-alt: #b0b2b8;
   --border: #d8dde1;

   --radius: 30px;
   --radius-lg: 20px;
   --section-pad: 84px;
   /* Hero + faixa do marquee ocupam a tela toda, com teto na altura do Full HD.
      A altura da faixa é DERIVADA das medidas dela (texto + padding + bordas),
      e as regras da faixa consomem estas mesmas variáveis — então se a tipografia
      mudar, o desconto do hero acompanha sozinho. */
   --faixa-txt: 13px;
   --faixa-pad: 20px;
   --faixa-h: calc(var(--faixa-txt) + var(--faixa-pad) * 2 + 2px);
   --hero-max: 1080px;
}

/* ============================ 2. Base & typography ====================== */
* { box-sizing: border-box; }

body {
   font-family: var(--font-base);
   font-size: 16px;
   font-weight: 400;
   line-height: 1.625;
   color: var(--body-color);
   position: relative;
   overflow-x: hidden;
   -webkit-font-smoothing: antialiased;
}

/* Custom scrollbar — brand palette (amber thumb on a navy track) */
html { scrollbar-color: var(--primary) var(--dark); scrollbar-width: thin; overflow-x: hidden; overflow-x: clip; }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--dark); }
::-webkit-scrollbar-thumb {
   background: var(--primary);
   border-radius: 10px;
   border: 3px solid var(--dark);
}
::-webkit-scrollbar-thumb:hover { background: var(--primary-dark); }

h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6, .sec-title {
   font-family: var(--font-head);
   color: var(--headings);
   font-weight: 600;
   line-height: 1.2;
}

h1, .display-1 { font-size: 74px; }
h2, .display-2 { font-size: 48px; }
h3, .display-3 { font-size: 36px; }
h4, .display-4 { font-size: 24px; }
h5, .display-5 { font-size: 20px; }
h6, .display-6 { font-size: 18px; }

a { color: var(--headings); text-decoration: none; transition: all .4s ease; }
a:hover { color: var(--primary); }
img { max-width: 100%; }

.text-primary { color: var(--primary) !important; }
.text-info    { color: var(--white) !important; }   /* template uses .text-info as white */
.text-white   { color: var(--white) !important; }
.text-dark    { color: var(--headings) !important; }
.bg-primary   { background-color: var(--primary) !important; }
.bg-dark      { background-color: var(--dark) !important; }
.bg-info      { background-color: var(--white) !important; }
.bg-shade     { background-color: var(--shade) !important; }
.bg-light     { background-color: var(--light) !important; }
.round        { border-radius: var(--radius) !important; }
.rounded-4    { border-radius: var(--radius-lg) !important; }
.fw-bold      { font-weight: 700 !important; }

/* ============================ 3. Containers ============================= */
@media (min-width: 1400px) { .container { max-width: 1220px; } }
/* Wider content area on large screens — excludes the menu/footer (ct-container) and the hero */
@media (min-width: 1400px) { .container:not(.ct-container):not(.hero-3 > .container) { max-width: 1320px; } } /* HD */
@media (min-width: 1600px) { .container:not(.ct-container):not(.hero-3 > .container) { max-width: 1400px; } } /* Full HD */
.ct-container { width: 100%; margin: 0 auto; padding-right: 15px; padding-left: 15px; }
@media (min-width: 1200px) { .ct-container { max-width: 1320px; } }
@media (min-width: 1400px) { .ct-container { max-width: 1645px; } }

.sec-padding { padding: var(--section-pad) 0; }
.sec-intro { margin: 0 0 60px; max-width: 700px; }
.sec-intro.mx-auto { max-width: 700px; }

/* ============================ 4. Buttons & helpers ===================== */
.sub-title {
   text-transform: uppercase;
   display: inline-block;
   color: var(--primary);
   font-weight: 600;
   font-family: var(--font-head);
   letter-spacing: .04em;
   margin-bottom: 12px;
}
.sub-title i { margin-right: 6px; }
.sub-title img { width: 18px; height: auto; margin-right: 6px; vertical-align: -0.18em; }

.sec-title { font-size: 48px; font-weight: 700; line-height: 1.2; margin-bottom: 20px; }

/* Buttons: pill shape with an expanding dark/orange ripple driven by JS */
.btn {
   --btn-ripple: var(--dark);
   font-family: var(--font-base);
   font-size: 15px;
   font-weight: 600;
   text-transform: capitalize;
   padding: 16px 32px;
   border-radius: var(--radius);
   position: relative;
   border: 0;
   overflow: hidden;
   z-index: 1;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   transition: color .3s;
   cursor: pointer;
}
.btn > span {
   position: absolute;
   display: block;
   width: 0; height: 0;
   border-radius: 50%;
   background-color: var(--btn-ripple);
   transition: width .5s ease-in-out, height .5s ease-in-out;
   transform: translate(-50%, -50%);
   z-index: -1;
}
.btn:hover > span { width: 250%; height: 600px; }
.btn i.fa-arrow-right { transform: rotate(-30deg); transition: transform .4s ease-in-out; }
.btn:hover i.fa-arrow-right { transform: rotate(0deg); }
.btn-xs { padding: 13px 26px; }

.btn-primary { background-color: var(--primary); color: var(--dark); }
.btn-primary:hover { color: var(--white); }
.btn-info { background-color: var(--white); color: var(--headings); --btn-ripple: var(--primary); }
.btn-info:hover { color: var(--white); }

/* Circular icon badges */
.icon, .icon-lg, .icon-xl, .icon-md, .icon-xs {
   height: 46px; width: 46px;
   display: inline-flex; flex: 0 0 auto;
   align-items: center; justify-content: center;
   font-size: 16px;
}
.icon-xs { width: 40px; height: 40px; font-size: 13px; }
.icon-lg { width: 56px; height: 56px; }
.icon-md { width: auto; padding: 0 25px; height: 52px; }
.icon-xl { width: 100px; height: 100px; font-size: 30px; }
.rounded-circle { border-radius: 50% !important; }

.social-share a {
   background-color: var(--primary);
   border-radius: 50px;
   color: var(--white);
   display: inline-flex;
   align-items: center; justify-content: center;
   width: 40px; height: 40px;
   margin-right: 8px;
   transition: all .4s ease;
}
.social-share a:hover { background-color: var(--dark); color: var(--white); }
.social-share.null a { background: transparent; width: auto; height: auto; color: var(--headings); margin-right: 14px; }
.social-share.null a:hover { color: var(--dark); }

.bg-cover { background-size: cover; background-position: center; background-repeat: no-repeat; }

/* Dark overlay used by parallax sections.
   A plain rgba layer instead of mix-blend-mode:multiply — the blend forced a
   full-screen recomposite every scroll frame, which stuttered badly over the
   moving parallax background + hero video. rgba composites cheaply (60fps). */
.parallax-overly {
   position: absolute; inset: 0;
   background-color: rgba(var(--dark-rgb), .82);
   z-index: 0;
}
.jarallax { position: relative; }
.jarallax > .container { position: relative; z-index: 2; }

/* ============================ 5. Preloader ============================= */
#preloader {
   position: fixed; inset: 0;
   background-color: var(--light);
   z-index: 999999;
   transition: opacity .4s ease, visibility .4s ease;
}
#preloader.done { opacity: 0; visibility: hidden; }
.preloader {
   position: absolute; top: 50%; left: 50%;
   width: 50px; height: 50px;
   transform: translate(-50%, -50%);
}
.preloader span {
   position: absolute;
   width: 50px; height: 50px;
   border-radius: 100%;
   background: var(--primary);
   animation: preloader 1.3s linear infinite;
}
.preloader span:last-child { animation-delay: -.8s; }
@keyframes preloader { 0% { transform: scale(0); opacity: .5; } 100% { transform: scale(1); opacity: 0; } }

/* ============================ 6. Header ================================ */
.header { position: relative; z-index: 9; }
.header .header-wrapper { position: absolute; width: 100%; top: 0; left: 0; right: 0; }
.sticky-height { height: 0; }

/* Top contact bar */
.header-top { padding: 12px 0; }
.header-top .header-infos ul { margin: 0; padding: 0; list-style: none; }
.header-top .header-infos ul li,
.header-top .header-infos ul li a { color: var(--white); line-height: 1; }
.header-top .header-infos ul li i { margin-right: 6px; }
.header-top .social-share span { color: var(--white); font-weight: 500; margin-right: 12px; }
.header-top .social-share.null a { color: var(--white); }
.header-top .social-share.null a:hover { color: var(--dark); }

/* Navbar */
.navbar { padding: 0; }
.header-3 .header-nav-wrapper .navbar .ct-container {
   position: relative;
   padding: 0 60px;
   display: flex; align-items: center; flex-wrap: wrap;
}
.header-3 .header-nav-wrapper .navbar .ct-container::before {
   content: ""; position: absolute; inset: 0; z-index: -1;
   box-sizing: border-box;
   border: 0 solid transparent;
   border-left-width: 62px; border-right-width: 62px;
   border-image: url(../images/header3-bg.png) 0 62 fill stretch;
}
.navbar-brand { margin-right: 0; }
.navbar-brand .logo { max-width: 175px; }

.navbar-nav { display: flex; list-style: none; margin: 0; padding: 0; }
.navbar .navbar-nav > li a.nav-link {
   padding: 32px 20px;
   text-transform: capitalize;
   font-weight: 500;
   font-size: 1rem;
   font-family: var(--font-head);
   color: var(--headings);
   position: relative;
}
.navbar .navbar-nav > li:first-child a.nav-link { padding-left: 0; }
.navbar .navbar-nav > li:hover > a.nav-link { color: var(--primary); }
/* Active menu item (current page) */
.navbar .navbar-nav > li > a.nav-link.active { color: var(--primary); }
.navbar .dropdown-menu .dropdown-item.active { background: transparent; color: var(--primary); font-weight: 600; }
.navbar .dropdown-toggle::after { font-size: 12px; margin-left: 4px; }

/* Dropdowns: reveal on hover (desktop) */
.navbar .dropdown-menu {
   border: none; border-radius: 8px;
   padding: 15px 0; min-width: 240px; margin-top: 0;
   background: var(--white);
   box-shadow: -2px 2px 70px -25px rgba(0, 0, 0, .35);
}
.navbar .dropdown-menu .dropdown-item {
   padding: 7px 25px; font-weight: 500; font-size: 15px;
   font-family: var(--font-head); color: var(--headings);
}
.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus {
   background: transparent; color: var(--primary); padding-left: 28px;
}
.navbar .dropdown-item .badge { background: var(--dark); color: #fff; border-radius: 4px; padding: 2px 7px; font-size: 11px; }

@media (min-width: 1200px) {
   .navbar .nav-item.dropdown .dropdown-menu {
      display: block; opacity: 0; visibility: hidden;
      transform: translateY(20px);
      transition: all .35s ease;
   }
   .navbar .nav-item.dropdown:hover .dropdown-menu {
      opacity: 1; visibility: visible; transform: translateY(0);
   }
}

.offcanvas-nav-btn {
   border: 0; background: transparent;
   font-size: 18px; font-weight: 700; color: var(--headings);
   text-transform: uppercase; display: none; align-items: center; gap: 8px;
}
.nav-cta .icon-lg { background: var(--light); color: var(--headings); }
.nav-cta .icon-lg:hover { background: var(--primary); color: var(--white); }

/* Sticky on scroll */
.header-nav-wrapper.scroll-on {
   position: fixed; left: 0; top: 0; right: 0; z-index: 99;
   background: var(--white);
   box-shadow: 0 .25rem 1.25rem rgba(0, 0, 0, .07);
   width: 100%;
   animation: headerSlideDown 1s ease forwards;
}
.header-nav-wrapper.scroll-on .navbar .ct-container { padding: 0 20px; }
.header-nav-wrapper.scroll-on .navbar .ct-container::before { display: none; }
.header-nav-wrapper.scroll-on .navbar .navbar-nav > li a.nav-link { padding: 28px 18px; }
.header-nav-wrapper.scroll-on .navbar .navbar-nav > li:first-child a.nav-link { padding-left: 0; }
@keyframes headerSlideDown { 0% { margin-top: -100px; } 100% { margin-top: 0; } }

/* Search popup */
.search-popup { height: auto; }
.search-popup .search-form { position: relative; }
.search-popup .search-form input { padding: 18px 20px; border: 1px solid var(--border); border-radius: 8px; }
.btn-close.bg-primary { background-color: var(--primary); border-radius: 50%; opacity: 1; }

/* ============================ 7. Hero ================================== */
.hero-3 {
   /* 100% da tela menos a faixa, limitado à altura do Full HD.
      min-height (e não height) para que, numa tela baixa — celular em paisagem —,
      o conteúdo cresça em vez de ser cortado pelo overflow:hidden abaixo. */
   min-height: calc(min(100vh, var(--hero-max)) - var(--faixa-h));
   min-height: calc(min(100svh, var(--hero-max)) - var(--faixa-h)); /* svh: ignora a barra de URL no mobile */
   display: flex;
   align-items: center;
   overflow: hidden;
   padding-top: 70px;                 /* clears the absolute header */
}
.hero-3 > .container { width: 100%; position: relative; z-index: 2; }
/* Reference width spacing: content is a fixed 600px block nudged 60px in (col-lg-4),
   media fills col-lg-8 naturally. */
.hero-3 .hero-content { width: 600px; max-width: none; margin-left: 60px; position: relative; z-index: 2; }
.hero-3 .hero-content span.lead {
   display: inline-block;
   border: 1px solid rgba(var(--white-rgb), .25);
   padding: 6px 18px;
   margin-bottom: 22px;
   font-weight: 500;
   color: rgba(var(--white-rgb), .75);
   border-radius: var(--radius);
   font-size: 13px;
   letter-spacing: .06em;
}
.hero-3 .hero-content h1 { font-size: 48px; line-height: 1.18; margin: 0 0 14px; color: var(--white); }
.hero-3 .hero-content h1 .text-amber { color: var(--primary); }
.hero-3 .hero-content .hero-subtitle {
   color: rgba(var(--white-rgb), .8);
   font-size: 18px; line-height: 1.5;
   margin: 0 0 32px;
}
.hero-3 .hero-content .hero-cta { margin-top: 0; }
/* Hero media — a looping video clipped to the same parallelogram as hero-3.png,
   sitting above two rotated primary bands that show through the cut corners. */
.hero-3 .hero-media {
   position: relative; z-index: 1;
}
.hero-3 .hero-media img,
.hero-3 .hero-media .hero-video {
   position: relative; z-index: 1;
   display: block; width: 100%; height: auto;
   max-width: 100%;
}
.hero-3 .hero-media .hero-video {
   aspect-ratio: 1258 / 1000;        /* same proportion as hero-3.png */
   object-fit: cover;
   /* Corte diagonal só à esquerda: o canto inferior direito passou a ser
      preenchido pelo próprio vídeo (a cunha âmbar foi removida a pedido do cliente). */
   clip-path: polygon(44.8% 0, 100% 0, 100% 100%, 0.9% 100%);
}
/* Banda âmbar remanescente atrás do corte superior esquerdo */
.hero-3 .hero-media::before {
   position: absolute; content: "";
   top: -50%; left: 30%;
   width: 505px; height: 1612px;
   z-index: -1;
   transform: rotate(-28deg);
   background-color: var(--primary);
}
/* On the narrow desktop range the reference widens + nudges the media (col-lg-8 is tight here) */
@media (min-width: 992px) and (max-width: 1199.98px) {
   .hero-3 .hero-media { width: 985px; left: 153px; }
}
/* Full HD: vídeo ampliado — hero mais alto e media crescendo p/ a esquerda (HD ≤1399 intocado) */
@media (min-width: 1400px) {
   .hero-3 .hero-media { width: 122%; margin-left: -10%; }  /* cresce p/ os dois lados; 12% avança à direita do container */
}
.lead { font-size: 18px; line-height: 1.6; font-weight: 500; }

/* Outline button (secondary CTA on dark backgrounds) */
.btn-outline {
   background: transparent;
   border: 2px solid var(--white) !important;
   color: var(--white);
   --btn-ripple: var(--white);
}
.btn-outline:hover { color: var(--headings); }

/* ============================ 8. Services ============================== */
/* Card de serviço: mesmo padrão visual da seção "Segmentos atendidos" — a foto
   ocupa o card inteiro e o painel de texto só aparece no hover (desktop) ou no
   toque (mobile). O card usa a proporção nativa das fotos (304x440), então nada
   é recortado na exibição: a imagem entra inteira. */
.services-3 { padding-top: 0; --serv-inset: 40px; --serv-pad: 22px; }
.services-3 .service-entry {
   position: relative;
   width: 100%;
   cursor: pointer;
   border-radius: var(--radius);
   overflow: hidden;
   background: var(--dark);
}
.services-3 .service-entry:focus-visible {
   outline: 2px solid var(--primary);
   outline-offset: 3px;
}
.services-3 .service-entry img {
   display: block; width: 100%; height: auto;
   aspect-ratio: 304 / 440; object-fit: cover;
}

/* Painel de texto: espelha .pt-hover da seção "Segmentos atendidos" */
.serv-hover {
   position: absolute; top: 50%; left: 50%;
   transform: translate(-50%, -50%);
   width: calc(100% - var(--serv-inset)); height: 58%;
   backdrop-filter: blur(8px);
   /* mesmo vidro claro de "Segmentos atendidos" + um veu escuro na base: as fotos
      desta secao sao mais claras e o texto branco perderia contraste sem ele */
   background:
      linear-gradient(to top, rgba(var(--dark-rgb), .62), rgba(var(--dark-rgb), 0) 62%),
      hsla(0, 0%, 100%, .16);
   border-radius: var(--radius);
   opacity: 0; transition: height .4s ease, opacity .4s ease;
   display: flex; align-items: flex-end;
}
.serv-inner { padding: var(--serv-pad); width: 100%; position: relative; }
.serv-icon {
   position: absolute; top: var(--serv-pad); right: var(--serv-pad);
   display: inline-flex; align-items: center; justify-content: center;
   width: 46px; height: 46px; border-radius: 10px;
   background: var(--dark); color: var(--white); font-size: 18px;
}
.serv-footer { padding-right: 58px; }
.serv-footer h3 { font-size: 19px; line-height: 1.25; margin: 0; color: var(--white); }
.serv-body {
   margin: 10px 0 0; line-height: 1.55; font-size: 14px;
   color: rgba(var(--white-rgb), .85);
}

/* Aberto por toque/teclado (mobile) e por hover (desktop) */
.services-3 .service-entry.is-open .serv-hover { opacity: 1; height: calc(100% - var(--serv-inset)); }
@media (hover: hover) and (pointer: fine) {
   .services-3 .service-entry:hover .serv-hover { opacity: 1; height: calc(100% - var(--serv-inset)); }
}
@media (prefers-reduced-motion: reduce) {
   .serv-hover { transition: none; }
}

/* Em telas menores o card fica mais largo: folga e tipografia acompanham */
@media (max-width: 1399.98px) {
   .services-3 { --serv-inset: 34px; --serv-pad: 20px; }
   .serv-footer h3 { font-size: 18px; }
}
@media (max-width: 1199.98px) {
   .services-3 { --serv-inset: 44px; --serv-pad: 24px; }
   .serv-footer h3 { font-size: 20px; }
   .serv-body { font-size: 15px; }
}
@media (max-width: 575.98px) {
   .services-3 { --serv-inset: 36px; --serv-pad: 20px; }
   .serv-footer h3 { font-size: 19px; }
}

/* ============================ 9. Marquee strip ======================== */
/* Faixa divisória discreta: caps pequenas espaçadas + separador sutil, com fade nas bordas */
.text-slide-sec3 { padding: 0; background: var(--white); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.marquee {
   overflow: hidden; padding: var(--faixa-pad) 0;
   -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
   mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.marquee-track { display: flex; width: max-content; animation: marquee 32s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }
.text-slide-wrap { display: flex; align-items: center; gap: 34px; padding-right: 34px; }
.text-slide-wrap .text-item { display: flex; align-items: center; gap: 34px; }
.text-slide-wrap .text-item img { width: 9px; height: 9px; opacity: .45; }
.text-slide-wrap .text-item .display-1 {
   font-family: var(--font-head);
   color: #687284; font-size: var(--faixa-txt); font-weight: 700; /* = navy a ~62% sobre branco; passa WCAG AA */
   letter-spacing: .24em; text-transform: uppercase;
   white-space: nowrap;
   line-height: 1; margin: 0 -.24em 0 0; /* zera o margin do h3 e compensa o letter-spacing final */
}
.text-slide-wrap .text-item img { flex-shrink: 0; margin-top: -1px; }
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* Links dentro de texto corrido: distinguíveis sem depender só da cor (WCAG 1.4.1) */
.rich-text p a:not(.btn):not(.btn-wa) { text-decoration: underline; text-underline-offset: 3px; }

/* ============================ 10. About =============================== */
/* Overlapping image collage — faithful to the reference:
   - .feat-img  : woman photo, right-aligned at the top
   - .ab-sm-ft  : truck collage (front) + circular port photo, pulled up/left to overlap
   - .ab-stat2  : circular "Best Logistics services" seal, centred over the overlap
   - .experien-stat : "25+ Years" ribbon badge anchored top-left of the photo            */
.about-sec3 { position: relative; }
.about-media3 {
   position: relative;
   max-width: 485px;
   margin: 0 auto;
}
.about-media3 .feat-img { text-align: right; }

/* "Years Experience" ribbon badge */
.experien-stat {
   background: var(--primary);
   position: absolute;
   top: 40px; left: 10px;
   padding: 14px 40px;
   border-radius: 10px 10px 10px 0;
   font-family: var(--font-head); font-weight: 600; color: var(--white);
   /* No z-index here: as a positioned element it already paints above the photo,
      and leaving the stacking context open lets the fold (::before) drop behind it. */
}
.experien-stat::before {                 /* folded ribbon corner — tucks behind the photo */
   content: "";
   position: absolute; left: 0; top: 52px;
   width: 40px; height: 34px;
   background: linear-gradient(163deg, var(--primary), #5a1c03);
   clip-path: polygon(100% 0, 0 0, 100% 100%);
   z-index: -1;
}

/* Bottom image pair: pulled left & up so it overlaps the photo above */
.about-media3 .ab-sm-ft { margin-left: -150px; margin-top: -83px; }
.about-media3 .ab-sm-ft img:first-child { z-index: 1; }   /* truck collage in front */
.about-media3 .ab-sm-ft img:last-child  { margin-top: 90px; } /* circular photo, stepped down */

/* Rotating-style circular seal centred over the overlap */
.about-media3 .ab-stat2 {
   position: absolute;
   top: 62%; left: 58%;
   transform: translate(-50%, -50%);
   max-width: 190px; padding: 20px; line-height: 1;
   text-align: center; margin: 0;
   z-index: 2;
}
.about-content3 .nav-tabs { margin: 30px 0 0; padding-bottom: 0; border: 0; gap: 14px; }
.about-content3 .nav-tabs .nav-link {
   color: var(--headings); font-weight: 700; border-radius: var(--radius);
   font-size: 14px; background: var(--shade); padding: 8px 26px; border: 0;
}
.about-content3 .nav-tabs .nav-link.active,
.about-content3 .nav-tabs .nav-link:hover { color: var(--white); background: var(--primary); }
.about-content3 .tab-content { padding-top: 28px; }
.about-content3 .tab-img img { max-width: 150px; }

/* "Destaques" — two-column checklist with circular check badges */
.check-grid {
   list-style: none; margin: 30px 0 28px; padding: 0;
   display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
}
.check-grid li {
   display: flex; align-items: center; gap: 14px;
   font-family: var(--font-head); font-weight: 600; font-size: 15px;
   color: var(--headings); line-height: 1.25;
   background: var(--white); border: 1px solid var(--border);
   border-radius: 12px; padding: 14px 16px;
   transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.check-grid li:hover {
   border-color: rgba(var(--primary-rgb), .5); transform: translateY(-2px);
   box-shadow: 0 12px 26px rgba(var(--dark-rgb), .08);
}
.check-grid li .ck {
   flex: 0 0 auto;
   width: 40px; height: 40px; border-radius: 11px;
   background: rgba(var(--primary-rgb), .14); color: var(--primary-dark);
   display: inline-flex; align-items: center; justify-content: center;
   font-size: 16px;
}
/* Variante com descrição: mesmo cartão do .check-grid, mas com título + texto
   de apoio. Fica em modificador próprio porque .check-grid (linha única) também
   é usado em equipamentos-novos, sobre-a-lider-rental e treinamento. */
.check-grid--detail li { align-items: flex-start; }
.check-grid--detail li .ck { margin-top: 2px; }
.check-grid--detail .ck-txt { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.check-grid--detail .ck-txt strong {
   font-family: var(--font-head); font-weight: 600; font-size: 15px;
   color: var(--headings); line-height: 1.3;
}
.check-grid--detail .ck-txt span {
   font-family: var(--font-base); font-weight: 400; font-size: 13.5px;
   color: var(--mute); line-height: 1.55;
}
/* Compact wrapping pill checklist (space-saving alternative to .check-grid) */
.check-pills {
   list-style: none; margin: 26px 0 0; padding: 0;
   display: flex; flex-wrap: wrap; gap: 10px;
}
.check-pills li {
   display: inline-flex; align-items: center; gap: 9px;
   font-family: var(--font-head); font-weight: 600; font-size: 14px;
   color: var(--headings); line-height: 1;
   background: var(--white); border: 1px solid var(--border);
   border-radius: 30px; padding: 8px 16px 8px 9px;
   transition: border-color .3s ease, box-shadow .3s ease;
}
.check-pills.check-pills-center { justify-content: center; }
.check-pills li:hover {
   border-color: rgba(var(--primary-rgb), .5);
   box-shadow: 0 8px 18px rgba(var(--dark-rgb), .07);
}
.check-pills li .ck {
   flex: 0 0 auto;
   width: 24px; height: 24px; border-radius: 50%;
   background: rgba(var(--primary-rgb), .16); color: var(--primary-dark);
   display: inline-flex; align-items: center; justify-content: center;
   font-size: 11px;
}
/* Highlighted objective callout */
.atuar-note {
   display: flex; align-items: center; gap: 14px;
   padding: 18px 20px; border-radius: 12px;
   background: rgba(var(--primary-rgb), .08);
   border-left: 3px solid var(--primary);
   color: var(--headings); font-weight: 500; line-height: 1.5;
}
.atuar-note i { color: var(--primary); font-size: 20px; flex-shrink: 0; }

/* Clean single-column checklist (inside cards) */
.check-list { list-style: none; margin: 6px 0 0; padding: 0; }
.check-list li { display: flex; align-items: flex-start; gap: 11px; padding: 7px 0; color: var(--body-color); line-height: 1.4; }
.check-list li .ck {
   flex-shrink: 0; margin-top: 2px;
   width: 22px; height: 22px; border-radius: 6px;
   background: rgba(var(--primary-rgb), .14); color: var(--primary-dark);
   display: inline-flex; align-items: center; justify-content: center; font-size: 11px;
}
/* Benefit panel (dark card with amber checklist — for image-less sections) */
.benefit-panel {
   position: relative; overflow: hidden; height: 100%;
   background: var(--dark); border-radius: var(--radius-lg); padding: 44px;
}
.benefit-panel::after {
   content: ""; position: absolute; top: -120px; right: -90px;
   width: 340px; height: 340px; border-radius: 50%;
   background: radial-gradient(circle, rgba(var(--primary-rgb), .12), transparent 70%);
   pointer-events: none;
}
.benefit-panel > * { position: relative; z-index: 1; }
.benefit-panel .bp-head { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.benefit-panel .bp-icon {
   width: 48px; height: 48px; border-radius: 12px; flex-shrink: 0;
   display: inline-flex; align-items: center; justify-content: center;
   background: rgba(var(--primary-rgb), .14); border: 1px solid rgba(var(--primary-rgb), .4);
   color: var(--primary); font-size: 18px;
}
.benefit-panel h3 { color: var(--white); font-size: 20px; margin: 0; }
.benefit-panel .check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 28px; margin: 0; }
.benefit-panel .check-list li { color: rgba(var(--white-rgb), .85); }
.benefit-panel .check-list li .ck { background: rgba(var(--primary-rgb), .2); color: var(--primary); }
@media (max-width: 575.98px) { .benefit-panel { padding: 30px; } .benefit-panel .check-list { grid-template-columns: 1fr; } }

/* Sequential step label (e.g. "Etapa 01") */
.step-label {
   display: inline-block; color: var(--primary-dark);
   font-family: var(--font-head); font-weight: 700; font-size: 12px;
   text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px;
}

/* Segment cards with background image + gradient overlay */
.area-card {
   position: relative; display: block; height: 290px;
   border-radius: var(--radius-lg); overflow: hidden;
}
.area-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.area-card::after {
   content: ""; position: absolute; inset: 0;
   background: linear-gradient(to top, rgba(var(--dark-rgb), .92) 0%, rgba(var(--dark-rgb), .45) 45%, rgba(var(--dark-rgb), .05) 100%);
}
.area-card:hover img { transform: scale(1.07); }
.area-card .area-body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 26px; }
.area-card .area-body h3 { color: var(--white); font-size: 20px; margin: 0 0 6px; }
.area-card .area-body p { color: rgba(var(--white-rgb), .82); margin: 0; font-size: 14px; line-height: 1.45; }

/* Two-column clean checklist (amber circle checks) */
.check-cols { list-style: none; padding: 0; margin: 26px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 30px; }
.check-cols li { display: flex; align-items: center; gap: 11px; padding: 7px 0; color: var(--headings); font-weight: 600; font-family: var(--font-head); }
.check-cols li .ck {
   flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%;
   background: var(--primary); color: var(--white);
   display: inline-flex; align-items: center; justify-content: center; font-size: 11px;
}
@media (max-width: 575.98px) { .check-cols { grid-template-columns: 1fr; } }

/* Maintenance type cards (light) */
.maint-card {
   height: 100%;
   background: var(--white);
   border: 1px solid var(--border);
   border-radius: var(--radius-lg);
   padding: 40px;
   transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.maint-card:hover {
   border-color: rgba(var(--primary-rgb), .45);
   box-shadow: 0 18px 40px rgba(var(--dark-rgb), .07);
   transform: translateY(-4px);
}
.maint-card .maint-icon {
   display: inline-flex; align-items: center; justify-content: center;
   width: 54px; height: 54px; border-radius: 14px;
   background: var(--shade); color: var(--dark);
   font-size: 21px; margin-bottom: 24px;
}
.maint-card h3 { font-size: 22px; margin: 0 0 12px; }
.maint-card > p { color: var(--body-color); line-height: 1.7; margin-bottom: 16px; }
.maint-card .check-list { margin-top: 4px; }
.maint-card .check-list .ck { background: var(--primary); color: var(--white); border-radius: 7px; }

/* City coverage chips */
.city-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.city-chip {
   display: flex; align-items: center; gap: 11px; padding: 14px 18px;
   background: var(--white); border: 1px solid var(--border); border-radius: 10px;
   font-family: var(--font-head); font-weight: 600; color: var(--headings);
   transition: border-color .3s ease, transform .3s ease;
}
.city-chip:hover { border-color: rgba(var(--primary-rgb), .5); transform: translateY(-2px); }
.city-chip .ck {
   flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%;
   background: var(--primary); color: var(--white);
   display: inline-flex; align-items: center; justify-content: center; font-size: 11px;
}
@media (max-width: 991.98px) { .city-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575.98px) { .city-grid { grid-template-columns: 1fr; } }
@media (max-width: 575.98px) { .check-grid { grid-template-columns: 1fr; gap: 12px; } }

.quick-call .conn-txt p { color: var(--mute); }
.quick-call .h6 { font-family: var(--font-head); font-weight: 600; font-size: 18px; }

/* ============================ 11. Stats =============================== */
.stat-sec3 { position: relative; }
/* Left lead column */
.stat-lead .sec-title { margin-bottom: 18px; }
.stat-lead p { color: rgba(var(--white-rgb), .72); max-width: 470px; margin-bottom: 32px; }
.stat-eyebrow, .eyebrow {
   display: inline-flex; align-items: center; gap: 14px;
   text-transform: uppercase; color: var(--primary);
   font-family: var(--font-head); font-weight: 700;
   letter-spacing: .14em; font-size: 13px; margin-bottom: 18px;
}
.stat-eyebrow::before, .eyebrow::before { content: ""; width: 34px; height: 2px; background: var(--primary); }
.sec-intro.text-center .eyebrow { justify-content: center; }
/* Stat cards (2x2 grid) */
.stat-card {
   height: 100%;
   background: rgba(var(--white-rgb), .04);
   border: 1px solid rgba(var(--white-rgb), .09);
   border-radius: var(--radius-lg);
   padding: 32px;
   transition: border-color .3s ease, background-color .3s ease;
}
.stat-card:hover {
   background: rgba(var(--white-rgb), .06);
   border-color: rgba(var(--primary-rgb), .45);
}
.stat-card-icon {
   display: inline-flex; align-items: center; justify-content: center;
   width: 56px; height: 56px; border-radius: 14px;
   border: 1px solid rgba(var(--primary-rgb), .5);
   background: rgba(var(--primary-rgb), .1);
   color: var(--primary); font-size: 22px;
   margin-bottom: 28px;
}
.stat-card-num {
   font-size: 56px; font-weight: 700; line-height: 1;
   color: var(--primary); margin: 0 0 8px;
   font-family: var(--font-head);
}
.stat-card p { margin: 0; color: rgba(var(--white-rgb), .8); }
/* Card largo (raio de atendimento): ícone à esquerda, número e texto à direita */
.stat-card--wide { display: flex; align-items: center; gap: 26px; }
.stat-card--wide .stat-card-icon { margin-bottom: 0; flex-shrink: 0; }
.stat-card--wide .stat-card-num { font-size: 48px; }
@media (max-width: 575.98px) {
   .stat-card--wide { gap: 18px; }
   .stat-card--wide .stat-card-num { font-size: 38px; }
}

/* ============================ 12. Brand logos (hero) ================= */
/* Trust logos under the hero CTA. White chips keep the coloured logos
   legible over the dark hero. */
.hero-brands { margin-top: 20px; }
.hero-brands-label {
   display: block; margin-bottom: 14px;
   font-size: 13px; font-weight: 600; letter-spacing: .05em;
   text-transform: uppercase; color: rgba(var(--white-rgb), .7);
}
.hero-brands-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.hero-brands-row img {
   height: 46px; width: auto;
   background: var(--white);
   border-radius: 10px;
   padding: 0 10px;
}

/* ============================ 13. Process ============================ */
.process-wrapper { position: relative; }
.process-entry { max-width: 330px; margin: 0 auto; }
.process-entry .icon {
   position: relative;
   width: 110px; height: 110px;
   background: var(--light);
   margin-bottom: 26px;
}
.process-entry .icon img { max-width: 50px; }
.process-entry .icon .count {
   position: absolute; top: -6px; right: -6px;
   width: 36px; height: 36px;
   background: var(--primary); color: var(--white);
   border-radius: 50%;
   display: flex; align-items: center; justify-content: center;
   font-family: var(--font-head); font-weight: 700; font-size: 14px;
}
.process-entry h3 { margin-bottom: 12px; }

/* ============================ 14. Solution =========================== */
/* Left media: two staggered photos (porto em cima-esq, caminhão deslocado
   p/ baixo-dir) emolduradas por uma linha laranja arredondada (::before),
   fiel à referência. */
.solution-sec { position: relative; }
.solution-sec .anim-img {                       /* container decorativo no canto inferior esquerdo */
   position: absolute; left: 0; bottom: 0;
   z-index: 0; max-width: 300px;
}

.solution-sec .container { position: relative; z-index: 1; }
/* Differential cards (3-up grid) */
.diff-card {
   position: relative; height: 100%;
   padding: 30px;
   background: var(--white);
   border: 1px solid rgba(var(--dark-rgb), .08);
   border-radius: var(--radius-lg);
   overflow: hidden;
   transition: transform .4s cubic-bezier(.4, 0, .2, 1),
               box-shadow .4s cubic-bezier(.4, 0, .2, 1),
               background-color .4s ease,
               border-color .4s ease;
}
.diff-icon {
   display: inline-flex; align-items: center; justify-content: center;
   width: 56px; height: 56px; border-radius: 14px;
   background: var(--dark); color: var(--primary);
   font-size: 22px; margin-bottom: 26px;
   transition: background-color .4s ease, color .4s ease, transform .4s cubic-bezier(.4, 0, .2, 1);
}
.diff-title { font-size: 20px; line-height: 1.25; margin-bottom: 10px; color: var(--headings); transition: color .4s ease; }
.diff-card p { margin: 0; font-size: 15px; color: var(--body-color); transition: color .4s ease; }
/* Amber top accent — slides in on hover */
.diff-card::before {
   content: ""; position: absolute; top: 0; left: 0; right: 0;
   height: 4px; background: var(--primary);
   transform: scaleX(0); transform-origin: left;
   transition: transform .4s cubic-bezier(.4, 0, .2, 1);
}
/* Hover → dark card */
.diff-card:hover {
   background: var(--dark);
   border-color: var(--dark);
   transform: translateY(-6px);
   box-shadow: 0 22px 48px rgba(var(--dark-rgb), .22);
}
.diff-card:hover::before { transform: scaleX(1); }
.diff-card:hover .diff-icon { background: var(--primary); color: var(--dark); transform: scale(1.06); }
.diff-card:hover .diff-title { color: var(--white); }
.diff-card:hover p { color: rgba(var(--white-rgb), .72); }

/* ============================ 15. Video CTA ========================== */
.video-sec3 { position: relative; }
.video-content { text-align: center; }
.video-content .play-btn {
   background: var(--white); color: var(--primary);
   border-radius: 50%;
   display: inline-flex; align-items: center; justify-content: center;
   margin-bottom: 30px;
   animation: pulse 3s linear infinite;
}
.video-content h2 { color: var(--white); max-width: 760px; margin: 0 auto; }

/* ============================ 16. Recent work / Segments ============= */
/* Section header: title on the left, descriptive text on the right */
.recent-work .seg-head { margin-bottom: 60px; }
.recent-work .seg-head .seg-intro-text { max-width: 620px; }
.recent-work .seg-head .seg-intro-text p + p { margin-top: 14px; }
@media (max-width: 991.98px) {
   .recent-work .seg-head .col-lg-7 { margin-top: 24px; }
}

.recent-work .work-carousel { padding: 0 30px; }
.recent-work .swiper-slide { width: 380px; }
.pt-item { position: relative; border-radius: var(--radius); overflow: hidden; }
.pt-item img { width: 100%; height: 460px; object-fit: cover; }
.pt-item .pt-hover {
   position: absolute; top: 50%; left: 50%;
   transform: translate(-50%, -50%);
   width: calc(100% - 50px); height: 60%;
   backdrop-filter: blur(8px);
   background: hsla(0, 0%, 100%, .16);
   border-radius: var(--radius);
   opacity: 0; transition: height .4s ease, opacity .4s ease;
   display: flex; align-items: flex-end;
}
.pt-item:hover .pt-hover { opacity: 1; height: calc(100% - 50px); }
.pt-inner { padding: 26px; width: 100%; position: relative; }
.pt-inner .icon-lg { position: absolute; top: 26px; right: 26px; background: var(--dark); color: var(--white); border-radius: 10px; }
.pt-footer .cat-meta a { color: var(--white); }
.pt-footer h3 { margin-top: 8px; }
.pt-footer h3 a { color: var(--white); }
.pt-footer h3 a:hover { color: var(--primary); }

/* ============================ 17. Why us + form ====================== */
.why-us3 { position: relative; }
.why-us3 .abs-img { position: absolute; bottom: 0; left: 0; z-index: 1; }
.why-us3 .why-txt { position: relative; z-index: 2; }
.why-us3 .sec-title { color: var(--white); }
.why-us3 .why-txt p { color: rgba(var(--white-rgb), .8); }
/* Contato: divider + quick contact cards */
.why-us3 .container { position: relative; z-index: 2; }
.contato-divider { border: 0; border-top: 1px solid rgba(var(--white-rgb), .12); opacity: 1; margin: 64px 0 50px; }
.contato-card {
   display: flex; align-items: center; gap: 18px;
   height: 100%; padding: 24px 26px;
   background: rgba(var(--white-rgb), .04);
   border: 1px solid rgba(var(--white-rgb), .09);
   border-radius: var(--radius-lg);
   transition: transform .3s ease, border-color .3s ease, background-color .3s ease;
}
.contato-card:hover {
   transform: translateY(-3px);
   border-color: rgba(var(--primary-rgb), .5);
   background: rgba(var(--white-rgb), .06);
}
.contato-icon {
   flex-shrink: 0;
   display: inline-flex; align-items: center; justify-content: center;
   width: 54px; height: 54px; border-radius: 14px;
   border: 1px solid rgba(var(--primary-rgb), .5);
   background: rgba(var(--primary-rgb), .1);
   color: var(--primary); font-size: 20px;
}
.contato-info { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.contato-info small { color: rgba(var(--white-rgb), .6); font-size: 13px; margin-bottom: 4px; }
.contato-info strong {
   color: var(--white); font-family: var(--font-head);
   font-size: 17px; font-weight: 600; overflow-wrap: anywhere;
}

.success-stat { margin: 50px 0 40px; }
.success-stat .progress {
   position: relative; height: 7px; border-radius: 10px;
   background: rgba(var(--white-rgb), .2);
   margin-bottom: 44px; overflow: visible;
}
.success-stat .progress .meta {
   position: absolute; top: -28px; left: 0;
   font-weight: 600; color: var(--white);
   font-family: var(--font-head);
}
.success-stat .progress-bar {
   height: 7px; background: var(--primary); border-radius: 10px;
   position: relative; width: 0; transition: width 1.4s ease;
}
.success-stat .progress-bar span {
   position: absolute; right: 0; top: -34px;
   background: var(--primary); color: var(--white);
   padding: 0 8px; border-radius: 5px; font-weight: 700; font-size: 13px;
}

.quote-form {
   padding: 60px;
   border: 1px solid #495157;
   border-radius: var(--radius-lg);
   backdrop-filter: blur(12px);
   background: linear-gradient(135deg, hsla(0, 0%, 100%, .1), rgba(0, 0, 0, .1));
}
.quote-form h3 { color: var(--white); margin-bottom: 24px; }
.quote-form .form-group { margin-bottom: 18px; }
.quote-form label { color: var(--white); font-weight: 600; font-family: var(--font-head); font-size: 15px; margin-bottom: 8px; display: block; }
.form-control {
   width: 100%; color: var(--white);
   padding: 13px 18px;
   border: 1px solid rgba(var(--white-rgb), .25);
   border-radius: 8px;
   background: rgba(var(--white-rgb), .05);
}
.form-control::placeholder { color: rgba(var(--white-rgb), .6); }
.form-control:focus { outline: 0; border-color: var(--primary); }
select.form-control option { color: var(--headings); }

/* ============================ 18. Reviews ============================ */
.review3-carousel .review-entry { padding: 10px; }
.review-entry .rev-content {
   position: relative;
   padding: 40px 40px 30px;
   background: var(--white);
   border-radius: var(--radius-lg);
   margin-bottom: 30px;
}
.review-entry .rev-content p { margin-bottom: 18px; }
.review-entry .ratings i { color: orange; font-size: 14px; }
.review-entry .rev-icon {
   position: absolute; right: 40px; bottom: -22px;
   width: 46px; height: 46px;
   background: var(--primary);
   border-radius: 50%;
   display: flex; align-items: center; justify-content: center;
}
.review-entry .rev-author .author-thumb { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; }
.review-entry .author-info h3 { font-size: 20px; }
.review-entry .author-info span { color: var(--mute); font-size: 14px; }

/* ============================ 18b. FAQ accordion ==================== */
.faq-accordion .accordion-item {
   border: 0; margin-bottom: 16px;
   border-radius: 14px; overflow: hidden;
   background: transparent; box-shadow: none;
}
.faq-accordion .accordion-button {
   font-family: var(--font-head); font-weight: 600; font-size: 18px;
   color: var(--headings); background: #edf0fa;
   padding: 22px 26px; box-shadow: none; border-radius: 0;
   transition: background-color .3s ease, color .3s ease;
}
.faq-accordion .accordion-button:not(.collapsed) { color: var(--dark); background: var(--primary); }
.faq-accordion .accordion-button:focus { box-shadow: none; }
/* Toggle pill: navy square + white right-arrow (closed) → bordered square + down-arrow (open) */
.faq-accordion .accordion-button::after {
   flex-shrink: 0; margin-left: auto;
   width: 38px; height: 38px; border-radius: 9px;
   background-color: var(--dark);
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");
   background-repeat: no-repeat; background-position: center; background-size: 18px;
   transition: background-color .3s ease, border-color .3s ease, transform .3s ease;
}
.faq-accordion .accordion-button:not(.collapsed)::after {
   background-color: transparent;
   border: 1px solid rgba(2, 14, 40, .45);
   transform: none;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23020e28' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cpolyline points='5 12 12 19 19 12'/%3E%3C/svg%3E");
}
.faq-accordion .accordion-collapse { background: var(--dark); }
.faq-accordion .accordion-body { padding: 24px 26px 28px; color: rgba(var(--white-rgb), .82); font-size: 15px; line-height: 1.7; }
.faq-sec .faq-media img { width: 100%; box-shadow: 0 24px 50px -24px rgba(2, 14, 40, .3); }

/* ============================ 19. Blog ============================== */
.blog-entry3 .entry-thumb { overflow: hidden; border-radius: var(--radius-lg); }
.blog-entry3 .entry-thumb img { width: 100%; transition: transform .7s ease; }
.blog-entry3:hover .entry-thumb img { transform: scale(1.1); }
.blog-txt { padding-top: 18px; }
.blog-meta a { color: var(--mute); font-weight: 500; font-size: 14px; }
.blog-meta a i { color: var(--primary); margin-right: 6px; }
.blog-txt h3 a:hover { color: var(--primary); }
.read-more.icon { border: 1px solid var(--border) !important; color: var(--headings); border-radius: 10px; }
.blog-entry3:hover .read-more { background: var(--primary); color: var(--white); border-color: var(--primary) !important; }
.blog-list { display: flex; gap: 24px; align-items: center; margin-bottom: 24px; }
.blog-list .blog-thumb img { width: 150px; height: 120px; object-fit: cover; }
.blog-list .blog-txt { padding-top: 0; }
.blog-list h3 { font-size: 22px; }

/* ============================ 20. Footer ============================ */
.footer-3 { position: relative; background-color: var(--dark); overflow: hidden; }
/* Amber accent line along the very top */
.footer-3::before {
   content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
   background: linear-gradient(90deg, var(--primary), rgba(var(--primary-rgb), 0) 65%);
   z-index: 2;
}
/* Soft amber glow in the corner */
.footer-3::after {
   content: ""; position: absolute; top: -140px; right: -90px;
   width: 440px; height: 440px; border-radius: 50%;
   background: radial-gradient(circle, rgba(var(--primary-rgb), .09), transparent 70%);
   pointer-events: none; z-index: 0;
}
.footer-3 .container { position: relative; z-index: 1; }
.footer-3 .footer-top { padding: 60px 0; border-bottom: 1px solid rgba(var(--white-rgb), .12); }
.footer-3 .subs-head h2 { color: var(--white); margin: 0; }
.subs-widget { flex: 0 0 450px; }
.subs-widget form { position: relative; }
.subs-widget form input {
   width: 100%;
   border-radius: var(--radius);
   background: rgba(var(--white-rgb), .07);
   color: var(--mute-alt);
   padding: 16px 30px;
   border: 1px solid rgba(var(--white-rgb), .3);
}
.subs-widget form button {
   position: absolute; top: 50%; right: 0; transform: translateY(-50%);
   border: 0; color: var(--white);
   background: var(--primary);
   padding: 16px 25px; font-weight: 600; border-radius: var(--radius);
   display: inline-flex; align-items: center; gap: 6px;
}
.footer-widgets { padding: 80px 0 64px; }
.about-footer .f-logo {
   display: inline-block; background: var(--white);
   padding: 12px 16px; border-radius: 12px;
}
.about-footer .f-logo img { max-width: 180px; }
.about-footer p { color: var(--mute-alt); margin: 24px 0; max-width: 330px; font-size: 15px; line-height: 1.7; }

/* Widget titles with an amber underline accent */
.footer-widget .widget-title {
   position: relative; color: var(--white);
   margin-bottom: 28px; padding-bottom: 14px;
   font-size: 19px; font-weight: 700;
}
.footer-widget .widget-title::after {
   content: ""; position: absolute; left: 0; bottom: 0;
   width: 34px; height: 2px; background: var(--primary);
}
.footer-widget ul { list-style: none; margin: 0; padding: 0; }
.footer-widget ul li { margin-bottom: 13px; }
.footer-widget ul li a {
   color: var(--mute-alt); opacity: .9;
   display: inline-flex; align-items: center;
   transition: color .25s ease, transform .25s ease, opacity .25s ease;
}
.footer-widget ul li a:hover { color: var(--primary); opacity: 1; transform: translateX(5px); }

/* Contact items → label + amber icon chip */
.contact-widget .opening-inner p {
   display: flex; align-items: center; gap: 13px;
   color: var(--mute-alt); font-size: 15px; line-height: 1.45; margin-bottom: 16px;
}
.contact-widget .opening-inner p i {
   flex-shrink: 0; width: 36px; height: 36px; border-radius: 10px;
   display: inline-flex; align-items: center; justify-content: center;
   background: rgba(var(--primary-rgb), .12); color: var(--primary);
   font-size: 15px; margin: 0 !important;
}
.contact-widget .opening-inner span { color: var(--mute-alt); }

/* Social icons → ghost chips that fill amber on hover */
.footer-3 .social-share { margin-top: 26px; }
.footer-3 .social-share a {
   background-color: rgba(var(--white-rgb), .06);
   border: 1px solid rgba(var(--white-rgb), .14);
   color: var(--white); width: 42px; height: 42px; border-radius: 12px;
}
.footer-3 .social-share a:hover {
   background-color: var(--primary); border-color: var(--primary);
   color: var(--dark); transform: translateY(-3px);
}

.footer-geo { padding: 24px 0; border-top: 1px solid rgba(var(--white-rgb), .12); }
.footer-geo p { color: var(--mute-alt); font-size: 14px; }
.footer-bottom { padding: 22px 0; border-top: 1px solid rgba(var(--white-rgb), .12); }
/* Conteúdo centralizado e empilhado (crédito Webformas em cima, copyright abaixo) em todas as resoluções */
.footer-bottom .d-flex { flex-direction: column; justify-content: center; align-items: center; gap: 12px; }
.footer-bottom .copy-right { color: var(--mute-alt); font-size: 14px; text-align: center; }
.footer-bottom .copy-right a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
/* Webformas credit */
.footer-credit { display: inline-flex; opacity: .85; transition: opacity .3s; }
.footer-credit:hover { opacity: 1; }
.footer-credit img { height: 58px; width: auto; }

/* ============================ 21. Scroll to top ===================== */
.scroll-top {
   position: fixed; left: 30px; bottom: 30px;
   height: 50px; width: 50px;
   z-index: 10000;
   cursor: pointer;
   background: var(--white);
   border-radius: 50%;
   box-shadow: 0 5px 15px rgba(0, 0, 0, .14);
   opacity: 0; visibility: hidden; transform: translateY(45px);
   transition: all .3s linear;
}
.scroll-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.scroll-top::after {
   content: "\f106"; font-family: "Font Awesome 6 Free"; font-weight: 900;
   position: absolute; inset: 0; text-align: center; line-height: 50px;
   font-size: 18px; color: var(--headings);
}
.scroll-top svg { display: block; border-radius: 50%; }
.scroll-top .progress-circle path { stroke: var(--primary); stroke-width: 4px; transition: all .4s linear; }

/* ============================ 22. Animations ======================== */
.anim-img.moveXS { animation: moveXS 8s linear infinite; }
@keyframes moveXS { 0% { transform: translateX(0); } 30% { transform: translateX(20px); } 70% { transform: translateX(50px); } 100% { transform: translateX(0); } }
@keyframes pulse {
   0%   { box-shadow: 0 0 0 0 rgba(255,255,255,.4); }
   70%  { box-shadow: 0 0 0 25px rgba(255,255,255,0); }
   100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}
/* GSAP fade helpers start hidden only when JS is available */
.js .fadeInUp { opacity: 0; }

/* ===================== 24. Inner pages (subpáginas) ================= */
/* Page banner / hero (used on every inner page) */
.page-hero { position: relative; display: flex; align-items: center; min-height: 330px; max-height: 450px; padding: 145px 0 42px; background: var(--dark); overflow: hidden; text-align: center; }
.page-hero > .container { width: 100%; }
.page-hero .page-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(var(--dark-rgb), .80), rgba(var(--dark-rgb), .93)); z-index: 0; }
.page-hero > .container { position: relative; z-index: 2; }
.page-hero .sub-title { color: var(--primary); }
.page-hero h1 { color: var(--white); font-size: 46px; line-height: 1.15; max-width: 940px; margin: 0 auto 16px; }
.page-hero p { color: rgba(var(--white-rgb), .8); max-width: 760px; margin: 0 auto; }
.breadcrumb-lr { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; padding: 0; margin: 0 0 18px; font-size: 14px; }
.breadcrumb-lr li { color: rgba(var(--white-rgb), .6); }
.breadcrumb-lr li a { color: rgba(var(--white-rgb), .85); }
.breadcrumb-lr li a:hover { color: var(--primary); }
.breadcrumb-lr li + li::before { content: "/"; margin-right: 8px; color: rgba(var(--white-rgb), .4); }

/* Rich text blocks */
.rich-text p { margin: 0 0 18px; font-size: 16px; line-height: 1.75; }
.rich-text p:last-child { margin-bottom: 0; }

/* Commitment band (dark split-header + highlight list) */
.commitment-band { position: relative; background: var(--dark); overflow: hidden; }
.commitment-band::after {
   content: ""; position: absolute; top: -160px; right: -120px;
   width: 460px; height: 460px; border-radius: 50%;
   background: radial-gradient(circle, rgba(var(--primary-rgb), .10), transparent 70%);
   pointer-events: none;
}
.commitment-band .container { position: relative; z-index: 1; }
.commitment-band .sub-title { color: var(--primary); }
.commitment-band .cb-lead { color: rgba(var(--white-rgb), .72); margin: 18px 0 0; max-width: 380px; }
.commitment-list { display: flex; flex-direction: column; }
.commitment-item { display: flex; gap: 20px; align-items: flex-start; padding: 26px 0; border-bottom: 1px solid rgba(var(--white-rgb), .1); }
.commitment-item:first-child { padding-top: 0; }
.commitment-item:last-child { padding-bottom: 0; border-bottom: 0; }
.commitment-item .ci-icon {
   flex-shrink: 0; width: 54px; height: 54px; border-radius: 14px;
   display: inline-flex; align-items: center; justify-content: center;
   background: rgba(var(--primary-rgb), .12); border: 1px solid rgba(var(--primary-rgb), .4);
   color: var(--primary); font-size: 20px;
}
.commitment-item h3 { color: var(--white); font-size: 20px; margin: 0 0 8px; }
.commitment-item p { color: rgba(var(--white-rgb), .72); margin: 0; font-size: 16px; line-height: 1.7; }

/* Body copy sizing by resolution (per request: 18px on Full HD) */
@media (min-width: 1600px) {
   .rich-text p, .commitment-item p, .commitment-band .cb-lead { font-size: 18px; }
}
@media (max-width: 575.98px) {
   .rich-text p, .commitment-item p { font-size: 15px; }
}

/* Feature / benefit cards (icon + title + text) */
.feature-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 34px 30px; height: 100%; transition: transform .3s ease, box-shadow .3s ease, border-color .3s; }
.feature-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(var(--dark-rgb), .10); border-color: transparent; }
.feature-card .fc-icon { width: 64px; height: 64px; border-radius: 16px; display: grid; place-items: center; font-size: 26px; background: rgba(var(--primary-rgb), .14); color: var(--primary-dark); margin-bottom: 22px; }
.feature-card h3 { font-size: 21px; margin: 0 0 10px; }
.feature-card p { margin: 0; }
.feature-card.is-dark { background: var(--dark); border-color: rgba(var(--white-rgb), .08); }
.feature-card.is-dark h3 { color: var(--white); }
.feature-card.is-dark p { color: rgba(var(--white-rgb), .7); }

/* Numbered step cards */
.step-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 30px; height: 100%; transition: transform .3s, box-shadow .3s; }
.step-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(var(--dark-rgb), .10); }
.step-card .step-num { display: block; font-family: var(--font-head); font-weight: 700; font-size: 44px; color: var(--primary); line-height: 1; margin-bottom: 16px; }
.step-card h3 { font-size: 19px; margin: 0 0 8px; }
.step-card p { margin: 0; }

/* Model grid (equipment cards) */
.model-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; height: 100%; display: flex; flex-direction: column; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.model-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(var(--dark-rgb), .12); border-color: transparent; }
.model-card .model-thumb { position: relative; aspect-ratio: 4/3; overflow: hidden; background: var(--shade); }
/* Product catalog photos share a 445:378 (~1.18) ratio — match it so the full image shows uncropped */
.model-card .model-thumb:has(img[src*="produtos/"]) { aspect-ratio: 445 / 378; }
.model-card .model-thumb.mt-full { aspect-ratio: auto; } /* thumb na altura natural da imagem (sem corte) */
.model-card .model-thumb.mt-full img { height: auto; }
.model-card .model-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.model-card:hover .model-thumb img { transform: scale(1.06); }
.model-card .model-body { padding: 28px; display: flex; flex-direction: column; flex: 1; }
.model-card h3 { font-size: 20px; margin: 0 0 12px; }
.model-card .model-body p { margin: 0 0 22px; color: var(--body-color); }
/* Refined arrow-link CTA */
.model-link {
   margin-top: auto; align-self: flex-start;
   display: inline-flex; align-items: center; gap: 10px;
   font-family: var(--font-head); font-weight: 700; font-size: 15px;
   color: var(--primary-dark);
   transition: gap .3s ease, color .3s ease;
}
.model-link i { font-size: 13px; transition: transform .3s ease; }
.model-link:hover { color: var(--primary); gap: 14px; }
.model-link:hover i { transform: translateX(3px); }
.model-card .model-specs { list-style: none; padding: 0; margin: 0 0 22px; }
.model-card .model-specs li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px dashed var(--border); font-size: 14px; }
.model-card .model-specs li span { font-weight: 600; color: var(--headings); }
.model-card .model-cta { margin-top: auto; }
.model-card .model-cta .btn-wa { width: 100%; justify-content: center; }
.model-card .model-cta { display: flex; flex-direction: column; gap: 10px; }
.btn-manual {
   display: inline-flex; align-items: center; justify-content: center; gap: 8px;
   width: 100%; padding: 11px 20px;
   border: 1.5px solid var(--border); border-radius: 999px;
   font-weight: 600; font-size: 14px; color: var(--headings);
   transition: all .3s ease;
}
.btn-manual:hover { border-color: var(--primary); color: var(--primary-dark); }
/* Par de downloads (manual + ficha técnica) lado a lado */
.model-card .model-docs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.model-card .model-docs .btn-manual { padding: 11px 8px; font-size: 13px; gap: 7px; white-space: nowrap; }
.model-card .model-docs .btn-manual i { font-size: 13px; }
.model-card .model-docs:has(.btn-manual:only-child) { grid-template-columns: 1fr; }
@media (max-width: 400px) {
   .model-card .model-docs { grid-template-columns: 1fr; }
}
.btn-manual i { color: var(--primary); }
/* "Exemplo" badge over the model thumb */
.model-card .model-thumb .mc-badge {
   position: absolute; top: 14px; left: 14px; z-index: 2;
   background: var(--primary); color: var(--dark);
   font-family: var(--font-head); font-weight: 700; font-size: 12px;
   text-transform: uppercase; letter-spacing: .04em;
   padding: 5px 12px; border-radius: 50px;
}
/* Field tags (empty-state: what each listing will show) */
.field-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 4px 0 10px; padding: 0; list-style: none; }
.field-tags li {
   background: rgba(var(--primary-rgb), .1); color: var(--primary-dark);
   border: 1px solid rgba(var(--primary-rgb), .3); border-radius: 50px;
   padding: 8px 16px; font-family: var(--font-head); font-weight: 600; font-size: 14px;
}

/* Mission / vision / values */
/* Missão / Visão cards + Valores chips */
.principle-icon {
   width: 60px; height: 60px; border-radius: 16px;
   display: inline-flex; align-items: center; justify-content: center;
   background: rgba(var(--primary-rgb), .14); color: var(--primary-dark);
   font-size: 26px; flex-shrink: 0;
}
.principle-card {
   position: relative; overflow: hidden; height: 100%;
   background: var(--white); border: 1px solid var(--border);
   border-radius: var(--radius-lg); padding: 40px 36px;
   transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.principle-card::before {
   content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
   background: var(--primary); transform: scaleX(0); transform-origin: left;
   transition: transform .35s cubic-bezier(.4, 0, .2, 1);
}
.principle-card:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(var(--dark-rgb), .10); border-color: transparent; }
.principle-card:hover::before { transform: scaleX(1); }
.principle-card .principle-icon { margin-bottom: 24px; }
.principle-card h3 { font-size: 24px; margin: 0 0 14px; }
.principle-card p { margin: 0; color: var(--body-color); }

.values-block {
   margin-top: 24px;
   background: var(--white); border: 1px solid var(--border);
   border-radius: var(--radius-lg); padding: 40px;
}
.values-head { display: flex; align-items: center; gap: 18px; margin-bottom: 30px; }
.values-head h3 { font-size: 24px; margin: 0 0 4px; }
.values-head p { margin: 0; color: var(--body-color); }
.values-chips { display: flex; flex-wrap: wrap; gap: 14px; }
.value-chip {
   display: inline-flex; align-items: center; gap: 10px;
   padding: 12px 20px; border-radius: 50px;
   background: var(--shade); border: 1px solid var(--border);
   font-family: var(--font-head); font-weight: 600; color: var(--headings);
   transition: background-color .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
}
.value-chip i { color: var(--primary); font-size: 13px; transition: color .3s ease; }
.value-chip:hover { background: var(--primary); border-color: var(--primary); color: var(--dark); transform: translateY(-2px); }
.value-chip:hover i { color: var(--dark); }

/* Contact form + channels */
.contact-form { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 40px; box-shadow: 0 20px 50px rgba(var(--dark-rgb), .06); }
.cf-status { margin: 18px 0 0; padding: 14px 18px; border-radius: 12px; font-weight: 600; font-size: 15px; }
.cf-status--ok { background: rgba(37, 211, 102, .12); color: #0f7a44; border: 1px solid rgba(37, 211, 102, .4); }
.cf-status--err { background: rgba(229, 72, 77, .10); color: #c02626; border: 1px solid rgba(229, 72, 77, .35); }
.contact-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.contact-form label { display: block; font-size: 13px; font-weight: 600; color: var(--headings); margin-bottom: 6px; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; font-family: var(--font-base); font-size: 15px; color: var(--headings); padding: 13px 16px; border: 1.5px solid var(--border); border-radius: 12px; background: #fbfcfd; margin-bottom: 18px; transition: border-color .2s, box-shadow .2s; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(var(--primary-rgb), .15); }
.contact-form textarea { min-height: 130px; resize: vertical; }
.contact-channels { list-style: none; padding: 0; margin: 0; }
.contact-channels li { display: flex; gap: 16px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--border); }
.contact-channels li:last-child { border-bottom: 0; }
.contact-channels .cc-icon { width: 48px; height: 48px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; background: rgba(var(--primary-rgb), .14); color: var(--primary-dark); font-size: 18px; }
.contact-channels .cc-txt span { display: block; font-size: 13px; color: var(--mute); }
.contact-channels .cc-txt a, .contact-channels .cc-txt strong { color: var(--headings); font-weight: 600; }

/* Blog post cards */
.post-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; height: 100%; display: flex; flex-direction: column; transition: transform .3s, box-shadow .3s; }
.post-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(var(--dark-rgb), .12); }
.post-card .post-thumb { aspect-ratio: 16/10; overflow: hidden; background: var(--shade); }
.post-card .post-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.post-card:hover .post-thumb img { transform: scale(1.06); }
.post-card .post-body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.post-card .post-cat { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--primary-dark); margin-bottom: 10px; }
.post-card h2, .post-card h3 { font-size: 18px; line-height: 1.35; margin: 0 0 14px; }
.post-card .post-more { margin-top: auto; font-weight: 600; color: var(--headings); }
.post-card .post-more:hover { color: var(--primary); }
.blog-cats { list-style: none; padding: 0; margin: 0; }
.blog-cats li a { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--border); color: var(--body-color); }
.blog-cats li a:hover { color: var(--primary); }

/* Inner-page responsiveness */
@media (max-width: 991.98px) {
   .page-hero { min-height: 320px; max-height: 420px; padding: 120px 0 36px; }
   .page-hero h1 { font-size: 38px; }
   .values-block { padding: 30px; }
   .values-head { align-items: flex-start; }
}
@media (max-width: 575.98px) {
   .page-hero h1 { font-size: 32px; }
   .contact-form { padding: 26px; }
   .contact-form .form-row { grid-template-columns: 1fr; }
}

/* ============================ 23. Responsive ========================
   Breakpoint tiers:
   · Full HD  ≥ 1600px   (this block — scales type/spacing for big screens)
   · HD / desktop  1200–1599px   (the default styles above)
   · Tablets  768–1199px   (max-width: 1199.98 / 991.98)
   · Mobile   ≤ 767px      (max-width: 767.98 / 575.98)
   ==================================================================== */

/* ---- Full HD / large desktops ---- */
@media (min-width: 1600px) {
   :root { --section-pad: 84px; }
   .hero-3 .hero-content { width: 660px; }
   .hero-3 .hero-content h1 { font-size: 56px; }
   .sec-title { font-size: 56px; }
   .video-content h2 { font-size: 72px; }
}

@media (max-width: 1399.98px) {
   /* HD: contain the header so the floating white bar keeps its side gaps + rounded corners like Full HD */
   .header-3 .ct-container { max-width: 1160px; }
   /* HD (1366px) fixes — tighten only the horizontal spacing; keep vertical padding so the bar height matches Full HD */
   .navbar-brand .logo { max-width: 150px; }
   .navbar .navbar-nav > li a.nav-link { padding: 32px 9px; font-size: 15px; }
   /* Smaller WhatsApp CTA in the navbar on HD (only this button) */
   .nav-cta .btn-wa { padding: 10px 20px; font-size: 13px; gap: 8px; }
   .nav-cta .btn-wa i, .nav-cta .btn-wa svg { width: 16px; height: 16px; font-size: 15px; }
   /* "Quem Somos": shrink the image block so it doesn't crowd/touch the content column on HD */
   .about-media3 { max-width: 400px; }
   .about-content3 { padding-left: 12px; }
   /* Cap the overlapping collage so the circular photo doesn't extend into the content */
   .about-media3 .ab-sm-ft img:first-child { max-width: 340px; }
   .about-media3 .ab-sm-ft img:last-child { max-width: 190px; }
   .header-nav-wrapper.scroll-on .navbar .navbar-nav > li a.nav-link { padding: 26px 13px; }
   /* Scale the hero down + align with the menu on HD */
   .hero-3 > .container { max-width: 1160px; }
   .hero-3 .hero-content { width: 480px; margin-left: 0; }
   .hero-3 .hero-content h1 { font-size: 36px; }
   .hero-3 .hero-content .hero-subtitle { font-size: 16px; margin-bottom: 26px; }
   /* Empurra a mídia/diagonal para a direita para não sobrepor o texto do hero */
   .hero-3 .col-lg-8 { transform: translateX(70px); }
   /* Carousel de trabalhos: slides um pouco mais baixos + conteúdo proporcional no HD */
   .pt-item img { height: 380px; }
   .pt-item .pt-inner { padding: 20px; }
   .pt-item .pt-inner .icon-lg { height: 40px; width: 40px; top: 20px; right: 20px; }
   .pt-item .pt-footer { padding-right: 52px; }
   .pt-item .pt-footer h3 { font-size: 20px; margin-top: 6px; }
   .pt-item .pt-footer .cat-meta { font-size: 13px; }
}

@media (max-width: 1199.98px) {
   :root { --section-pad: 70px; }
   .offcanvas-nav-btn { display: inline-flex; }
   .navbar .navbar-nav { padding-top: 10px; }
   .navbar .navbar-nav > li a.nav-link { padding: 14px 0; color: var(--headings); }
   .navbar .navbar-nav > li:first-child a.nav-link { padding-left: 0; }
   .navbar .dropdown-menu { box-shadow: none; padding: 0 0 0 12px; }
   .header-nav-wrapper { background: var(--white); }
}

@media (max-width: 991.98px) {
   :root { --section-pad: 60px; }
   h1, .display-1 { font-size: 56px; }
   /* Columns stack (content then image): release the fixed height + the desktop offsets */
   .hero-3 { padding: 120px 0 70px; }
   /* Mobile: remove a barra superior e centraliza o hero (padroniza com as seções centralizadas) */
   .header-3 .header-top { display: none; }
   .hero-3 .hero-content { width: auto; max-width: 575px; margin: 0 auto; text-align: center; }
   .hero-3 .hero-content .lead { margin-left: auto; margin-right: auto; }
   .hero-3 .hero-content .hero-cta { align-items: center; }
   .hero-3 .hero-content .hero-brands .hero-brands-row { justify-content: center; }
   .hero-3 .hero-content h1 { font-size: 38px; }
   /* Remove a coluna da mídia (vídeo/diagonal) do hero no mobile */
   .hero-3 .col-lg-8 { display: none; }
   .sec-title { font-size: 40px; }
   .stat-lead { margin-bottom: 10px; }
   .stat-card-num { font-size: 46px; }
   .quote-form { padding: 30px; margin-top: 40px; }
   .about-content3 { margin-top: 50px; }

   /* --- Colagem "Quem Somos": mesma composição do desktop, proporcional ---
      No desktop os deslocamentos são em pixels sobre um container de 485px, e o
      par inferior é puxado 150px PARA FORA do container — no mobile, onde o
      container ocupa a largura toda, isso estouraria a tela.
      Aqui o container passa a ser a caixa envolvente da composição inteira
      (639px no desktop = 131,76% dos 485px) e cada peça é posicionada em % dessa
      largura, reproduzindo exatamente as mesmas posições em qualquer tela.
      Medidas conferidas contra o render do desktop em 1440px. */
   .about-media3 {
      position: relative;
      width: 100%;
      max-width: 639px;      /* largura da composição no desktop */
      margin: 0 auto;
      aspect-ratio: 100 / 110.64;   /* altura da composição = 110,64% da largura */
   }
   /* todas as peças saem do fluxo: as posições vêm de left + margin-top em %,
      que resolvem contra a LARGURA do container — então tudo escala junto */
   .about-media3 .feat-img,
   .about-media3 .ab-sm-ft,
   .about-media3 .ab-stat2 { position: absolute; top: 0; }

   .about-media3 .feat-img { left: 31.14%; width: 68.23%; margin: 0; }
   .about-media3 .feat-img img { width: 100%; height: auto; }

   .about-media3 .ab-sm-ft {
      left: 0; width: 100%;
      margin: 53.21% 0 0;
      /* !important para vencer os utilitários do Bootstrap no HTML
         (.gap-4 = gap:1.5rem!important e .align-items-center = center!important).
         O gap fixo de 24px fazia a linha estourar a largura no mobile, e o
         align-items:center somava um recuo extra ao deslocamento da foto redonda. */
      gap: 3.76% !important;
      align-items: flex-start !important;
   }
   .about-media3 .ab-sm-ft img:first-child { width: 65.42%; max-width: none; height: auto; margin: 0; }
   .about-media3 .ab-sm-ft img:last-child  { width: 30.83%; max-width: none; height: auto; margin: 20.34% 0 0; }

   .about-media3 .ab-stat2 {
      left: 52.63%; width: 29.73%; max-width: none;
      margin: 53.73% 0 0;
      padding: 3.13%;
      bottom: auto; transform: none;
   }
   .video-content h2 { font-size: 44px; }
   .subs-widget { flex: 0 0 auto; margin-top: 24px; width: 100%; }
}

@media (max-width: 767.98px) {
   :root { --section-pad: 52px; }
   h1, .display-1 { font-size: 42px; }
   .hero-3 .hero-content h1 { font-size: 40px; }
   .sec-title { font-size: 34px; }
   .blog-list { flex-direction: column; align-items: flex-start; }
   .blog-list .blog-thumb img { width: 100%; height: auto; }
   .footer-3 .footer-top { text-align: center; }
   .stat-card { padding: 26px; }
   /* Botões do hero empilhados e centralizados no mobile, com espaçamento (gap-3) */
   .hero-3 .hero-content .hero-cta { display: flex; flex-direction: column; align-items: center; }
   /* Rodapé: empilha e centraliza o crédito Webformas + copyright, sem ficarem colados */
   .footer-bottom .d-flex { flex-direction: column; justify-content: center; align-items: center; gap: 14px; }
   .footer-bottom .copy-right { text-align: center; }
}

@media (max-width: 575.98px) {
   :root { --faixa-txt: 12px; }   /* a faixa encurta e o desconto do hero acompanha */
   .recent-work .swiper-slide { width: 300px; }
   .pt-item img { height: 380px; }
   .anim-img { display: none; }
   /* A colagem "Quem Somos" já é proporcional desde 991.98px — nada a ajustar aqui. */
}

/* ============================================================
   whatsapp.css (unificado em site.css)
   ============================================================ */
/* =========================================================
   Componente: Botão WhatsApp + Modal de agendamento
   - Botão flutuante (.wa-float)
   - Botões de CTA (.btn-wa) com borda animada
   - Modal (#lead-modal) com formulário que monta o link wa.me
   Dependências: nenhuma. Variáveis abaixo podem ser sobrescritas.
   ========================================================= */
:root{
  --wa-primary:   #0E384C;   /* teal escuro (textos/títulos) */
  --wa-accent:    #1E84B5;   /* azul de foco */
  --wa-secondary: #EFF8FF;   /* azul claro de fundo */
  --wa-text:      #527282;   /* texto corrido */
  --wa-divider:   rgba(14,56,76,0.10);
  --wa-radius:    24px;
}

/* ---------- Botão base (caso o projeto não tenha .btn) ---------- */
.btn-wa.btn,
.btn-wa{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;
  font-family:inherit;font-weight:600;cursor:pointer;text-decoration:none;
}

/* ---------- Botão WhatsApp (verde, borda brilhante animada) ---------- */
@property --wa-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.btn-wa{
  position:relative;color:#fff;overflow:hidden;
  padding:14px 32px;font-size:15px;
  border:2px solid transparent;border-radius:999px;
  background:
    linear-gradient(135deg,#128c7e,#25d366) padding-box,
    conic-gradient(from var(--wa-angle),
      rgba(255,255,255,0) 0%, #4ade80 6%, #ffffff 12%, #4ade80 18%, rgba(255,255,255,0) 26%,
      rgba(255,255,255,0) 50%, #4ade80 56%, #ffffff 62%, #4ade80 68%, rgba(255,255,255,0) 76%) border-box;
  box-shadow:inset 0 0 0 1px rgba(14,107,95,0.55), 0 10px 26px rgba(18,140,126,0.40);
  animation:wa-rotate 4s linear infinite;
  transition:transform .25s ease,box-shadow .25s ease;
}
@keyframes wa-rotate{to{--wa-angle:360deg}}
.btn-wa::after{ /* faixa de brilho que atravessa o botão inteiro */
  content:"";position:absolute;top:0;bottom:0;left:0;width:60%;border-radius:inherit;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,0.55),transparent);
  transform:translateX(-180%) skewX(-18deg);animation:wa-shine 3.8s ease-in-out infinite;
}
@keyframes wa-shine{0%,100%{transform:translateX(-180%) skewX(-18deg)}55%{transform:translateX(280%) skewX(-18deg)}}
.btn-wa span,.btn-wa svg,.btn-wa i{position:relative;z-index:2}
.btn-wa svg{width:22px;height:22px;overflow:visible;flex:none}
.btn-wa i{font-size:18px;line-height:1}
.btn-wa:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(14,107,95,0.55), 0 16px 34px rgba(18,140,126,0.55)}
.btn-wa.btn-lg{padding:20px 40px;font-size:18px}
@media (prefers-reduced-motion:reduce){
  .btn-wa{animation:none}
  .btn-wa::after{display:none}
}

/* ---------- WhatsApp flutuante ---------- */
.wa-float{
  position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:60;width:60px;height:60px;
  border:none;padding:0;appearance:none;cursor:pointer;
  border-radius:50%;background:#25D366;display:grid;place-items:center;
  box-shadow:0 12px 30px rgba(37,211,102,0.45);transition:transform .25s ease;
}
.wa-float:hover{transform:scale(1.08)}
.wa-float:focus-visible{outline:3px solid rgba(37,211,102,0.5);outline-offset:3px}
.wa-float svg{width:32px;height:32px;color:#fff}
/* Pulso */
.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;
  animation:wa-float-pulse 2.4s ease-out infinite;pointer-events:none}
@keyframes wa-float-pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
@media (prefers-reduced-motion:reduce){.wa-float::after{animation:none;display:none}}

/* ---------- Modal de agendamento ---------- */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal__overlay{position:absolute;inset:0;background:rgba(14,56,76,0.55);backdrop-filter:blur(4px);animation:wa-fade .25s ease}
.modal__dialog{
  position:relative;background:#fff;border-radius:var(--wa-radius);
  width:100%;max-width:460px;box-shadow:0 30px 80px rgba(14,56,76,0.35);
  padding:36px 34px 32px;animation:wa-pop .3s cubic-bezier(.18,.9,.3,1.2);max-height:92vh;overflow:auto;
}
@keyframes wa-fade{from{opacity:0}to{opacity:1}}
@keyframes wa-pop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.modal__close{
  position:absolute;top:14px;right:14px;width:38px;height:38px;border:none;cursor:pointer;
  background:var(--wa-secondary);color:var(--wa-primary);border-radius:50%;font-size:22px;line-height:1;
  display:grid;place-items:center;transition:background .2s ease;
}
.modal__close:hover{background:#dceefb}
.modal__head{text-align:center;margin-bottom:22px}
.modal__icon{
  width:60px;height:60px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;
  background:linear-gradient(135deg,#25d366,#0fae53);color:#fff;box-shadow:0 10px 24px rgba(37,211,102,0.4);
}
.modal__icon svg{width:32px;height:32px}
.modal__head h3{font-size:23px;color:var(--wa-primary);margin:0 0 8px}
.modal__head p{margin:0;font-size:15px;color:var(--wa-text)}
.modal__form{display:flex;flex-direction:column;gap:14px}
.modal__form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--wa-primary)}
.modal__form input,.modal__form select{
  font-family:inherit;font-size:16px;font-weight:400;color:var(--wa-primary); /* >=16px evita zoom automático do iOS no foco */
  padding:13px 15px;border:1.5px solid var(--wa-divider);border-radius:12px;background:#fbfdff;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.modal__form input:focus,.modal__form select:focus{
  outline:none;border-color:var(--wa-accent);box-shadow:0 0 0 3px rgba(30,132,181,0.15);
}
.modal__submit{width:100%;margin-top:6px}
.modal__note{text-align:center;font-size:12px;color:var(--wa-text);margin:14px 0 0}
.modal__consent{flex-direction:row !important;align-items:flex-start;gap:10px !important;font-weight:400 !important;font-size:12.5px !important;color:var(--wa-text) !important;line-height:1.45;cursor:pointer}
.modal__consent input{flex:none;width:18px;height:18px;margin-top:1px;accent-color:#25d366;cursor:pointer}
.modal__consent a{color:var(--wa-accent);font-weight:600;text-decoration:underline}

/* ---------- Mobile ---------- */
@media (max-width:640px){
  .btn-wa{white-space:normal;text-align:center;line-height:1.35;max-width:100%}
  .btn-wa.btn-lg{padding:16px 26px;font-size:16px}
  .wa-float{width:56px;height:56px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}
  .modal{padding:14px}
  .modal__dialog{padding:30px 20px 24px;border-radius:18px;max-height:88vh;max-height:88dvh}
  .modal__head h3{font-size:20px}
}

/* ===================== 25. Cobertura regional (mapa interativo) ======= */
.coverage-sec { position: relative; background: var(--dark); overflow: hidden; }
.coverage-sec::before {
   content: ""; position: absolute; top: -180px; left: 50%; transform: translateX(-50%);
   width: 760px; height: 760px; border-radius: 50%;
   background: radial-gradient(circle, rgba(var(--primary-rgb), .10), transparent 70%);
   pointer-events: none;
}
.coverage-sec > .container { position: relative; z-index: 1; }
.coverage-sec .sub-title { color: var(--primary); }
.cov-lead { color: rgba(var(--white-rgb), .72); max-width: 780px; margin: 0 auto; }

/* Painel (mapa + lateral) */
.cov-panel {
   display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
   background: rgba(var(--white-rgb), .035);
   border: 1px solid rgba(var(--white-rgb), .09);
   border-radius: var(--radius-lg);
   overflow: hidden;
}
.cov-map {
   padding: 28px 24px 20px;
   border-right: 1px solid rgba(var(--white-rgb), .09);
   display: flex; flex-direction: column; justify-content: center;
   min-width: 0;
}
.cov-svg { width: 100%; height: auto; display: block; border-radius: var(--radius-lg); overflow: hidden; }
/* Contorno escuro atrás dos textos do mapa — legibilidade sobre a área de cobertura */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
/* Halo escuro discreto atras dos textos do mapa (o mapa e' escuro, mas o relevo varia) */
.cov-svg text {
   paint-order: stroke; stroke: rgba(2, 10, 18, .8);
   stroke-width: 1.4px; stroke-linejoin: round;
}
.cov-svg .cov-uf-label { stroke: none; }
.cov-map-note {
   margin: 14px 0 0; text-align: center;
   font-size: 13px; color: rgba(var(--white-rgb), .45);
}
.cov-map-note i { color: var(--primary); margin-right: 6px; }

/* Cabeçalho do mapa: origem do raio + interruptor */
.cov-map-head {
   display: flex; align-items: center; justify-content: space-between;
   gap: 14px; flex-wrap: wrap; margin-bottom: 6px;
}
.cov-map-origin { margin: 0; font-size: 13px; color: rgba(var(--white-rgb), .5); }
.cov-map-origin strong { color: var(--primary); font-family: var(--font-head); }
.cov-toggle {
   display: inline-flex; align-items: center; gap: 9px; cursor: pointer;
   background: none; border: 0; padding: 4px 0;
   font-family: var(--font-base); font-size: 13px; color: rgba(var(--white-rgb), .55);
   transition: color .25s ease;
}
.cov-toggle:hover { color: var(--white); }
.cov-toggle-track {
   width: 38px; height: 21px; border-radius: 999px; flex-shrink: 0;
   background: rgba(var(--white-rgb), .14); position: relative;
   transition: background-color .25s ease;
}
.cov-toggle-knob {
   position: absolute; top: 3px; left: 3px; width: 15px; height: 15px;
   border-radius: 50%; background: rgba(var(--white-rgb), .7);
   transition: transform .25s ease, background-color .25s ease;
}
.cov-toggle.is-on { color: rgba(var(--white-rgb), .82); }
.cov-toggle.is-on .cov-toggle-track { background: var(--primary); }
.cov-toggle.is-on .cov-toggle-knob { background: var(--white); transform: translateX(17px); }
.cov-toggle:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; border-radius: 6px; }

/* --- Mapa: base geografica ---
   A base e' montada em camadas para imitar a imagem de satelite da referencia:
   oceano + relevo sombreado (feTurbulence -> feDiffuseLighting) + luzes urbanas
   + vinheta. Os contornos dos estados ficam quase invisiveis, como na referencia. */
.cov-uf { fill: none; stroke: rgba(126, 170, 214, .13); stroke-width: .9; }
.cov-uf--sp { stroke: rgba(152, 196, 240, .22); }
.cov-coast { fill: none; stroke: rgba(152, 196, 240, .22); stroke-width: .8; }
.cov-uf-label {
   fill: rgba(133, 163, 206, .44); font-family: var(--font-head);
   font-weight: 700; font-size: 13.5px; letter-spacing: .22em;
}
.cov-uf-label--sea { fill: rgba(118, 150, 194, .34); font-size: 12.5px; letter-spacing: .26em; }

/* --- Mapa: raio de atendimento --- */
.cov-area { fill: rgba(140, 186, 232, .035); }
.cov-ring { fill: none; stroke: rgba(var(--primary-rgb), .78); stroke-width: .8; stroke-dasharray: 4.5 4; }
.cov-ring-label {
   fill: var(--primary); font-family: var(--font-head); font-weight: 700;
   font-size: 12.5px; letter-spacing: .16em;
}
/* Alternado pelo botao "Mostrar raio de 300 km" */
.cov-radius { transition: opacity .35s ease; }
.cov-radius.is-hidden { opacity: 0; }
.cov-links line { stroke: rgba(var(--primary-rgb), .55); stroke-width: .5; stroke-dasharray: 2.6 2.6; }
.cov-leader { stroke: rgba(var(--primary-rgb), .5); stroke-width: .8; }

/* --- Mapa: as 53 cidades atendidas (acendem ao selecionar a regiao) --- */
.cov-dots circle { fill: rgba(190, 216, 248, .13); transition: fill .3s ease, r .3s ease; }
.cov-dots.is-active circle { fill: var(--secondary); r: 2.2; }

/* --- Mapa: principais cidades (marcador em anel + rotulo, como na referencia) --- */
.cov-mains { pointer-events: none; }
.cov-city-ring { fill: rgba(4, 14, 24, .55); stroke: var(--primary); stroke-width: 1.2; }
.cov-city-label {
   fill: #e7ecf0; font-family: var(--font-base); font-weight: 400; font-size: 12px;
}

/* --- Mapa: cidades-polo, clicaveis (uma por regiao) --- */
.cov-node { cursor: pointer; }
.cov-node:focus { outline: none; }
.cov-node-glow { opacity: 0; transition: opacity .3s ease; pointer-events: none; }
.cov-node-hit { fill: transparent; }
.cov-node-dot {
   fill: rgba(4, 14, 24, .5); stroke: var(--primary); stroke-width: 1.6;
   transition: stroke .3s ease, r .3s ease;
}
.cov-node-core { fill: var(--primary); pointer-events: none; transition: fill .3s ease, r .3s ease; }
.cov-node-label {
   fill: #eef2f5; font-family: var(--font-base); font-weight: 500; font-size: 12px;
   transition: fill .3s ease;
}
/* Camadas decorativas nao capturam os cliques */
.cov-area, .cov-uf, .cov-uf-label, .cov-ring, .cov-links, .cov-ring-label,
.cov-coast, .cov-vignette, .cov-relief, .cov-relief-fine, .cov-sea-tex,
.cov-lights, .cov-borders, .cov-mains { pointer-events: none; }
.cov-node:hover .cov-node-glow,
.cov-node:focus-visible .cov-node-glow { opacity: 1; }
.cov-node:hover .cov-node-dot,
.cov-node:focus-visible .cov-node-dot { r: 5.8; }
.cov-node:hover .cov-node-label,
.cov-node:focus-visible .cov-node-label { fill: var(--white); }
.cov-node.is-active .cov-node-glow { opacity: 1; }
.cov-node.is-active .cov-node-dot { stroke: var(--white); stroke-width: 2.2; r: 6.2; }
.cov-node.is-active .cov-node-core { fill: var(--white); r: 2.3; }
.cov-node.is-active .cov-node-label { fill: var(--white); }

/* --- Mapa: sede --- */
.cov-hq { cursor: pointer; }
.cov-hq-halo { pointer-events: none; opacity: .5; }
.cov-hq-pulse {
   fill: none; stroke: var(--primary); stroke-width: 1.0; pointer-events: none;
   transform-origin: 536px 350px; animation: covPulse 2.8s ease-in-out infinite;
}
.cov-hq-ring { fill: rgba(4, 14, 24, .5); stroke: var(--primary); stroke-width: 2.2; }
.cov-hq-dot { fill: var(--white); }
.cov-hq-text {
   fill: var(--white); font-family: var(--font-head); font-weight: 700;
   font-size: 12px; letter-spacing: .09em;
}
@keyframes covPulse {
   0%, 100% { transform: scale(1); opacity: .8; }
   50%      { transform: scale(1.6); opacity: 0; }
}

/* Em telas estreitas o mapa cai para ~390px de largura: os rotulos das cidades
   decorativas ficariam ilegiveis, entao sobram apenas as cidades-polo (as
   clicaveis) e a sede, em corpo maior. */
@media (max-width: 991.98px) {
   .cov-main .cov-city-label { display: none; }
   .cov-node-label { font-size: 17px; }
   .cov-hq-text    { font-size: 17px; }
   .cov-ring-label { font-size: 16px; }
   .cov-uf-label   { font-size: 17px; }
   .cov-uf-label--sea { font-size: 15px; }
   .cov-city-ring  { stroke-width: 1.8; }
   .cov-node-dot   { stroke-width: 2.2; }
   .cov-svg text   { stroke-width: 2.2px; }
}

/* --- Painel lateral --- */
.cov-side { padding: 28px 28px 30px; display: flex; flex-direction: column; min-width: 0; }
.cov-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 26px; }
.cov-stat {
   background: rgba(var(--white-rgb), .04); border: 1px solid rgba(var(--white-rgb), .09);
   border-radius: 12px; padding: 14px 12px; text-align: center;
}
.cov-stat strong {
   display: block; font-family: var(--font-head); font-weight: 700;
   font-size: 24px; line-height: 1.1; color: var(--primary);
}
.cov-stat span { display: block; margin-top: 4px; font-size: 12px; line-height: 1.35; color: rgba(var(--white-rgb), .6); }

.cov-side-title {
   font-family: var(--font-head); font-weight: 700; font-size: 13px;
   letter-spacing: .14em; text-transform: uppercase;
   color: rgba(var(--white-rgb), .55); margin: 0 0 14px;
}
.cov-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cov-tab {
   display: flex; align-items: center; justify-content: space-between; gap: 8px;
   padding: 11px 14px; border-radius: 10px; cursor: pointer;
   background: rgba(var(--white-rgb), .04); border: 1px solid rgba(var(--white-rgb), .1);
   font-family: var(--font-head); font-weight: 600; font-size: 13.5px;
   color: rgba(var(--white-rgb), .78); text-align: left; line-height: 1.25;
   transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
.cov-tab small {
   flex-shrink: 0; min-width: 22px; padding: 1px 6px; border-radius: 20px;
   background: rgba(var(--white-rgb), .08); font-size: 11px; font-weight: 700;
   color: rgba(var(--white-rgb), .6); text-align: center;
}
.cov-tab:hover { background: rgba(var(--white-rgb), .08); border-color: rgba(var(--primary-rgb), .45); color: var(--white); }
.cov-tab.is-active {
   background: var(--primary); border-color: var(--primary); color: var(--white);
   box-shadow: 0 10px 24px rgba(var(--primary-rgb), .28);
}
.cov-tab.is-active small { background: rgba(var(--dark-rgb), .28); color: var(--white); }

/* Lista de cidades */
.cov-cities-wrap { margin-top: 22px; padding-top: 22px; border-top: 1px solid rgba(var(--white-rgb), .09); flex-grow: 1; }
.cov-cities-title {
   font-family: var(--font-head); font-weight: 700; font-size: 16px;
   color: var(--white); margin: 0 0 14px;
   display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
}
.cov-cities-title span { font-size: 12px; font-weight: 600; color: var(--primary); letter-spacing: .04em; }
.cov-city-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.cov-city-list li {
   padding: 7px 13px; border-radius: 8px;
   background: rgba(var(--white-rgb), .05); border: 1px solid rgba(var(--white-rgb), .09);
   font-size: 13.5px; color: rgba(var(--white-rgb), .82);
   transition: border-color .25s ease, color .25s ease;
}
.cov-city-list li:hover { border-color: rgba(var(--primary-rgb), .5); color: var(--white); }
/* Com JS ativo, mostra apenas a região selecionada (sem JS, todas ficam visíveis) */
.js .cov-cities { display: none; }
.js .cov-cities.is-active { display: block; }
.cov-cities + .cov-cities { margin-top: 22px; }

.cov-cta { margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(var(--white-rgb), .09); }
.cov-cta p { margin: 0 0 14px; font-size: 14px; color: rgba(var(--white-rgb), .62); }

@media (min-width: 1600px) {
   .cov-lead { font-size: 18px; }
}
@media (max-width: 1199.98px) {
   .cov-tabs { grid-template-columns: 1fr; }
   .cov-stat strong { font-size: 21px; }
}
@media (max-width: 991.98px) {
   .cov-panel { grid-template-columns: 1fr; }
   .cov-map { border-right: 0; border-bottom: 1px solid rgba(var(--white-rgb), .09); padding: 22px 16px 16px; }
   .cov-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
   .cov-side { padding: 26px 22px 28px; }
}
@media (max-width: 575.98px) {
   .cov-tabs { grid-template-columns: 1fr; }
   .cov-stats { grid-template-columns: 1fr; gap: 8px; }
   .cov-stat { display: flex; align-items: baseline; justify-content: flex-start; gap: 10px; text-align: left; padding: 11px 14px; }
   .cov-stat strong { font-size: 19px; }
   .cov-stat span { margin-top: 0; }
   .cov-node-label { font-size: 20px; }
   .cov-ring-label { font-size: 18px; }
   .cov-uf-label { font-size: 18px; }
   .cov-hq-text { font-size: 19px; }
   .cov-node-dot { r: 7; }
   .cov-city-list li { font-size: 13px; padding: 6px 11px; }
}
@media (prefers-reduced-motion: reduce) {
   .cov-hq-pulse { animation: none; opacity: .5; }
}

/* ===================== 26. Hero alternativo (home2) ================== */
/* Só troca o fundo do hero por um vídeo em tela cheia (modelo da Técnica LS).
   A seção mantém a classe .hero-3, então todo o conteúdo — medidas, tipografia
   e breakpoints — continua idêntico ao da home. */
.hero-lr {
   position: relative;
   isolation: isolate;
   background-color: var(--dark);
   background-size: cover;
   background-position: center;
}
.hero-lr .hero-video {
   position: absolute; inset: 0; z-index: 0;
   width: 100%; height: 100%;
   object-fit: cover;
   pointer-events: none;
}
/* Véu: fecha à esquerda, onde fica o texto, e abre à direita para o vídeo aparecer */
.hero-lr-veil {
   position: absolute; inset: 0; z-index: 1;
   background: linear-gradient(100deg,
      rgba(var(--dark-rgb), .95) 0%,
      rgba(var(--dark-rgb), .86) 46%,
      rgba(var(--dark-rgb), .40) 64%,
      rgba(var(--dark-rgb), .06) 100%);
}

@media (max-width: 1199.98px) {
   .hero-lr-veil {
      background: linear-gradient(180deg, rgba(var(--dark-rgb), .88) 0%, rgba(var(--dark-rgb), .74) 100%);
   }
}
@media (max-width: 991.98px) {
   /* Sem vídeo no mobile: o site.js só carrega quando o elemento está visível,
      então esconder aqui já evita o download — fica o pôster como fundo. */
   .hero-lr .hero-video { display: none; }
}

/* ============================================================
   lgpd.css (unificado em site.css)
   ============================================================ */
/* =========================================================
   Componente: Banner de cookies / LGPD
   Alinhado ao design system da Líder Rental (tokens de style.css):
   âmbar (--primary), navy (--dark/--headings), fontes da marca.
   ========================================================= */
:root{ --lgpd-radius: 20px; }

.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:150;
  padding:16px 16px calc(16px + env(safe-area-inset-bottom));
  transform:translateY(120%);transition:transform .35s cubic-bezier(.2,.8,.3,1);
}
.cookie-banner.show{transform:translateY(0)}
.cookie-banner__inner{
  max-width:1080px;margin:0 auto;background:#fff;
  border:1px solid var(--border);border-radius:var(--lgpd-radius);
  box-shadow:0 20px 50px rgba(var(--dark-rgb),0.22);padding:22px 28px;
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  font-family:var(--font-base);
}

/* Ícone de cookie (círculo âmbar suave) */
.cookie-banner__icon{
  flex:0 0 auto;width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;font-size:26px;
  background:var(--primary);color:var(--dark);
}

.cookie-banner__text{flex:1;min-width:240px}
.cookie-banner__text strong{display:block;font-family:var(--font-head);color:var(--headings);font-size:17px;margin-bottom:4px}
.cookie-banner__text p{margin:0;font-size:14px;color:var(--body-color);line-height:1.55}
.cookie-banner__text a{color:var(--primary-dark);font-weight:700;text-decoration:underline}
.cookie-banner__actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}

/* Botões do banner — mesmos formatos dos botões do site */
.cookie-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:13px 26px;font-size:14px;font-family:var(--font-base);font-weight:600;
  border-radius:var(--radius);border:2px solid transparent;cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease,border-color .2s ease,background .2s ease,color .2s ease;
}
.cookie-btn--accept{background:var(--primary);color:var(--dark);box-shadow:0 12px 28px rgba(var(--primary-rgb),0.35)}
.cookie-btn--accept:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(var(--primary-rgb),0.45)}
.cookie-btn--ghost{background:transparent;border:2px solid var(--border);color:var(--headings)}
.cookie-btn--ghost:hover{border-color:var(--headings)}

@media (max-width:640px){
  .cookie-banner{padding:10px 10px calc(10px + env(safe-area-inset-bottom))}
  .cookie-banner__inner{padding:18px 18px 16px;gap:14px;border-radius:16px}
  .cookie-banner__icon{width:46px;height:46px;font-size:22px}
  .cookie-banner__text{min-width:0}
  .cookie-banner__text strong{font-size:15px}
  .cookie-banner__text p{font-size:13px;line-height:1.45}
  .cookie-banner__actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .cookie-btn{width:100%;padding:13px 10px;font-size:13.5px;white-space:nowrap}
}

/* ===================== 27. Mídia em box quadrado ===================== */
/* Substitui uma imagem 1:1 por vídeo mantendo exatamente a mesma pegada de
   layout: aspect-ratio 1/1 e object-fit cover, então a coluna não muda de
   altura e nada em volta se desloca. */
.media-square {
   position: relative;
   width: 100%;
   aspect-ratio: 1 / 1;
   overflow: hidden;
   background: var(--dark);
}
.media-square-video {
   display: block;
   width: 100%; height: 100%;
   object-fit: cover;
   object-position: center;
}
/* Fallback para navegadores sem aspect-ratio (Safari < 15): padding-top imita 1:1 */
@supports not (aspect-ratio: 1 / 1) {
   .media-square { height: 0; padding-top: 100%; }
   .media-square-video { position: absolute; inset: 0; }
}
