/* GLOBAL
------------------------------ */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:none;-moz-appearance:none;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{overflow:auto;vertical-align:top;resize:vertical}audio,canvas,video{display:inline-block;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}button,html,input,select,textarea{color:#090909}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}


/* FONTS */

@font-face {
	font-family: 'Helvetica Web';
	src: url('../fonts/Helvetica-Bold.woff2') format('woff2'),
		 url('../fonts/Helvetica-Bold.woff') format('woff'),
		 url('../fonts/Helvetica-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}


/* LENIS */

html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent], .lenis [data-lenis-prevent-wheel], .lenis [data-lenis-prevent-touch] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }
.lenis.lenis-autoToggle { transition-property: overflow; transition-duration: 1ms; transition-behavior: allow-discrete; }


/* BASIC */

:root {
	@media (prefers-reduced-motion: no-preference) {
		interpolate-size: allow-keywords;
	}
	--black: #000;
	--white: #fff;
	--pad: 1rem;
}

::-moz-selection {
	color: var(--white);
	background: var(--black);
}
  
::selection {
	color: var(--white);
	background: var(--black);
}

* {
	/* Debug mode */
	/* outline: 1px solid blue; */
	box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    margin: 0;
    padding: 0;
    -webkit-tap-highlight-color: transparent!important;
}

/* Foco visible solo con teclado */
:focus:not(:focus-visible) {
	outline: 0;
}

:focus-visible {
	outline: 2px solid currentColor !important;
	outline-offset: 2px;
}

/* Texto solo para lectores de pantalla */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Sin outline en el destino del skip link (!important para ganar a :focus-visible) */
#primary[tabindex="-1"]:focus {
	outline: 0 !important;
}

html {
	-ms-overflow-style: none;
    scrollbar-width: none;
	scrollbar-gutter: stable;
}

html::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

body,
html {
	overflow-x: clip;
}

body {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

body::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

body {
	width: 100%;
	height: 100%;
	font-family: 'Helvetica Web', Helvetica, Arial, sans-serif;
	color: var(--black);
	background-color: var(--white);
	line-height: 1;
    font-size: 1rem;
	font-weight: 700;
	min-block-size: 100svh;
}

a {
	text-decoration: none;
	color: var(--black);
}

.fixed {
    position: fixed;
}

.absolute {
    position: absolute;
}

.relative {
    position: relative;
}

.pad-b-0{
    padding-bottom: calc(var(--pad) / 2);
}

.pad-t-0{
    padding-top: calc(var(--pad) / 2);
}

.pad-r-0{
    padding-right: calc(var(--pad) / 2);
}

.pad-l-0{
    padding-left: calc(var(--pad) / 2);
}

.pad-0{
    padding: calc(var(--pad) / 2);
}

.pad-b{
    padding-bottom: var(--pad);
}

.pad-t{
    padding-top: var(--pad);
}

.pad-r{
    padding-right: var(--pad);
}

.pad-l{
    padding-left: var(--pad);
}

.pad{
    padding: var(--pad);
}

.pad-b-1{
    padding-bottom: calc(3.5 * var(--pad));
}

.pad-t-1{
    padding-top: calc(3.5 * var(--pad));
}

.pad-r-1{
    padding-right:calc(3.5 * var(--pad));
}

.pad-l-1{
    padding-left: calc(3.5 * var(--pad));
}

.pad-1{
    padding: calc(3.5 * var(--pad));
}

.mag-auto{
    margin: 0 auto;
}

.block{
    display: block;
}

.w-100 {
    width: 100%;
}

.h-100{
    height: 100%;
}

.h-100-vh{
    height: 100dvh;
}

.min-100-vh{
    min-height: 100dvh;
}

.max-100-vh {
    max-height: 100dvh;
}

a:link {
    text-decoration: none;
    color: inherit;
}

a:visited {
    color: inherit;
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.wrap{
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.end-justify{
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

.evenly{
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
}

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

.align-end {
    align-items: flex-end;
}

.column{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.column-r{
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
}

.between{
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.jus-center{
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.z-9{
    z-index: 9;
}

.z-99{
    z-index:  99;
}

.z-999{
    z-index: 999;
}

.z-9999{
    z-index: 9999;
}

.w-20 {
    width: 20%;
}

.w-50 {
    width: 50%;
}

.hide-scroll{
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.hide-scroll::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.mobile {
    display: none;
}

.center{
    text-align: center;
}

.justify{
    text-align: justify;
}

.t-right{
    text-align: right;
}

.ab-center{
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%);
}

.ab-x{
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
}

.none{
    pointer-events: none;
}

.auto{
    pointer-events: auto;
}

.none-s{
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.inline-block{
    display: inline-block;
}

.inline {
    display: inline;
}

.hide{
    display: none;
}

.hide-op{
    opacity: 0;
    -webkit-transition: opacity 0.1s linear;
    -o-transition: opacity 0.1s linear;
    transition: opacity 0.1s linear;
}

.hidden{
    overflow: hidden;
}

.cover{
    -o-object-fit: cover;
       object-fit: cover;
}

.contain {
    -o-object-fit: contain;
       object-fit: contain;
}

.underline{
    text-decoration: underline;
}

.sticky {
    position: sticky;
}

.flex-end{
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
}

.a-self{
    -ms-flex-item-align: start;
        align-self: flex-start
}

.nw{
    white-space: nowrap;
}

.b {
    border: solid black 1px;
}

.b-b{
    border-bottom: solid black 1px;
}

.b-t{
    border-top: solid black 1px;
}

ul, li {
  list-style-type: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.fit {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.white-bk {
    background: white;
}

.white{
    color: white;
}

.upper{
    text-transform: uppercase;
}

.round{
    border-radius: 2rem;
}

.round-half {
    border-radius: 0.8rem;
}

.gap-0 {
    gap: calc(var(--pad) / 2);
}

.gap {
    gap: var(--pad);
}

.balance {
    text-wrap: balance;
}


/* NAV */

nav {
	position: fixed;
	top: 20px;
	left: 20px;
	width: calc(100% - 40px);
	max-width: 350px;
	max-height: calc(100dvh - 40px);
	overflow-y: auto;
	background: #f5f5f5;
	border-bottom: 1px solid var(--black);
	font: 400 0.875rem/2rem ui-monospace, Menlo, Consolas, monospace;

	@media (width < 500px) {
		max-width: none;
	}

	ul,
	li {
		width: auto;
	}

	/* Contorno hacia dentro: por fuera lo recortan los overflow */
	:focus-visible {
		outline-offset: -2px;
	}

	.logo {
		display: block;
		overflow: hidden;

		svg {
			display: block;
			width: 100%;
			height: auto;
			margin-bottom: 18px;
		}
	}

	.item {
		display: block;
		width: 100%;
		padding: 0 2px;
		overflow: hidden;
		font: inherit;
		color: inherit;
		text-align: left;
		background: none;
		border: 0;
		border-top: 1px solid var(--black);
	}

	.submenu {
		overflow: hidden;

		.item {
			padding-left: 26px;
		}
	}

	/* Estado inicial plegado (solo líneas); sin JS se queda desplegado */
	@media (scripting: enabled) {
		.logo,
		.submenu {
			height: 0;
		}

		.submenu {
			visibility: hidden;
			opacity: 0;
		}

		.menu > li > .item {
			height: 10px;

			span {
				opacity: 0;
			}
		}
	}
}

@media screen and (max-width: 1024px) {

}

/* HOVER */
@media screen and (min-width: 820px) {

}

@media screen and (max-width: 820px) {

:root {
    --pad: 0.8rem;
}

}

@media screen and (max-width: 500px) { 

}

@media (prefers-reduced-motion: reduce) {

}