

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

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

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

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

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

button{
    border:none;
    background:none;
    cursor:pointer;
}

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

ul,
ol{
    list-style:none;
}

:root{

--color-white:#ffffff;

--color-background:#FAFAF8;

--color-surface:#ffffff;

--color-text:#171717;

--color-text-light:#6D6D6D;

--color-border:#E8E8E8;

--color-gold:#C4A14C;

--color-gold-dark:#A98938;

--font-family:"Instrument Sans",
"Inter",
sans-serif;

--fs-xs:.75rem;

--fs-sm:.875rem;

--fs-base:1rem;

--fs-md:1.125rem;

--fs-lg:1.5rem;

--fs-xl:2rem;

--fs-2xl:3rem;

--fs-3xl:4.5rem;

--fs-display:clamp(4rem,8vw,8rem);

--fw-light:300;

--fw-normal:400;

--fw-medium:500;

--fw-semibold:600;

--lh-tight:1.05;

--lh-normal:1.6;

--lh-loose:1.8;

--container:1280px;

--radius-sm:10px;

--radius:18px;

--radius-lg:28px;

--radius-full:999px;

--shadow-sm:
0 8px 20px rgba(0,0,0,.04);

--shadow:
0 20px 50px rgba(0,0,0,.06);

--shadow-lg:
0 40px 100px rgba(0,0,0,.08);

--transition:
.35s cubic-bezier(.4,0,.2,1);

--space-1:.5rem;

--space-2:1rem;

--space-3:1.5rem;

--space-4:2rem;

--space-5:3rem;

--space-6:5rem;

--space-7:7rem;

}

body{

font-family:var(--font-family);

font-size:var(--fs-base);

font-weight:var(--fw-normal);

line-height:var(--lh-normal);

background:var(--color-background);

color:var(--color-text);

overflow-x:hidden;

}

h1,
h2,
h3,
h4,
h5,
h6{

font-weight:300;

line-height:1.05;

letter-spacing:-.04em;

color:var(--color-text);

}

h1{

font-size:var(--fs-display);

}

h2{

font-size:clamp(2.5rem,5vw,4.5rem);

}

h3{

font-size:clamp(1.5rem,3vw,2rem);

}

p{

color:var(--color-text-light);

max-width:68ch;

}

small{

font-size:var(--fs-sm);

}

a{

transition:

color var(--transition),

opacity var(--transition);

}

a:hover{

color:var(--color-gold);

}

input,
textarea,
select{

width:100%;

padding:1rem 1.25rem;

background:white;

border:1px solid var(--color-border);

border-radius:var(--radius);

outline:none;

transition:var(--transition);

}

input:focus,
textarea:focus,
select:focus{

border-color:var(--color-gold);

}

:focus-visible{

outline:2px solid var(--color-gold);

outline-offset:4px;

}

::selection{

background:var(--color-gold);

color:white;

}

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#f4f4f4;

}

::-webkit-scrollbar-thumb{

background:#d6d6d6;

border-radius:999px;

}

::-webkit-scrollbar-thumb:hover{

background:var(--color-gold);

}

.text-center{

text-align:center;

}

.text-right{

text-align:right;

}

.mt-1{

margin-top:var(--space-1);

}

.mt-2{

margin-top:var(--space-2);

}

.mt-3{

margin-top:var(--space-3);

}

.mt-4{

margin-top:var(--space-4);

}

.mt-5{

margin-top:var(--space-5);

}

.mb-1{

margin-bottom:var(--space-1);

}

.mb-2{

margin-bottom:var(--space-2);

}

.mb-3{

margin-bottom:var(--space-3);

}

.mb-4{

margin-bottom:var(--space-4);

}

.mb-5{

margin-bottom:var(--space-5);

}

.hide{

display:none !important;

}

.visually-hidden{

position:absolute;

width:1px;

height:1px;

padding:0;

margin:-1px;

overflow:hidden;

clip:rect(0,0,0,0);

white-space:nowrap;

border:0;

}

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

html{

scroll-behavior:auto;

}

*{

animation:none !important;

transition:none !important;

}

}