/* === Reset & Base === */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html,
body {
  height: 100%;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

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

ul,
ol {
  list-style: none;
}

:where(a, button, [role="button"], [tabindex]):focus-visible {
  outline: 3px solid #176c70;
  outline-offset: 4px;
}

button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}

i {
  font-style: normal;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* === Local Fonts === */
@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('../font/Helvetica_Neue/HelveticaNeueLTPro-Lt.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('../font/Helvetica_Neue/HelveticaNeueLTPro-Roman.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('../font/Helvetica_Neue/HelveticaNeueLTPro-It.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('../font/Helvetica_Neue/HelveticaNeueLTPro-Md.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'HelveticaNeueLTPro';
  src: url('../font/Helvetica_Neue/HelveticaNeueLTPro-Hv.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  font-style: normal;
  font-weight: 100 900;
  src: url('../font/Pretendard/PretendardVariable.woff2') format('woff2-variations');
  font-display: swap;
}

/* === Theme Vars === */
:root {
  --bg: #fdfdfd;
  --txt: #0e0f12;
  --split: 0;
  --mouthPx: 0px;
  --split-open-distance: 0vh;
  --under-threshold: 0.10;
  --under-reveal: 0;
  --under-scale: 1;
  --under-dim: 0;
  --about-shift: 0px;
  --A-stroke-width: 7px;
  --A-stroke-color: #fff;
  --A-y: 0.07em;
  --topcloud: 0;
}

html {
  scroll-behavior: auto;
}

body {
  font-family: 'HelveticaNeueLTPro', sans-serif;
  background: var(--bg);
  color: var(--txt);
  overflow-x: hidden;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

