:root{
  --emerald:#06261e;
  --emerald2:#0b3328;
  --emerald3:#102f26;
  --gold:#c7a566;
  --gold2:#e2c98e;
  --cream:#efe8d8;
  --cream2:#d8c8a8;
  --ink:#102119;
  --stone:#a99778;
  --clay:#7a3d27;
  --oak:#4a2b18;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--emerald);
  color:var(--cream);
  font-family:Georgia,"Times New Roman",serif;
}
.grain{
  position:fixed;inset:0;pointer-events:none;z-index:50;
  opacity:.08;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.8) 0 1px, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.5) 0 1px, transparent 1px);
  background-size:5px 5px,7px 7px;
  mix-blend-mode:soft-light;
}
.nav{
  position:fixed;z-index:20;top:0;left:0;right:0;
  display:flex;align-items:center;justify-content:space-between;
  padding:26px clamp(24px,4vw,64px);
  background:linear-gradient(to bottom,rgba(6,38,30,.96),rgba(6,38,30,.72),transparent);
}
.brand{
  color:var(--gold2);text-decoration:none;letter-spacing:.28em;
  font-size:14px;display:flex;align-items:center;gap:14px;
}
.brand-mark{font-size:16px}
.nav nav{display:flex;gap:28px}
.nav a:not(.brand){
  color:rgba(239,232,216,.86);text-decoration:none;
  text-transform:uppercase;letter-spacing:.17em;font-size:12px;
}
.hero{
  position:relative;min-height:100vh;overflow:hidden;
  display:flex;align-items:center;
  padding:150px clamp(26px,8vw,120px) 90px;
  background:
    radial-gradient(circle at 72% 40%,rgba(199,165,102,.22),transparent 24%),
    radial-gradient(circle at 88% 75%,rgba(0,0,0,.55),transparent 34%),
    linear-gradient(110deg,#041b15 0%,#08291f 48%,#12372c 100%);
}
.hero:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.28),transparent 60%);
}
.hero-copy{position:relative;z-index:2;max-width:880px}
.eyebrow{
  color:var(--gold);text-transform:uppercase;letter-spacing:.38em;
  font-size:12px;margin-bottom:24px;
}
h1,h2,h3,p{margin-top:0}
h1{
  font-weight:400;line-height:.92;letter-spacing:.015em;
  font-size:clamp(56px,9vw,132px);
  margin-bottom:30px;
}
h2{
  font-weight:400;line-height:1.02;font-size:clamp(38px,5.6vw,78px);
}
h3{
  font-weight:400;font-size:clamp(26px,2.4vw,38px);
  margin-bottom:16px;color:var(--cream);
}
p{
  color:rgba(239,232,216,.82);
  font-size:20px;line-height:1.75;
}
.hero p{max-width:580px;font-size:23px}
.button,button{
  appearance:none;border:1px solid var(--gold);background:transparent;color:var(--gold2);
  text-decoration:none;display:inline-block;padding:16px 28px;margin-top:24px;
  text-transform:uppercase;letter-spacing:.19em;font-size:12px;cursor:pointer;
  transition:.3s ease;
}
.button:hover,button:hover{background:rgba(199,165,102,.12)}
.hero-note{
  position:absolute;z-index:2;right:clamp(22px,4vw,70px);bottom:42px;
  display:flex;gap:22px;color:var(--gold);letter-spacing:.22em;text-transform:uppercase;font-size:11px;
}
.arch{
  position:absolute;border:1px solid rgba(199,165,102,.22);border-bottom:0;
  border-radius:50% 50% 0 0;right:10vw;bottom:0;opacity:.55;
}
.arch-one{width:360px;height:610px}
.arch-two{width:260px;height:470px;right:16vw}

.statement{
  padding:110px clamp(26px,12vw,180px);
  background:var(--cream);color:var(--ink);
}
.statement p{
  color:var(--ink);font-size:clamp(30px,4.2vw,58px);
  line-height:1.28;max-width:1160px;
}

.services{padding:120px clamp(26px,7vw,110px)}
.section-heading{max-width:850px;margin-bottom:58px}
.service-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(199,165,102,.35);
  border-left:1px solid rgba(199,165,102,.35);
}
.service-grid article{
  min-height:430px;padding:42px 34px;border-right:1px solid rgba(199,165,102,.35);
  background:linear-gradient(180deg,#0a2d23,#051d17);
}
.service-grid span{color:var(--gold);letter-spacing:.3em}
.service-grid h3{margin-top:120px}
.service-grid p{font-size:17px}

.feature{
  display:grid;grid-template-columns:1.2fr .8fr;gap:42px;
  padding:120px clamp(26px,8vw,120px);
  background:linear-gradient(135deg,#efe8d8,#d9c9aa);
  color:var(--ink);
}
.feature p,.feature h2{color:var(--ink)}
.feature-card{
  border:1px solid rgba(16,33,25,.25);padding:44px;
  background:rgba(255,255,255,.28);
}
.small-title{color:var(--emerald);letter-spacing:.3em;text-transform:uppercase;font-size:12px;margin-bottom:24px}
ol{margin:0;padding-left:22px;color:var(--ink);font-size:22px;line-height:2}

.materials{
  display:grid;grid-template-columns:36% 64%;min-height:820px;
  border-top:1px solid rgba(199,165,102,.35);
  border-bottom:1px solid rgba(199,165,102,.35);
}
.panel{
  padding:90px 56px;background:#041d17;
  display:flex;flex-direction:column;justify-content:center;
  border-right:1px solid rgba(199,165,102,.35);
}
.floral{color:var(--gold);font-size:34px;margin-bottom:40px}
.material-grid{display:grid;grid-template-columns:1fr 1fr}
.tile{
  min-height:260px;padding:32px;display:flex;align-items:flex-end;
  border-right:1px solid rgba(199,165,102,.18);
  border-bottom:1px solid rgba(199,165,102,.18);
  position:relative;overflow:hidden;
}
.tile:before{
  content:"";position:absolute;inset:0;opacity:.28;
  background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.4),transparent 25%);
}
.tile span{
  position:relative;color:var(--gold2);letter-spacing:.18em;text-transform:uppercase;font-size:13px;
}
.green{background:linear-gradient(135deg,#103a2d,#041b15)}
.brass{background:linear-gradient(135deg,#7b6541,#1b140d)}
.stone{background:linear-gradient(135deg,#b8a985,#5b503b)}
.clay{background:linear-gradient(135deg,#8a4329,#23120d)}
.oak{background:linear-gradient(135deg,#59321e,#120907);grid-column:1/3}

.journal{padding:120px clamp(26px,7vw,110px);background:#08271f}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.journal article{
  background:#041d17;border:1px solid rgba(199,165,102,.25);
  padding:18px 18px 32px;
}
.image{height:360px;margin-bottom:28px;background-size:cover;background-position:center}
.image-estate{background:linear-gradient(135deg,rgba(8,40,31,.15),rgba(0,0,0,.55)),radial-gradient(circle at 50% 45%,#d5b27a,#1b2c24 55%,#0b1b16)}
.image-garden{background:linear-gradient(135deg,rgba(8,40,31,.1),rgba(0,0,0,.45)),radial-gradient(circle at 42% 44%,#c6cda4,#324b32 48%,#0d221b)}
.image-country{background:linear-gradient(135deg,rgba(8,40,31,.1),rgba(0,0,0,.5)),radial-gradient(circle at 50% 45%,#b9935c,#34422f 50%,#101d18)}
.journal h3,.journal p{padding:0 10px}
.journal p{font-size:17px}

.inquiries{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;
  padding:120px clamp(26px,8vw,120px);
  background:#041b15;
}
form{display:grid;gap:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
input,textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid rgba(199,165,102,.55);
  color:var(--cream);padding:18px 0;font:18px Georgia,"Times New Roman",serif;
}
textarea{min-height:150px;resize:vertical}
input::placeholder,textarea::placeholder{color:rgba(239,232,216,.45)}

footer{
  display:flex;justify-content:space-between;gap:24px;
  padding:42px clamp(26px,4vw,64px);
  color:var(--gold);border-top:1px solid rgba(199,165,102,.28);
  text-transform:uppercase;letter-spacing:.22em;font-size:12px;
}
.footer-brand{font-size:18px;letter-spacing:.3em;margin-right:18px}

@media(max-width:980px){
  .nav nav{display:none}
  .hero-note{display:none}
  .service-grid,.journal-grid{grid-template-columns:1fr 1fr}
  .materials,.feature,.inquiries{grid-template-columns:1fr}
  .panel{border-right:0}
}
@media(max-width:640px){
  .nav{padding:22px 24px}
  .hero{padding:135px 26px 70px}
  .service-grid,.journal-grid,.row{grid-template-columns:1fr}
  .service-grid article{min-height:340px}
  .service-grid h3{margin-top:80px}
  .tile{min-height:190px}
  .oak{grid-column:auto}
  footer{display:block;line-height:2.2}
}
