:root{
    --color-accent:#ff4848;
    --color-bg:#f3efe4;
    --color-text:#4b4b4b;
    --color-text-mute:#727272;
    --color-text-strong:#000000;

    --site-section-padding:100px;
    --site-max-width:1024px;
    --site-max-text-width:800px;
    --site-safe-padding:30px;
    --site-item-h-gap:10px;
    --site-item-v-gap:10px;

    --text-baseline:10px;
    --text-size-nav:17px;
    --text-size-footer:12px;

    --decore-box-size:65px;
}
@media (max-width: 720px){
    :root{
        --site-section-padding:30px;
    }
}
body {
	background: linear-gradient(-45deg, #f3efe4, #f1d6d6, #f3efe4, #f1d6d6);
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;
	height: 100vh;
}

@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

/* Resets */
*{ box-sizing: border-box; }
html, body{ margin:0px; }
a{text-decoration:none;}
h1,h2,h3,h4,h5,h6,p,ul{margin:0; }

.skip-link{
  position: absolute;
  left: 12px;
  top: 12px;
  padding: 10px 12px;
  border-radius:2px;
  background: var(--color-accent);
  color: #fff;
  transform: translateY(-200%);
  transition: transform .15s ease;
  z-index: 9999;
  outline: unset !important;
  text-transform:uppercase;
}

.skip-link:focus{
  transform: translateY(0);
}

/* Custom text selection */
::selection{
  background: var(--color-accent);
  color: #ffffff;
}

::-moz-selection{
  background: var(--color-accent);
  color: #ffffff;
}

:focus-visible{
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

/* Defaults */
body{
    background-color:var(--color-bg);
    color: var(--color-text);
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}
a{color:var(--color-text-strong);}
a:hover, a.active{text-decoration:underline;}
h1,h2,h3,h4,h5,h6{color:var(--color-text-strong);}

body::after{
    content:"";
    position:fixed;
    bottom:0px;
    right:0px;
    width:var(--decore-box-size);
    height:var(--decore-box-size);
    background-color:var(--color-accent);
    rotate:45deg;
    margin-right:calc(var(--decore-box-size) * -0.5);
    margin-bottom:calc(var(--decore-box-size) * -0.5);
}

/* Navs */
nav ul{
    margin: 0;
    list-style: none;
    padding: 0;
    display: flex;
    gap: var(--site-item-h-gap);
}
nav a{
    color:var(--color-text-strong);
    font-size:var(--text-size-nav);
}

/* Text */
h1{
    font-weight: 900;
    line-height: .92;
    letter-spacing: .03em;
    font-size: clamp(36px, 7.5vw, 60px);
    text-transform: uppercase;
}
h1::after{
    content:".";
    color:var(--color-accent);
}
h2{
    font-weight: 900;
    line-height: .92;
    font-size: clamp(32px, 5.2vw, 48px);
}
p,ul{
    font-size: clamp(13px, 2vw, 16px);
    line-height: 1.6;
}


/* Main */
section{
    max-width:var(--site-max-text-width);
    margin:var(--site-section-padding) auto;
    padding:var(--site-safe-padding);
}
section > *{
    margin-bottom:var(--text-baseline);
}
section > *:last-child{
    margin-bottom:0px;
}
section.hero{
    max-width:var(--site-max-width);
    margin:0px auto;
    height:100dvh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
section.hero h1{
    font-size: clamp(60px, 5.2vw, 80px);
    margin-bottom:var(--site-item-v-gap);
}




/* Footer */
footer{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: calc(var(--site-safe-padding) / 2) var(--site-safe-padding);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--site-item-v-gap);
}
footer p{
    color:var(--color-text-mute);
    font-size:var(--text-size-footer);
}

@media (max-width: 720px){
  footer{
    flex-direction: column;
    gap:unset;
  }
  footer nav{
    order: 1;
  }
  footer p{
    order: 2;
  }
}