:root{
--bg:#FAFAF7;--bg-warm:#F3F1EC;--bg-sage:#EEF2EE;
--charcoal:#1C1C1C;--charcoal-soft:#3A3A3A;--charcoal-light:#6B6B6B;
--sage:#7A8C72;--sage-deep:#5E7055;--sage-pale:#D5DDD2;
--beige:#C8B9A5;--beige-light:#E2D8CC;--beige-pale:#F0EBE3;
--gold:#B8A074;--gold-light:#D4C4A8;
--text:#1C1C1C;--text-body:#4A4A4A;--text-light:#8A8A8A;
--white:#fff;
--font-display:'Cormorant',Georgia,serif;
--font-body:'Sora',system-ui,sans-serif;
--max-w:1080px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.7}
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 clamp(1.5rem,5vw,3rem)}
.wrap-n{max-width:720px;margin:0 auto;padding:0 clamp(1.5rem,5vw,3rem)}
img{max-width:100%;display:block}
::selection{background:var(--sage-pale);color:var(--charcoal)}
a{color:inherit}

/* NAV */
nav{padding:1.4rem 0;border-bottom:1px solid var(--beige-light)}
nav .wrap{display:flex;justify-content:space-between;align-items:center}
.n-logo{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--charcoal);text-decoration:none}
.n-links{display:flex;list-style:none;gap:1.8rem;align-items:center}
.n-links a{font-size:0.7rem;font-weight:500;color:var(--charcoal-light);text-decoration:none;letter-spacing:0.1em;text-transform:uppercase;transition:color 0.3s}
.n-links a:hover{color:var(--sage-deep)}
.n-cta{background:var(--charcoal)!important;color:var(--bg)!important;padding:0.55rem 1.3rem;border-radius:4px;font-size:0.68rem!important;transition:opacity 0.3s!important}
.n-cta:hover{opacity:0.85!important}
.mob{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px}
.mob span{width:20px;height:1px;background:var(--charcoal)}

/* TYPE */
h1{font-family:var(--font-display);font-size:clamp(2.1rem,4.5vw,3.2rem);font-weight:400;line-height:1.15;color:var(--charcoal)}
h2{font-family:var(--font-display);font-size:clamp(1.7rem,3.5vw,2.5rem);font-weight:400;line-height:1.22;color:var(--charcoal)}
h3{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--charcoal)}
h1 em,h2 em,h3 em{font-style:italic;color:var(--sage-deep)}
.eye{font-size:0.6rem;font-weight:600;letter-spacing:0.3em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:0.85rem}
.bt{font-size:0.93rem;line-height:1.9;color:var(--text-body);font-weight:300}
.bt strong{font-weight:500;color:var(--charcoal)}
.pq{font-family:var(--font-display);font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:400;font-style:italic;line-height:1.55;color:var(--charcoal-soft)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.95rem 2.2rem;border-radius:4px;text-decoration:none;font-family:var(--font-body);font-size:0.72rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;transition:all 0.3s;border:none;cursor:pointer}
.btn-d{background:var(--charcoal);color:var(--bg);box-shadow:0 3px 16px rgba(28,28,28,0.15);letter-spacing:0.1em}
.btn-d:hover{opacity:0.85;transform:translateY(-1px)}
.btn-o{background:transparent;color:var(--charcoal);border:1.5px solid var(--sage-pale)}
.btn-o:hover{border-color:var(--charcoal)}
.cta-row{display:flex;gap:1.25rem;flex-wrap:wrap;margin-top:1.5rem}
.cta-row a{font-size:0.82rem;color:var(--sage-deep);text-decoration:none;display:flex;align-items:center;gap:0.3rem}
.cta-row a:hover{text-decoration:underline}

/* SECTIONS */
section{padding:clamp(5rem,12vw,8rem) 0}
.div{width:40px;height:1px;background:var(--beige);margin:3rem auto}
.bl{padding-left:1.25rem;border-left:2px solid var(--sage-pale);margin:0}

/* FOOTER */
footer{background:var(--charcoal);color:rgba(255,255,255,0.5);padding:3.5rem 0 1.5rem}
.ft-g{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}
.ft-b{font-family:var(--font-display);font-size:1.2rem;font-weight:400;color:var(--white);margin-bottom:0.75rem}
footer p{font-size:0.75rem;line-height:1.7;font-weight:300}
.ft-h{font-size:0.58rem;font-weight:600;text-transform:uppercase;letter-spacing:0.2em;color:rgba(255,255,255,0.65);margin-bottom:0.85rem}
footer ul{list-style:none}footer ul li{margin-bottom:0.4rem}
footer ul a{color:rgba(255,255,255,0.5);text-decoration:none;font-size:0.75rem;font-weight:300;transition:color 0.3s}
footer ul a:hover{color:var(--white)}
.ft-seo{font-size:0.63rem;line-height:1.6;color:rgba(255,255,255,0.2);margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.06)}
.ft-end{padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.06);font-size:0.63rem;font-weight:300;display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.5rem}
.ft-soc{display:flex;gap:1.25rem}
.ft-soc a{color:rgba(255,255,255,0.4);font-size:0.72rem;text-decoration:none;transition:color 0.3s}
.ft-soc a:hover{color:var(--white)}

/* RESPONSIVE */
@media(max-width:768px){
.n-links{display:none}.n-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:2rem;gap:1.25rem;border-bottom:1px solid var(--beige-light);z-index:100}.mob{display:flex}nav{position:relative}
.ft-g{grid-template-columns:1fr}
.hero-grid{grid-template-columns:1fr!important}
.hero-photo{max-width:320px!important;margin:0 auto 2rem!important;order:-1!important}
.about-grid{grid-template-columns:1fr!important}
.about-photo{max-width:280px;margin:0 auto 2rem!important}
.areas-g{grid-template-columns:1fr!important}
}
