/* Contacto — fiel a mockups/05-Contacto (1440 px). Prefijo .pg-contacto / .ct-* */
.pg-contacto{--ct-ink:#0B2318;--ct-green:#77A63A;--ct-sage:#ECF2E5;--ct-sage-2:#E9F2E1;--ct-line:#E3E8DC;--ct-gray:#4F5B54;--ct-bg:#F8F8F5;background:var(--ct-bg)}
.pg-contacto .accent{color:var(--ct-green)}
.pg-contacto .hero .accent{color:#C9DF5E}

/* ── 01 Hero ───────────────────────────────────────────────────── */
.ct-hero{min-height:745px;background:
  radial-gradient(60% 55% at 70% 92%,rgba(40,98,60,.55),transparent 70%),
  radial-gradient(40% 50% at 8% 20%,rgba(30,80,45,.35),transparent 70%),
  linear-gradient(180deg,#0A3022 0%,#03251A 45%,#06301F 100%)}
.ct-rings{stroke:rgba(198,227,90,.10);stroke-width:1.2}
.ct-rings--l{left:0;top:110px;width:330px;height:330px}
.ct-rings--r{right:0;top:80px;width:520px;height:520px}
.ct-rings circle{transform-box:fill-box;transform-origin:center;animation:ct-ring 9s ease-in-out infinite}
.ct-rings circle:nth-child(2){animation-delay:-2s}.ct-rings circle:nth-child(3){animation-delay:-4s}.ct-rings circle:nth-child(4){animation-delay:-6s}.ct-rings circle:nth-child(5){animation-delay:-7.5s}
@keyframes ct-ring{0%,100%{stroke-opacity:.5}50%{stroke-opacity:1.6}}
.ct-glow{position:absolute;left:58%;top:52%;width:620px;height:300px;translate:-10% 0;border-radius:50%;background:radial-gradient(closest-side,rgba(198,227,90,.16),transparent);pointer-events:none;animation:breathe 8s ease-in-out infinite}
.ct-hero-in{position:relative;z-index:2;max-width:calc(1152px + 2 * var(--gutter));margin:0 auto;padding:68px var(--gutter) 96px}
.ct-hero-txt{position:relative;z-index:2;max-width:640px}
.ct-kicker{font-size:12.5px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:#C9D6CE}
.ct-h1{margin-top:14px;font-size:clamp(42px,5.3vw,76px);line-height:.935;letter-spacing:-.045em;color:#fff}
.ct-h1 .accent{display:block;white-space:nowrap}
.ct-nw{white-space:nowrap}
.ct-dot{margin-left:-.1em}
.ct-hero-lead{margin-top:22px;max-width:490px;font-size:clamp(17px,1.35vw,19.5px);line-height:1.38;color:#E2EAE4;letter-spacing:.01em}
.ct-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.ct-ctas .btn{min-height:54px;border-radius:5px;font-size:14px;letter-spacing:.1em}
.ct-ctas .btn-lime{padding:0 26px 0 27px;gap:20px}
.ct-ctas .btn-ghost{padding:0 24px 0 22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.ct-resp{display:flex;gap:18px;align-items:flex-start;margin-top:26px;font-size:14px;line-height:1.55;color:#E2EAE4}
.ct-resp svg{flex:none;margin-top:2px;color:#fff}
.ct-hero-art{position:absolute;z-index:1;top:22px;right:max(0px,calc(50% - 698px));width:min(672px,47vw)}
.ct-hero-art img{width:100%;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 52%,#000 74%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 52%,#000 74%,transparent 100%)}
.ct-motes{position:absolute;inset:0;pointer-events:none}
.ct-motes i{position:absolute;left:var(--x);top:var(--y);width:4px;height:4px;border-radius:50%;background:#EAF7B8;box-shadow:0 0 10px 2px rgba(198,227,90,.6);opacity:0;animation:mote var(--d) linear var(--dl) infinite;--dx:14px}
.ct-hero-wave{height:96px;bottom:-2px}
.ct-hero-wave .ct-wl{fill:none;stroke:#B9D35A;stroke-width:1.6;stroke-opacity:.85;vector-effect:non-scaling-stroke}

/* ── 02 Formulario ─────────────────────────────────────────────── */
.ct-form{position:relative;padding:52px 0 0;background:var(--ct-bg);overflow:hidden}
.ct-arcs{right:-40px;top:0;width:640px;height:640px;stroke:#C9DCA0;stroke-opacity:.55;stroke-width:1.4}
.ct-arcs circle{transform-box:view-box;transform-origin:370px 300px;animation:ct-spin 60s linear infinite}
.ct-arcs circle:nth-child(odd){stroke-dasharray:420 60;animation-duration:90s;animation-direction:reverse}
@keyframes ct-spin{to{rotate:360deg}}
.ct-leaves{top:342px;right:calc(50% - 620px);width:212px;z-index:1;transform-origin:45% 100%}
.ct-wrap{position:relative;z-index:2;max-width:calc(1344px + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.ct-intro{padding-left:38px}
.ct-logo{width:148px;height:auto}
.ct-eyebrow{margin-top:52px;font-size:15px;letter-spacing:.1em;color:#47544C;gap:18px}
.ct-eyebrow::before{width:30px;height:3px;border-radius:2px;background:#8AB041}
.ct-h2{margin-top:26px;font-size:clamp(38px,6vw,87px);line-height:1.02;letter-spacing:-.05em;color:#0B2318}
.ct-h2 .w{padding-bottom:.14em;margin-bottom:-.14em}
.ct-lead{margin-top:14px;font-size:clamp(17px,1.8vw,26px);line-height:1.35;color:#4A5650;letter-spacing:-.01em}
.ct-grid{display:grid;grid-template-columns:minmax(0,900fr) minmax(0,420fr);gap:24px;align-items:start;margin-top:52px}
.ct-card{position:relative;background:#fff;border:1px solid var(--ct-line);border-radius:14px;box-shadow:0 18px 40px -34px rgba(16,40,28,.35)}

/* Tarjeta del formulario */
.ct-formcard{padding:34px 38px 38px}
.ct-fhead h3{font-size:clamp(30px,3.75vw,54px);line-height:1.05;font-weight:800;letter-spacing:-.035em;color:var(--ct-ink)}
.ct-fhead p{margin-top:4px;font-size:clamp(15px,1.3vw,19px);color:#5A665F}
.ct-fs{margin:0;padding:0;border:0;min-width:0;border-top:1px solid var(--ct-line);margin-top:24px;padding-top:26px}
.ct-fs + .ct-fs{margin-top:36px}
.ct-fs legend{float:left;width:100%;padding:0;margin-bottom:16px;font-size:clamp(22px,2.1vw,30px);font-weight:800;letter-spacing:-.025em;color:var(--ct-ink);line-height:1.2}
.ct-fs legend + *{clear:both}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:28px 30px}
.ct-row--tight{gap:22px 28px}
.ct-f{display:flex;flex-direction:column;min-width:0}
.ct-f--full{grid-column:1/-1}
.ct-f label,.ct-lbl{margin-bottom:11px;font-size:clamp(16px,1.4vw,20px);font-weight:500;color:#16271D;line-height:1.3}
.pg-contacto .lne-field{min-height:58px;border-radius:7px;border-color:#D5DBD3;padding:12px 20px;color:var(--ct-ink)}
.pg-contacto .lne-field::placeholder{color:#7D8781}
.pg-contacto textarea.lne-field{min-height:126px;line-height:1.5}
.pg-contacto select.lne-field{appearance:none;-webkit-appearance:none;padding-right:48px;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2314281D' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 20px center}
.pg-contacto select.lne-field:has(option[value=""]:checked){color:#7D8781}
.pg-contacto select.lne-field option{color:var(--ct-ink)}
.ct-extra{margin-top:30px;border:1px solid var(--ct-line);border-radius:10px;background:#fff;overflow:hidden}
.ct-extra.acc-item:has(.acc-btn[aria-expanded="true"]){box-shadow:none}
.ct-extra-h{margin:0}
.ct-extra-h .acc-btn{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:74px;padding:14px 24px 14px 22px;border:0;background:#F6F8F3;text-align:left;font-size:clamp(19px,2vw,28px);font-weight:800;letter-spacing:-.025em;color:var(--ct-ink)}
.ct-extra-h .acc-sign{width:32px;height:32px;font-size:30px;font-weight:400;line-height:1;color:var(--ct-ink)}
.ct-extra-h .acc-btn[aria-expanded="true"] .acc-sign{transform:none}
#f-extra{padding:20px 22px 24px}
.ct-row--tight .lne-field{min-height:55px}
.ct-adj{margin-top:22px}
.ct-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
.ct-adj:has(.ct-file:focus-visible) .drop{outline:3px solid var(--lime-strong);outline-offset:2px}
.drop{display:flex;align-items:center;gap:40px;min-height:120px;padding:20px 40px;border:2px dashed #CFD6C9;border-radius:9px;background:#FBFBF9;color:#1E4D2F;cursor:pointer}
.drop:hover{border-color:#9CB86A;background:#F6F9F0}
.drop svg{flex:none}
.drop-txt{display:flex;flex-direction:column;gap:6px;min-width:0}
.drop-name{font-size:clamp(15px,1.25vw,17.5px);color:#16271D;overflow-wrap:anywhere}
.drop-name strong{font-weight:600}
.drop-hint{font-size:clamp(14px,1.15vw,16px);color:#6A756E}
.ct-info{display:flex;gap:12px;align-items:center;margin-top:16px;font-size:clamp(14px,1.2vw,16.5px);color:#6A756E;line-height:1.4}
.ct-info svg{flex:none;margin-left:4px;color:#5A665F}
.ct-consent{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;margin-top:30px;align-items:start}
.ct-consent input{appearance:none;-webkit-appearance:none;width:30px;height:30px;margin:0;border:1.5px solid #CBD2C7;border-radius:5px;background:#fff;cursor:pointer;display:grid;place-items:center;transition:background-color .15s,border-color .15s}
.ct-consent input::after{content:"";width:8px;height:15px;margin-top:-3px;border:solid #fff;border-width:0 3px 3px 0;rotate:45deg;scale:0;transition:scale .15s}
.ct-consent input:checked{background:#1E4D2F;border-color:#1E4D2F}
.ct-consent input:checked::after{scale:1}
.ct-consent input[aria-invalid="true"]{border-color:#B3261E;box-shadow:0 0 0 3px rgba(179,38,30,.14)}
.ct-consent-t{display:flex;flex-direction:column;gap:4px;padding-top:2px}
.ct-consent-t label{font-size:clamp(16px,1.4vw,20px);color:#2A3A30;line-height:1.35;cursor:pointer}
.ct-consent-t a{align-self:flex-start;font-size:clamp(15px,1.25vw,18px);color:#1E4D2F;text-underline-offset:3px}
.ct-consent .f-err{grid-column:2;margin-top:2px}
.ct-send{width:100%;min-height:71px;margin-top:22px;border-radius:6px;background:#AFCA52;font-size:clamp(18px,1.7vw,24px);letter-spacing:-.01em;text-transform:none;gap:22px}
.ct-send:hover{background:#BCD65E}
.ct-send svg{width:24px;height:24px}

/* Estado enviado */
#f-ok{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;padding:40px 8px 24px}
.ct-ok-ic{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:var(--ct-sage);color:#1E4D2F;box-shadow:0 0 0 10px rgba(236,242,229,.5)}
#f-ok h3{font-size:clamp(26px,2.6vw,38px);line-height:1.1;font-weight:800;letter-spacing:-.03em;color:var(--ct-ink)}
#f-ok p{max-width:560px;font-size:17px;color:#4A5650}
#f-ok .ok-acts{margin-top:8px}
#f-ok .ok-acts .btn{border-radius:6px}
#f-again{align-self:center;margin-top:6px;border:0;border-bottom:2px solid var(--olive-line);background:none;cursor:pointer;min-height:44px}

/* Columna lateral */
.ct-aside{display:flex;flex-direction:column;gap:24px}
.ct-ic{flex:none;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:#ECF2E4;color:#14281D}
.ct-wa{overflow:hidden;padding:36px 38px 40px;background:#062C21;border-color:#062C21;color:#fff}
.ct-wa-arcs{top:0;right:0;width:200px;height:200px;stroke:rgba(198,227,90,.16);stroke-width:1.3}
.ct-wa-arcs circle{transform-box:fill-box;transform-origin:center;animation:ct-ring 6s ease-in-out infinite}
.ct-wa-arcs circle:nth-child(2){animation-delay:-1.5s}.ct-wa-arcs circle:nth-child(3){animation-delay:-3s}.ct-wa-arcs circle:nth-child(4){animation-delay:-4.5s}
.ct-ic--wa{position:relative;width:92px;height:92px;background:#0A4F29;color:#fff}
.ct-ic--wa::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(198,227,90,.55);animation:fab-ping 2.8s ease-out 1s infinite}
.ct-wa h3{margin-top:26px;font-size:clamp(21px,1.85vw,26px);font-weight:600;letter-spacing:-.01em;color:#fff}
.ct-wa-num{margin-top:6px;font-size:clamp(28px,2.6vw,36px);font-weight:800;letter-spacing:-.01em;line-height:1.2;white-space:nowrap}
.ct-wa-btn{margin-top:22px;min-height:58px;width:100%;max-width:292px;border-radius:6px;background:#ADC653;font-size:18px;text-transform:none;letter-spacing:0;gap:22px}
.ct-side{padding:30px 38px 32px}
.ct-side h3{margin-top:20px;font-size:clamp(20px,1.8vw,24px);font-weight:700;letter-spacing:-.015em;color:#0F241A}
.ct-mail{display:inline-block;margin-top:10px;font-size:clamp(18px,1.75vw,23px);font-weight:700;color:#0F241A;text-decoration:none;letter-spacing:-.01em;overflow-wrap:anywhere;background:linear-gradient(var(--olive-line),var(--olive-line)) 0 100%/0 2px no-repeat;transition:background-size .35s var(--ease-out)}
.ct-mail:hover{background-size:100% 2px;color:#0F241A}
.ct-side > p{margin-top:12px;font-size:clamp(16px,1.4vw,19px);line-height:1.55;color:#5A665F}
.ct-hours{margin-top:14px;border-top:1px solid var(--ct-line);font-size:clamp(16px,1.35vw,18.5px);color:#2A3A30}
.ct-hours div{padding:12px 0 2px}
.ct-hours dt,.ct-hours dd{display:inline}
.ct-hours div:last-child{margin-top:10px;border-top:1px solid var(--ct-line);color:#4A5650}
.ct-hours dt,.ct-hours dd{margin:0}
.ct-hours dd::before{content:" "}
.ct-hours dd{color:#4A5650;white-space:nowrap}
.ct-hours div:last-child dd{white-space:normal}
.ct-lima{background:var(--ct-sage-2);border-color:var(--ct-sage-2);overflow:hidden}
.ct-lima .ct-ic{background:#DCE7D2}
.ct-lima > p{color:#3E4B43}
.ct-peru{position:absolute;right:40px;top:36px;width:112px;height:auto;pointer-events:none;-webkit-mask:linear-gradient(110deg,#000 40%,transparent 60%) 0 0/300% 100%;mask:linear-gradient(110deg,#000 40%,transparent 60%) 0 0/300% 100%;transition:mask-position 2.2s var(--ease-out) .5s,-webkit-mask-position 2.2s var(--ease-out) .5s;-webkit-mask-position:100% 0;mask-position:100% 0}
.ct-lima.in .ct-peru{-webkit-mask-position:0 0;mask-position:0 0}
.ct-lima .ct-ic svg{animation:ct-bob 2.6s ease-in-out infinite}
@keyframes ct-bob{0%,100%{translate:0 0}50%{translate:0 -4px}}
.ct-quote{display:flex;align-items:center;gap:0;padding:28px 30px}
.ct-quote .ct-ic{width:88px;height:88px}
.ct-quote p{margin:0 0 0 26px;padding-left:28px;border-left:2px solid #DDE3D6;font-size:clamp(15px,1.25vw,17.5px);line-height:1.6;color:#4A5650}

/* Banda ondulada oscura */
.ct-band{display:block;width:100%;height:130px;margin-top:-26px;position:relative;z-index:1}
.ct-band-fill{fill:#0F352A}
.ct-band-line{fill:none;stroke:#B9D35A;stroke-width:2.2;vector-effect:non-scaling-stroke}
.ct-band-spark{fill:none;stroke:#EAF7B0;stroke-width:4;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:.06 .94;filter:drop-shadow(0 0 4px rgba(198,227,90,.9));animation:ct-spark 7s linear infinite}
@keyframes ct-spark{from{stroke-dashoffset:1}to{stroke-dashoffset:-.06}}
.ct-form .ct-wrap{padding-bottom:0}
.ct-form .ct-grid{margin-bottom:0}

/* ── 03 Preguntas frecuentes ───────────────────────────────────── */
.ct-faq{position:relative;overflow:hidden;padding:72px 0 80px;background:#F9FAF5}
.ct-topo{right:0;top:0;width:400px;height:300px;stroke:#CBD5C4;stroke-opacity:.7;stroke-width:1}
.ct-faq-wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,480fr) minmax(0,762fr);gap:48px;max-width:calc(1290px + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.ct-faq-l{position:relative;padding-top:6px}
.ct-faq-eye{font-size:12px;letter-spacing:.24em;color:#4A5650;gap:16px}
.ct-faq-eye::before{width:34px;height:2px;background:#9DBF5A}
.ct-faq-h2{margin-top:30px;font-size:clamp(36px,4.6vw,66px);line-height:.99;letter-spacing:-.055em;color:#0B1A12;text-wrap:wrap;max-width:500px}
.ct-faq-lead{margin-top:28px;max-width:400px;font-size:clamp(17px,1.5vw,21px);line-height:1.45;color:#4A5650}
.ct-faq-btn{margin-top:32px;min-height:54px;padding:0 32px;border-radius:5px;background:#1B4328;font-size:14px;letter-spacing:.14em;gap:18px}
.ct-faq-art{position:relative;margin:20px 0 -40px -50px;width:min(690px,calc(100% + 120px))}
.ct-faq-art img{width:100%;-webkit-mask-image:radial-gradient(ellipse 52% 50% at 50% 50%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 52% 50% at 50% 50%,#000 70%,transparent 100%)}
.ct-acc{display:flex;flex-direction:column;gap:16px}
.ct-q{border:1px solid var(--ct-line);border-radius:12px;background:#fff}
.ct-q:has(.acc-btn[aria-expanded="true"]){border-color:#DCE5D2;box-shadow:none}
.ct-q h3{margin:0}
.ct-q .acc-btn{display:flex;align-items:center;gap:30px;width:100%;min-height:94px;padding:18px 34px 18px 30px;border:0;background:none;text-align:left;color:#0F241A}
.ct-q-ic{flex:none;color:#1E4D2F;transition:transform .5s var(--ease-spring)}
.ct-q .acc-btn:hover .ct-q-ic{transform:rotate(-8deg) scale(1.08)}
.ct-q .ct-sun{stroke:#8AB041}
.ct-q-t{flex:1;font-size:clamp(17px,1.6vw,23px);font-weight:700;letter-spacing:-.02em;line-height:1.3}
.ct-q .acc-sign{flex:none;width:34px;height:34px;font-size:30px;font-weight:300;line-height:1;color:#14281D}
.ct-q .acc-btn[aria-expanded="true"] .acc-sign{transform:none}
.ct-q [role="region"]{margin:0 34px 0 34px;padding:28px 0 36px;border-top:1px solid #D3DCC9}
.ct-q [role="region"] p{font-size:clamp(16px,1.35vw,18.5px);line-height:1.6;color:#3E4B43}
.ct-faq-note{display:flex;align-items:center;min-height:70px;margin-top:20px;padding:12px 30px;border-radius:10px;background:var(--ct-sage-2);font-size:clamp(14px,1.2vw,16.5px);color:#3E4B43}
.ct-faq-note svg{flex:none;color:#3E7A2C}
.ct-faq-note span{margin-left:22px;padding-left:34px;border-left:1.5px solid #B9C7AC;line-height:1.5}

/* ── Responsive ────────────────────────────────────────────────── */
@media (min-width:1101px){.pg-contacto .lne-field{font-size:19.5px}}
/* ── Libro de Reclamaciones: tarjeta de acceso (columna de contacto) y formulario desplegable ── */
.ct-lrc{overflow:hidden}
.ct-lrc::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(closest-side,rgba(198,227,90,.22),transparent);pointer-events:none}
.ct-ic--lr{color:#2F6B2A}
.ct-lrc-btn{position:relative;z-index:1;display:inline-flex;text-decoration:none;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:300px;min-height:54px;margin-top:20px;padding:0 6px 0 20px;border:1.5px solid #1E4D2F;border-radius:6px;background:#fff;font:inherit;font-size:16.5px;font-weight:700;color:#0F241A;cursor:pointer;transition:background-color .25s,color .25s,box-shadow .3s,transform .35s var(--ease-out)}
.ct-lrc-btn:hover{background:#1E4D2F;color:#fff !important;transform:translateY(-2px);box-shadow:0 14px 26px -16px rgba(16,40,28,.6)}
.ct-lrc-btn:focus-visible{outline:3px solid var(--lime-strong);outline-offset:3px}
.ct-lrc-orb{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:5px;background:#E3EDCF;color:#1E4D2F;transition:transform .35s var(--ease-out)}
.ct-lrc-orb svg{width:18px;height:18px}
.ct-lrc-btn:hover .ct-lrc-orb{transform:translateX(2px)}

.ct-lr{margin-top:24px;scroll-margin-top:96px}
.ct-lr-card{overflow:hidden}
.lr-head{position:relative;padding:26px 38px 22px;background:linear-gradient(100deg,#E6EFD7 0,#EEF4E4 55%,#F6F9F0 100%);border-bottom:1px solid var(--ct-line)}
.lr-eb{display:flex;align-items:center;gap:14px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4E6B2E}
.lr-eb::before{content:"";width:28px;height:2px;border-radius:2px;background:#8AB041}
.lr-title{display:flex;align-items:center;gap:20px;margin-top:12px}
.lr-book{flex:none;display:grid;place-items:center;width:70px;height:70px;border-radius:16px;background:#fff;color:#2F6B2A;box-shadow:0 10px 24px -16px rgba(16,40,28,.45)}
.lr-title h3{font-size:clamp(28px,3.2vw,44px);line-height:1.04;font-weight:800;letter-spacing:-.035em;color:var(--ct-ink);outline:none}
.lr-title p{margin-top:6px;font-size:clamp(15px,1.3vw,18px);color:#4A5650}
.lr-close{position:absolute;right:26px;top:26px;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:#1E4D2F;cursor:pointer;box-shadow:0 8px 18px -12px rgba(16,40,28,.5);transition:transform .3s var(--ease-out),background-color .2s}
.lr-close:hover{background:#F2F7EA;transform:translateY(-2px)}
.lr-close:focus-visible{outline:3px solid var(--lime-strong);outline-offset:3px}
.lr-body{padding:22px 38px 34px}
.lr-plazo{display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:8px;background:var(--ct-sage);font-size:clamp(15px,1.2vw,17px);font-weight:600;color:#1E3A28}
.lr-plazo svg{flex:none;color:#2F6B2A}
.lr-prov{margin-top:18px}
.lr-prov-n{font-size:clamp(18px,1.5vw,21px);font-weight:800;letter-spacing:-.01em;color:var(--ct-ink)}
.lr-prov-d{margin-top:2px;font-size:14.5px;color:#5A665F}
.lr-req{margin-top:4px;font-size:14px;color:#5A665F;text-align:right}
.lr-fs{margin:18px 0 0;padding:20px 0 0;border:0;border-top:1px solid var(--ct-line);min-width:0}
.lr-fs > legend{float:left;width:100%;padding:0;margin-bottom:14px;font-size:clamp(19px,1.6vw,23px);font-weight:800;letter-spacing:-.02em;color:var(--ct-ink)}
.lr-fs > legend + *{clear:both}
.lr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 24px}
.lr-grid + .lr-grid{margin-top:20px}
.lr-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lr-grid--svc{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.45fr)}
.lr-span2{grid-column:span 2}
.ct-lr .ct-f label,.ct-lr .ct-lbl{margin-bottom:8px;font-size:clamp(15px,1.2vw,17px)}
.pg-contacto .ct-lr .lne-field{min-height:52px;font-size:16.5px}
.pg-contacto .ct-lr textarea.lne-field{min-height:118px}
.lr-doc-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px}
.lr-tipo{margin:0;padding:0;border:0;min-width:0}
.lr-tipo > legend{padding:0;float:left;width:100%}
.lr-tipo > legend + *{clear:both}
.lr-tipo-in{display:flex;align-items:center;gap:18px;min-height:52px}
.lr-radios{display:flex;gap:18px}
.lr-radio{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:16.5px;font-weight:600;color:#1E2E24;cursor:pointer}
.lr-radio input{appearance:none;-webkit-appearance:none;flex:none;width:24px;height:24px;margin:0;border:2px solid #9AA79F;border-radius:50%;background:#fff;cursor:pointer;display:grid;place-items:center;transition:border-color .15s}
.lr-radio input::after{content:"";width:12px;height:12px;border-radius:50%;background:#2F6B2A;scale:0;transition:scale .18s var(--ease-spring)}
.lr-radio input:checked{border-color:#2F6B2A}
.lr-radio input:checked::after{scale:1}
.lr-radio input:focus-visible{outline:3px solid var(--lime-strong);outline-offset:2px}
.lr-tipo[aria-invalid="true"] .lr-radio input{border-color:#B3261E}
.lr-tipo-def{display:flex;flex-direction:column;gap:2px;padding-left:16px;border-left:1px solid var(--ct-line);font-size:13.5px;line-height:1.4;color:#5A665F}
.lr-tipo-def strong{font-weight:600;color:#33433A}
.lr-tipo .f-err{flex-basis:100%}
.lr-adj{margin-top:20px;max-width:560px}
.ct-lr .drop{gap:22px;min-height:96px;padding:16px 24px}
.lr-priv{margin-top:18px}
.lr-priv a{color:#1E4D2F;text-underline-offset:3px}
.lr-errs:empty{display:none}
.lr-errs{margin-top:14px;padding:10px 14px;border-radius:8px;background:#FBEDEC;font-size:15px;font-weight:600;color:#8F1D16}
.lr-send{min-height:62px;margin-top:18px;background:#9DBB3E}
.lr-send:hover{background:#AECB4E}
.lr-foot{margin-top:10px;text-align:center;font-size:14px;color:#5A665F}
#lr-ok{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:30px 8px 10px;outline:none;animation:hi-up .7s var(--ease-out) both}
#lr-ok h4{font-size:clamp(24px,2.3vw,32px);line-height:1.1;font-weight:800;letter-spacing:-.03em;color:var(--ct-ink)}
#lr-ok p{max-width:600px;font-size:17px;color:#4A5650}
#lr-ok .lr-ok-file{padding:8px 14px;border-radius:8px;background:var(--ct-sage);font-size:15px;color:#1E3A28}
#lr-ok .ok-acts .btn{border-radius:6px}
#lr-again{align-self:center;border:0;border-bottom:2px solid var(--olive-line);background:none;cursor:pointer;min-height:44px}
@media (max-width:1100px){
  .ct-aside .ct-lrc{grid-column:1/-1}
}
@media (max-width:960px){
  .lr-grid,.lr-grid--svc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lr-tipo{grid-column:1/-1}
}
@media (max-width:760px){
  .lr-head{padding:22px 20px 18px}
  .lr-title{gap:14px;padding-right:48px}
  .lr-book{width:54px;height:54px;border-radius:12px}
  .lr-book svg{width:34px;height:34px}
  .lr-close{right:14px;top:14px;width:44px;height:44px}
  .lr-body{padding:18px 20px 26px}
  .lr-grid,.lr-grid--2,.lr-grid--svc{grid-template-columns:1fr;gap:18px}
  .lr-span2{grid-column:auto}
  .lr-doc-in{grid-template-columns:1fr}
  .lr-tipo-in{flex-direction:column;align-items:flex-start;gap:8px}
  .lr-tipo-def{padding-left:0;border-left:0}
  .lr-req{text-align:left}
  .ct-lrc-btn{max-width:none}
}
@media (prefers-reduced-motion:reduce){#lr-ok{animation:none}}

@media (max-width:1240px){
  .ct-hero-txt{max-width:52%}
  .ct-hero-art{width:min(600px,45vw);top:60px}
  .ct-leaves{right:24px}
  .ct-wa,.ct-side{padding-left:28px;padding-right:28px}
  .ct-quote{padding:24px}
  .ct-quote p{margin-left:18px;padding-left:18px}
}
@media (max-width:1100px){
  .ct-grid{grid-template-columns:1fr}
  .ct-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .ct-wa{grid-column:1/-1}
  .ct-quote{grid-column:1/-1}
  .ct-peru{width:88px;right:24px;top:28px}
  .ct-faq-wrap{grid-template-columns:1fr}
  .ct-faq-l{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;align-items:start}
  .ct-faq-l > *:not(.ct-faq-art){grid-column:1}
  .ct-faq-art{grid-column:2;grid-row:1/span 4;margin:0;width:100%}
  .ct-faq-btn{justify-self:start}
}
@media (max-width:960px){
  .ct-hero{min-height:0}
  .ct-hero-in{padding:40px var(--gutter) 0}
  .ct-hero-txt{max-width:600px}
  .ct-hero-art{top:auto}
  .ct-hero-art{position:relative;top:auto;right:auto;width:min(560px,100%);margin:6px auto 0}
  .ct-rings--r{top:auto;bottom:40px;width:380px;height:380px}
  .ct-hero-wave{height:70px}
  .ct-leaves{top:190px;width:150px}
  .ct-arcs{width:440px;height:440px;right:-120px}
}
@media (max-width:760px){
  .ct-intro{padding-left:0}
  .ct-logo{width:118px}
  .ct-eyebrow{margin-top:34px}
  .ct-grid{margin-top:32px}
  .ct-formcard{padding:28px 20px 24px}
  .ct-row,.ct-row--tight{grid-template-columns:1fr;gap:20px}
  .ct-fs{margin-top:24px;padding-top:24px}
  .ct-fs + .ct-fs{margin-top:32px}
  .ct-extra-h .acc-btn{padding:12px 16px;min-height:64px}
  #f-extra{padding:20px 16px}
  .drop{gap:18px;padding:18px;min-height:110px}
  .drop svg{width:38px;height:38px}
  .ct-send{min-height:60px}
  .ct-aside{display:flex;gap:16px}
  .ct-wa,.ct-side{padding:26px 22px 28px}
  .ct-ic,.ct-quote .ct-ic{width:68px;height:68px}
  .ct-ic svg{width:26px;height:26px}
  .ct-ic--wa{width:72px;height:72px}
  .ct-ic--wa svg{width:36px;height:36px}
  .ct-wa h3,.ct-side h3{margin-top:18px}
  .ct-wa-btn{max-width:none}
  .ct-peru{width:84px;right:22px;top:26px}
  .ct-quote{padding:20px}
  .ct-band{height:70px;margin-top:-10px}
  .ct-leaves{top:44px;right:12px;width:96px}
  .ct-arcs{top:-60px}
  .pg-contacto .lne-field{padding-inline:14px}
  .pg-contacto select.lne-field{padding-right:40px;background-position:right 14px center}
  .ct-faq{padding:48px 0 56px}
  .ct-faq-l{display:block}
  .ct-faq-art{margin:20px auto -10px;width:min(100%,460px)}
  .ct-q .acc-btn{gap:16px;min-height:76px;padding:14px 16px}
  .ct-q-ic{width:34px;height:34px}
  .ct-q [role="region"]{margin:0 18px;padding:18px 0 24px}
  .ct-faq-note{padding:14px 18px}
  .ct-faq-note span{margin-left:14px;padding-left:16px}
  .ct-topo{width:240px;height:180px}
}
@media (max-width:480px){
  .ct-h1 .accent{white-space:normal}
  .ct-ctas .btn{width:100%}
  .ct-wa-num{font-size:27px}
  .ct-quote{flex-direction:column;align-items:flex-start;gap:16px}
  .ct-quote p{margin:0;padding:0;border:0}
  .ct-lima .ct-peru{opacity:.55}
  .ok-acts .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .ct-peru{-webkit-mask:none;mask:none}
  .ct-motes{display:none}
}
