:root{
    --black:#050505;
    --ivory:#f3f2ee;
    --white:#fff;
    --muted:#696969;
    --line:#d7d3ca;
    --silver:#eceae4
}
    
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth
}
body{
    margin:0;
    color:var(--black);
    background:var(--ivory);
    font-family:Helvetica,Arial,sans-serif;
    line-height:1.6
}
img{
    max-width:100%
}
nav{
    position:sticky;
    top:0;
    z-index:20;
    background:rgba(243,242,238,.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line)
}
.nav-inner{
    max-width:1120px;
    margin:0 auto;
    padding:16px 22px;
    display:flex;
    justify-content:center;
    gap:28px
}
.nav-inner a{
    color:var(--black);
    text-decoration:none;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:13px
}
.hero{
    min-height:78vh;
    max-width:1120px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr .85fr;
    gap:44px;
    align-items:center;
    text-align:left;
    padding:72px 22px
}
.hero-card{
    width:100%;
}
.logo-frame{
    background:var(--white);
    border:1px solid var(--line);
    padding:clamp(28px,5vw,56px);
    margin:0;width:100%
}
.logo-frame img{width:100%;
    height:auto;
    display:block;
}
.eyebrow{
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.22em;
    font-weight:900;
    font-size:13px;
}
h1,h2{
    font-family:Georgia,'Times New Roman',serif;
    line-height:1.08;margin:0
}
h1{
    font-size:clamp(34px,5vw,58px);
    margin:18px auto 26px;
    max-width:900px
}
h2{
    font-size:clamp(32px,4vw,52px)
}
.button{
    display:inline-block;
    color:white;background:var(--black);
    padding:14px 26px;
    text-decoration:none;
    font-weight:900;
    margin-top:10px
}
section{
    max-width:1120px;
    margin:0 auto;padding:74px 22px;
    border-top:1px solid var(--line)
}
.row{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:42px;
    align-items:start;
}
.row p{
    color:var(--muted);
    font-size:18px;
    margin:0;
}
.services{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;margin-top:34px;
}
.service-card{
    background:var(--silver);
    padding:26px;
    border:1px solid var(--line);
}
.service-card h3{
    font-size:21px;
    margin:0 0 10px;
}
.service-card p{
    color:var(--muted);
    margin:0;
}
.contact-box{
    background:var(--white);
    color:black;
    padding:clamp(26px,5vw,46px);
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:34px;
    align-items:stretch;
}
.contact-box h2{
    color:black;
    margin-bottom:24px;
}
.contact-eyebrow{
    color:#b9b9b9;
    margin:0 0 12px;
}
.contact-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.contact-info{
    display:grid;
    gap:13px;
}
.contact-info a{
    color:black;
    text-decoration:none;
    border-bottom:1px solid #777;
}
.contact-image{
    margin:0;
    min-height:340px;
    overflow:hidden;
    border:1px solid #3a3a3a;
    background:white;
}
.contact-image img{
    width:100%;
    height:100%;
    min-height:340px;
    display:block;
    object-fit:cover;
    object-position:center;
}
footer{
    text-align:center;
    color:var(--muted);
    padding:24px 20px;
    font-size:14px;
}
@media(
    max-width:850px)
    {.nav-inner{flex-wrap:wrap;gap:18px}.row,.contact-box{grid-template-columns:1fr}.services{grid-template-columns:1fr}.contact-image,.contact-image img{min-height:260px}}

.hero-copy p{color:var(--muted);font-size:19px;max-width:640px}.hero .logo-frame{order:2}.hero .hero-card{order:1}@media(max-width:850px){.hero{grid-template-columns:1fr;text-align:center}.hero .logo-frame{order:1}.hero .hero-card{order:2}.logo-frame{margin:0 auto;width:min(560px,100%)}}
