*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-family:"Inter",Helvetica,Arial,sans-serif;line-height:1.5}
h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* ---- layout ---- */
.relative{position:relative}
.absolute{position:absolute}
.inset-0{inset:0}
.flex{display:flex}
.items-end{align-items:flex-end}
.w-full{width:100%}
.h-full{height:100%}
.min-h-svh{min-height:100svh}
.max-w-screen-md{max-width:768px}
.mx-auto{margin-left:auto;margin-right:auto}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.pb-20{padding-bottom:5rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.mt-4{margin-top:1rem}

/* ---- image ---- */
.object-cover{object-fit:cover}

/* ---- typography ---- */
.text-5xl{font-size:3rem;line-height:1}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.font-semibold{font-weight:600}
.tracking-tight{letter-spacing:-.025em}

/* ---- color ---- */
.bg-neutral-950{background-color:#0a0a0a}
.bg-neutral-900{background-color:#171717}
.text-white{color:#fff}
.text-neutral-400{color:#a3a3a3}
.border-t{border-top-width:1px;border-top-style:solid}
.border-neutral-800{border-color:#262626}

/* ---- nav ---- */
.nav{
    position:fixed;
    top:0;
    right:0;
    padding:1.25rem 1.5rem;
    z-index:10;
}
.nav-link{
    font-size:.8125rem;
    color:#e5e5e5;
    background-color:rgba(0,0,0,.65);
    border:1px solid rgba(255,255,255,.2);
    border-radius:.5rem;
    padding:.3rem .75rem;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    transition:color 150ms ease,background-color 150ms ease,border-color 150ms ease;
}
.nav-link:hover{color:#fff;background-color:rgba(0,0,0,.6);border-color:rgba(255,255,255,.35)}

/* ---- gradient overlay ---- */
.bg-gradient-to-t{background-image:linear-gradient(to top,#0a0a0a,rgba(10,10,10,.6),transparent)}

/* ---- about ---- */
.about-main{
    min-height:100svh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7rem;
    padding:6rem 1.5rem 1rem;
}
.about-content{
    max-width:480px;
    text-align:center;
}
.cheese-section{
    text-align:center;
}
.about-cheese-video{
    width:300px;
    height:300px;
    border-radius:50%;
    object-fit:cover;
    margin:0 auto;
}
.about-cheese{
    font-size:.6875rem;
    color:#3f3f3f;
    letter-spacing:.03em;
    margin-top:.75rem;
    margin-left:auto;
    width:fit-content;
    padding-right:2rem;
}
.about-text{
    font-size:1.25rem;
    line-height:1.7;
    color:#a3a3a3;
}
.about-text+.about-text{
    margin-top:.75rem;
    font-size: 0.75rem;
}

/* ---- footer ---- */
.footer{background-color:#111;border-top:1px solid #262626}
.footer-inner{max-width:768px;margin:0 auto;padding:3rem 1.5rem}

.footer-label{
    font-size:.75rem;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:#525252;
}
.footer-email{
    display:block;
    margin-top:.5rem;
    font-size:1.125rem;
    color:#e5e5e5;
    transition:color 150ms ease;
}
.footer-email:hover{color:#fff}

.footer-copy{
    margin-top:1.5rem;
    font-size:.75rem;
    color:#525252;
    text-align:center;
}

/* ---- responsive ---- */
@media(min-width:640px){
    .sm\:text-7xl{font-size:4.5rem;line-height:1}
    .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}
    .about-cheese-video{width:500px;height:500px}
}
