:root{

    --color-bg:#F8F6F2;
    --color-white:#ffffff;

    --color-text:#202124;
    --color-text-light:#6B7280;

    --color-accent:#556B5D;
    --color-accent-hover:#465A4D;

    --color-border:#E7E5E4;

    --radius:12px;

    --container:1200px;

    --space-1:.25rem;
    --space-2:.5rem;
    --space-3:1rem;
    --space-4:1.5rem;
    --space-5:2rem;
    --space-6:3rem;
    --space-7:4rem;
    --space-8:6rem;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    margin:0;

    background:var(--color-bg);

    color:var(--color-text);

    font-family:Inter,sans-serif;

    line-height:1.75;

    font-size:20px;

}

.container{

    width:min(var(--container),calc(100% - 48px));

    margin:auto;

}

/* ==========================
   Header
========================== */

.site-header{

    position:sticky;

    top:0;

    z-index:1000;

    background:rgba(248,246,242,.92);

    backdrop-filter:blur(14px);

    border-bottom:1px solid var(--color-border);

}

.header-inner{

    display:flex;

    justify-content:space-between;

    align-items:center;

    min-height:82px;

}

.site-logo{

    color:var(--color-text);

    text-decoration:none;

    font-size:28px;

    font-weight:600;

    font-family:"Cormorant Garamond",serif;

}

.main-menu{

    display:flex;

    gap:40px;

    list-style:none;

    margin:0;

    padding:0;

}

.main-menu a{

    color:var(--color-text);

    text-decoration:none;

    transition:.25s;

}

.main-menu a:hover{

    color:var(--color-accent);

}

/* ==========================
   Footer
========================== */

.site-footer{

    padding:80px 0;

    border-top:1px solid var(--color-border);

    margin-top:120px;

}

.footer-content{

    text-align:center;

}

.footer-title{

    font-size:28px;

    margin:0;

    font-weight:600;

}

.footer-text{

    color:var(--color-text-light);

    margin:12px 0 32px;

}

.footer-copy{

    color:var(--color-text-light);

    font-size:16px;

}

/* ==========================
   Hero
========================== */

.hero{

    min-height:calc(100vh - 82px);

    display:flex;

    align-items:center;

}

.hero-container{

    max-width:900px;

}

.hero-label{

    display:inline-block;

    margin-bottom:24px;

    text-transform:uppercase;

    letter-spacing:.12em;

    color:var(--color-accent);

    font-size:14px;

}

.hero-title{

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(52px,7vw,88px);

    line-height:1.05;

    font-weight:500;

    margin:0 0 40px;

}

.hero-description{

    max-width:720px;

    color:var(--color-text-light);

    font-size:22px;

    line-height:1.8;

}

.hero-actions{

    display:flex;

    gap:20px;

    margin-top:56px;

    flex-wrap:wrap;

}

.button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    height:56px;

    padding:0 34px;

    border-radius:12px;

    text-decoration:none;

    transition:.25s;

    font-family:Inter,sans-serif;

    font-weight:500;

}

.button-primary{

    background:var(--color-accent);

    color:white;

}

.button-primary:hover{

    background:var(--color-accent-hover);

}

.button-secondary{

    border:1px solid var(--color-border);

    color:var(--color-text);

}

.button-secondary:hover{

    background:white;

}

/* ==========================
   Mobile
========================== */

@media (max-width:900px){

.hero{

    min-height:auto;

    padding:120px 0 80px;

}

.hero-title{

    font-size:54px;

}

.hero-description{

    font-size:20px;

}

.main-menu{

    gap:18px;

    font-size:16px;

}

}

@media (max-width:640px){

.header-inner{

    flex-direction:column;

    justify-content:center;

    gap:18px;

    padding:20px 0;

}

.hero-title{

    font-size:42px;

}

.hero-description{

    font-size:18px;

}

.hero-actions{

    flex-direction:column;

}

.button{

    width:100%;

}

}


/* ==========================
   Contact
========================== */

.contact-section{

    padding:120px 0;

}

.contact-card{

    max-width:760px;

    margin:auto;

    padding:64px;

    background:#fff;

    border:1px solid var(--color-border);

    border-radius:20px;

    text-align:center;

}

.contact-card h2{

    margin-top:0;

    font-size:48px;

    font-family:"Cormorant Garamond",serif;

    font-weight:500;

}

.contact-links{

    display:flex;

    justify-content:center;

    gap:20px;

    margin:48px 0;

    flex-wrap:wrap;

}

.contact-email{

    color:var(--color-text-light);

}

.contact-email a{

    color:var(--color-accent);

    text-decoration:none;

}

/* ==========================
   About
========================== */

.section{

    padding:120px 0;

}

.section h2{

    margin:0 0 32px;

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(42px,5vw,64px);

    font-weight:500;

    line-height:1.1;

}

.section p{

    max-width:760px;

    font-size:22px;

    line-height:1.8;

    color:var(--color-text-light);

}
