/* Visual recuperado de links-aca-en(1).zip: crema, verde, naranja, League Spartan + Nunito */
:root{--cream:#FDF1DC;--green:#025246;--orange:#F27620;--ink:#174C42;--muted:#61786F;--line:#E5CFAC;--paper:#FFF9EF;--soft:#EAF1E9;--nunito:'Nunito',ui-rounded,system-ui,sans-serif;--spartan:'League Spartan',ui-rounded,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);min-height:100dvh;font-family:var(--nunito);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,textarea{font:inherit}input,textarea{color:var(--ink)}a{color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:3px}svg{display:block}.ambient{position:fixed;z-index:-1;pointer-events:none;width:700px;height:700px;opacity:.32;border-radius:50%}.ambient--left{left:-500px;top:-430px;background:radial-gradient(circle,#F4CA9B 0,transparent 69%)}.ambient--right{right:-500px;bottom:-490px;background:radial-gradient(circle,#E4D9AE 0,transparent 69%)}
.page-shell{max-width:810px;padding:0 34px;margin:auto}.brand-header{display:flex;align-items:center;justify-content:space-between;min-height:130px;gap:20px}.logo{width:114px;height:114px;object-fit:contain}.header-tag{display:flex;align-items:center;gap:10px;border:1px solid #E5D4B7;background:rgba(255,255,255,.25);padding:9px 12px;border-radius:100px;font-size:10px;letter-spacing:1px;font-weight:900;color:#537465;white-space:nowrap}.status-dot{width:7px;height:7px;background:var(--orange);border-radius:50%;box-shadow:0 0 0 4px rgba(242,118,32,.1)}
.intro{padding:17px 0 32px}.eyebrow{display:flex;align-items:center;gap:11px;font-size:10px;color:#638375;letter-spacing:2.25px;font-weight:900;margin:0 0 17px}.eyebrow-line{width:25px;height:2px;background:var(--orange)}.intro h1,.success h1{font-family:var(--spartan);font-size:clamp(51px,9vw,76px);line-height:.94;letter-spacing:-3.5px;color:var(--green);font-weight:800;margin:0 0 18px}.intro h1 em{font-style:normal;color:var(--orange)}.sparkle{position:relative;display:inline-block;font-size:38px;color:var(--orange);vertical-align:top;margin-left:7px;transform:rotate(14deg)}.intro>p:not(.eyebrow){max-width:605px;color:#50766A;font-weight:700;line-height:1.7;font-size:15px;margin:0 0 21px}.intro-pills{display:flex;flex-wrap:wrap;gap:8px}.intro-pills span{display:inline-flex;border:1px solid #E2CEAD;border-radius:100px;padding:6px 11px;background:#FFF9EF99;color:#658075;font-size:11px;font-weight:900}
.section-heading{display:flex;align-items:center;gap:12px;color:#637D71;font-size:10px;font-weight:900;letter-spacing:1.8px;margin:6px 0 13px}.section-line{height:1px;background:#D8CDBA;flex:1}
form{display:grid;gap:17px}.form-section{padding:26px 31px 28px;background:var(--paper);border:1px solid #E7D6BA;border-radius:22px;box-shadow:0 4px 12px rgba(66,82,49,.025)}.form-section-title{display:flex;align-items:center;gap:13px;margin-bottom:24px}.section-number{display:grid;place-items:center;flex:none;border-radius:14px;width:47px;height:47px;background:#E4F0E7;color:var(--green);font-family:var(--spartan);font-size:24px;font-weight:800}.form-section-title .eyebrow{margin:0 0 2px;font-size:9px;letter-spacing:1.8px}.form-section-title h2{font-family:var(--spartan);font-size:29px;letter-spacing:-1px;color:var(--green);margin:0;line-height:1.05}.field-group{min-width:0;border:0;margin:0 0 22px;padding:0}.field-group legend,.field label:not(.choice){font-size:13px;font-weight:900;color:#31594c;margin:0 0 10px;display:block}.field{margin-bottom:21px}.field:last-child{margin-bottom:0}.required{color:var(--orange)}.optional{color:#8b9a8e;font-size:11px;font-weight:700;margin-left:6px}.field input,.field textarea{display:block;width:100%;background:#FFFFFF;border:1px solid #D8DCCF;border-radius:12px;padding:13px 14px;min-height:49px;font-size:14px;font-weight:700;line-height:1.5;transition:border-color .16s,box-shadow .16s}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:#18806C;box-shadow:0 0 0 3px rgba(2,82,70,.1)}.field input::placeholder,.field textarea::placeholder{color:#9AA9A0;font-weight:600}.hint{font-size:11px;font-weight:700;line-height:1.5;color:#8B998D;display:block;margin-top:7px}.field-error{color:#B72C24;font-weight:800;font-size:12px;margin:8px 0 0}.form-alert{padding:15px 18px;border:1px solid #eab6a5;border-radius:12px;background:#fff2ec;font-size:13px;font-weight:800;color:#aa3828}
.type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:7px}.choice{cursor:pointer;position:relative;display:block}.choice input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}.choice-content{display:flex;min-height:114px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:15px;border-radius:15px;border:1px solid #DEE3D8;background:#FFFFFF;transition:border-color .15s,background .15s}.choice-icon{color:var(--orange);display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#FFF0E4;font-size:20px;line-height:1;margin-bottom:3px}.choice strong{font:800 17px/1.1 var(--spartan);letter-spacing:-.35px;color:var(--green)}.choice small{font-size:11px;color:#819086;font-weight:800}.choice input:checked + .choice-content{background:#E8F4EE;border:2px solid #167961;padding:14px}.choice input:focus-visible + .choice-content{outline:3px solid var(--orange);outline-offset:3px}
.inline-options{display:grid;gap:11px}.option{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;color:#476c5f;cursor:pointer}.option input{accent-color:#007563;width:18px;height:18px;flex:none}.check-label{display:flex;align-items:flex-start;gap:11px;line-height:1.6;font-size:13px;color:#476c5f;font-weight:700;margin:0 0 21px;cursor:pointer}.check-label strong{font-weight:900;color:var(--green)}.check-label input{width:19px;height:19px;accent-color:#007563;flex:none;margin:1px 0 0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.final-section{background:#EAF1E9;border-color:#C4DDC8}.final-section .check-label{margin-bottom:14px}.primary-btn{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;background:#08765D;color:white;min-height:60px;border:0;border-radius:14px;padding:15px 22px;font:800 18px/1.2 var(--spartan);text-decoration:none;cursor:pointer;transition:background .15s,transform .15s}.primary-btn:hover{background:#025246;transform:translateY(-1px)}.primary-btn span{font-size:25px}.submit-note{margin:11px 2px 0;font-size:11px;color:#668477;font-weight:700;line-height:1.6}.honey{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.footer{padding:38px 0 23px}.footer>p{color:#627569;font-size:11px;font-weight:800;line-height:1.7;letter-spacing:.3px;margin:0 0 23px}.footer>p strong{color:var(--green);font-weight:900}.footer-rule{height:1px;background:#DCCBAF}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:19px;color:#819083;font-size:10px;font-weight:900;letter-spacing:1.2px}.heart,.orange{color:var(--orange)}
.success{padding:45px 31px;margin:40px 0 70px;background:#FFF9EF;border:1px solid #E5CFAC;border-radius:24px}.success-icon{background:#E4F0E7;color:#08765D;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:30px;font-weight:900;margin-bottom:24px}.success h1{font-size:clamp(49px,8vw,66px)}.success>p:not(.eyebrow){max-width:530px;color:#50766A;line-height:1.8;font-size:15px;font-weight:700;margin:0 0 28px}.success>p strong{color:var(--green)}.secondary-link{display:block;text-align:center;margin-top:23px;font-weight:800;font-size:13px;color:#708a7c}
@media(max-width:660px){.page-shell{padding:0 19px}.brand-header{min-height:117px}.logo{width:105px;height:105px}.header-tag{font-size:9px;letter-spacing:.7px;padding:7px 9px}.intro{padding:7px 0 28px}.intro h1{font-size:clamp(47px,12vw,62px);letter-spacing:-2.9px}.intro>p:not(.eyebrow){font-size:14px}.form-section{padding:21px 19px 23px;border-radius:19px}.form-section-title{margin-bottom:23px}.form-section-title h2{font-size:27px}.type-grid{gap:9px}.choice-content{padding:12px;min-height:111px}.choice input:checked + .choice-content{padding:11px}.choice strong{font-size:16px}.field-row{grid-template-columns:1fr;gap:0}.success{padding:30px 22px}.footer{padding-top:30px}}
@media(max-width:360px){.page-shell{padding:0 13px}.header-tag{font-size:8px}.form-section{padding:21px 14px}.choice strong{font-size:15px}.choice small{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V2 · controles táctiles, validación en vivo y mapa OpenStreetMap */
button,input,textarea,select { font:inherit; }
[hidden] { display:none!important; }
.field select { width:100%;border:1px solid #D8DCCF;border-radius:12px;background:#fff;min-height:54px;padding:13px 44px 13px 14px;color:var(--green);font-size:15px;font-weight:800;appearance:none;-webkit-appearance:none;cursor:pointer; }
.field select:invalid { color:#83968A; }
.select-wrap { position:relative; }
.select-wrap:after { content:'';position:absolute;right:19px;top:calc(50% - 5px);width:9px;height:9px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg);pointer-events:none; }
.field select:focus-visible { outline:3px solid var(--orange);outline-offset:2px; }
.field input,.field textarea,.field select { font-size:16px; }
.field select:focus,.field input:focus,.field textarea:focus { border-color:#0b7660;box-shadow:0 0 0 3px rgba(2,82,70,.1); }
.field [aria-invalid="true"]:not([type="checkbox"]):not([type="radio"]) { border-color:#C34E39;background:#FFF9F6; }
.field-meta { display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:11px;font-weight:800;line-height:1.45;color:#73877B;margin-top:7px; }
.field-meta>span:first-child { flex:1; }
.char-count { white-space:nowrap;color:#9C7654;font-variant-numeric:tabular-nums; }
.char-count.met { color:#08765D; }
.field-error:empty { display:none; }
.field-error:not(:empty) { display:block; }
.group-divider { display:flex;align-items:center;gap:13px;margin:26px 0 7px;color:var(--green);font:800 12px/1.2 var(--spartan);letter-spacing:1.1px; }
.group-divider::after { content:'';flex:1;height:1px;background:#D9E6D8; }
.group-help { color:#738579;font-size:13px;line-height:1.65;font-weight:700;margin:0 0 21px; }
.group-help--personal { margin-top:-8px; }
.phone-input { display:flex;width:100%;border:1px solid #D8DCCF;border-radius:12px;background:#fff;min-height:52px;overflow:hidden;transition:box-shadow .15s,border-color .15s; }
.phone-input:focus-within { border-color:#0b7660;box-shadow:0 0 0 3px rgba(2,82,70,.1); }
.phone-prefix { flex:none;display:flex;align-items:center;justify-content:center;min-width:72px;padding:0 14px;background:#E8F2EC;color:var(--green);border-right:1px solid #CEDFD2;font:800 17px/1 var(--spartan); }
.field .phone-input input { border:0;border-radius:0;min-width:0;min-height:50px;box-shadow:none!important;background:transparent;flex:1;padding-left:14px; }
.phone-input:has(input[aria-invalid="true"]) { border-color:#C34E39;background:#FFF9F6; }
.phone-input:has(input[aria-invalid="true"]) input { background:transparent; }
.map-block { margin-top:12px;padding:19px 16px 17px;border-radius:17px;background:#EDF5ED;border:1px solid #C6DCCC; }
.map-title { display:flex;align-items:flex-start;justify-content:space-between;gap:13px; }
.map-kicker { display:block;margin:0 0 3px;color:#54826C;font-size:10px;font-weight:900;letter-spacing:1.6px; }
.map-title h3 { font:800 23px/1.04 var(--spartan);margin:0;color:var(--green);letter-spacing:-.6px; }
.map-icon { flex:none;display:grid;place-items:center;width:42px;height:42px;background:#D9EBD8;border-radius:12px;color:var(--orange);font-size:31px;font-weight:900; }
.map-instructions { font-size:13px;font-weight:700;line-height:1.6;color:#537363;margin:12px 0 14px; }
.map-instructions strong { color:var(--green); }
.map-search-row { display:flex;gap:8px;margin-bottom:11px; }
.map-search-row input { min-width:0;min-height:48px;flex:1;border:1px solid #C8D9CC;border-radius:11px;background:#fff;padding:10px 11px;font-size:15px;font-weight:700;color:var(--green); }
.map-search-row input:focus { outline:2px solid #16846B;outline-offset:1px; }
.map-small-btn { flex:none;border:0;background:var(--green);color:white;padding:0 14px;border-radius:11px;font-size:13px;font-weight:900;cursor:pointer; }
.map-small-btn:disabled { opacity:.55;cursor:wait; }
.map-frame { position:relative;width:100%;height:320px;overflow:hidden;isolation:isolate;border-radius:13px;background:repeating-linear-gradient(45deg,#DBE8D9 0px,#DBE8D9 20px,#EAF1E7 20px,#EAF1E7 40px);border:1px solid #BED5C5;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab; }
.map-frame:active { cursor:grabbing; }
.map-tile-layer { position:absolute;inset:0;pointer-events:none; }
.osm-tile { position:absolute;width:256px;height:256px;max-width:none;object-fit:cover;pointer-events:none; }
.map-crosshair { position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 3px 3px rgba(15,48,40,.3)); }
.map-pin { position:relative;background:var(--orange);border:3px solid #fff;border-radius:70% 70% 70% 0;width:35px;height:35px;transform:rotate(-45deg);box-shadow:0 2px 8px rgba(48,63,41,.24); }
.map-pin::after { content:'';width:11px;height:11px;background:#fff;border-radius:50%;position:absolute;left:9px;top:9px; }
.map-zoom { position:absolute;right:12px;top:13px;z-index:3;display:flex;flex-direction:column;gap:6px; }
.map-zoom button { display:grid;place-items:center;width:43px;height:43px;border-radius:11px;border:1px solid #BCD2C4;background:#fff;box-shadow:0 2px 8px #22533d23;color:var(--green);font-size:28px;font-family:Arial,sans-serif;cursor:pointer; }
.map-attribution { position:absolute;z-index:3;bottom:0;right:0;background:#ffffffd9;padding:4px 7px 3px;border-top-left-radius:6px;color:#25504A;font:700 10px/1.3 Arial,sans-serif; }
.map-attribution a { color:#16584E;text-decoration:underline; }
.map-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:12px; }
.map-actions button { flex:1;min-height:48px;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:900;cursor:pointer; }
.map-ghost-btn { border:1px solid #B8D4BF;color:var(--green);background:#fff; }
.map-confirm-btn { border:1px solid var(--green);color:white;background:var(--green); }
.map-feedback { font-weight:800;color:#5F7B6D;font-size:12px;line-height:1.5;margin:11px 0 0; }
.map-feedback.is-good { color:#08765D; }
.map-coordinates { display:flex;flex-wrap:wrap;align-items:center;gap:6px 13px;margin-top:8px;font-size:12px;color:#3B6756; }
.map-coordinates strong { font-variant-numeric:tabular-nums; }
.map-coordinates button { border:0;background:transparent;color:#A94B27;cursor:pointer;text-decoration:underline;font-weight:800;padding:5px 0; }
.map-note { font-size:11px;color:#72897A;font-weight:700;line-height:1.6;margin:11px 0 0; }
.map-note a { font-weight:900; }
@media(max-width:660px) {
  .field select { min-height:55px; }
  .map-block { padding:15px 12px; margin-left:-3px; margin-right:-3px; }
  .map-frame { height:290px; }
  .map-title h3 { font-size:22px; }
  .map-actions { flex-direction:column; }
  .map-actions button { width:100%;min-height:46px; }
  .map-search-row input { font-size:16px; }
  .field-meta { font-size:10.5px;gap:6px; }
}
@media(max-width:360px) {
  .map-search-row { gap:5px; }
  .map-small-btn { padding:0 10px; }
  .map-frame { height:260px; }
  .phone-prefix { min-width:58px;padding:0 10px; }
}
/* Evita desplazamiento horizontal por los halos decorativos y los mosaicos recortados. */
html,body { width:100%;overflow-x:clip; }
