.szlp {
	--cream:#fffdf9;
	--beige:#f4efe7;
	--gold:#c6a15b;
	--gold-soft:#ead7a4;
	--brown:#5a3a29;
	--dark:#382116;
	--wine:#721827;
	--wine-dark:#46101a;
	--line:#e5d8c6;
	--shadow:0 18px 50px rgba(71,45,28,.13);
	max-width:1180px;
	margin:24px auto 56px;
	color:var(--dark);
	font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.szlp,.szlp *{box-sizing:border-box;text-transform:none!important}
.szlp h1,.szlp h2,.szlp h3,.szlp strong{font-family:Georgia,"Times New Roman",serif;color:var(--brown)}
.szlp button,.szlp a{font:inherit}
.szlp-icon{display:block;width:1.45em;height:1.45em}
.szlp-hero{
	position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);
	min-height:360px;border:1px solid rgba(198,161,91,.58);border-radius:30px;
	background:
		linear-gradient(90deg,rgba(39,24,17,.96),rgba(75,45,27,.86) 55%,rgba(148,111,65,.42)),
		radial-gradient(circle at 78% 38%,rgba(234,215,164,.45),transparent 32%);
	box-shadow:var(--shadow);color:#fff
}
.szlp-hero::after{content:"";position:absolute;inset:10px;border:1px solid rgba(234,215,164,.28);border-radius:22px;pointer-events:none}
.szlp-hero-copy{position:relative;z-index:2;align-self:center;padding:54px}
.szlp-hero-copy>span{display:block;margin-bottom:13px;color:var(--gold-soft);font-size:11px;font-weight:800;letter-spacing:.22em}
.szlp-hero h1{margin:0 0 12px;color:#fff;font-size:clamp(42px,6vw,72px);font-weight:500;line-height:1}
.szlp-hero p{margin:0 0 12px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(20px,2.5vw,29px)}
.szlp-hero small{display:block;max-width:540px;color:rgba(255,255,255,.78);font-size:16px;line-height:1.65}
.szlp-hero-art{position:relative;min-height:360px;background:radial-gradient(circle at 48% 48%,rgba(234,215,164,.27),transparent 42%)}
.szlp-radar{position:absolute;inset:48px;border-radius:50%;border:1px solid rgba(234,215,164,.4)}
.szlp-radar::before,.szlp-radar::after{content:"";position:absolute;border:1px solid rgba(234,215,164,.28);border-radius:50%}
.szlp-radar::before{inset:27px}.szlp-radar::after{inset:58px}
.szlp-hero-pin,.szlp-hero-shield{position:absolute;display:grid;place-items:center;border:1px solid rgba(234,215,164,.72);color:var(--gold-soft);background:rgba(40,22,13,.62);box-shadow:0 15px 45px rgba(0,0,0,.28)}
.szlp-hero-pin{top:92px;left:42%;width:98px;height:98px;border-radius:50%;font-size:46px}
.szlp-hero-shield{right:37px;bottom:40px;width:65px;height:65px;border-radius:18px;font-size:30px}
.szlp-actions{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:-30px 28px 26px}
.szlp-action{display:flex;flex-direction:column;align-items:center;min-height:260px;padding:25px 19px 20px;border:1px solid var(--line);border-radius:19px;background:rgba(255,253,249,.97);box-shadow:0 12px 35px rgba(71,45,28,.1);text-align:center}
.szlp-action.is-primary{border-color:var(--gold);background:linear-gradient(145deg,var(--wine),var(--wine-dark));color:#fff}
.szlp-action-icon{display:grid;place-items:center;width:67px;height:67px;margin-bottom:13px;border:1px solid rgba(198,161,91,.58);border-radius:20px;background:linear-gradient(145deg,#fffdf8,#eee0c8);color:var(--gold);font-size:29px}
.szlp-action.is-primary .szlp-action-icon{border-color:rgba(234,215,164,.55);background:rgba(255,255,255,.08);color:var(--gold-soft)}
.szlp-action h2{margin:0 0 9px;font-size:24px;line-height:1.12}
.szlp-action.is-primary h2{color:#fff}
.szlp-action p{flex:1;margin:0 0 16px;color:#74665e;font-size:14px;line-height:1.5}
.szlp-action.is-primary p{color:rgba(255,255,255,.78)}
.szlp-action button,.szlp-submit,.szlp-button,.szlp-cta button{display:inline-flex;justify-content:center;align-items:center;min-height:43px;padding:10px 19px;border:1px solid var(--gold);border-radius:13px;background:linear-gradient(145deg,#d2af67,#b58b3e);color:#fff!important;font-weight:750;text-decoration:none;cursor:pointer;box-shadow:0 8px 18px rgba(90,58,41,.16)}
.szlp-action.is-primary button{border-color:var(--gold-soft);background:transparent}
.szlp-promise{display:flex;align-items:center;gap:22px;margin:0 28px 27px;padding:18px 25px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(100deg,#fff,#f8f1e5)}
.szlp-promise>div{display:grid;place-items:center;width:56px;height:56px;flex:0 0 auto;border-radius:50%;background:#f4e9d6;color:var(--gold);font-size:26px}
.szlp-promise p{display:flex;flex-direction:column;margin:0}
.szlp-promise strong{font-size:21px}.szlp-promise span{margin-top:5px;color:#786a61;font-size:14px}
.szlp-section,.szlp-steps{margin:26px 28px;padding:26px;border:1px solid var(--line);border-radius:24px;background:rgba(255,253,249,.9);box-shadow:0 12px 38px rgba(71,45,28,.07)}
.szlp-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:19px}
.szlp-section-head span{display:block;margin-bottom:5px;color:#a57b36;font-size:10px;font-weight:800;letter-spacing:.2em}
.szlp-section-head h2{margin:0;font-size:31px;line-height:1.1}
.szlp-section-head>a{color:var(--wine);font-weight:700}.szlp-section-head>small{color:#817268}
.szlp-head-actions{display:flex;align-items:center;gap:12px}.szlp-head-actions>a{color:var(--wine);font-weight:700}.szlp-head-actions button{padding:9px 13px;border:1px solid #7fad86;border-radius:11px;background:#edf8ef;color:#275b31;font-weight:800;cursor:pointer}
.szlp-alert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.szlp-alert-card{display:grid;grid-template-columns:112px 1fr;min-height:155px;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff}
.szlp-alert-photo{width:112px;height:100%;min-height:155px;object-fit:cover}
.szlp-placeholder{display:grid;place-items:center;background:#f0e6d9;font-size:35px}
.szlp-alert-body{padding:16px 14px}
.szlp-alert-body>span{display:inline-block;padding:4px 8px;border-radius:6px;background:var(--wine);color:#fff;font-size:9px;font-weight:800;letter-spacing:.09em}
.szlp-alert-body h3{margin:8px 0 5px;font-size:23px}
.szlp-alert-body p{display:flex;gap:4px;margin:0 0 12px;color:#71645c;font-size:12px;line-height:1.35}.szlp-alert-body p .szlp-icon{width:14px}
.szlp-alert-body a{display:inline-block;color:var(--wine);font-size:12px;font-weight:800}
.szlp-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;padding:35px;border-radius:16px;background:var(--beige);text-align:center}.szlp-empty span{margin-top:7px;color:#786a61}
.szlp-homecoming-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.szlp-homecoming-card{overflow:hidden;border:1px solid #cfe1d2;border-radius:19px;background:#fff;box-shadow:0 10px 28px rgba(48,95,57,.08)}.szlp-homecoming-media{position:relative;height:220px}.szlp-homecoming-photo{display:block;width:100%;height:100%;object-fit:cover}.szlp-homecoming-media>span{position:absolute;left:13px;bottom:13px;padding:7px 11px;border-radius:999px;background:#2f7a43;color:#fff;font-size:14px;font-weight:850;box-shadow:0 5px 16px rgba(25,75,36,.28)}.szlp-homecoming-body{padding:18px}.szlp-homecoming-body h3{margin:0 0 5px;font-size:25px}.szlp-homecoming-body p,.szlp-homecoming-body blockquote{font-size:16px;line-height:1.55}.szlp-homecoming-date{margin:0 0 13px;color:#397149;font-weight:700}.szlp-homecoming-body blockquote{margin:14px 0;padding:12px 14px;border-left:3px solid #7fad86;background:#f2f8f3;color:#4e413a}.szlp-homecoming-thanks{margin-bottom:0;color:#66564d}.szlp-form-intro{color:#71645c;line-height:1.55}.szlp-alert-form textarea{width:100%;padding:10px 12px;border:1px solid #d9cbb8;border-radius:10px;background:#fff;color:var(--dark);resize:vertical}
.szlp-map{position:relative;min-height:380px;overflow:hidden;border:1px solid #d8ccb9;border-radius:18px;background:linear-gradient(25deg,#e7e1d6,#f4f0e8)}
.szlp-map-grid{position:absolute;inset:0;opacity:.7;background-image:linear-gradient(rgba(153,139,116,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(153,139,116,.24) 1px,transparent 1px),linear-gradient(35deg,transparent 48%,rgba(198,161,91,.24) 49%,rgba(198,161,91,.24) 51%,transparent 52%);background-size:48px 48px,48px 48px,170px 170px}
.szlp-map-pin{position:absolute;left:var(--x);top:var(--y);display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);background:var(--wine);color:#fff;cursor:pointer;box-shadow:0 8px 20px rgba(70,15,25,.25)}
.szlp-map-pin .szlp-icon{width:21px;transform:rotate(45deg)}.szlp-map-pin span{position:absolute;left:40px;top:35px;display:none;padding:5px 8px;border-radius:6px;transform:rotate(45deg);background:#fff;color:var(--dark);font-size:11px;white-space:nowrap;box-shadow:0 5px 15px rgba(0,0,0,.15)}.szlp-map-pin:focus span,.szlp-map-pin:hover span{display:block}
.szlp-map-legend{position:absolute;right:18px;bottom:18px;display:flex;flex-direction:column;gap:7px;width:210px;padding:15px;border:1px solid var(--line);border-radius:13px;background:rgba(255,253,249,.94);font-size:12px}.szlp-map-legend span{display:flex;align-items:center;gap:7px}.szlp-map-legend i{width:11px;height:11px;border-radius:50%;background:var(--wine)}.szlp-map-legend small{color:#7c6e64}
.szlp-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.szlp-step-grid article{position:relative;padding:20px 14px;text-align:center}.szlp-step-grid article:not(:last-child)::after{content:"→";position:absolute;right:-13px;top:43px;color:var(--gold);font-size:22px}
.szlp-step-grid b{position:absolute;left:9px;top:9px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--brown);color:#fff}
.szlp-step-grid article>div{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 12px;border:1px solid var(--gold-soft);border-radius:50%;background:#fbf4e8;color:var(--gold);font-size:28px}
.szlp-step-grid h3{margin:0 0 6px;font-size:19px}.szlp-step-grid p{margin:0;color:#776a61;font-size:12px;line-height:1.45}
.szlp-cta{display:flex;align-items:center;gap:18px;margin:27px 28px 0;padding:22px 28px;border:1px solid var(--gold);border-radius:20px;background:linear-gradient(105deg,#3b2418,#6b452a);color:#fff;box-shadow:var(--shadow)}
.szlp-cta>div{color:var(--gold-soft);font-size:35px}.szlp-cta p{display:flex;flex:1;flex-direction:column;margin:0}.szlp-cta p span{font-family:Georgia,"Times New Roman",serif;font-size:23px}.szlp-cta p strong{margin-top:4px;color:rgba(255,255,255,.75);font-family:inherit;font-size:13px}.szlp-cta button{flex:0 0 auto}
.szlp-notice{margin:0 28px 18px;padding:15px 19px;border:1px solid #86b590;border-radius:12px;background:#edf8ef;color:#275b31;font-weight:700}
.szlp-notice.is-location,.szlp-notice.is-invalid_pet{border-color:#d7b16c;background:#fff8e8;color:#6f4d19}
body.szlp-modal-open{overflow:hidden}
.szlp-modal[hidden]{display:none}.szlp-modal{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:18px}
.szlp-modal-backdrop{position:absolute;inset:0;background:rgba(31,18,13,.72);backdrop-filter:blur(7px)}
.szlp-dialog{position:relative;z-index:1;width:min(590px,100%);max-height:92vh;overflow:auto;padding:31px;border:1px solid rgba(198,161,91,.7);border-radius:24px;background:linear-gradient(155deg,#fff,#f8f1e6);box-shadow:0 28px 80px rgba(0,0,0,.3)}
.szlp-dialog>span{display:block;color:#a67c39;font-size:10px;font-weight:800;letter-spacing:.19em}.szlp-dialog>h2{margin:7px 40px 18px 0;font-size:31px;line-height:1.1}
.szlp-close{position:absolute;right:17px;top:15px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--brown);font-size:26px;line-height:1;cursor:pointer}
.szlp-progress{display:flex;align-items:center;margin:0 0 22px}.szlp-progress b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--wine);color:#fff}.szlp-progress i{flex:1;height:1px;background:var(--gold-soft)}
.szlp-alert-form,.szlp-code-form{display:grid;gap:14px}.szlp-alert-form label,.szlp-code-form label{display:grid;gap:6px}.szlp-alert-form label>span,.szlp-code-form label>span{font-size:13px;font-weight:700;color:var(--brown)}
.szlp-alert-form input,.szlp-alert-form select,.szlp-code-form input{width:100%;min-height:45px;padding:10px 12px;border:1px solid #d9cbb8;border-radius:10px;background:#fff;color:var(--dark)}
.szlp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.szlp-location{padding:14px;border:1px dashed #c8ab79;border-radius:12px;background:#fffaf1}.szlp-location p{margin:0 0 9px;color:#77685f;font-size:12px}.szlp-location button{padding:8px 12px;border:1px solid var(--gold);border-radius:9px;background:#fff;color:var(--brown);font-weight:700;cursor:pointer}.szlp-location small{display:block;margin-top:7px;color:#557b55}
.szlp-confirm{grid-template-columns:auto 1fr!important;align-items:start}.szlp-confirm input{width:18px;height:18px;min-height:0;margin-top:2px}.szlp-submit{width:100%;border:0}
.szlp-mini-steps{display:grid;gap:10px;margin-bottom:19px}.szlp-mini-steps p{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;margin:0;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}.szlp-mini-steps b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#f1e2c8;color:var(--brown)}.szlp-mini-steps span{color:#70635b;font-size:14px}
.szlp-button{width:100%}.szlp-button.is-light{background:#fff;color:var(--wine)!important}.szlp-modal-message{text-align:center}.szlp-modal-message p{color:#71645c}.szlp-divider{display:flex;align-items:center;gap:8px;margin:14px 0;color:#998a7f}.szlp-divider::before,.szlp-divider::after{content:"";flex:1;height:1px;background:var(--line)}.szlp-code-error{color:#9b2636}
@media(max-width:900px){
	.szlp-actions{grid-template-columns:repeat(2,1fr)}
	.szlp-alert-grid{grid-template-columns:repeat(2,1fr)}
	.szlp-homecoming-grid{grid-template-columns:repeat(2,1fr)}
	.szlp-step-grid{grid-template-columns:repeat(2,1fr)}
	.szlp-step-grid article:nth-child(2)::after{display:none}
}
@media(max-width:640px){
	.szlp{margin:10px auto 36px}
	.szlp-hero{grid-template-columns:1fr;min-height:410px;border-radius:23px}
	.szlp-hero-copy{padding:38px 28px 18px}.szlp-hero h1{font-size:43px}.szlp-hero p{font-size:22px}.szlp-hero small{font-size:14px}
	.szlp-hero-art{min-height:145px}.szlp-radar{inset:6px 70px}.szlp-hero-pin{top:19px;left:42%;width:76px;height:76px;font-size:35px}.szlp-hero-shield{right:25px;bottom:15px}
	.szlp-actions{grid-template-columns:1fr;margin:-19px 14px 20px}.szlp-action{display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto auto;min-height:0;padding:18px;text-align:left}.szlp-action-icon{grid-row:1/4;width:52px;height:52px;margin:0;font-size:24px}.szlp-action h2{font-size:22px}.szlp-action p{margin:4px 0 11px}.szlp-action button{justify-self:start}
	.szlp-promise,.szlp-section,.szlp-steps,.szlp-cta{margin-left:14px;margin-right:14px}.szlp-promise{align-items:flex-start;padding:16px}.szlp-promise strong{font-size:19px}
	.szlp-section,.szlp-steps{padding:19px}.szlp-section-head{align-items:flex-start}.szlp-section-head h2{font-size:27px}
	.szlp-section-head,.szlp-head-actions{flex-direction:column;align-items:flex-start}
	.szlp-alert-grid{grid-template-columns:1fr}.szlp-alert-card{grid-template-columns:104px 1fr}.szlp-alert-photo{width:104px}
	.szlp-homecoming-grid{grid-template-columns:1fr}.szlp-homecoming-media{height:250px}
	.szlp-map{min-height:330px}.szlp-map-legend{left:14px;right:14px;bottom:14px;width:auto}
	.szlp-step-grid{grid-template-columns:1fr}.szlp-step-grid article:not(:last-child)::after{content:"↓";display:block;right:50%;top:auto;bottom:-10px}.szlp-step-grid article:nth-child(2)::after{display:block}
	.szlp-cta{flex-wrap:wrap;padding:20px}.szlp-cta>div{display:none}.szlp-cta p{flex-basis:100%}.szlp-cta button{width:100%}
	.szlp-dialog{padding:25px 19px}.szlp-dialog>h2{font-size:27px}.szlp-form-row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.szlp *{scroll-behavior:auto!important}}

/* Encabezado regreso a casa 0.7.2 */
.szlp-hero{
	--szlp-parallax:0px;
	isolation:isolate;
	min-height:440px;
	background-image:
		linear-gradient(90deg,rgba(27,15,11,.96) 0%,rgba(42,23,16,.86) 38%,rgba(50,28,18,.35) 59%,rgba(25,14,10,.06) 79%),
		linear-gradient(0deg,rgba(29,16,11,.35),transparent 48%),
		var(--szlp-hero-image);
	background-position:center,center,center calc(50% + var(--szlp-parallax));
	background-repeat:no-repeat;
	background-size:cover;
	animation:szlpHeroReveal .8s cubic-bezier(.2,.7,.2,1) both;
}
.szlp-hero-copy{
	max-width:720px;
	padding:58px 54px;
	text-shadow:0 2px 19px rgba(0,0,0,.4);
	animation:szlpHeroCopy .9s .12s cubic-bezier(.2,.7,.2,1) both;
}
.szlp-hero-art{min-height:440px;background:transparent}
.szlp-radar{opacity:.2;transform:scale(.85)}
.szlp-hero-pin,.szlp-hero-shield{opacity:.78;backdrop-filter:blur(8px)}
.szlp-hero-pin{top:auto;left:auto;right:116px;bottom:39px;width:54px;height:54px;font-size:25px}
.szlp-hero-shield{right:39px;bottom:32px}
@keyframes szlpHeroReveal{from{opacity:0;transform:translateY(12px) scale(.992)}to{opacity:1;transform:none}}
@keyframes szlpHeroCopy{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
@media(max-width:640px){
	.szlp-hero{
		min-height:620px;
		background-image:
			linear-gradient(180deg,rgba(27,15,11,.96) 0%,rgba(39,21,15,.76) 41%,rgba(30,17,12,.08) 68%,rgba(30,17,12,.35) 100%),
			var(--szlp-hero-image);
		background-position:center,66% calc(50% + var(--szlp-parallax));
	}
	.szlp-hero-copy{align-self:start;max-width:600px;padding:34px 23px 14px}
	.szlp-hero h1{font-size:clamp(40px,12vw,51px)}
	.szlp-hero p{font-size:21px}
	.szlp-hero small{font-size:13px;line-height:1.5}
	.szlp-hero-art{min-height:292px}
	.szlp-radar{inset:auto 20px 18px auto;width:175px;height:175px}
	.szlp-hero-pin{right:94px;bottom:25px}
	.szlp-hero-shield{right:22px;bottom:19px}
}
@media(prefers-reduced-motion:reduce){
	.szlp-hero,.szlp-hero-copy{animation:none}
}

/* Legibilidad general 0.7.3. */
.szlp-hero-copy>span,.szlp-section-head span,.szlp-alert-body>span,
.szlp-alert-body a,.szlp-map-pin span,.szlp-map-legend,
.szlp-dialog>span,.szlp-alert-form label>span,.szlp-code-form label>span{
	font-size:14px!important;
}
.szlp-hero small,.szlp-action p,.szlp-promise span,.szlp-alert-body p,
.szlp-step-grid p,.szlp-cta p strong,.szlp-location p,.szlp-mini-steps span{
	font-size:16px!important;
}
.szlp input,.szlp select,.szlp textarea,.szlp button,.szlp a{font-size:max(14px,1em)}
