
:root{
  --green:#04382b;--deep:#02271f;--gold:#c99a2e;--gold2:#e5c56d;
  --cream:#f7f2e9;--paper:#fffdf8;--ink:#17362e;--muted:#66736f;
  --serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",Arial,sans-serif;
  --line:rgba(4,56,43,.15);--shadow:0 16px 46px rgba(2,39,31,.10)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 42px));margin:auto}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0;color:var(--green)}
h1{font-size:clamp(3rem,6vw,5.4rem)}h2{font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:1.3rem}
p{margin:0}.eyebrow{color:var(--gold);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.72rem}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 21px;border:1px solid var(--gold);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700}
.btn-gold{background:linear-gradient(var(--gold2),var(--gold));color:var(--deep)}
.btn-gold:hover{filter:brightness(1.07);transform:translateY(-1px)}

.site-header{position:sticky;top:0;z-index:50;background:var(--deep);box-shadow:0 5px 18px rgba(0,0,0,.12)}
.nav{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{width:175px;height:auto}
.nav-links{display:flex;align-items:center;gap:28px;color:white}
.nav-links a{font-family:var(--serif);font-size:.8rem;text-transform:uppercase;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--gold2)}
.menu{display:none;background:none;border:0;color:white;font-size:1.4rem}

.hero{position:relative;min-height:660px;display:grid;place-items:center;text-align:center;background:url("hero-clean.jpg") center/cover no-repeat;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,242,233,.05),rgba(247,242,233,.88) 36%,rgba(247,242,233,.90) 64%,rgba(247,242,233,.05))}
.hero-content{position:relative;z-index:2;padding:42px 0}
.hero-badge{width:145px;margin:0 auto 10px;border-radius:12px;box-shadow:none}
.hero-wordmark{font-family:var(--serif);font-size:clamp(3rem,5.7vw,5.5rem);line-height:.94;letter-spacing:.04em;color:var(--green)}
.hero-concepts{color:var(--gold);letter-spacing:.30em;text-transform:uppercase;font-size:clamp(1rem,1.8vw,1.5rem);margin:10px 0 13px}
.hero-living{font-family:var(--serif);font-size:clamp(.78rem,1vw,.94rem);letter-spacing:.08em;text-transform:uppercase}
.hero-tagline{font-family:var(--serif);font-size:clamp(1.9rem,3.8vw,3.4rem);line-height:1.12;margin-top:13px}
.hero-legacy{font-family:var(--serif);font-size:clamp(.96rem,1.45vw,1.22rem);margin-top:18px}
.divider{display:flex;align-items:center;gap:12px;width:min(285px,68%);margin:12px auto;color:var(--gold)}
.divider:before,.divider:after{content:"";height:1px;background:var(--gold);flex:1}

.values{background:var(--deep);color:white;padding:22px 0}
.value-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.value{text-align:center;padding:19px 23px;border-right:1px solid rgba(201,154,46,.28)}
.value:last-child{border-right:0}
.value-icon{width:58px;height:58px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 11px;color:var(--gold2);font-size:1.32rem}
.value h3{color:white;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase}
.value p{font-family:var(--serif);font-size:.9rem;color:rgba(255,255,255,.74);margin-top:8px}

.section{padding:82px 0}.section-head{text-align:center;margin-bottom:39px}
.services{background:var(--cream)}
.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.service-card{background:white;border:1px solid #e3ddd2;box-shadow:0 9px 24px rgba(2,39,31,.06);overflow:hidden;text-align:center}
.service-card img{width:100%;height:155px;object-fit:cover}
.service-body{padding:0 16px 25px}
.service-icon{width:56px;height:56px;border-radius:50%;background:var(--green);border:3px solid var(--cream);display:grid;place-items:center;color:var(--gold2);font-size:1.2rem;margin:-28px auto 14px;position:relative}
.service-card h3{font-size:.98rem;text-transform:uppercase;min-height:42px}
.service-card p{font-family:var(--serif);font-size:.9rem;color:var(--muted);margin-top:10px}

.promise{position:relative;background:var(--deep);color:white;padding:58px 0;overflow:hidden}
.promise::after{content:"";position:absolute;inset:0 0 0 58%;background:url("leaf-clean.jpg") center/cover no-repeat;opacity:.74;mask-image:linear-gradient(90deg,transparent,#000 34%)}
.promise .container{position:relative;z-index:2;text-align:center}
.promise h2{color:white;max-width:1030px;margin:auto;font-size:clamp(1.75rem,3vw,2.75rem)}
.promise h2 strong{color:var(--gold2);font-weight:500}

.conversation{text-align:center;padding:60px 0}.conversation p{font-family:var(--serif);margin:12px auto 23px;max-width:650px}

.page-hero{padding:112px 0 68px;background:linear-gradient(90deg,rgba(247,242,233,.96),rgba(247,242,233,.74)),url("page-clean.jpg") center/cover no-repeat}
.page-hero h1{color:var(--green)}
.page-hero p{max-width:760px;margin-top:17px;color:var(--ink);font-size:1.03rem}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.lead{font-family:var(--serif);font-size:clamp(1.4rem,2.5vw,2rem)}
.copy{color:var(--muted);font-size:1rem}.copy p+p{margin-top:17px}
.image-panel{min-height:390px;max-width:520px;width:100%;justify-self:end;background:url("purpose-image.jpg") center/cover no-repeat}
.service-panel{min-height:390px;max-width:520px;width:100%;justify-self:end;background:url("services-image.jpg") center/cover no-repeat}
.list{display:grid;gap:15px}.list-item{background:white;padding:22px;border-left:3px solid var(--gold);box-shadow:0 8px 22px rgba(2,39,31,.06)}

.manifesto{background:var(--deep);color:white}.manifesto h2{color:white}
.manifesto-line{font-family:var(--serif);font-size:clamp(1.22rem,2.25vw,1.85rem);padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.manifesto-line strong{color:var(--gold2)}

.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px}
.contact-card{background:var(--deep);color:white;padding:36px}.contact-card h2{color:white}
.contact-card a{display:block;color:var(--gold2);font-family:var(--serif);font-size:1.22rem;margin-top:22px}
form{background:white;border:1px solid var(--line);box-shadow:var(--shadow);padding:32px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
label{display:block;margin:14px 0 6px;color:var(--green);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}
input,textarea{width:100%;padding:13px;border:1px solid #d4dcd8;font:inherit}textarea{min-height:145px}

.site-footer{background:#021f18;color:white;padding:48px 0 23px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:34px}
.footer-logo{width:240px}.footer-col strong{color:var(--gold2);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}
.footer-col a,.footer-col p{display:block;color:rgba(255,255,255,.68);margin-top:8px;font-size:.88rem}
.footer-bottom{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;color:rgba(255,255,255,.45);font-size:.75rem}

.reveal{opacity:0;transform:translateY(18px);transition:.65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.service-grid{grid-template-columns:repeat(2,1fr)}.value-grid{grid-template-columns:repeat(3,1fr)}.nav-links{display:none;position:absolute;top:58px;left:0;right:0;background:var(--deep);padding:22px;flex-direction:column}.nav-links.open{display:flex}.menu{display:block}.brand img{width:190px}}
@media(max-width:740px){.value-grid,.service-grid,.split,.contact-grid,.footer-grid,.form-row{grid-template-columns:1fr}.value{border-right:0;border-bottom:1px solid rgba(201,154,46,.22)}.hero{min-height:610px}.hero::before{background:rgba(247,242,233,.79)}.hero-badge{width:120px}.section{padding:66px 0}.promise::after{opacity:.28;inset:0}.footer-bottom{flex-direction:column}.nav{min-height:56px}.nav-links{top:56px}}

.brand img,.footer-logo{background:transparent!important;box-shadow:none!important;border:0!important}
.hero-badge{background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;object-fit:contain}
.image-panel,.service-panel{background-size:cover;border-radius:2px;box-shadow:0 12px 30px rgba(2,39,31,.10)}
@media(max-width:740px){
  .image-panel,.service-panel{max-width:none;min-height:300px}
}

.site-header{background:var(--deep)!important}
.nav{
  min-height:74px!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:22px!important;
}
.brand{
  grid-column:2!important;
  justify-self:center!important;
}
.brand img{
  width:205px!important;
  max-height:60px!important;
  object-fit:contain!important;
}
.nav-links{
  grid-column:2!important;
  grid-row:2!important;
  justify-self:center!important;
  gap:34px!important;
  padding-bottom:10px!important;
}
.site-header .container.nav{padding-top:8px!important}
.menu{grid-column:3!important;justify-self:end!important}

.hero-badge{
  width:135px!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  object-fit:contain!important;
}
.image-panel,.service-panel{
  min-height:320px!important;
  max-width:480px!important;
  width:100%!important;
  justify-self:center!important;
  background-size:cover!important;
  background-position:center!important;
  border-radius:10px!important;
  box-shadow:0 10px 26px rgba(2,39,31,.08)!important;
}
.split{
  align-items:center!important;
}
.logo-display{
  background:transparent!important;
  padding:18px!important;
  display:grid!important;
  place-items:center!important;
}
.logo-display img{
  width:320px!important;
  max-width:100%!important;
  box-shadow:none!important;
  background:transparent!important;
}

@media(max-width:1050px){
  .nav{
    display:flex!important;
    min-height:64px!important;
  }
  .brand{margin-right:auto!important}
  .nav-links{top:64px!important}
  .brand img{width:180px!important;max-height:52px!important}
}
@media(max-width:740px){
  .image-panel,.service-panel{min-height:260px!important;max-width:none!important}
}

/* V8 final logo and bleed corrections */
.site-header{
  background:#04382b!important;
}
.nav{
  min-height:104px!important;
  padding-top:8px!important;
}
.brand img{
  width:330px!important;
  max-height:88px!important;
  object-fit:contain!important;
  background:#04382b!important;
  box-shadow:none!important;
  border:0!important;
}
.nav-links{
  padding-bottom:12px!important;
}
.hero-badge{
  width:168px!important;
  height:auto!important;
  border-radius:50%!important;
  object-fit:cover!important;
  background:#04382b!important;
  box-shadow:0 8px 22px rgba(2,39,31,.16)!important;
}
.promise{
  background:
    radial-gradient(circle at 82% 50%, rgba(229,197,109,.08), transparent 22%),
    linear-gradient(90deg,#02271f,#04382b)!important;
}
.promise::after{
  content:"❧"!important;
  position:absolute!important;
  inset:auto 8% 50% auto!important;
  transform:translateY(50%)!important;
  background:none!important;
  mask-image:none!important;
  opacity:.18!important;
  color:#e5c56d!important;
  font-size:15rem!important;
  line-height:1!important;
  width:auto!important;
  height:auto!important;
}
.logo-display{
  background:#04382b!important;
  padding:22px!important;
  border-radius:10px!important;
}
.logo-display img{
  width:420px!important;
  max-width:100%!important;
  height:auto!important;
  background:#04382b!important;
  box-shadow:none!important;
  border:0!important;
}
.footer-logo{
  width:285px!important;
  background:#04382b!important;
}
@media(max-width:1050px){
  .nav{min-height:88px!important}
  .brand img{width:275px!important;max-height:72px!important}
  .nav-links{top:88px!important}
}
@media(max-width:740px){
  .nav{min-height:72px!important}
  .brand img{width:220px!important;max-height:58px!important}
  .nav-links{top:72px!important}
  .hero-badge{width:135px!important}
  .promise::after{font-size:9rem!important}
}

/* V9 true transparent PNG logo treatment */
.brand img,
.footer-logo,
.logo-display img,
.hero-badge{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.brand img{
  width:365px!important;
  max-height:100px!important;
  object-fit:contain!important;
}
.footer-logo{
  width:320px!important;
  object-fit:contain!important;
}
.logo-display{
  background:transparent!important;
  padding:10px!important;
  border:0!important;
}
.logo-display img{
  width:470px!important;
  max-width:100%!important;
  height:auto!important;
}
.hero-badge{
  width:185px!important;
  height:auto!important;
  border-radius:0!important;
  object-fit:contain!important;
}
.site-header{
  background:#04382b!important;
}
.nav{
  min-height:112px!important;
}
@media(max-width:1050px){
  .brand img{width:300px!important;max-height:82px!important}
  .nav{min-height:94px!important}
  .nav-links{top:94px!important}
}
@media(max-width:740px){
  .brand img{width:235px!important;max-height:64px!important}
  .nav{min-height:76px!important}
  .nav-links{top:76px!important}
  .hero-badge{width:145px!important}
}

/* Greenfield Concepts Version 1.0 production rules */
.site-header{
  background:#04382b!important;
}
.nav{
  min-height:104px!important;
  padding-top:8px!important;
}
.brand img{
  width:350px!important;
  max-height:92px!important;
  object-fit:contain!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.nav-links{
  padding-bottom:12px!important;
}
.footer-logo{
  width:315px!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.hero-badge{
  width:178px!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
}
.logo-display{
  background:transparent!important;
  padding:14px!important;
  border:0!important;
}
.logo-display img{
  width:460px!important;
  max-width:100%!important;
  height:auto!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.promise{
  background:
    radial-gradient(circle at 82% 50%, rgba(229,197,109,.08), transparent 22%),
    linear-gradient(90deg,#02271f,#04382b)!important;
}
.promise::after{
  content:"❧"!important;
  position:absolute!important;
  inset:auto 8% 50% auto!important;
  transform:translateY(50%)!important;
  background:none!important;
  mask-image:none!important;
  opacity:.18!important;
  color:#e5c56d!important;
  font-size:14rem!important;
  line-height:1!important;
  width:auto!important;
  height:auto!important;
}
.footer-brand-closing{
  text-align:center;
  padding:34px 0 10px;
  color:rgba(255,255,255,.86);
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:26px;
}
.footer-brand-closing strong{
  display:block;
  color:#e5c56d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.25rem;
  letter-spacing:.04em;
}
.footer-brand-closing span{
  display:block;
  margin-top:6px;
  font-family:Georgia,"Times New Roman",serif;
}
@media(max-width:1050px){
  .nav{min-height:88px!important}
  .brand img{width:285px!important;max-height:76px!important}
  .nav-links{top:88px!important}
}
@media(max-width:740px){
  .nav{min-height:72px!important}
  .brand img{width:220px!important;max-height:60px!important}
  .nav-links{top:72px!important}
  .hero-badge{width:140px!important}
  .footer-logo{width:250px!important}
  .promise::after{font-size:8rem!important}
}

/* Version 1.0.1 dedicated solid logo patch */
.site-header,
.site-footer {
  background:#001a14!important;
}
.brand img {
  content:url("logo-header-solid.png")!important;
  width:360px!important;
  max-height:100px!important;
  object-fit:contain!important;
  background:#001a14!important;
  box-shadow:none!important;
  border:0!important;
}
.footer-logo {
  content:url("logo-footer-solid.png")!important;
  width:315px!important;
  object-fit:contain!important;
  background:#001a14!important;
  box-shadow:none!important;
  border:0!important;
}
@media(max-width:1050px){
  .brand img{width:295px!important;max-height:82px!important}
}
@media(max-width:740px){
  .brand img{width:225px!important;max-height:64px!important}
  .footer-logo{width:245px!important}
}
