
:root{
  --forest:#0f241d;
  --forest-deep:#0b1914;
  --forest-soft:#18352b;
  --ivory:#f4efe4;
  --paper:#f8f4ec;
  --paper-deep:#ece4d4;
  --ink:#18201d;
  --muted:#68706a;
  --brass:#9d7246;
  --brass-soft:#b89266;
  --navy:#1a2737;
  --oxblood:#4d2a2f;
  --line:rgba(24,32,29,.14);
  --white:#ffffff;
  --shadow:0 26px 70px rgba(8,18,14,.12);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.3), transparent 20%),
    radial-gradient(circle at 80% 70%, rgba(157,114,70,.05), transparent 18%),
    linear-gradient(var(--paper), var(--paper));
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.065;
  background-image:
    linear-gradient(rgba(24,32,29,.11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24,32,29,.08) 1px, transparent 1px);
  background-size:3px 3px, 5px 5px;
  mix-blend-mode:multiply;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1200px, calc(100% - 48px));margin:0 auto}
.section{padding:110px 0;position:relative}
.section.tight{padding:82px 0}
.rule{height:1px;background:var(--line)}
.display{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:.98;
}
.eyebrow{
  display:inline-block;
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:.72rem;
  font-weight:700;
  color:var(--brass);
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  min-height:52px;
  padding:0 24px;
  border:1px solid transparent;
  font-size:.76rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  transition:.25s ease;
  cursor:pointer;
}
.btn-primary{background:var(--forest);color:var(--ivory)}
.btn-primary:hover{background:var(--navy);transform:translateY(-1px)}
.btn-outline{background:transparent;border-color:rgba(244,239,228,.34);color:var(--ivory)}
.btn-outline:hover{background:rgba(255,255,255,.06)}
.btn-light{background:var(--ivory);color:var(--forest)}
.btn-light:hover{background:#fff}

.nav{
  position:absolute;
  z-index:40;
  inset:0 0 auto 0;
  color:var(--ivory);
  border-bottom:1px solid rgba(255,255,255,.11);
}
.nav-inner{
  height:96px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.brand-mark{
  width:52px;
  height:52px;
  object-fit:contain;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.18));
}
.brand-text{
  font-family:var(--serif);
  letter-spacing:.14em;
  font-size:.92rem;
  line-height:1.15;
}
.brand-text small{
  display:block;
  font-family:var(--sans);
  font-size:.55rem;
  letter-spacing:.3em;
  margin-top:4px;
  color:var(--brass-soft);
}
.nav-links{
  display:flex;
  gap:30px;
  align-items:center;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nav-links a{opacity:.92}
.nav-links a:hover{color:var(--brass-soft)}
.nav-links .contact-link{
  border:1px solid rgba(255,255,255,.34);
  padding:11px 16px;
}
.mobile-toggle{
  display:none;
  background:none;
  border:0;
  color:inherit;
  font-size:1.45rem;
}

.hero{
  min-height:940px;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  color:var(--ivory);
  background:
    radial-gradient(circle at 83% 18%, rgba(157,114,70,.12), transparent 17%),
    linear-gradient(118deg, rgba(15,36,29,.995), rgba(15,36,29,.97) 48%, rgba(26,39,55,.93)),
    #0f241d;
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.10;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to right, transparent, #000 25%, #000);
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(to bottom, rgba(11,25,20,.15), transparent 24%, transparent 76%, rgba(11,25,20,.35)),
    radial-gradient(circle at 20% 25%, rgba(184,146,102,.06), transparent 28%);
}
.hero-crest{
  width:min(420px, 54vw);
  margin:0 0 36px;
}
.hero-grid{
  position:relative;
  z-index:2;
  width:100%;
  padding-top:110px;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:56px;
  align-items:center;
}
.hero-copy{
  max-width:780px;
}
.hero-copy:before{
  content:"";
  display:block;
  width:84px;
  height:1px;
  background:var(--brass);
  margin-bottom:28px;
}
.hero h1{
  font-size:clamp(4.4rem, 8.5vw, 8.5rem);
  margin:0 0 22px;
}
.hero .subhead{
  font-family:var(--serif);
  font-size:clamp(1.22rem, 2vw, 1.7rem);
  line-height:1.48;
  color:#e1d8c9;
  max-width:760px;
}
.hero .pillars{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin:34px 0 42px;
  color:#d8cebf;
  font-size:.78rem;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.hero .pillars span{
  display:flex;
  align-items:center;
  gap:14px;
}
.hero .pillars span:not(:last-child):after{
  content:"◆";
  font-size:.45rem;
  color:var(--brass);
}
.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.hero-aside{
  padding:42px 38px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  box-shadow:var(--shadow);
  backdrop-filter: blur(1px);
  align-self:end;
  margin-bottom:36px;
}
.hero-aside .eyebrow{color:#c2a17e}
.hero-aside h3{
  margin:18px 0 18px;
  font-family:var(--serif);
  font-size:2.15rem;
  font-weight:400;
}
.hero-aside p{
  color:#d1d4cf;
  margin:0 0 18px;
}
.hero-note{
  position:absolute;
  inset:auto 0 0 0;
  border-top:1px solid rgba(255,255,255,.11);
}
.hero-note .container{
  height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#bfc6bf;
  font-size:.74rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.hero-note .accent{color:var(--brass-soft)}

.intro-wrap{
  background:
    linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.25)),
    linear-gradient(var(--paper), var(--paper));
  border:1px solid rgba(24,32,29,.07);
  box-shadow:var(--shadow);
  padding:55px 50px;
}
.intro-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:86px;
  align-items:start;
  position:relative;
}
.intro-grid:before{
  content:"";
  position:absolute;
  left:0;
  top:-12px;
  width:46px;
  height:3px;
  background:var(--oxblood);
}
.intro-grid h2{font-size:clamp(2.8rem, 5vw, 5rem);margin:12px 0 0}
.intro-copy{font-size:1.08rem;color:#3d4641}
.intro-copy p:first-child{
  font-family:var(--serif);
  font-size:1.58rem;
  line-height:1.5;
  color:var(--ink);
  margin-top:4px;
}
.feature-band{
  background:
    linear-gradient(90deg, var(--forest) 0%, var(--forest) 50%, var(--navy) 50%, var(--navy) 100%);
}
.pillars-grid{display:grid;grid-template-columns:1fr 1fr}
.pillar{
  min-height:550px;
  padding:72px 66px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden;
}
.pillar.business{color:var(--ivory)}
.pillar.realestate{color:var(--ivory)}
.pillar:before{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:340px;
  height:340px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.11);
}
.pillar:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 82% 20%, rgba(184,146,102,.09), transparent 18%),
    linear-gradient(to top, rgba(0,0,0,.18), transparent 40%);
}
.pillar .number{
  position:absolute;
  top:56px;
  left:66px;
  color:var(--brass-soft);
  font-size:.72rem;
  letter-spacing:.18em;
}
.pillar h3{
  font-family:var(--serif);
  font-size:3.35rem;
  font-weight:400;
  margin:0 0 18px;
  position:relative;
  z-index:2;
}
.pillar p{
  max-width:520px;
  color:#d4d5d0;
  margin:0 0 28px;
  position:relative;
  z-index:2;
}
.text-link{
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--brass-soft);
  font-weight:700;
  position:relative;
  z-index:2;
}
.criteria-wrap{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:80px;
}
.criteria-wrap h2{font-size:4rem;margin:10px 0 25px}
.criteria-list{border-top:1px solid var(--line)}
.criteria-item{
  padding:29px 0;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:42px 1fr;
  gap:18px;
}
.criteria-item strong{
  font-family:var(--serif);
  font-size:1.35rem;
  font-weight:400;
}
.criteria-item p{margin:7px 0 0;color:var(--muted)}
.criteria-item .dot{
  width:9px;height:9px;background:var(--brass);
  transform:rotate(45deg);margin-top:12px;
}
.quote-band{
  background:
    linear-gradient(120deg, var(--oxblood), #603338);
  color:var(--ivory);
  padding:78px 0;
}
.quote-band blockquote{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(2.1rem, 4vw, 4rem);
  line-height:1.15;
  max-width:1000px;
}
.quote-band .byline{
  margin-top:24px;
  font-size:.73rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#d9beb8;
}

.page-hero{
  min-height:480px;
  background:
    radial-gradient(circle at 84% 18%, rgba(157,114,70,.12), transparent 16%),
    linear-gradient(118deg, rgba(15,36,29,.99), rgba(15,36,29,.95) 48%, rgba(26,39,55,.92));
  color:var(--ivory);
  padding:190px 0 92px;
  position:relative;
}
.page-hero h1{font-size:clamp(3.8rem, 7vw, 6.6rem);margin:15px 0 15px}
.page-hero p{max-width:720px;font-size:1.22rem;color:#d7d8d2}
.page-hero .nav{position:absolute}

.content-grid{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:100px;
}
.content-grid h2{font-size:3.5rem;margin:0}
.content-grid .copy{font-size:1.07rem;color:#3f4843}
.content-grid .copy p:first-child{
  font-family:var(--serif);
  font-size:1.55rem;
  line-height:1.5;
  color:var(--ink);
}
.cards-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,.3)),
    linear-gradient(var(--paper), var(--paper));
  border:1px solid rgba(24,32,29,.09);
  padding:38px;
  min-height:290px;
  box-shadow:0 10px 26px rgba(9,15,13,.04);
}
.card .kicker{
  color:var(--brass);
  font-size:.7rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.card h3{
  font-family:var(--serif);
  font-size:2rem;
  font-weight:400;
  margin:26px 0 14px;
}
.card p{color:var(--muted)}

.contact-panel{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  background:#fff;
  border:1px solid rgba(24,32,29,.08);
  box-shadow:var(--shadow);
}
.contact-side{
  background:
    radial-gradient(circle at 82% 16%, rgba(157,114,70,.12), transparent 18%),
    linear-gradient(135deg, var(--forest), var(--forest-soft));
  color:var(--ivory);
  padding:58px;
}
.contact-side h2{font-size:3rem;margin:8px 0 20px}
.contact-side p{color:#d9ddd8}
.contact-main{padding:58px;background:linear-gradient(var(--paper), var(--paper))}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-group.full{grid-column:1/-1}
label{
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
}
input,textarea,select{
  width:100%;
  border:0;
  border-bottom:1px solid #bac0bb;
  padding:13px 2px;
  background:transparent;
  font:inherit;
  color:var(--ink);
  outline:none;
}
input:focus,textarea:focus,select:focus{border-bottom-color:var(--brass)}
textarea{min-height:135px;resize:vertical}
.form-note{font-size:.76rem;color:var(--muted);margin-top:15px}

.footer{
  background:
    linear-gradient(135deg, var(--forest-deep), #10251d);
  color:#d8d5ca;
  padding:68px 0 30px;
}
.footer-grid{display:grid;grid-template-columns:1.4fr .6fr .6fr;gap:70px}
.footer .brand{margin-bottom:25px}
.footer p{color:#9fa8a2;max-width:500px}
.footer h4{
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--brass-soft);
}
.footer ul{list-style:none;padding:0;margin:15px 0 0}
.footer li{margin:9px 0;color:#b8bdb8;font-size:.9rem}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:50px;
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  color:#7f8b85;
  font-size:.72rem;
}

@media (max-width:980px){
  .nav-links{
    display:none;
    position:absolute;
    top:96px;
    left:0;right:0;
    background:#0b1d17;
    padding:28px 22px;
    flex-direction:column;
    align-items:flex-start;
  }
  .nav-links.open{display:flex}
  .mobile-toggle{display:block}
  .hero{min-height:980px}
  .hero-grid{grid-template-columns:1fr;gap:26px;padding-top:128px}
  .hero-aside{margin-bottom:82px}
  .intro-grid,.criteria-wrap,.content-grid,.contact-panel{grid-template-columns:1fr;gap:44px}
  .pillars-grid,.cards-3{grid-template-columns:1fr}
  .pillar{min-height:440px;padding:50px 34px}
  .pillar .number{left:34px}
  .feature-band{background:linear-gradient(180deg, var(--forest) 0%, var(--forest) 50%, var(--navy) 50%, var(--navy) 100%)}
  .footer-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .container{width:min(100% - 28px, 1200px)}
  .section{padding:80px 0}
  .nav-inner{height:84px}
  .hero{min-height:900px}
  .hero h1{font-size:4.05rem}
  .hero .subhead{font-size:1.12rem}
  .hero-note{display:none}
  .hero-aside{padding:30px 24px}
  .intro-wrap{padding:36px 26px}
  .page-hero{padding-top:158px}
  .form-grid{grid-template-columns:1fr}
  .contact-side,.contact-main{padding:36px 26px}
  .footer-bottom{display:block}
}


/* HOMEPAGE REDESIGN */
.hero{
  min-height:880px;
  background:
    radial-gradient(circle at 50% 16%, rgba(170,128,79,.08), transparent 18%),
    linear-gradient(180deg, #081712 0%, #0b1e18 52%, #112235 100%);
}
.hero-grid{
  display:block;
  width:100%;
  padding-top:126px;
}
.hero-copy{
  max-width:980px;
  margin:0 auto;
  text-align:center;
}
.hero-copy:before{display:none}
.hero-crest{
  width:min(390px, 42vw);
  margin:0 auto 34px;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.24));
}
.hero h1{
  font-size:clamp(4.2rem, 8vw, 7.3rem);
  margin:0 0 18px;
}
.hero .subhead{
  max-width:900px;
  margin:0 auto;
  font-size:clamp(1.15rem, 2vw, 1.52rem);
  color:#e6dfd2;
}
.hero .pillars{
  justify-content:center;
  margin:32px 0 38px;
}
.hero-actions{
  justify-content:center;
}
.hero-aside{display:none}
.hero-note .container{
  justify-content:center;
  gap:28px;
}
.hero-note .accent{
  color:#bc9467;
}
.home-intro-section{
  padding:96px 0 106px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.56), rgba(255,255,255,.3)),
    linear-gradient(var(--paper), var(--paper));
}
.home-intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px;
  align-items:stretch;
}
.home-intro-card{
  background:rgba(255,255,255,.52);
  border:1px solid rgba(24,32,29,.08);
  box-shadow:0 14px 32px rgba(8,18,14,.05);
  padding:54px 54px 48px;
}
.home-intro-card .eyebrow{margin-bottom:18px}
.home-intro-card h2{
  font-size:clamp(3rem, 5vw, 4.9rem);
  line-height:.96;
  margin:0 0 24px;
}
.home-intro-card p{
  font-size:1.08rem;
  color:#404844;
}
.home-intro-card p.lead{
  font-family:var(--serif);
  font-size:1.5rem;
  line-height:1.48;
  color:var(--ink);
}
.home-intro-photo{
  position:relative;
  min-height:620px;
  overflow:hidden;
  border:1px solid rgba(24,32,29,.08);
  box-shadow:0 18px 40px rgba(8,18,14,.08);
  background:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.3)),
    url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1400&q=80') center/cover no-repeat;
}
.home-intro-photo .photo-caption{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:26px 28px;
  color:var(--ivory);
  background:linear-gradient(to top, rgba(9,17,14,.82), transparent);
}
.home-intro-photo .photo-caption .eyebrow{
  color:#c8a377;
}
.home-intro-photo .photo-caption p{
  margin:10px 0 0;
  max-width:560px;
  color:#e9e4db;
  font-family:var(--serif);
  font-size:1.15rem;
  line-height:1.5;
}
.feature-band{
  background:
    linear-gradient(90deg, #0b211a 0%, #0b211a 50%, #15263b 50%, #15263b 100%);
}
.pillar{
  min-height:455px;
}
.pillar h3{
  font-size:3rem;
}
@media (max-width:980px){
  .home-intro-grid{grid-template-columns:1fr}
  .home-intro-photo{min-height:420px}
}
