.section{
	padding:70px 0;
}

.section--a{
	padding:60px 0 40px;
}

.section--b{
	padding:90px 0 50px;
}

.section--c{
	padding:30px 0 70px;
}

.band-peach{
	padding:80px 0 90px;
}

.calc-band{
	padding:50px 0 60px;
}

.form-band{
	padding:90px 0 70px;
}

.band-deep{
	padding:50px 0;
}

.split__text{
	-ms-flex-item-align:center;
	align-self:center;
}

.h-serif--two{
	max-width:16em;
}

.hero-photo{
	position:relative;
	height:calc(100vh - 60px);
	height:calc(100svh - 60px);
	min-height:520px;
	max-height:880px;
	overflow:hidden;
	color:#fff;
	background:#1b1b1b;
}

.hero-photo__img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.hero-photo:after{
	content:"";
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.45) 45%,rgba(0,0,0,.15) 100%);
}

.hero-photo__text{
	position:absolute;
	left:15px;
	right:15px;
	bottom:150px;
	z-index:2;
	max-width:760px;
}

.hero-photo__title{
	margin:0 0 14px;
	font-family:var(--serif);
	font-size:34px;
	font-weight:700;
	line-height:1.05;
	letter-spacing:-1px;
	text-wrap:balance;
}

.hero-photo__sub{
	margin:0;
	font-size:18px;
}

.hero-photo__down{
	position:absolute;
	left:15px;
	bottom:30px;
	z-index:2;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	gap:10px;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	color:#fff;
	font-size:16px;
	text-decoration:none;
}

.hero-photo__down svg{
	color:var(--btn);
}

.hero-photo__btn{
	position:absolute;
	left:15px;
	right:15px;
	bottom:76px;
	z-index:2;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
}

.split{
	row-gap:30px;
}

.split__media img{
	width:100%;
	aspect-ratio:1.8;
	object-fit:cover;
	border-bottom:1px solid var(--line);
	padding-bottom:12px;
	background:#fff;
}

.split__caption{
	margin-top:10px;
	font-size:14px;
	font-weight:700;
}

.cards-head{
	margin-top:80px;
}

.flat-cards{
	display:grid;
	gap:20px;
	margin-top:30px;
}

.flat-card{
	position:relative;
	display:block;
	min-width:0;
	min-height:220px;
	padding:22px 20px 56px;
	background:var(--peach);
	text-decoration:none;
	scroll-snap-align:start;
	-webkit-transition:background-color .5s ease;
	transition:background-color .5s ease;
}

.flat-card__title{
	display:block;
	margin-bottom:14px;
	font-family:var(--serif);
	font-size:28px;
	line-height:1.2;
	letter-spacing:-.5px;
}

.flat-card__text{
	display:block;
	color:var(--muted);
	font-size:14px;
	line-height:1.6;
}

.flat-card__arrow{
	position:absolute;
	left:20px;
	bottom:22px;
	color:var(--teja);
}

@media (hover:hover){
	.flat-card:hover{
		background:var(--peach-deep);
	}
}

.band-peach{
	background:var(--peach);
}

.band-deep{
	background:var(--peach-deep);
}

.split--centered{
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
}

.band-peach .split__media img{
	background:var(--peach);
}

.price-line{
	font-size:18px;
}

.price-line strong{
	font-family:var(--serif);
	font-size:30px;
	letter-spacing:-1px;
}

/* escalera: cada foto arranca más abajo que la siguiente */
.stair{
	display:grid;
	gap:40px;
	margin-top:40px;
}

.stair__col img{
	width:100%;
	aspect-ratio:704 / 896;
	object-fit:cover;
	margin-bottom:18px;
}

.stair__title{
	margin:0 0 10px;
	font-size:24px;
	font-weight:400;
	line-height:1.3;
	letter-spacing:-1px;
}

.stair__col p{
	font-size:14px;
	line-height:1.6;
	color:var(--muted);
}

.calc-band{
	background:#fff;
	border-top:1px solid var(--line-soft);
}

.calc{
	background:var(--grey);
	padding:26px 24px;
}

.calc__tag{
	font-size:12px;
	font-weight:700;
	letter-spacing:1px;
	color:var(--teja);
}

.calc label{
	display:block;
	margin:14px 0 6px;
	font-size:14px;
	font-weight:500;
}

.calc input{
	width:100%;
	height:48px;
	padding:0 14px;
	border:1px solid #000;
	border-radius:0;
	background:#fff;
	font:inherit;
	font-size:18px;
}

.calc__out{
	margin-top:20px;
	border-top:3px solid var(--teja);
	padding-top:12px;
}

.calc__out p{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	margin:6px 0;
}

.calc__out strong{
	font-family:var(--serif);
	font-size:26px;
	letter-spacing:-1px;
}

.pair{
	display:grid;
	gap:28px;
	margin-top:30px;
}

.pair__card{
	display:block;
	min-width:0;
	text-decoration:none;
	background:#fff;
}

.pair__card img{
	width:100%;
	aspect-ratio:16 / 9;
	object-fit:cover;
}

.pair__box{
	display:block;
	padding:15px 15px 20px;
}

.pair__title{
	display:block;
	margin-bottom:6px;
	font-family:var(--serif);
	font-size:24px;
	letter-spacing:-.5px;
}

.pair__text{
	display:block;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	color:var(--muted);
}

.carta{
	max-width:760px;
	padding:40px 0 10px 0;
}

.carta__saludo{
	font-family:var(--serif);
	font-size:28px;
	letter-spacing:-1px;
}

.carta p{
	font-size:18px;
	line-height:1.7;
}

.carta .carta__firma{
	font-size:15px;
	font-weight:700;
}

.carta__pd{
	margin-top:30px;
	padding-top:20px;
	border-top:1px solid var(--line);
}

.carta__pd-titulo{
	font-weight:700;
}

.carta__pd li{
	padding:6px 0 6px 18px;
	position:relative;
	color:var(--muted);
}

.carta__pd li:before{
	content:"";
	position:absolute;
	left:0;
	top:16px;
	width:8px;
	height:1px;
	background:var(--teja);
}

.form-band{
	background:#fff;
	border-top:1px solid var(--line-soft);
}

.form-band__intro{
	margin-bottom:30px;
}

.facts li{
	padding:10px 0;
	border-bottom:1px solid var(--line-soft);
}

.facts span{
	display:block;
	color:var(--muted);
	font-size:13px;
}

.consulta{
	background:var(--peach);
	padding:30px 20px;
}

.consulta__tiles{
	display:grid;
	grid-template-columns:1fr;
	gap:10px;
	margin:0 0 24px;
	padding:0;
	border:0;
}

.consulta__tiles legend{
	margin-bottom:12px;
	font-family:var(--serif);
	font-size:24px;
	font-weight:700;
	letter-spacing:-.5px;
}

.opcion{
	position:relative;
	display:block;
	cursor:pointer;
}

.opcion input{
	position:absolute;
	opacity:0;
}

.opcion span{
	display:block;
	padding:16px 18px;
	border:1px solid #000;
	background:#fff;
	font-weight:500;
	-webkit-transition:background-color .3s ease,color .3s ease;
	transition:background-color .3s ease,color .3s ease;
}

.opcion input:checked + span{
	background:#000;
	color:#fff;
}

.opcion input:focus-visible + span{
	outline:2px solid var(--teja);
	outline-offset:2px;
}

.consulta__fields{
	display:grid;
	gap:0 20px;
}

.fld{
	margin-bottom:16px;
	min-width:0;
}

.fld label{
	display:block;
	margin-bottom:8px;
	font-size:15px;
	font-weight:500;
}

.req{
	color:var(--teja);
}

.fld input,
.fld select,
.fld textarea{
	width:100%;
	padding:14px 16px;
	border:1px solid #000;
	border-radius:0;
	background:#fff;
	font:inherit;
}

.fld textarea{
	min-height:120px;
	resize:vertical;
}

.fld [aria-invalid="true"]{
	border-color:var(--teja);
	box-shadow:inset 0 0 0 1px var(--teja);
}

.hp{
	position:absolute;
	left:-9999px;
}

.chk{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	gap:10px;
	margin:6px 0 20px;
	font-size:14px;
	line-height:1.5;
}

.chk input{
	width:18px;
	height:18px;
	margin-top:2px;
	-ms-flex-negative:0;
	flex-shrink:0;
	accent-color:var(--teja);
}

.consulta__estado:empty{
	display:none;
}

.consulta__estado{
	margin-top:16px;
	padding:12px 16px;
	border-top:3px solid var(--teja);
	background:#fff;
	font-size:15px;
}

.links-row{
	display:grid;
	gap:36px;
}

.links-row__title{
	margin:0 0 10px;
	font-size:28px;
	font-weight:500;
	letter-spacing:-1px;
}

.links-row__item p{
	color:var(--muted);
}

.reveal{
	-webkit-clip-path:polygon(0 0,0 0,0 100%,0 100%);
	clip-path:polygon(0 0,0 0,0 100%,0 100%);
	-webkit-transition:clip-path 1.2s cubic-bezier(.83,0,.31,1);
	transition:clip-path 1.2s cubic-bezier(.83,0,.31,1);
}

.reveal.is-in{
	-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
	clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
}

@media(min-width:768px){
	.section{
		padding:110px 0;
	}
	.hero-photo{
		height:calc(100vh - 90px);
		height:calc(100svh - 90px);
	}
	.hero-photo__text{
		left:70px;
		bottom:130px;
	}
	.hero-photo__title{
		font-size:52px;
		letter-spacing:-2px;
	}
	.hero-photo__down{
		left:50%;
		-webkit-transform:translateX(-50%);
		transform:translateX(-50%);
	}
	.hero-photo__btn{
		left:auto;
		right:32px;
		bottom:56px;
	}
	.flat-cards{
		grid-template-columns:repeat(3,1fr);
		gap:28px;
	}
	.flat-card{
		min-height:300px;
	}
	.stair{
		grid-template-columns:repeat(3,1fr);
		gap:28px;
		-webkit-box-align:end;
		-ms-flex-align:end;
		align-items:end;
	}
	.stair__col:nth-child(1){
		padding-top:160px;
	}
	.stair__col:nth-child(2){
		padding-top:80px;
	}
	.stair__col:nth-child(3n+1) img{
		aspect-ratio:704 / 760;
	}
	.pair{
		grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	}
	.section--a{
		padding:110px 0 60px;
	}
	.section--b{
		padding:140px 0 80px;
	}
	.band-peach{
		padding:140px 0;
	}
	.form-band{
		padding:120px 0 100px;
	}
	.consulta{
		padding:40px;
	}
	.consulta__tiles{
		grid-template-columns:1fr 1fr;
	}
	.consulta__fields{
		grid-template-columns:1fr 1fr;
	}
	.fld--full{
		grid-column:1 / -1;
	}
	.links-row{
		grid-template-columns:repeat(3,1fr);
	}
}

@media(min-width:768px) and (min-width:768px){
	.form-band__intro{
		padding-right:40px;
	}
}
