@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--navy:#10263f;--gold:#c79a43;--cream:#f6f1e8;--white:#fff;--ink:#24313f;--muted:#617080;--line:#dfe4e8;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65;background:#fff}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.narrow{max-width:780px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;color:var(--navy);font-weight:700;line-height:1.1}.brand small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold);font-weight:700}nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:600}nav a:hover,.text-link:hover{color:var(--gold)}.nav-cta{background:var(--navy);color:#fff;padding:10px 16px;border-radius:999px}.menu-toggle{display:none;border:0;background:none;font-size:26px;color:var(--navy)}.hero{background:linear-gradient(115deg,#10263f 0%,#183c5b 60%,#e9dfc9 60%,#f6f1e8 100%);min-height:620px;display:flex;align-items:center}.hero-content{padding:90px 0;max-width:760px;color:#fff}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--gold);margin:0 0 12px}.hero h1,.page-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(46px,7vw,78px);line-height:1.05;margin:0 0 22px}.lead{font-size:20px;max-width:720px}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-block;padding:13px 22px;border-radius:999px;font-weight:700;border:2px solid transparent}.button.primary{background:var(--gold);color:#10263f}.button.secondary{border-color:#fff;color:#fff}.page-hero{background:var(--cream);padding:95px 0 80px}.page-hero h1{font-size:clamp(42px,6vw,66px);color:var(--navy);max-width:900px}.section{padding:90px 0}.cream{background:var(--cream)}.section-heading{max-width:760px;margin-bottom:42px}.section h2{font-family:'Playfair Display',Georgia,serif;color:var(--navy);font-size:clamp(30px,4vw,45px);line-height:1.15;margin:0 0 18px}.cards{display:grid;gap:20px}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.cards article{border:1px solid var(--line);border-radius:18px;padding:30px;background:#fff}.cards h2,.cards h3{color:var(--navy);margin-top:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.text-link{color:var(--navy);font-weight:700}.callout{margin-top:30px;padding:24px;border-left:4px solid var(--gold);background:var(--cream)}.number{font-size:12px;color:var(--gold);font-weight:700;letter-spacing:.15em}.form-card{max-width:760px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px;box-shadow:0 10px 35px rgba(16,38,63,.07)}label{display:block;font-weight:700;margin-bottom:18px}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #cbd3da;border-radius:10px;padding:13px;font:inherit}textarea{resize:vertical}.form-note,.muted{font-size:13px;color:var(--muted)}footer{background:var(--navy);color:#dbe4ed;padding:60px 0 20px}footer a{display:block;margin:7px 0;color:#dbe4ed}footer h3,footer h4{color:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-bottom{margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#b9c6d2}@media(max-width:900px){nav{gap:13px}.cards.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.menu-toggle{display:block}nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 10px 20px rgba(0,0,0,.08);flex-direction:column;align-items:stretch}.site-header.open nav{display:flex}.nav-cta{text-align:center}.hero{background:var(--navy);min-height:560px}.hero-content{padding:70px 0}.split,.cards.two,.cards.three,.cards.four,.footer-grid{grid-template-columns:1fr}.section{padding:65px 0}.page-hero{padding:70px 0 60px}.lead{font-size:18px}.footer-bottom{flex-direction:column}}

/* Nels Place Website v2.0 brand refinements */
.site-header{box-shadow:0 5px 24px rgba(16,38,63,.05)}
.nav-wrap{min-height:92px}
.brand{flex:0 0 auto}
.brand img{display:block;width:235px;max-height:74px;object-fit:contain;object-position:left center}
.hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#0b2039 0%,#102d4b 58%,#173d5d 100%);min-height:650px}
.hero:after{content:"";position:absolute;right:-140px;bottom:-260px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(199,154,67,.3);box-shadow:0 0 0 85px rgba(199,154,67,.035),0 0 0 170px rgba(199,154,67,.025)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:58px;align-items:center}
.hero-content{padding:100px 0;max-width:720px}
.hero h1{font-size:clamp(50px,6vw,76px)}
.hero-brand{display:flex;align-items:center;justify-content:center;padding:45px 20px;border-radius:36px;background:rgba(255,255,255,.96);box-shadow:0 28px 70px rgba(0,0,0,.22);backdrop-filter:blur(8px)}
.hero-brand img{display:block;width:100%;height:auto}
.cards article{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.cards article:hover{transform:translateY(-3px);border-color:#d8c18d;box-shadow:0 14px 34px rgba(16,38,63,.08)}
.button{transition:transform .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-2px)}.button.primary:hover{box-shadow:0 10px 25px rgba(199,154,67,.25)}
@media(max-width:980px){.brand img{width:205px}.nav-wrap{gap:16px}nav{gap:14px;font-size:13px}.hero-grid{grid-template-columns:1fr .72fr;gap:28px}}
@media(max-width:720px){.nav-wrap{min-height:82px}.brand img{width:190px;max-height:64px}.menu-toggle{font-size:30px;padding:8px}.site-header nav{top:82px;padding:18px 20px 24px;gap:4px}.site-header nav a{padding:12px 8px;font-size:16px}.site-header nav .nav-cta{margin-top:8px;padding:12px 16px}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;gap:0}.hero-content{padding:72px 0 34px}.hero-brand{margin:0 0 58px;padding:25px 16px;border-radius:24px}.hero h1{font-size:clamp(45px,14vw,62px)}.hero:after{display:none}}
@media(max-width:420px){.container{width:min(calc(100% - 28px),var(--max))}.brand img{width:165px}.hero-content{padding-top:58px}.buttons{gap:10px}.button{padding:12px 17px}.hero-brand{margin-bottom:46px}}

/* v2.1 approved visual direction */
.hero-photo{position:relative;isolation:isolate;background:#0b2039;min-height:720px}
.hero-photo-bg{position:absolute;inset:0;z-index:-2;background-image:url('home-hero-concept.png');background-size:cover;background-position:center 22%}
.hero-photo:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,27,49,.96) 0%,rgba(7,27,49,.84) 45%,rgba(7,27,49,.28) 78%,rgba(7,27,49,.08) 100%)}
.hero-photo:after{display:none}
.hero-photo .hero-grid{display:block}.hero-photo .hero-content{max-width:710px;padding:112px 0 118px;text-shadow:0 2px 20px rgba(0,0,0,.22)}
.hero-photo .eyebrow{font-size:14px}.hero-photo .lead{max-width:650px}
.focus-section{padding:74px 0 82px}.focus-heading{text-align:center;margin:0 auto 38px;max-width:900px}.focus-heading .eyebrow:before,.focus-heading .eyebrow:after{content:"";display:inline-block;width:90px;height:1px;background:var(--gold);vertical-align:middle;margin:0 18px}.focus-cards article{text-align:center;border:0;box-shadow:none;padding:20px 18px}.focus-cards article:hover{transform:none;box-shadow:none}.focus-icon{width:76px;height:76px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:#fbf4e6;color:#a97817;font-size:38px;line-height:1}.focus-cards h3{font-size:21px;margin-bottom:6px}.focus-cards p{margin:0;color:var(--muted)}
.mission-section{padding-top:28px}.mission-panel{display:grid;grid-template-columns:280px 1fr;gap:38px;align-items:center;padding:22px;border-radius:26px;background:#f4f6f7;margin-bottom:72px}.mission-visual{min-height:230px;border-radius:20px;background:linear-gradient(145deg,rgba(199,154,67,.2),rgba(16,38,63,.05)),url('home-hero-concept.png') center 91%/310% auto no-repeat}.mission-panel h2{margin-bottom:12px}.mission-panel p:last-child{font-size:18px}.services-heading{margin-top:0}
@media(max-width:720px){.hero-photo{min-height:690px}.hero-photo-bg{background-position:61% center}.hero-photo:before{background:linear-gradient(90deg,rgba(7,27,49,.96) 0%,rgba(7,27,49,.83) 70%,rgba(7,27,49,.38) 100%)}.hero-photo .hero-content{padding:68px 0 86px}.hero-photo .lead{font-size:17px}.focus-heading .eyebrow:before,.focus-heading .eyebrow:after{width:45px;margin:0 10px}.focus-cards{grid-template-columns:repeat(2,1fr)!important}.focus-cards article{padding:14px 8px}.focus-icon{width:64px;height:64px;font-size:31px}.focus-cards h3{font-size:18px}.focus-cards p{font-size:14px;line-height:1.45}.mission-panel{grid-template-columns:1fr;padding:18px;gap:22px}.mission-visual{min-height:190px;background-size:250% auto}.mission-section{padding-top:10px}}


/* v3.3 final homepage correction — no text baked into hero imagery */
.hero-photo{
  position:relative;
  isolation:isolate;
  min-height:660px;
  background:#0b2039;
  overflow:hidden;
}
.hero-photo-bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,#0b2039 0%,#0b2039 42%,rgba(11,32,57,.80) 60%,rgba(11,32,57,.14) 100%),
    url('house-hero-clean.jpg') right center/52% 100% no-repeat;
}
.hero-photo:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(7,27,49,.34),rgba(7,27,49,0));
  pointer-events:none;
}
.hero-photo .hero-grid{display:block;position:relative;z-index:1}
.hero-photo .hero-content{
  position:relative;
  z-index:2;
  max-width:690px;
  padding:92px 0 100px;
}
.mission-visual{
  background:url('mission-plant-clean.jpg') center/cover no-repeat;
}
@media(max-width:720px){
  .hero-photo{min-height:0}
  .hero-photo-bg{
    background:
      linear-gradient(90deg,rgba(7,27,49,.98) 0%,rgba(7,27,49,.82) 56%,rgba(7,27,49,.32) 100%),
      url('house-hero-clean.jpg') right center/60% 100% no-repeat;
  }
  .hero-photo:before{display:none}
  .hero-photo .hero-content{
    min-height:600px;
    padding:50px 0 62px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .hero-photo h1{
    font-size:clamp(48px,13.5vw,62px);
    line-height:1.02;
    margin-bottom:20px;
  }
  .hero-photo .eyebrow{font-size:12px;letter-spacing:.16em}
  .hero-photo .lead{font-size:17px;line-height:1.62;max-width:96%}
  .hero-photo .buttons{margin-top:24px}
  .focus-section{
    position:relative;
    z-index:3;
    background:#fff;
    padding-top:58px;
  }
}
@media(max-width:420px){
  .hero-photo .hero-content{min-height:610px;padding:46px 0 58px}
  .hero-photo .buttons{display:grid;grid-template-columns:1fr 1.7fr;width:100%}
  .hero-photo .button{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:12px 10px;
    font-size:15px;
  }
}


/* v3.4 image-display correction */
.hero-photo-bg{
  background:
    linear-gradient(90deg,#0b2039 0%,rgba(11,32,57,.94) 32%,rgba(11,32,57,.64) 62%,rgba(11,32,57,.18) 100%),
    url('house-hero-v34.jpg') center/cover no-repeat !important;
}
.mission-visual{
  background-image:url('mission-plant-v34.jpg') !important;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  min-height:300px;
}
@media(max-width:720px){
  .hero-photo-bg{
    background:
      linear-gradient(90deg,rgba(7,27,49,.96) 0%,rgba(7,27,49,.82) 48%,rgba(7,27,49,.35) 100%),
      url('house-hero-v34.jpg') center/cover no-repeat !important;
  }
  .mission-visual{
    min-height:240px;
    width:100%;
    aspect-ratio:16/10;
  }
}


/* =========================================================
   NELS PLACE v3.5 — FINAL APPROVED RESPONSIVE HOME VISUALS
   ========================================================= */
.hero-photo{
  position:relative;
  isolation:isolate;
  min-height:620px;
  overflow:hidden;
  background:#071b31;
}
.hero-photo-bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(7,27,49,.98) 0%,rgba(7,27,49,.90) 34%,rgba(7,27,49,.54) 62%,rgba(7,27,49,.08) 100%),
    url('hero-house-v35.jpg') center/cover no-repeat !important;
}
.hero-photo:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.12));
  pointer-events:none;
}
.hero-photo .hero-grid{display:block;position:relative;z-index:1}
.hero-photo .hero-content{
  position:relative;
  z-index:2;
  max-width:700px;
  padding:86px 0 92px;
}
.hero-photo .eyebrow{color:#d5aa4d}
.hero-photo h1{color:#fff}
.hero-photo .lead{color:#fff}

.mission-visual{
  background:url('mission-seedling-v35.jpg') center/cover no-repeat !important;
  min-height:310px;
}

@media (max-width:720px){
  .hero-photo{
    min-height:0;
  }
  .hero-photo-bg{
    background:
      linear-gradient(90deg,rgba(7,27,49,.94) 0%,rgba(7,27,49,.75) 47%,rgba(7,27,49,.20) 100%),
      url('hero-house-v35.jpg') 63% center/cover no-repeat !important;
  }
  .hero-photo:before{display:none}
  .hero-photo .hero-content{
    min-height:560px;
    padding:48px 0 54px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .hero-photo h1{
    font-size:clamp(46px,13vw,60px);
    line-height:1.02;
    margin:14px 0 20px;
  }
  .hero-photo .eyebrow{
    font-size:12px;
    letter-spacing:.15em;
    white-space:nowrap;
  }
  .hero-photo .lead{
    font-size:16px;
    line-height:1.58;
    max-width:96%;
  }
  .hero-photo .buttons{
    margin-top:24px;
    display:grid;
    grid-template-columns:1fr 1.65fr;
    gap:12px;
    width:100%;
  }
  .hero-photo .button{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:13px 10px;
    font-size:15px;
    white-space:nowrap;
  }
  .focus-section{
    position:relative;
    z-index:3;
    background:#fff;
    padding-top:48px;
  }
  .mission-visual{
    width:100%;
    min-height:0;
    aspect-ratio:16/9;
    background-position:center !important;
  }
}
@media (max-width:390px){
  .hero-photo .hero-content{min-height:575px}
  .hero-photo h1{font-size:44px}
  .hero-photo .button{font-size:14px}
}
