/* Base del taller: variables, tipografía, botones, cabecera, menú, aviso de cookies y pie */
@font-face {
	font-display:swap;
	font-family:'Sora';
	font-style:normal;
	font-weight:600 800;
	src:url('fonts/sora-titulos.woff2') format('woff2');
	unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family:'Sora Fallback';
	size-adjust:114.2%;
	src:local('Arial');
}
@font-face {
	font-display:swap;
	font-family:'Lexend';
	font-style:normal;
	font-weight:300 600;
	src:url('fonts/lexend-texto.woff2') format('woff2');
	unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family:'Lexend Fallback';
	size-adjust:108.8%;
	src:local('Arial');
}
:root {
	--color-accent-cta:hsl(28 90% 36%);
	--color-accent-cta-hover:hsl(28 90% 30%);
	--color-accent-quiet:hsl(28 34% 44%);
	--color-border:hsl(212 16% 82%);
	--color-field:hsl(0 0% 100%);
	--color-muted:hsl(213 10% 42%);
	--color-muted-inverse:hsl(212 14% 74%);
	--color-stripe-blend:hsl(212 18% 40%);
	--color-stripe-dark:hsl(214 22% 15%);
	--color-stripe-light:hsl(210 24% 97%);
	--color-text:hsl(214 24% 13%);
	--color-text-inverse:hsl(210 20% 94%);
	--color-tint:hsl(210 26% 93%);
	--color-tint-dark:hsl(214 20% 21%);
	--space-blend:clamp(40px, 5vw, 72px);
	--space-card:clamp(22px, 2.4vw, 32px);
	--space-gutter:clamp(18px, 4vw, 48px);
	--space-section:clamp(76px, 9vw, 120px);
	--space-stack:clamp(28px, 3.6vw, 44px);
}
*,
*::before,
*::after {
	box-sizing:border-box;
}
body,
h1,
h2,
h3,
p,
ul,
ol,
dl,
dd,
figure,
blockquote {
	margin:0;
}
img {
	display:block;
	height:auto;
	max-width:100%;
}
body {
	background:var(--color-stripe-light);
	color:var(--color-text);
	font-family:'Lexend', 'Lexend Fallback', Arial, sans-serif;
	font-size:1.0625rem;
	font-weight:350;
	line-height:1.62;
	min-height:100vh;
}
h1,
h2,
h3 {
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-weight:700;
	letter-spacing:normal;
	line-height:1.16;
}
h1 {
	font-size:clamp(2rem, 1.45rem + 1.9vw, 3rem);
}
h2 {
	font-size:clamp(1.6rem, 1.25rem + 1.2vw, 2.25rem);
}
h3 {
	font-size:1.18rem;
}
a {
	color:inherit;
	text-decoration-color:var(--color-accent-quiet);
	text-decoration-thickness:2px;
	text-underline-offset:3px;
}
:focus-visible {
	outline:3px solid var(--color-accent-cta);
	outline-offset:3px;
}
.visually-hidden-text {
	clip:rect(0 0 0 0);
	height:1px;
	overflow:hidden;
	position:absolute;
	white-space:nowrap;
	width:1px;
}
.action-button {
	align-items:center;
	border:2px solid transparent;
	border-radius:8px;
	cursor:pointer;
	display:inline-flex;
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-size:1rem;
	font-weight:600;
	gap:10px;
	justify-content:center;
	line-height:1.2;
	min-height:50px;
	padding:12px 26px;
	text-decoration:none;
	transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.action-button-signal {
	background:var(--color-accent-cta);
	color:hsl(0 0% 100%);
}
.action-button-signal:hover {
	background:var(--color-accent-cta-hover);
}
.action-button-outline-light {
	background:transparent;
	border-color:var(--color-text-inverse);
	color:var(--color-text-inverse);
}
.action-button-outline-light:hover {
	background:var(--color-text-inverse);
	color:var(--color-stripe-dark);
}
.action-button-solid-dark {
	background:var(--color-stripe-dark);
	color:var(--color-text-inverse);
}
.action-button-outline-dark {
	background:transparent;
	border-color:var(--color-stripe-dark);
	color:var(--color-stripe-dark);
}
.section-eyebrow {
	align-items:center;
	color:var(--color-muted);
	display:flex;
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-size:0.88rem;
	font-weight:600;
	gap:12px;
	margin-bottom:14px;
}
.section-eyebrow::before {
	background:var(--color-accent-quiet);
	content:"";
	flex:0 0 auto;
	height:12px;
	transform:skewX(-22deg);
	width:30px;
}
.page-band-dark .section-eyebrow {
	color:var(--color-muted-inverse);
}
.site-masthead {
	align-items:center;
	background:var(--color-stripe-dark);
	color:var(--color-text-inverse);
	display:flex;
	gap:16px;
	justify-content:space-between;
	min-height:66px;
	padding:8px var(--space-gutter);
	position:sticky;
	top:0;
	z-index:90;
}
.masthead-brand-link {
	align-items:center;
	color:inherit;
	display:inline-flex;
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-size:1.4rem;
	font-weight:700;
	gap:12px;
	min-height:44px;
	text-decoration:none;
}
.masthead-brand-mark {
	display:inline-flex;
	gap:4px;
}
.masthead-brand-mark::before,
.masthead-brand-mark::after {
	background:var(--color-accent-quiet);
	content:"";
	height:20px;
	transform:skewX(-20deg);
	width:7px;
}
.masthead-brand-mark::after {
	background:var(--color-text-inverse);
}
.masthead-details {
	display:none;
}
.menu-toggle-button {
	align-items:center;
	background:transparent;
	border:2px solid var(--color-tint-dark);
	border-radius:8px;
	color:inherit;
	cursor:pointer;
	display:inline-flex;
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-size:0.95rem;
	font-weight:600;
	gap:10px;
	min-height:46px;
	min-width:46px;
	padding:8px 14px;
}
.menu-toggle-lines {
	background:currentColor;
	display:block;
	height:2px;
	position:relative;
	width:18px;
}
.menu-toggle-lines::before,
.menu-toggle-lines::after {
	background:currentColor;
	content:"";
	height:2px;
	left:0;
	position:absolute;
	width:18px;
}
.menu-toggle-lines::before {
	top:-6px;
}
.menu-toggle-lines::after {
	top:6px;
}
.primary-navigation {
	background:var(--color-stripe-dark);
	color:var(--color-text-inverse);
	display:flex;
	flex-direction:column;
	padding:14px var(--space-gutter) 40px;
}
:root:not(.has-script) .menu-toggle-button {
	display:none;
}
@media (max-width:1199.98px) {
	.has-script .primary-navigation {
		inset:0;
		overflow-y:auto;
		position:fixed;
		transform:translateY(-14px);
		transition:transform 0.25s ease, visibility 0s linear 0.25s;
		visibility:hidden;
		z-index:150;
	}
	.has-script .primary-navigation.expanded-nav {
		transform:none;
		transition:transform 0.25s ease, visibility 0s linear 0s;
		visibility:visible;
	}
}
.navigation-close-button {
	align-self:flex-end;
}
.primary-navigation-list {
	display:flex;
	flex-direction:column;
	list-style:none;
	margin:28px 0 32px;
	padding:0;
}
.primary-navigation-link {
	align-items:center;
	border-bottom:1px solid var(--color-tint-dark);
	color:inherit;
	display:flex;
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-size:1.5rem;
	font-weight:600;
	gap:14px;
	min-height:60px;
	text-decoration:none;
}
.primary-navigation-link[aria-current="page"]::before {
	background:var(--color-accent-quiet);
	content:"";
	height:14px;
	transform:skewX(-22deg);
	width:10px;
}
.navigation-cta-button {
	align-self:flex-start;
}
.privacy-notice {
	background:var(--color-stripe-dark);
	border:1px solid var(--color-stripe-blend);
	border-radius:10px;
	bottom:10px;
	color:var(--color-text-inverse);
	left:10px;
	padding:16px 18px;
	position:fixed;
	right:10px;
	z-index:120;
}
.privacy-notice[hidden] {
	display:none;
}
.privacy-notice-text {
	font-size:1rem;
	line-height:1.5;
	margin-bottom:14px;
}
.privacy-notice-actions {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.privacy-notice-actions .action-button {
	flex:1 1 150px;
	min-height:46px;
	padding:10px 16px;
}
.privacy-notice .action-button-solid-dark {
	background:var(--color-text-inverse);
	color:var(--color-stripe-dark);
}
.privacy-notice .action-button-outline-dark {
	border-color:var(--color-text-inverse);
	color:var(--color-text-inverse);
}
.site-footer {
	background:var(--color-tint);
	color:var(--color-text);
	padding:56px var(--space-gutter) 32px;
}
.footer-stack {
	display:grid;
	gap:32px;
	margin-left:auto;
	margin-right:auto;
	max-width:1120px;
}
.footer-brand-name {
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-size:1.35rem;
	font-weight:700;
	margin-bottom:6px;
}
.footer-block-title {
	font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
	font-size:0.95rem;
	font-weight:700;
	margin-bottom:8px;
}
.footer-link-list {
	list-style:none;
	padding:0;
}
.tap-link {
	align-items:center;
	display:inline-flex;
	min-height:44px;
}
.footer-closing-line {
	border-top:1px solid var(--color-border);
	color:var(--color-muted);
	font-size:0.92rem;
	padding-top:18px;
}
@media (min-width:720px) {
	.footer-stack {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
	.footer-closing-line {
		grid-column:1 / -1;
	}
}
@media (min-width:1200px) {
	.site-masthead {
		align-items:stretch;
		align-self:start;
		flex-direction:column;
		grid-column:1;
		grid-row:1 / 4;
		height:100vh;
		justify-content:flex-start;
		overflow:hidden;
		padding:44px clamp(32px, 4vw, 80px);
	}
	.site-masthead::after {
		background:repeating-linear-gradient(110deg, var(--color-tint-dark) 0 22px, transparent 22px 44px);
		bottom:0;
		content:"";
		height:34%;
		left:0;
		position:absolute;
		right:0;
	}
	.masthead-brand-link {
		align-self:flex-start;
		font-size:1.7rem;
	}
	.masthead-details {
		display:flex;
		flex-direction:column;
		gap:22px;
		margin-top:clamp(28px, 6vh, 64px);
		max-width:430px;
		position:relative;
		z-index:1;
	}
	.masthead-tagline {
		font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
		font-size:clamp(1.3rem, 0.9rem + 0.8vw, 1.75rem);
		font-weight:600;
		line-height:1.3;
	}
	.masthead-phone-link {
		align-items:center;
		color:inherit;
		display:inline-flex;
		font-family:'Sora', 'Sora Fallback', Arial, sans-serif;
		font-size:1.6rem;
		font-weight:700;
		min-height:44px;
		text-decoration:none;
	}
	.masthead-hours-list {
		color:var(--color-muted-inverse);
		font-size:0.98rem;
		list-style:none;
		padding:0;
	}
	.masthead-call-button {
		align-self:flex-start;
	}
	.menu-toggle-button,
	.navigation-close-button {
		display:none;
	}
	.primary-navigation {
		align-items:center;
		background:var(--color-stripe-light);
		border-bottom:1px solid var(--color-border);
		color:var(--color-text);
		flex-direction:row;
		gap:clamp(20px, 2.4vw, 40px);
		grid-column:2;
		grid-row:1;
		height:78px;
		inset:auto;
		justify-content:flex-end;
		overflow:visible;
		padding:0 clamp(24px, 3vw, 56px);
		position:sticky;
		top:0;
		transform:none;
		transition:none;
		visibility:visible;
		z-index:80;
	}
	.primary-navigation-list {
		flex-direction:row;
		gap:clamp(14px, 1.8vw, 30px);
		margin:0;
	}
	.primary-navigation-link {
		border-bottom:0;
		font-size:1rem;
		gap:8px;
		min-height:46px;
	}
	.primary-navigation-link[aria-current="page"]::before {
		height:10px;
		width:7px;
	}
	.navigation-cta-button {
		align-self:center;
	}
	.privacy-notice {
		background:var(--color-stripe-light);
		border-color:var(--color-border);
		bottom:16px;
		color:var(--color-text);
		left:16px;
		right:auto;
		width:min(440px, calc(38vw - 32px));
	}
	.privacy-notice .action-button-solid-dark {
		background:var(--color-stripe-dark);
		color:var(--color-text-inverse);
	}
	.privacy-notice .action-button-outline-dark {
		border-color:var(--color-stripe-dark);
		color:var(--color-stripe-dark);
	}
	.site-footer {
		grid-column:2;
		grid-row:3;
	}
}
@media (min-width:1500px) {
	.footer-stack {
		grid-template-columns:1.3fr 1fr 1fr 1fr;
	}
}
@media (prefers-reduced-motion:reduce) {
	.action-button,
	.has-script .primary-navigation,
	.has-script .primary-navigation.expanded-nav {
		transition:none;
	}
}
