body {
	margin: 0 auto;
	font-family: "Archivo", system-ui, sans-serif;
	font-size: 16px;
}
:root {
    --paper: #F4F0E8;
    --paper-2: #ECE6DA;
    --card: #FBF8F2;
    --ink: #15202E;
    --ink-soft: #46505F;
    --ink-faint: #7A828D;
    --red: #BC2C27;
    --red-deep: #8E1F1B;
    --green: #1B7A4F;
    --green-deep: #125C3A;
    --green-br1: #2bd46e;
    --green-br2: #1ba554;
    --gold: #A9812F;
    --star: #C79A3A;
    --gold-soft: #c9a24e;
    --line: rgba(21, 32, 46, .14);
    --line-soft: rgba(21, 32, 46, .08);
    --r-s: 8px;
    --r-m: 14px;
    --r-full: 100px;
    --sh-card: 0 1px 2px rgba(21, 32, 46, .05), 0 16px 34px -24px rgba(21, 32, 46, .45);
    --sh-action: 0 12px 26px -10px rgba(27, 165, 84, .6), inset 0 1px 0 rgba(255, 255, 255, .25);
    --serif: "Libre Caslon Display", Georgia, serif;
    --serif-text: "Libre Caslon Text", Georgia, serif;
    --sans: "Archivo", system-ui, sans-serif;
    --franja-h: 60px;
    --edge: 20px;
}
.header {
    background: rgba(247, 243, 236, .85);
    height: 60px;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 12px rgba(21, 32, 46, .10);
}
.header-mobile {
    margin: 10px;
}
.header-center {
    text-align: left;
    width: 150px;
    margin: -8px 0;
}
.logo {
    width: auto;
    height: 40px;
    margin: 20px;
}
.header-right {
    position: absolute;
    top: 20px;
    right: 17px;
}
.header-phone {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    margin: -5px 0 0 0;
    place-items: center;
    box-shadow: 0 0 0 1.5px var(--gold-soft), 0 4px 12px rgba(0, 0, 0, .08);
}
.header-email-button{
    display: none;
}
.header-contact {
	display: none;
}
.top-wrapper {
    padding: 0 10px 0 10px;
    text-align: center;
    height: 773px;
    margin-top: -22px;
    background: radial-gradient(120% 70% at 50% 0%, rgba(188, 44, 39, .06), transparent 60%), linear-gradient(180deg, var(--card) 0%, var(--paper) 100%);
}
p {
    margin: 0;
}
.badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 15px;
	border-radius: 100px;
	background: var(--card);
	border: 1px solid var(--line);
	font-size: clamp(10px,2.9vw,11.5px);
	font-weight: 600;
	color: var(--ink-soft);
	box-shadow: 0 1px 2px rgba(21,32,46,.05);
	margin: 95px 0 0 0;
}
.badge .tr {
	font-size: 13px
}

.badge .stars {
	color: var(--star);
	letter-spacing: 1px;
	font-size: 10px
}
.badge .sep {
	width: 1px;
	height: 12px;
	background: var(--line)
}
.badge b {
	color: var(--ink);
	font-weight: 700
}
h1 {
	color: #15202e;
	font-family: "Libre Caslon Display", Georgia, serif;
	font-size: 46px;
	margin: 50px 0 0 0;
	font-weight: 400;
}
.kicker {
	font-family: "Libre Caslon Text", Georgia, serif;
	font-style: italic;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: .01em;
	text-transform: none;
	color: #A9812F;
	margin-top: 3px;
}
.divider {
    width: 54px;
    height: 2px;
    margin: 14px auto;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.gancho {
	font-family: "Archivo", system-ui, sans-serif;
	font-weight: 700;
	color: var(--ink);
	font-size: clamp(21px,6.2vw,27px);
	line-height: 1.18;
	margin-top: clamp(14px,3.6vw,20px);
	max-width: 18ch;
	letter-spacing: -.01em;
	margin: 18px auto 0 auto;
}
.bajada {
    font-family: "Libre Caslon Text", Georgia, serif;
    font-size: clamp(15px, 4.3vw, 17.5px);
    line-height: 1.45;
    color: #46505F;
    margin: 15px auto 0 auto;
    max-width: 28ch;
}
.bajada .em {
    color: #BC2C27;
    font-weight: 700;
    font-style: italic;
}
 .sec {
	padding: 48px 20px;
	background: #f4f0e8;
}
.eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--red);
    display: inline-flex;
    align-items: center;
    gap: 9px;
}
.eyebrow::before {
    content: "";
    width: 20px;
    height: 1.5px;
    background: var(--red);
}
.sec.alt {
	background: var(--paper-2)
}
.sec h2 {
	font-family: var(--serif);
	font-weight: 400;
	font-size: clamp(27px,7.5vw,34px);
	line-height: 1.08;
	letter-spacing: -.01em;
	margin: 14px 0 90px 0;
	color: #000;
}
.sec h2 em {
	font-family: var(--serif-text);
	font-style: italic;
	color: var(--red)
}
.sec .necesidades-empresa {
	height: auto;
	margin-bottom: 20px;
}
.sec .prose {
	font-size: 15.5px;
	color: var(--ink-soft);
	line-height: 1.6
}
.inline-link {
    color: var(--red);
    font-weight: 600;
    border-bottom: 1.5px solid rgba(188, 44, 39, .3);
}
.inline-desktop {
	display: none;
}
.trust {
	background: var(--ink);
	color: var(--paper);
	padding: 44px 20px;
	display: flex;
	flex-direction: column;
	gap: 18px
}
.trust .item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.trust .item>div:last-child {
	flex: 1;
	min-width: 0
}
.trust .ic {
	flex: none;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1.5px solid rgba(244,240,232,.28);
	display: grid;
	place-items: center;
	color: var(--gold)
}
.trust .ic svg {
	width: 21px;
	height: 21px
}
.trust h3 {
	font-family: var(--serif);
	font-size: 17.5px;
	font-weight: 400;
	line-height: 0;
	color: #fff;
	width: 100%;
	margin: 10px 0 15px 0;
}
.trust p {
	font-size: 13px;
	color: rgba(244,240,232,.7);
	margin-top: 4px;
	line-height: 1.45
}
.trust .eyebrow {
	margin-bottom: 2px
}

.trust .eyebrow::before {
	background: var(--gold)
}
.trust .estudio {
    padding-top: 28px;
    margin-top: 10px;
    border-top: 1px solid rgba(244, 240, 232, .16);
}
.trust .estudio .figure {
	margin-top: 0;
	box-shadow: none
}
.trust .estudio .figure .tag {
	background: rgba(244,240,232,.94);
	color: var(--ink)
}
.trust .estudio p.lead {
	font-size: 14.5px;
	color: rgba(244,240,232,.78);
	margin-top: 16px;
	line-height: 1.55
}
.trust .estudio .statrow {
	display: flex;
	gap: 22px;
	margin-top: 20px
}
.trust .estudio .statrow .n {
	font-family: var(--serif);
	font-size: 27px;
	line-height: 1;
	color: #fff
}
.trust .estudio .statrow .l {
	font-size: 12px;
	color: rgba(244,240,232,.62);
	margin-top: 4px
}
.figure {
	margin-top: 24px;
	border-radius: var(--r-m);
	overflow: hidden;
	aspect-ratio: 5/4;
	position: relative;
	box-shadow: var(--sh-card)
}
.figure img {
	width: 100%;
	height: 100%;
	object-fit: cover
}
.reviews {
	padding: 48px 20px;
	background: var(--paper-2)
}
.reviews h2 {
	font-family: var(--serif);
	font-weight: 400;
	font-size: clamp(27px,7.5vw,34px);
	line-height: 1.08;
	letter-spacing: -.01em;
	margin-top: 12px;
	color: var(--ink)
}
.reviews h2 em {
	font-family: var(--serif-text);
	font-style: italic;
	color: var(--red)
}
.rating {
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--r-m);
	padding: 16px 18px;
	margin-top: 18px;
	box-shadow: var(--sh-card)
}
.rating .score {
	font-family: var(--serif);
	font-size: 40px;
	line-height: 1;
	color: var(--ink)
}
.rating .s {
	color: var(--star);
	letter-spacing: 2px;
	font-size: 14px
}
.rating .meta {
	font-size: 12px;
	color: var(--ink-soft);
	margin-top: 2px
}
.rev-list {
	display: grid;
	gap: 14px;
	margin-top: 16px
}
.review {
	background: var(--card);
	border: 1px solid var(--line-soft);
	border-radius: var(--r-m);
	padding: 20px;
	box-shadow: var(--sh-card)
}
.review .top {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 10px
}
.review .av {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--paper-2);
	flex: none
}
.review .who b {
	display: block;
	font-size: 14px
}
.review .who .s {
	color: var(--star);
	font-size: 11px;
	letter-spacing: 1.5px
}
.review .when {
	margin-left: auto;
	font-size: 11px;
	color: var(--ink-faint)
}
.review p {
	font-family: var(--serif-text);
	font-size: 14px;
	line-height: 1.55;
	color: var(--ink-soft)
}
.proceso .steps {
	margin-top: -100px;
}
.proceso .step {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}
.proceso .step .num {
	flex: none;
	width: 44px;
	font-family: var(--serif);
	font-size: 40px;
	line-height: .85;
	color: var(--red);
	text-align: center
}
.proceso .step h3 {
	font-family: var(--sans);
	font-weight: 700;
	font-size: 16.5px;
	color: var(--ink);
	letter-spacing: -.01em;
	line-height: 0;
	margin: 8px 0 12px 0;
}
.proceso .step p {
	font-size: 14px;
	color: var(--ink-soft);
	margin-top: 5px;
	line-height: 1.5
}
.proceso .btn-wa {
	margin-top: 26px
}
.nucleo {
	position: relative;
	margin-top: 26px;
	display: flex;
	flex-direction: column;
	align-items: center
}
.nucleo::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(86vw,360px);
	height: min(86vw,360px);
	transform: translate(-50%,-56%);
	background: radial-gradient(circle,rgba(188,44,39,.11),rgba(188,44,39,.04) 42%,transparent 64%);
	pointer-events: none;
	z-index: 0
}
.nucleo .word {
	position: relative;
	z-index: 0;
	font-family: var(--serif);
	font-weight: 400;
	font-size: clamp(60px,19vw,84px);
	line-height: .88;
	letter-spacing: .005em;
	color: var(--red);
	text-transform: uppercase
}
.nucleo .cap {
	position: relative;
	z-index: 0;
	margin-top: 12px;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--ink-faint);
	display: inline-flex;
	align-items: center;
	gap: 9px
}
.nucleo .cap::before,.nucleo .cap::after {
	content: "";
	width: 18px;
	height: 1px;
	background: var(--line)
}
.servicios .pills {
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	align-items: flex-start
}
.servicios .pill-s {
	display: inline-flex;
	align-items: center;
	width: auto;
	max-width: none;
	flex: 0 0 auto;
	white-space: nowrap;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--r-full);
	padding: 9px 15px;
	font-size: 13px;
	line-height: 1;
	color: var(--ink-soft);
	box-shadow: 0 1px 2px rgba(21,32,46,.05)
}
.servicios .btn-wa {
	margin-top: 26px
}
button {
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit;
    -webkit-tap-highlight-color: transparent !important;
}
.contact-button {
    margin: 20px auto 0 auto;
    width: 100%;
    max-width: 330px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 12px;
    border-radius: var(--r-s);
    background: linear-gradient(180deg, #2bd46e, var(--green-br2));
    color: #fff;
    font-size: clamp(15.5px, 4.6vw, 17px);
    font-weight: 700;
    box-shadow: var(--sh-action);
    animation: pulse 2.4s ease-in-out infinite;
    text-decoration: none;
}
@keyframes pulse {
	0%,100% {
		box-shadow: 0 12px 26px -10px rgba(27,165,84,.6),inset 0 1px 0 rgba(255,255,255,.25),0 0 0 0 rgba(43,212,110,.4)
	}

	50% {
		box-shadow: 0 12px 26px -10px rgba(27,165,84,.6),inset 0 1px 0 rgba(255,255,255,.25),0 0 0 12px rgba(43,212,110,0)
	}
}
.tech {
    margin-top: 14px;
    margin-bottom: clamp(6px, 2vw, 12px);
    font-size: 11.5px;
    line-height: 1.4;
    color: var(--ink-faint);
    letter-spacing: .01em;
}
.top-button-icon {
    max-width: 35px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 7px;
}
h2 {
    color: #FFFFFF;
    font-size: 16px;
    margin: 0;
    height: 70px;
    font-weight: normal;
}
/*.form-container {
    padding: 50px 0;
    text-align: center;
    background: #f4f0e8;
}
.form-contact-page {
    margin-top: 40px;
}
.form-title {
    color: #D9062A;
    font-size: 26px;
}
.form-intro {
    color: #454545;
    margin: 18px 0 80px 0;
    font-size: 18px;
}
.register {
    display: none;
}
.register.active {
    display: block;
}
.success {
    display: none;
    height: 100%;
    padding: 70px 0 0 0;
    margin: 0;
    background-color: #000;
    left: 0;
}
.success.active {
    display: block;
    background-color: #191919;
    padding: 0;
    font-weight: 400;
    color: #FFFFFF;
    text-align: center;
}
.success-title{
    text-align: center;
    color: #D9062A;
    font-size: 24px;
    margin-top: 70px;
}
.success-text {
    text-align: center;
    color: #FFFFFF;
    margin: 10px auto -30px auto;
    max-width: 315px;
}
.success-logo {
    margin: 50px 0 0 0;
}
form {
    margin: 0 15px 0 15px;
    background: #fbf8f2;
    border: 1px solid var(--line);
    border-radius: var(--r-m);
    padding: 24px 20px;
    box-shadow: var(--sh-card);
}
form .sub {
	font-size: 13px;
	color: var(--ink-soft);
	margin: 0 0 40px 0;
	text-align: left;
}
.form-sector {
    display: block;
}
.form-input-container {
    display: contents;
}
.label-icon {
    width: 14px;
    height: 14px;
    margin-right: 5px;
}
label {
    position: absolute;
    margin: -15px 0 0 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--ink);
}
label .label-flag {
    max-width: 25px;
    position: absolute;
    top: 37px;
    margin-left: 5px;
}
.large-label {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    max-width: 43%;
}
input {
	max-width: 45%;
    display: inline-block;
    padding: 17px 12px;
    box-sizing: border-box;
    margin: 5px 6px 35px 6px !important;!i;!;
    resize: vertical;
    background: var(--paper);
    border-radius: 8px;
    box-shadow: 0px 4px 4px 0px rgba(134, 134, 134, 0.05);
    font-size: 14px;
    border: 1px solid #b1b1b1;
}
input[type=tel], textarea {
  padding: 17px 0;
}
input#phone, placeholder {
    padding-left: 36px;
}
input:focus{
    outline: none;
}
.input-big {
    width: 95%;
}
::placeholder {
    color: #999999;
}
input#comuna_input {
    background-image: url(../img/form/select.svg);
    background-repeat: no-repeat;
    background-position: right 10px bottom 15px;
}
select{
    font-size: 14px;
    color: #999999;
    width: 45%;
    padding: 17px 12px;
    box-sizing: border-box;
    margin: 5px 5px 35px 5px;
    resize: vertical;
    border-radius: 8px;
    background: #f4f0e8;
    box-shadow: 0px 4px 4px 0px rgba(134, 134, 134, 0.05);
    -webkit-appearance: none;
    appearance: none;
    background-image: url(../img/form/select.svg);
    background-repeat: no-repeat;
    background-position: right 10px bottom 15px;
    border: 1px solid #b1b1b1;
}
select:focus{
    outline: none;
}
select::placeholder {
    color: #FFFFFF;
    background-image: none;
}
select option {
    color: #454545;
    background: #fff;
}
optgroup
{
    text-decoration: underline;
    margin: 0 auto 30px auto;
    max-width: 350px;
    color: gray;
}
input[type=submit] {
    border-radius: 6px;
    background: linear-gradient(180deg, var(--green-br1), var(--green-br2));
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.08);
    font-size: 18px;
    font-style: normal;
    line-height: normal;
    margin: -20px auto !important;!i;!;
    display: block;
    color: #FFFFFF;
    width: 100%;
    max-width: 95%;
    padding: 17px 30px;
}
input[type="date"] {
    background-color: white;
    cursor: pointer;
	color: #FFFFFF;
    max-width: 45%;
    display: inline-block;
    padding: 17px 12px;
    box-sizing: border-box;
    margin: 5px 6px 35px 6px;
    resize: vertical;
    border-radius: 8px;
    border: 1px solid #EBEBEB;
    box-shadow: 0px 4px 4px 0px rgba(134, 134, 134, 0.05);
    font-size: 16px;
    background: #191919;
    border: 2px solid #202835;
}
* {
    box-sizing: border-box;
}
.select-box{
    position: relative;
    display: contents;
    height: auto;
    margin: 0;
    padding: 0;
}
.select-option{
    display: contents;
}
.select-option input{
    position: relative;
    cursor: pointer;
    margin: 0;
}
.content{
    width: 37.5%;
    background-color: #fff;
    position: absolute;
    color: #000;
    border-radius: 7px;
    z-index: 999;
    display: none;
    margin: -90px 6px 0 11px;
}
.search input{
    min-width: 100% !important;
    font-size: 17px;
    height: 52px;
    outline: 0;
    border: 1px solid #b3b3b3;
    border-radius: 5px;
    margin: 3px 0 0 0 !important;
}
.options{
    padding: 15px;
    max-height: 250px;
    overflow-y: auto;
    padding: 0;
}
.options li{
    border-radius: 5px;
    font-size: 21px;
    cursor: pointer;
    text-align: left;
    padding-left: 20px;
    font-size: 16px;
	margin: 20px 0;
}
.options li:hover{
    background-color: #00000034;
    border-radius: 2px;
}
.select-box.active .content{
    display: block;
}
.form-bar {
    width: 80%;
    height: 1px;
    background-color: #D9062A;
    border: none;
    margin: 65px auto 0 auto;
}
form .legal {
	font-size: 11px;
    color: var(--ink-faint);
    text-align: center;
    margin-top: 30px;
}*/
.fab.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    animation: fabpulse 2.6s ease-in-out infinite;
}
.fab {
    position: fixed;
    right: calc(18px + max(0px, 50vw - 215px));
    bottom: calc(var(--franja-h) - 20px);
    z-index: 55;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: transparent;
    box-shadow: var(--sh-action);
    display: grid;
    place-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: none;
    transform: none;
}
.floating-button {
    position: fixed;
    right: 18px;
    bottom: 40px;
    width: 54px;
    height: 54px;
    z-index: 101;
}
.floating-button-desktop {
	display: none;
}
.floating-service {
    background: var(--ink);
    border-top: 1.5px solid var(--gold);
    position: fixed;
    bottom: 0;
    width: 100%;
    text-align: center;
    color: #FFFFFF;
    z-index: 100;
    box-shadow: 0 -6px 20px -10px rgba(21, 32, 46, .45);
}
.floating-service {
    padding: 15px 0;
}
.floating-service-title {
    font-weight: bold;
    font-size: 15px;
}
.floating-service-description {
    font-size: 12px;
}
.strip b svg {
    width: 15px;
    height: 15px;
}
.img-dialog{
    width: 100px;
    height: 100px;
}
.fab.show {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	animation: fabpulse 2.6s ease-in-out infinite
}
.fab svg {
	width: 100%;
	height: 100%;
	display: block;
	flex: none
}
@keyframes fabpulse {
	0%,100% {
		box-shadow: var(--sh-action),0 0 0 0 rgba(43,212,110,.45)
	}
	50% {
		box-shadow: var(--sh-action),0 0 0 12px rgba(43,212,110,0)
	}
}
@media (prefers-reduced-motion: reduce) {
	.fab,.cta {
		animation: none
	}
}
.eyebrow.muted {
	color: var(--ink-faint)
}
.eyebrow.muted::before {
	background: var(--ink-faint)
}
/*.formsec h2 {
	font-family: var(--serif);
	font-weight: 400;
	font-size: clamp(26px,7vw,32px);
	line-height: 1.1;
	letter-spacing: -.01em;
	margin: 12px 0 0 0;
	color: var(--ink)
}*/
footer {
	background:var(--ink);
	color:var(--paper);
	padding:48px 20px calc(var(--franja-h) + 36px)
}
footer .fb {
	display:flex;
	align-items:center;
	gap:9px;
	margin-bottom:14px
}
footer .fb img {
	height:46px;
	width:auto
}
.fbrand-sub {
	font-size:13px;
	color:rgba(244,240,232,.6);
	margin:0 0 4px
}
.fcol {
	margin-top:24px
}
.fcol h4 {
	font-size:11px;
	font-weight:700;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--gold);
	margin-bottom:13px;
	text-align: left;
}
.frow {
	display:flex;
	gap:11px;
	align-items:flex-start;
	font-size:13.5px;
	color:rgba(244,240,232,.78);
	margin-bottom:12px;
	line-height:1.45
}
.frow svg {
	width:16px;
	height:16px;
	flex:none;
	margin-top:2px;
	color:var(--red)
}
.fab {
	position:fixed;
	right:calc(18px + max(0px,50vw - 215px));
	bottom:calc(var(--franja-h) - 20px);
	z-index:55;
	width:56px;
	height:56px;
	border-radius:50%;
	background:transparent;
	box-shadow:var(--sh-action);
	display:grid;
	place-items:center;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:none;
	transform:none
}
.fab.show {
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:none;
	animation:fabpulse 2.6s ease-in-out infinite;
	z-index: 100;
}
.fab svg {
	width:100%;
	height:100%;
	display:block;
	flex:none}

dialog {
  padding: 1rem 3rem;  
  background: white;
  max-width: 400px;
  padding-top: 2rem;
  border-radius: 20px;
  border: 0;
  box-shadow: 0 5px 30px 0 rgba(0, 0, 0, 0.1);
  -webkit-animation: fadeIn 1s ease both;
          animation: fadeIn 1s ease both;
}
dialog::-webkit-backdrop {
  -webkit-animation: fadeIn 1s ease both;
          animation: fadeIn 1s ease both;
  background: rgba(255, 255, 255, 0.4);
  z-index: 2;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
}
dialog::backdrop {
  -webkit-animation: fadeIn 1s ease both;
          animation: fadeIn 1s ease both;
  background: rgba(255, 255, 255, 0.4);
  z-index: 2;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
}
dialog .x {
  filter: grayscale(1);
  border: none;
  background: none;
  position: absolute;
  top: 15px;
  right: 10px;
  transition: ease filter, transform 0.3s;
  cursor: pointer;
  transform-origin: center;
}
dialog .x:hover {
  filter: grayscale(0);
  transform: scale(1.1);
}
dialog h2 {
  font-weight: 600;
  font-size: 2rem;
  padding-bottom: 1rem;
  color: firebrick;
}
dialog p {
  font-size: 1rem;
  line-height: 1.3rem;
  padding: 0.5rem 0;
}
dialog p a:visited {
  color: rgb(var(--vs-primary));
}
.d-none{
    display: none;
}
.desktop-button {
    display: none;
}
.popup-container {
    display: none;
}
a {
	text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}
@media screen and (min-width: 1024px) {
	body {
		background: #f4f0e8;
	}
	.header-center {
		margin-left: 400px
	}
	.header-right {
		margin-right: 200px
	}
	.header-phone {
		display: none;
	}
	.header-contact {
		display: block;
	}
	.hd-contact {
		display:flex;
		flex-direction:row;
		align-items:center;
		gap:24px
	}
  	.hd-c {
		font-size:13.5px;
		color: var(--ink-soft);
		margin-right: 20px;

	}
  	.hd-c svg {
		width:15px;
		height:15px;
		vertical-align: middle;
		margin-right: 5px;
		color: var(--red);
	}
	.badge {
	    margin: 140px 0 0 0;
	}
	h1 {
		margin: 10px 0 0 0;
		font-size: 84px;
	}
	.gancho{
		max-width: 370px;
	}	
	.bajada {
		max-width: 470px;
	}
	.sec {
		margin: 0 auto;
		text-align: center;
	}
	.sec .necesidades-empresa {
		width: 400px;
		margin: 14px auto;
	}
	.top-section {
		max-width: 590px;
	}
	.trust {
        padding: 88px 300px;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 54px 36px;
        align-items: start;
        margin: 0 auto;
    }
	.trust>.eyebrow {
        grid-column: 1 / -1;
        justify-content: center;
        text-align: center;
        margin-bottom: 6px;
        margin-top: 80px;
    }
	.trust .estudio {
        grid-column: 1 / -1;
        max-width: 820px;
        margin: 18px auto 0;
        width: 100%;
    }
	.contact-button {
		display: none;
		padding: 15px 0 5px 0;
	}
	.desktop-button {
		display: block;
	}
	.inline-desktop {
		display: contents;
	}
	.inline-mobile {
		display: none;
	}
	.reviews {
		text-align: center;
		padding:48px 20px;
		background:var(--paper-2)
	}
	.reviews h2 {
		font-family:var(--serif);
		font-weight:400;
		font-size:clamp(27px,7.5vw,34px);
		line-height:1.08;
		letter-spacing:-.01em;
		margin-top:12px;
		color:var(--ink)
	}
	.reviews h2 em {
		font-family:var(--serif-text);
		font-style:italic;
		color:var(--red)
	}
	.rating {
		display:flex;
		align-items:center;
		gap:16px;
		background:var(--card);
		border:1px solid var(--line);
		border-radius:var(--r-m);
		padding:16px 18px;
		margin-top:18px;
		box-shadow:var(--sh-card);
		max-width: 260px;
		margin: 0 auto;
	}
	.rating .score {
		font-family:var(--serif);
		font-size:40px;
		line-height:1;
		color:var(--ink)
	}
	.rating .s {
		color:var(--star);
		letter-spacing:2px;
		font-size:14px
	}
	.rating .meta {
		font-size:12px;
		color:var(--ink-soft);
		margin-top:2px
	}
	.rev-list {
		display: inline-block;
		max-width: 1200px;
	}
	.review {
		max-width: 500px;
		display: inline-block;
		text-align: left;
		vertical-align: top;
		height: 150px;
		margin: 10px;
	}
	.review .top {
		display:flex;
		align-items:center;
		gap:11px;
		margin-bottom:10px
	}
	.review .av {
		width:40px;
		height:40px;
		border-radius:50%;
		object-fit:cover;
		background:var(--paper-2);
		flex:none
	}
	.review .who b {
		display:block;
		font-size:14px
	}
	.review .who .s {
		color:var(--star);
		font-size:11px;
		letter-spacing:1.5px
	}
	.review .when {
		margin-left:auto;
		font-size:11px;
		color:var(--ink-faint)
	}
	.review p {
		font-family:var(--serif-text);
		font-size:14px;
		line-height:1.55;
		color:var(--ink-soft)
	}	
	.sec .proceso {
		width: 1500px
	}
	.proceso .steps {
		margin: -80px auto 0 auto;
	}
	.proceso .step {
		display: inline-block;
		width: 300px;
		text-align: center;
		vertical-align: top;
		margin: 0 20px;
	}
	.proceso .step .num {
		width: auto;
		margin-bottom: 20px;
	}
	.proceso .step h3 {
		font-family:var(--sans);
		font-weight:700;
		font-size:16.5px;
		color:var(--ink);
		letter-spacing:-.01em
	}
	.proceso .step p {
		font-size:14px;
		color:var(--ink-soft);
		margin-top:5px;
		line-height:1.5
	}
	.proceso .btn-wa {
		margin-top:26px
	}
	.servicios .pills {
		max-width: 700px;
		margin: 20px auto;
	}	   
    /*.form {
        max-width: 500px;
        margin: 0 auto;
    }
	.popup-form {
		border: none;
		background: none;
		box-shadow: none;
		margin-top: -10px;
	}
    form {
        margin-bottom: 100px;
    }
    .multiselect {
        width: 100%;
    }
    .causal-label {
        margin-left: auto;
        margin-right: auto;
        left: 0;
        right: 215px;
        text-align: center;
    }
    .selectBox {
        position: relative;
    }
    .overSelect {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
    }
	input {
		width: 200px;
		margin: 5px 6px 35px 6px !important;
	}
    input[type="checkbox" i] {
        margin-top: 0;
    }
    #checkboxes {
        display: none;
        border: solid 1px #666666;
        box-shadow: #00000017 0px 0px 3px 3px;
        padding: 30px 0 17px 0;
        width: 94%;
        margin: -35px auto 50px auto;
    }
    .label-checkboxes {
        border-top: 1px solid #EBEBEB;
        padding: 15px 10px 0 10px;
        margin-left: 0;
    }
    .label-checkboxes:last-child {
        border-bottom: 1px solid #EBEBEB;
    }
    #checkboxes .label-checkboxes {
        display: block;
        position: relative !important;
        text-align: left;
        line-height: 1;
        color: #FFFFFF;
    }
    label#label-checkbox-63 {
        border-bottom: 1px solid #EBEBEB;
        margin-bottom: 30px;
        max-height: 49px;
    }
    input#checkbox-63 {
        margin-bottom: 20px;
    }
    .content {
        width: 21% !important;!i;!;
    }
	select{
		width: 200px;
 	}
	.input-big {
    	width: 90%;
	}
	input#comuna_input {
		margin: -100px; 
	}
    .d-none{
        display: none;
    }   	*/
    .popup-overlay {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: rgba(0, 0, 0, 0.7);
        transition: opacity 500ms;
        visibility: hidden;
        opacity: 0;
    }
    .popup-overlay:target {
        visibility: visible; 
        opacity: 1;
    }
    .popup-container {
        position: relative;
        top: 200px;
        margin: auto;
        left: 0;
        right: 0;
        border-radius: 15px;
        transition: all 2s ease-in-out;
        background: #ECE5DD;
        height: 270px;
        text-align: center;
        max-width: 400px;
        display: block;
        z-index: 1000;
    }
    .popup-container-header {
        background: #075E54;
        padding: 10px;
        text-align: center;
        border-top-left-radius: 15px;
        border-top-right-radius: 15px;
        margin-bottom: 0;
        color: #FFFFFF;
        text-align: left;
        }
    .popup-container-header p {
        display: inline-block;
        vertical-align: top;
        margin: 5px 10px;
    }
	.wa-profile {
		width: 40px;
	}
	.wa-profile-status {
		position: absolute;
		font-size: 11px;
		top: 30px;
		left: 53px;
	}	
    .close-popup {
        margin: 0;
        height: 20px;
        width: 20px;
        position: absolute;
        right: 15px;
        top: 20px;
    }
	.close-popup:hover {
		background: rgba(255, 255, 255, .16);
		border-radius: 50%;
	}
    .wa-popup-input {
        background: #FFFFFF;
        display: block;
        border: 1px solid #DFDFDF !important;
        padding: 15px !important;
        color: #454545;
        margin: 20px auto 0 auto !important;
        max-width: 300px;
        width: 360px;
        box-shadow: 0 1px 2px rgba(6, 40, 30, .16);
        border-radius: 12px;
    }
    .wa-popup-input-phone {
        padding-left: 95px !important;
        max-width: 220px;
        width: 360px;
        box-shadow: 0 1px 2px rgba(6, 40, 30, .16);
        margin: 10px auto 0 auto !important;
    }
    .wa-popup-input::placeholder {
        color: #aeaeae;    
    }
    .wa-popup-input:focus {
        background-color: #FFFFFF !important;
    }
    .wa-popup-label-flag {
        position: absolute;
        margin: -4px 0 0 -35px;
    }
    .popup-label-phone {
        position: absolute;
        margin: 25px 0 0 -40px;
        left: 125px;
        color: #212121;
        font-size: 15px;
        font-weight: bold;
    }
	input[type=submit] {
		margin-top: 10px !important;
	}
    .wa-popup-submit {
        background-color: #25D366 !important;
        font-style: normal;
        line-height: normal;
        margin: 10px auto !important;
        display: block;
        max-width: 360px !important;
        width: 330px;
        padding: 15px 58px 15px 100px !important;
        border: none;
        border-radius: 12px !important;
        background-image: url('../img/wa-form/wa-icon.svg') !important;
        background-repeat: no-repeat !important;
        background-position: 75px 7px !important;
        background-size: 35px !important;
        color: #ffffff;
        font-size: 17px;
        font-weight: 700;
    }
	.wa-popup-submit:hover {
		background: #1FAE53 !important;
		cursor: pointer;
		background-image: url('../img/wa-form/wa-icon.svg') !important;
		background-repeat: no-repeat !important;
		background-position: 75px 7px !important;
		background-size: 35px !important;
	}
	    .fab {
        right: 30px;
        bottom: 50px;
    }
	.floating-button-mobile {
	    display: none;
	}
	.floating-button-desktop {
		display: contents;
	}
	.floating-button {
		right: 30px;
		width: 56px;
		height: 56px;
		bottom: 50px;
	}
	footer {
		text-align: center;
		}
	footer .fb {
	    display: inline-block;
	    margin: 50px 100px 0 0;
	}
	footer .fb img {
		height:46px;
		width:auto;
		vertical-align: -webkit-baseline-middle;
		}
	.fbrand-sub {
		font-size:13px;
		color:rgba(244,240,232,.6);
		margin:0 0 4px
		}
	.fcol {
		margin: 0 30px;
		display: inline-block;
		vertical-align: top;
	}
	.fcol h4 {
		font-size:11px;
		font-weight:700;
		letter-spacing:.16em;
		text-transform:uppercase;
		color:var(--gold);
		margin-bottom:13px
	}
	.frow {
		display:flex;
		gap:11px;
		align-items:flex-start;
		font-size:13.5px;
		color:rgba(244,240,232,.78);
		margin-bottom:12px;
		line-height:1.45
	}
	.frow svg {
		width:16px;
		height:16px;
		flex:none;
		margin-top:2px;
		color:var(--red)
	}
}

/* ============================================================
   FORMULARIO — antes formulario.css, fusionado aquí para que el
   orden de carga no importe (las clases ya no se pisan entre archivos)
   ============================================================ */

/* boton whatsapp (submit) */
.btn-wa{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:16px;border-radius:var(--r-s);background:linear-gradient(180deg,var(--green-br1),var(--green-br2));color:#fff;font-weight:700;font-size:16px;border:none;cursor:pointer;box-shadow:var(--sh-action)}
.btn-wa svg{width:21px;height:21px}

/* reset local: el *{box-sizing:border-box} de arriba esta comentado (bloque legacy),
   sin esto los input/select con width:100%+padding del formulario se desbordan */
.formsec,.formsec *,.formsec *::before,.formsec *::after{box-sizing:border-box}

/* seccion + tarjeta del formulario */
.formsec{padding:48px 20px;background:var(--paper)}
/* height/color:auto pisan el h2{height:70px;color:#fff} global de arriba */
.formsec h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,7vw,32px);line-height:1.1;letter-spacing:-.01em;margin:12px 0 0;height:auto;color:var(--ink)}
.formcard{margin-top:24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:24px 20px;box-shadow:var(--sh-card)}
.formcard h3{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--ink)}
.formcard .sub{font-size:13px;color:var(--ink-soft);margin-top:4px}
.formcard .btn-wa{margin-top:20px}
.formcard .legal{font-size:11px;color:var(--ink-faint);text-align:center;margin-top:11px;line-height:1.4}

/* grilla de campos generica (2 columnas) */
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.field{min-width:0}
.field.full{grid-column:1 / -1}
.field label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:6px}
.field label svg{width:14px;height:14px;flex:none;color:var(--ink-faint)}
.field .req{color:var(--red)}
.field input,.field select{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);padding:13px 12px;outline:none;appearance:none;-webkit-appearance:none;min-height:48px}
.field input:focus,.field select:focus{border-color:var(--red);background:#fff;box-shadow:0 0 0 3px rgba(188,44,39,.1)}

/* campo telefono con prefijo */
.tel{display:flex;align-items:stretch}
.tel .pre{flex:none;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 7px;background:var(--paper-2,#ECE6DA);border:1px solid var(--line);border-right:none;border-radius:var(--r-s) 0 0 var(--r-s);font-size:14.5px;font-weight:600;color:var(--ink);white-space:nowrap}
.tel .pre svg{width:20px;height:14px;border-radius:2px;flex:none}
.tel input{flex:1;min-width:0;padding-left:8px;padding-right:6px;border-radius:0 var(--r-s) var(--r-s) 0}

/* select con flecha custom */
.select-wrap{position:relative}
.select-wrap select{padding-right:34px}
.select-wrap::after{content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:2px solid var(--ink-faint);border-bottom:2px solid var(--ink-faint);transform:translateY(-70%) rotate(45deg);pointer-events:none}

/* fila de 2 columnas (ej. fechas) */
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ============================================================
   #form-dinamico — formulario inyectado por JS (look final)
   ============================================================ */
#form-dinamico{display:block}
#form-dinamico .form-sector{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;margin:0 0 8px}
#form-dinamico .form-input-container{display:flex;flex-direction:column}
#form-dinamico label{display:flex;align-items:center;gap:7px;font-size:13px;color:#1B2430;font-weight:600;margin:0 0 7px}
#form-dinamico .label-icon,#form-dinamico .label-flag{display:none}

#form-dinamico label[for="name"]::before{content:"";width:15px;height:15px;flex:none;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23E0362C%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%273.5%27%2F%3E%3Cpath%20d%3D%27M5%2020a7%207%200%200%201%2014%200%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}
#form-dinamico label[for="phone"]::before{content:"";width:15px;height:15px;flex:none;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23E0362C%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202a2%202%200%200%200-2%202c0%208%208%2016%2016%2016a2%202%200%200%200%202-2v-3l-4-1-2%202a12%2012%200%200%201-5-5l2-2-1-4z%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}
#form-dinamico label[for="comuna"]::before{content:"";width:15px;height:15px;flex:none;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23E0362C%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%202a7%207%200%200%200-7%207c0%205%207%2012%207%2012s7-7%207-12a7%207%200%200%200-7-7z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%279%27%20r%3D%272.4%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}
#form-dinamico label[for="contrato"]::before{content:"";width:15px;height:15px;flex:none;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23E0362C%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h8l4%204v16H6z%27%2F%3E%3Cpath%20d%3D%27M14%202v4h4%27%2F%3E%3Cpath%20d%3D%27M8%2012h8M8%2016h8%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}
#form-dinamico label[for="start"]::before{content:"";width:15px;height:15px;flex:none;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23E0362C%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275%27%20width%3D%2718%27%20height%3D%2716%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M3%209h18M8%203v4M16%203v4%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}
#form-dinamico label[for="end"]::before{content:"";width:15px;height:15px;flex:none;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23E0362C%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275%27%20width%3D%2718%27%20height%3D%2716%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M3%209h18M8%203v4M16%203v4%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}
#form-dinamico label[for="salary"]::before{content:"";width:15px;height:15px;flex:none;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23E0362C%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cellipse%20cx%3D%2712%27%20cy%3D%276%27%20rx%3D%277%27%20ry%3D%273%27%2F%3E%3Cpath%20d%3D%27M5%206v6c0%201.7%203%203%207%203s7-1.3%207-3V6M5%2012v6c0%201.7%203%203%207%203s7-1.3%207-3v-6%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}
#form-dinamico label[for="cotizaciones"]::before{content:"";width:15px;height:15px;flex:none;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23E0362C%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%202l8%203v6c0%205-3.5%209-8%2011-4.5-2-8-6-8-11V5z%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}
#form-dinamico label[for="estadoContrato"]::before{content:"";width:15px;height:15px;flex:none;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23E0362C%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%2710%27%2F%3E%3Cpath%20d%3D%27M9.3%209a2.6%202.6%200%200%201%203.7%202c0%201.6-2%202-2%203.5%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2717%27%20r%3D%27.6%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}
#form-dinamico label[for="finiquito"]::before{content:"";width:15px;height:15px;flex:none;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23E0362C%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%202h8l4%204v16H6z%27%2F%3E%3Cpath%20d%3D%27M9%2014l2%202%204-4%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}
#form-dinamico label[for="causal"]::before{content:"";width:15px;height:15px;flex:none;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23E0362C%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%2710%27%2F%3E%3Cpath%20d%3D%27M12%208h.01M11%2012h1v5%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}

#form-dinamico input,#form-dinamico select{width:100%;font:inherit;font-size:14px;padding:14px 13px;border:1px solid #DAD4C8;border-radius:11px;background:#F4F0E8;color:#1B2430}
#form-dinamico input::placeholder{color:#9A958B}
#form-dinamico input:focus,#form-dinamico select:focus{outline:none;border-color:#1B2430}
#form-dinamico select{-webkit-appearance:none;appearance:none;color:#6b6b6b;background-image:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2712%27%20height%3D%278%27%20viewBox%3D%270%200%2012%208%27%3E%3Cpath%20d%3D%27M1%201l5%205%205-5%27%20fill%3D%27none%27%20stroke%3D%27%23888%27%20stroke-width%3D%272%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
#form-dinamico input#phone{background-image:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2722%27%20height%3D%2715%27%20viewBox%3D%270%200%2030%2020%27%3E%3Crect%20width%3D%2730%27%20height%3D%2720%27%20fill%3D%27%23fff%27%2F%3E%3Crect%20y%3D%2710%27%20width%3D%2730%27%20height%3D%2710%27%20fill%3D%27%23D52B1E%27%2F%3E%3Crect%20width%3D%2710%27%20height%3D%2710%27%20fill%3D%27%230039A6%27%2F%3E%3Cpath%20d%3D%27M5%202.2l.86%202.64h2.78L6.4%206.47l.86%202.63L5%207.47%202.74%209.1l.86-2.63L1.36%204.84h2.78z%27%20fill%3D%27%23fff%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:left 12px center;padding-left:44px}
#form-dinamico input[type="date"]{background:#F4F0E8;color:#1B2430;-webkit-appearance:auto;appearance:auto}
#form-dinamico .select-box{position:relative}
#form-dinamico .select-option input{background-image:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2712%27%20height%3D%278%27%20viewBox%3D%270%200%2012%208%27%3E%3Cpath%20d%3D%27M1%201l5%205%205-5%27%20fill%3D%27none%27%20stroke%3D%27%23888%27%20stroke-width%3D%272%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
#form-dinamico .content{display:none;position:absolute;top:100%;left:0;right:0;z-index:20;background:#fff;border:1px solid #E2E2E2;border-radius:12px;margin-top:5px;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.16)}
#form-dinamico .select-box.active .content{display:block}
#form-dinamico .search{display:none}
#form-dinamico .options{list-style:none;margin:0;padding:6px;max-height:210px;overflow:auto}
#form-dinamico .options li{padding:11px 12px;border-radius:8px;cursor:pointer;font-size:14px;color:#1B2430}
#form-dinamico .options li:hover{background:#F4F0E8}
#form-dinamico .d-none{display:none !important}
#form-dinamico #checkboxes{border:1px solid #DAD4C8;border-radius:11px;padding:10px;max-height:180px;overflow:auto;background:#FBFAF7;margin-top:4px}
#form-dinamico #checkboxes .label-checkboxes{display:block;font-weight:400;color:#333;padding:5px 0;font-size:13.5px}

#form .submit{margin-top:14px;width:100%;padding:16px;border:none;border-radius:12px;background:#22C55E;color:#fff;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer}
#form .legal{font-size:11px;color:#8A857A;text-align:center;margin-top:16px}

/* mobile: #form-dinamico pasa a 1 columna */
@media(max-width:640px){
  #form-dinamico .form-sector{grid-template-columns:1fr}
}

/* ============================================================
   FORMULARIO — DESKTOP (>=1024px)
   ============================================================ */
@media (min-width:1024px){
  :root{--edge:max(28px,calc((100vw - 1180px)/2))}

  .formsec{padding:88px var(--edge);text-align:center}
  .formsec .eyebrow{justify-content:center}
  .formsec .formcard{max-width:680px;margin-left:auto;margin-right:auto;text-align:left}
  .formsec .formcard .sub{text-align:center}
}