
*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}

html,
body{
  margin:0;
  padding:0;
  min-height:100%;
}

body{
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.55;
  color:var(--pv-text, #f4f4f5);
  background:var(--pv-bg, #0b0d11);
  overflow-x:hidden;
  user-select:text;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

main{
  display:block;
}

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

img{
  border:0;
}

svg{
  overflow:visible;
}

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

a:hover{
  text-decoration:none;
}

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

button{
  background:none;
  border:0;
  padding:0;
}

button,
[role="button"]{
  cursor:pointer;
}

input,
textarea,
select{
  width:100%;
}

textarea{
  resize:vertical;
}

table{
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
}

ul,
ol{
  margin:0;
  padding-left:1.25rem;
}

p,
figure,
blockquote{
  margin:0;
}

h1,
h2,
h3,
h4,
h5,
h6{
  margin:0;
  font-weight:800;
  letter-spacing:-0.03em;
  line-height:1.08;
  color:var(--pv-text, #f4f4f5);
}

h1{
  font-size:clamp(2.25rem, 5vw, 4.75rem);
}

h2{
  font-size:clamp(1.75rem, 3.5vw, 3rem);
}

h3{
  font-size:clamp(1.125rem, 2vw, 1.5rem);
}

h4{
  font-size:1rem;
}

small{
  font-size:.875em;
}

strong,
b{
  font-weight:800;
}

code,
pre,
kbd,
samp{
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

code{
  font-size:.95em;
}

pre{
  overflow:auto;
  white-space:pre;
}

hr{
  border:0;
  border-top:1px solid var(--pv-line, rgba(255,255,255,.08));
  margin:0;
}

::selection{
  background:rgba(255,138,0,.28);
  color:#fff;
}

:focus-visible{
  outline:2px solid rgba(255,180,84,.95);
  outline-offset:2px;
}

[hidden]{
  display:none !important;
}

[aria-disabled="true"]{
  cursor:not-allowed;
}

body.is-scroll-locked{
  overflow:hidden;
  touch-action:none;
}

.site-shell{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

.site-shell > main{
  flex:1 0 auto;
}