.contact-main{padding-top:30px}.contact-main .seo-breadcrumb{margin-bottom:24px}.contact-living{position:relative;isolation:isolate;overflow:hidden;padding:38px clamp(22px,4vw,52px) 34px;border:1px solid var(--line);background:radial-gradient(ellipse at 10% 30%,#e5e8d0,transparent 70%),linear-gradient(120deg,#f3f1e8,#e9e5df)}.contact-living>.login-story-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;mask-image:linear-gradient(to bottom,#000 0,#000 var(--title-bottom,65%),#0003 calc(var(--title-bottom,65%) + 60px));-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 var(--title-bottom,65%),#0003 calc(var(--title-bottom,65%) + 60px))}.contact-living h1{font-size:clamp(50px,7.4vw,94px);line-height:1.08;letter-spacing:-.055em;margin:32px 0 26px;font-weight:550}.contact-living h1>span,.contact-living h1>em{display:block}.contact-living h1 em{font-family:var(--serif);font-weight:400;color:var(--wine)}.contact-living>p{max-width:560px;font-size:19px;line-height:1.7;margin:0}.contact-living-foot{display:flex;justify-content:space-between;gap:16px;margin-top:32px;padding-top:18px;border-top:1px solid #46223525;font:12px/1.6 var(--mono);color:var(--wine)}.contact-paths{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;margin:24px 0 36px}.contact-call,.contact-start{padding:clamp(24px,3vw,38px);min-width:0}.contact-call{background:var(--wine);color:var(--paper);display:flex;flex-direction:column;align-items:flex-start}.contact-start{border:1px solid var(--line);background:linear-gradient(140deg,#fff7,#e5ed9f1c)}.contact-paths h2{font-size:clamp(28px,3vw,39px);line-height:1.12;letter-spacing:-.035em;margin:25px 0 18px}.contact-paths p{font-size:16px;line-height:1.75}.contact-number{font-size:clamp(26px,3vw,39px);letter-spacing:-.035em;padding:8px 0;margin-top:auto;white-space:nowrap}.contact-call .button{width:100%;justify-content:space-between;background:var(--citron);color:var(--wine);margin-top:18px;border-color:transparent}.contact-copy{color:inherit;padding:12px 0;font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.contact-copy-status{font-size:13px!important;min-height:3em;margin:0}.contact-topics{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.contact-topics button{font:14px var(--sans);padding:10px 15px;border:1px solid #46223544;color:var(--wine);background:transparent;cursor:pointer;transition:background .2s,color .2s;min-height:44px}.contact-topics button[aria-pressed=true]{background:var(--wine);color:var(--paper)}.contact-topics button:hover{box-shadow:inset 0 0 0 1px var(--wine)}.contact-reply{min-height:185px;border-top:1px solid var(--line);padding-top:22px}.contact-reply h3{font-size:22px;letter-spacing:-.025em;line-height:1.3;margin:0 0 12px}.contact-start .button{margin-top:14px;max-width:100%;font-size:14px}.contact-next{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:24px 0 34px;border-bottom:1px solid var(--line)}.contact-next h2{font-size:26px;line-height:1.2;letter-spacing:-.03em;margin:0 0 14px}.contact-next p{font-size:16px;line-height:1.7;margin:0}.contact-next a{text-decoration:underline;text-underline-offset:4px}.contact-main :is(button,a):focus-visible{outline:2px solid #6552df;outline-offset:4px}@media(max-width:760px){.contact-paths,.contact-next{grid-template-columns:1fr}.contact-living h1{font-size:clamp(45px,10.5vw,74px)}.contact-living{padding:28px 20px}.contact-living-foot{flex-direction:column;gap:4px}.contact-living>p{font-size:17px}.contact-paths{gap:16px}.contact-reply{min-height:0}.contact-number{margin-top:18px}.contact-main{padding-inline:14px}}@media(prefers-reduced-motion:reduce){.contact-living>.login-story-canvas{display:none}.contact-living.has-living-title h1{color:var(--ink)}.contact-living.has-living-title h1 em{color:var(--wine)}.contact-topics button{transition:none}}
/* The geographic mark is part of the same particle society as the title. */
.contact-living .contact-title-map{position:absolute;right:clamp(22px,4vw,52px);bottom:86px;width:34%;height:250px;color:var(--wine);pointer-events:none;overflow:hidden}
.contact-title-map-fallback{display:block;width:100%;height:calc(100% - 28px)}
.contact-title-map>span{position:absolute;bottom:0;right:0;font:12px/1.5 var(--mono);letter-spacing:.03em;opacity:.65}
.contact-living.has-living-title .contact-title-map-fallback{visibility:hidden}
.contact-living>.login-story-canvas{mask-image:none;-webkit-mask-image:none}
.contact-living>p{max-width:56%;position:relative}
.contact-living h1{max-width:62%}
@media(max-width:900px){.contact-living .contact-title-map{width:31%;height:210px}.contact-living h1{font-size:clamp(45px,7.4vw,76px)}}
@media(max-width:760px){.contact-living h1,.contact-living>p{max-width:100%}.contact-living h1{font-size:clamp(45px,10.5vw,74px)}.contact-living .contact-title-map{position:relative;right:auto;bottom:auto;margin:24px 0 0 auto;width:min(75%,300px);height:205px}.contact-living-foot{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.contact-living.has-living-title .contact-title-map-fallback{visibility:visible}}
.contact-title-pin{position:absolute;z-index:3;display:grid;place-items:center;width:44px;height:44px;transform:translate(-50%,-50%);border:0;background:none;color:var(--wine);padding:0;pointer-events:auto;cursor:pointer;opacity:1;visibility:visible;transition:opacity .65s ease,visibility .65s;transition-delay:calc(var(--pin-order)*.16s)}
.contact-title-pin>i{display:block;width:12px;height:12px;border:2px solid var(--paper);border-radius:50%;background:var(--wine);box-shadow:0 0 0 1px var(--wine),0 0 0 6px #46223512;animation:contact-point-breathe 3.6s ease-in-out infinite;animation-delay:calc(var(--pin-order)*-.7s)}
.contact-title-pin>span{position:absolute;bottom:calc(100% - 3px);left:50%;transform:translate(-50%,6px);font:14px/1.4 var(--sans);white-space:nowrap;padding:8px 12px;border:1px solid #46223533;background:var(--paper);box-shadow:0 6px 18px #46223512;border-radius:3px;opacity:0;visibility:hidden;transition:opacity .2s,transform .3s,visibility .2s;pointer-events:none}
.contact-title-pin:hover>span,.contact-title-pin:focus-visible>span,.contact-title-pin[aria-pressed=true]>span{opacity:1;visibility:visible;transform:translate(-50%,0)}
.contact-title-pin[aria-pressed=true]>i{background:var(--citron);border-color:var(--wine)}
.contact-living.has-living-title:not(.has-living-map) .contact-title-pin{opacity:0;visibility:hidden;pointer-events:none;transition-delay:0s}
@keyframes contact-point-breathe{50%{box-shadow:0 0 0 1px var(--wine),0 0 0 9px #46223506;transform:translateY(-1px)}}
@media(prefers-reduced-motion:reduce){.contact-title-pin,.contact-title-pin>span{transition:none}.contact-title-pin>i{animation:none}}
.contact-google{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;font:14px/1.45 var(--sans);color:var(--paper);text-decoration:underline;text-underline-offset:4px;text-decoration-color:currentColor;transition:opacity .2s}.contact-google span{font-family:var(--mono);transition:transform .2s}.contact-google:hover{opacity:.76}.contact-google:hover span{transform:translate(2px,-2px)}

/* ── Contacto, primera pantalla: el título es texto real; las partículas solo dibujan el mapa de fondo ── */
.contact-living h1{position:relative;color:var(--ink);margin:26px 0 18px}
.contact-living h1 em{display:inline}
.contact-living>.contact-lead{max-width:56%;font-size:19px;line-height:1.6;margin:0;position:relative}
.contact-quick{position:relative;display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;max-width:62%}
.contact-quick .button{margin-top:0;gap:24px;min-height:52px;font-size:15px}
.contact-quick .button svg{width:18px;height:18px}
.contact-quick-call b{font-weight:500;margin-left:6px;letter-spacing:.01em}
.contact-quick-wa{background:#fbfaf6cc}
.contact-quick-mail{position:relative;margin:16px 0 0;font-size:15px;line-height:1.5}
.contact-quick-mail a{display:inline-flex;align-items:center;min-height:44px;color:var(--wine);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-living>.login-story-canvas{opacity:.8;mask-image:linear-gradient(90deg,#0002 0,#0002 48%,#000 68%)!important;-webkit-mask-image:linear-gradient(90deg,#0002 0,#0002 48%,#000 68%)!important}
.contact-quick .button span{font-size:inherit;display:inline-flex;align-items:center}
.contact-living>.contact-quick-mail{font-size:15px;max-width:62%}
@media(max-width:760px){
 .contact-main{padding-top:18px}.contact-main .seo-breadcrumb{margin-bottom:10px}
 .contact-living{padding:22px 18px 24px}
 .contact-living h1{font-size:clamp(40px,11vw,60px);margin:16px 0 12px}
 .contact-living>.contact-lead{max-width:100%;font-size:16px}
 .contact-quick{max-width:100%;flex-direction:column;gap:10px;margin-top:20px}
 .contact-quick .button{width:100%;justify-content:space-between}
 .contact-living>.contact-quick-mail{margin-top:6px;font-size:14px;max-width:100%}
 .contact-living>.login-story-canvas{mask-image:linear-gradient(180deg,#0002 0,#0002 62%,#000 78%)!important;-webkit-mask-image:linear-gradient(180deg,#0002 0,#0002 62%,#000 78%)!important}
}
/* ── Formulario corto ── */
.contact-write{padding:clamp(24px,3vw,38px);min-width:0;border:1px solid var(--line);background:#fbfaf6}
.contact-write>p{max-width:34em}
.contact-form-short{display:grid;gap:18px;margin-top:22px}
.cf-field{display:grid;gap:6px;min-width:0}
.cf-field label{font-size:14px;font-weight:500}
.cf-field input,.cf-field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid #24211f66;border-radius:0;background:#fff;color:var(--ink);font:16px/1.4 var(--sans)}
.cf-field textarea{min-height:120px;resize:vertical}
.cf-field input:focus-visible,.cf-field textarea:focus-visible,.cf-consent input:focus-visible{outline:2px solid var(--violet);outline-offset:2px;border-color:var(--violet)}
.cf-field [aria-invalid=true],.cf-consent [aria-invalid=true]{border-color:#a3262a;box-shadow:inset 3px 0 0 #a3262a}
.cf-hint{margin:0;font-size:13px!important;line-height:1.4!important;color:var(--muted)}
.cf-error{margin:0;font-size:13px!important;line-height:1.4!important;color:#a3262a;font-weight:500}.cf-error:empty{display:none}
.cf-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.cf-consent{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 12px;align-items:start}
.cf-consent input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--wine)}
.cf-consent label{font-size:14px;line-height:1.5}
.cf-layer{grid-column:2;margin:4px 0 0;font-size:12.5px!important;line-height:1.55!important;color:var(--muted)}
.cf-layer a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
.cf-consent .cf-error{grid-column:2}
.contact-write .cf-send{margin-top:4px;justify-self:start;gap:28px}
.contact-write .cf-send:disabled{opacity:.7;cursor:progress;transform:none}
.cf-status:empty{display:none}.cf-status p{margin:0;font-size:15px!important}
.cf-status.is-error{padding:14px 16px;border-left:3px solid #a3262a;background:#a3262a0d}
.cf-status a,.cf-done a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
.cf-done{margin-top:22px;padding:20px;border:1px solid var(--wine);background:#e5ed9f55}
.cf-done:focus{outline:2px solid var(--violet);outline-offset:3px}
.cf-done-title{font-size:20px!important;line-height:1.35!important;letter-spacing:-.02em;color:var(--wine);margin:0 0 8px!important}
.cf-done p{margin:0}
.contact-paths{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.contact-start .contact-google{color:var(--wine);margin-top:10px}
@media(max-width:760px){.contact-paths{grid-template-columns:1fr}.contact-write .cf-send{width:100%;justify-content:space-between}}
.contact-write .cf-send span{font-size:inherit;display:inline-flex;align-items:center}
