
:root{
  --charcoal:#0b0b0a;
  --charcoal-2:#111111;
  --ink:#171717;
  --walnut:#4b3326;
  --copper:#b77b4f;
  --copper-2:#8f5a37;
  --sand:#e9e1d6;
  --ivory:#f7f3ef;
  --slate:#6d6a67;
  --forest:#203327;
  --line:rgba(183,123,79,.32);
  --line-soft:rgba(233,225,214,.12);
  --shadow:0 28px 80px rgba(0,0,0,.55);
  --serif:"Playfair Display", Georgia, serif;
  --sans:"Montserrat", Arial, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--charcoal);
  color:var(--sand);
  font-family:var(--sans);
  font-size:15.5px;
  line-height:1.65;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 0%, rgba(183,123,79,.12), transparent 42%),
    radial-gradient(circle at 15% 85%, rgba(255,255,255,.04), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 20%, rgba(0,0,0,.25));
  z-index:-2;
}
.grain{
  position:fixed;
  inset:0;
  opacity:.25;
  pointer-events:none;
  z-index:999;
  mix-blend-mode:soft-light;
  background-image:
    linear-gradient(0deg, rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:5px 5px;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
p{margin:0 0 1rem;color:rgba(233,225,214,.74)}
h1,h2,h3{margin:0;color:var(--ivory);font-weight:500}
h1,h2{font-family:var(--serif)}
h1{font-size:clamp(4rem,8vw,8.8rem);line-height:.92;letter-spacing:-.04em}
h2{font-size:clamp(2.35rem,4vw,4.7rem);line-height:1;letter-spacing:-.035em}
h3{font-size:1.05rem;letter-spacing:.16em;text-transform:uppercase}
.eyebrow{
  color:var(--copper);
  text-transform:uppercase;
  font-weight:600;
  letter-spacing:.22em;
  font-size:.78rem;
  margin-bottom:1rem;
}
.copper-rule{
  width:72px;
  height:2px;
  background:var(--copper);
  margin:2rem 0 1.5rem;
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 2rem;
  border:1px solid var(--line);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.82rem;
  font-weight:700;
  transition:.35s ease;
}
.wood-button{
  color:var(--ivory);
  background:
    linear-gradient(135deg, rgba(92,60,39,.98), rgba(52,34,24,.98)),
    repeating-linear-gradient(110deg, rgba(255,255,255,.06) 0 2px, transparent 2px 9px);
  box-shadow:inset 0 1px rgba(255,255,255,.08), 0 16px 40px rgba(0,0,0,.35);
}
.button:hover{transform:translateY(-2px);border-color:rgba(183,123,79,.75);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.text-link{
  display:inline-flex;
  gap:.5rem;
  align-items:center;
  color:var(--copper);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.82rem;
  font-weight:700;
}
.text-link span{transition:.25s ease}
.text-link:hover span{transform:translateX(4px)}

.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:100;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:2rem clamp(1.2rem,4vw,4.5rem);
  background:linear-gradient(180deg, rgba(7,7,7,.86), rgba(7,7,7,.35), transparent);
  transition:.35s ease;
}
.site-header.scrolled{
  padding-top:1rem;
  padding-bottom:1rem;
  background:rgba(8,8,8,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line-soft);
}
.brand{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width:230px;
}
.brand-badge{
  width:58px;
  height:58px;
  object-fit:contain;
}
.brand-copy strong{
  display:block;
  color:var(--copper);
  font-size:1.28rem;
  letter-spacing:.20em;
  line-height:1;
}
.brand-copy small{
  display:block;
  color:var(--copper);
  font-size:.58rem;
  letter-spacing:.32em;
  line-height:1.2;
  margin-top:.18rem;
}
.site-nav{display:flex;gap:3.1rem;align-items:center}
.site-nav a{
  position:relative;
  color:var(--sand);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.20em;
  font-weight:600;
  opacity:.92;
}
.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-.55rem;
  width:100%;
  height:2px;
  background:var(--copper);
  transform:scaleX(0);
  transform-origin:left;
  transition:.28s ease;
}
.site-nav a:hover::after,.site-nav a.active::after{transform:scaleX(1)}
.site-nav a.active{color:var(--copper)}
.nav-toggle{display:none}

.hero{
  position:relative;
  min-height:760px;
  height:100vh;
  display:flex;
  align-items:center;
  padding:9rem clamp(1.4rem,7vw,8rem) 6rem;
  border-bottom:1px solid var(--line-soft);
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 58% 24%, rgba(233,225,214,.08), transparent 28%),
    linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.72) 34%, rgba(0,0,0,.40) 60%, rgba(0,0,0,.82) 100%),
    linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.38) 38%, rgba(0,0,0,.78) 100%),
    url("../images/forest-reference-1.png") center center / cover no-repeat;
  transform:none;
}
.hero-content{
  position:relative;
  z-index:1;
  width:min(760px, 92vw);
  margin-left:clamp(0rem,2vw,3rem);
  margin-top:5rem;
}
.hero-content h1{
  text-shadow:0 18px 38px rgba(0,0,0,.55);
}
.hero-lede{
  max-width:520px;
  font-size:1.25rem;
  color:rgba(233,225,214,.78);
  margin-bottom:2rem;
}

.service-band{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line-soft);
  background:linear-gradient(180deg, rgba(18,18,18,.96), rgba(10,10,10,.98));
}
.band-item{
  display:flex;
  gap:1.35rem;
  min-height:142px;
  padding:2rem clamp(1.2rem,2.4vw,3rem);
  border-right:1px solid var(--line-soft);
  align-items:flex-start;
}
.band-item:last-child{border-right:0}
.circle-icon{
  flex:0 0 auto;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid var(--copper);
  border-radius:999px;
  color:var(--copper);
  font-family:var(--serif);
  font-size:1.35rem;
  background:rgba(0,0,0,.35);
  box-shadow:inset 0 0 0 4px rgba(183,123,79,.06);
}
.band-item h3{color:var(--copper);font-size:.82rem;margin-bottom:.35rem}
.band-item p{font-size:.95rem;margin:0;color:rgba(233,225,214,.62)}

.section{
  padding:clamp(4rem,7vw,8rem) clamp(1.4rem,4vw,4.5rem);
  border-bottom:1px solid var(--line-soft);
}
.work-preview{
  display:grid;
  grid-template-columns:minmax(220px, 28%) 1fr;
  gap:clamp(2rem,4vw,4.5rem);
  align-items:start;
}
.section-kicker h2{margin-bottom:1.4rem}
.section-kicker p:not(.eyebrow){max-width:390px}
.case-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.case-card{
  background:rgba(255,255,255,.035);
  border:1px solid var(--line-soft);
  overflow:hidden;
  transition:.35s ease;
}
.case-card:hover{transform:translateY(-6px);border-color:rgba(183,123,79,.55);box-shadow:var(--shadow)}
.case-card img{
  height:310px;
  width:100%;
  object-fit:cover;
  filter:saturate(.82) contrast(1.08) brightness(.72);
}
.case-card div{
  position:relative;
  padding:1.4rem 1.25rem;
  min-height:116px;
}
.case-card h3{font-size:.82rem;color:var(--ivory);margin-bottom:.4rem}
.case-card p{font-size:.95rem;margin:0;color:rgba(233,225,214,.58)}
.case-card span{
  position:absolute;
  right:1.2rem;
  bottom:1.4rem;
  color:var(--copper);
  font-size:1.4rem;
}

.process-section{
  display:grid;
  grid-template-columns:minmax(250px,28%) 1fr;
  gap:clamp(2rem,5vw,5.5rem);
}
.process-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.process-step{
  position:relative;
  padding:0 2rem;
  border-left:1px solid var(--line-soft);
}
.process-step::after{
  content:"→";
  position:absolute;
  top:3.3rem;
  right:-.65rem;
  color:var(--copper);
}
.process-step:last-child::after{display:none}
.process-step span{
  display:block;
  color:var(--copper);
  font-family:var(--serif);
  font-size:3rem;
  line-height:1;
  margin-bottom:1.2rem;
}
.process-step h3{color:var(--copper);font-size:.82rem;margin-bottom:.6rem}
.process-step p{font-size:.95rem;margin:0;color:rgba(233,225,214,.58)}

.footer-cta{
  display:grid;
  grid-template-columns:120px 1px 1fr auto;
  gap:2.5rem;
  align-items:center;
  padding:2.5rem clamp(1.4rem,4vw,4.5rem);
  background:
    linear-gradient(90deg, rgba(0,0,0,.30), rgba(0,0,0,.65)),
    repeating-linear-gradient(110deg, #2b1a12 0 12px, #1a100b 12px 26px);
  border-bottom:1px solid var(--line-soft);
}
.footer-cta img{width:110px;height:110px;object-fit:contain}
.footer-rule{height:92px;background:var(--line)}
.footer-cta h2{font-size:2.3rem;margin-bottom:.2rem}
.footer-cta p{margin:0}

.site-footer{background:#070707}
.footer-main{
  display:grid;
  grid-template-columns:1.6fr repeat(3,1fr);
  gap:2rem;
  padding:3rem clamp(1.4rem,4vw,4.5rem);
  border-bottom:1px solid var(--line-soft);
}
.footer-brand img{width:250px;margin-bottom:1.5rem}
.footer-main h3{
  color:var(--copper);
  font-size:.78rem;
  margin-bottom:1rem;
}
.footer-main a{
  display:block;
  color:rgba(233,225,214,.65);
  margin:.35rem 0;
}
.footer-main a:hover{color:var(--copper)}
.social-row{display:flex;gap:.55rem;margin-top:1rem}
.social-row span{
  width:28px;height:28px;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:50%;color:var(--copper);font-size:.72rem;
}
.footer-bottom{
  text-align:center;
  padding:1.25rem;
  color:var(--copper);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.75rem;
}

/* Interior pages */
.page-hero{
  padding:12rem clamp(1.4rem,4vw,4.5rem) 5rem;
  border-bottom:1px solid var(--line-soft);
  background:
    linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.64)),
    linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.80)),
    url("../images/forest-reference-1.png") center center / cover no-repeat;
}
.compact-hero>div{max-width:860px}
.page-hero h1{
  font-size:clamp(3.5rem,6.5vw,7.3rem);
  max-width:950px;
  margin-bottom:1.4rem;
}
.page-hero p:not(.eyebrow){font-size:1.2rem;max-width:720px}
.split-hero{
  display:grid;
  grid-template-columns:1fr minmax(300px, 420px);
  gap:4rem;
  align-items:center;
}
.about-image{
  height:520px;
  width:100%;
  object-fit:cover;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  filter:saturate(.85) contrast(1.05) brightness(.8);
}
.service-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}
.service-detail,.value-card,.price-card,.contact-card,.proposal-card{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  box-shadow:0 16px 50px rgba(0,0,0,.22);
}
.service-detail{
  padding:2rem;
  display:grid;
  gap:1rem;
}
.service-detail h2{font-size:3rem}
.service-detail ul,.proposal-card ol{
  margin:1rem 0 0;
  padding-left:1.2rem;
  color:rgba(233,225,214,.7);
}
.service-detail li,.proposal-card li{margin:.35rem 0}
.pricing-strip{
  display:grid;
  grid-template-columns:minmax(240px,26%) 1fr;
  gap:3rem;
}
.price-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.price-grid.standalone{grid-template-columns:repeat(3,1fr)}
.price-card{padding:2rem;position:relative}
.price-card.featured{
  border-color:rgba(183,123,79,.72);
  background:linear-gradient(180deg, rgba(183,123,79,.14), rgba(255,255,255,.025));
}
.price-card h3{
  font-family:var(--serif);
  text-transform:none;
  letter-spacing:-.02em;
  font-size:2.3rem;
  color:var(--ivory);
}
.price-card strong{
  display:block;
  color:var(--copper);
  font-family:var(--serif);
  font-size:2.7rem;
  font-weight:500;
  margin:1rem 0;
}
.portfolio-grid{
  display:grid;
  gap:1.25rem;
}
.portfolio-card{
  display:grid;
  grid-template-columns:minmax(320px, 42%) 1fr;
  gap:0;
  border:1px solid var(--line-soft);
  background:rgba(255,255,255,.035);
  min-height:420px;
}
.portfolio-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.8) contrast(1.05) brightness(.75);
}
.portfolio-card div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(2rem,5vw,5rem);
}
.portfolio-card h2{margin-bottom:1rem}
.values-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}
.value-card{padding:2rem}
.value-card h2{
  font-size:2.5rem;
  margin:1.2rem 0 .8rem;
}
.contact-card{
  padding:2rem;
}
.contact-card img{width:180px;margin:0 0 1rem auto}
.contact-card h2{font-size:2.7rem;margin-bottom:1rem}
.contact-card a{display:block;color:var(--copper);margin:.5rem 0}
.contact-section{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:1rem;
  align-items:start;
}
.contact-form{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line-soft);
  padding:2rem;
}
.contact-form label{
  display:grid;
  gap:.45rem;
  color:var(--copper);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.76rem;
  font-weight:700;
}
.contact-form label:nth-child(5){grid-column:1/-1}
input,select,textarea{
  width:100%;
  background:#090909;
  border:1px solid var(--line-soft);
  color:var(--ivory);
  padding:1rem;
  font:inherit;
  letter-spacing:0;
  text-transform:none;
}
textarea{resize:vertical}
.contact-form button{justify-self:start}
.proposal-card{padding:2rem}
.proposal-card h2{font-size:2.7rem;margin-bottom:1rem}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease, transform .75s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

@media (max-width: 1050px){
  .service-band,.case-grid,.price-grid,.values-grid{grid-template-columns:repeat(2,1fr)}
  .work-preview,.process-section,.pricing-strip,.contact-section,.split-hero{grid-template-columns:1fr}
  .process-row{grid-template-columns:repeat(2,1fr);gap:2rem}
  .process-step{border-left:0;border-top:1px solid var(--line-soft);padding:1.5rem 0 0}
  .process-step::after{display:none}
  .footer-cta{grid-template-columns:90px 1fr;gap:1.5rem}
  .footer-rule{display:none}
  .footer-cta .button{grid-column:1/-1;justify-self:start}
  .footer-main{grid-template-columns:1fr 1fr}
  .portfolio-card{grid-template-columns:1fr}
  .portfolio-card img{height:360px}
}

@media (max-width: 820px){
  .site-header{padding:1rem 1.2rem;background:rgba(7,7,7,.9);backdrop-filter:blur(14px)}
  .brand{min-width:0}
  .brand-badge{width:48px;height:48px}
  .brand-copy strong{font-size:1.1rem}
  .site-nav{
    position:fixed;
    top:75px;
    right:1rem;
    left:1rem;
    display:grid;
    gap:0;
    background:rgba(8,8,8,.96);
    border:1px solid var(--line);
    padding:.75rem;
    transform:translateY(-14px);
    opacity:0;
    pointer-events:none;
    transition:.25s ease;
  }
  .site-nav.open{opacity:1;transform:translateY(0);pointer-events:auto}
  .site-nav a{padding:1rem;border-bottom:1px solid var(--line-soft)}
  .site-nav a:last-child{border-bottom:0}
  .nav-toggle{
    display:grid;
    gap:6px;
    border:0;
    background:transparent;
    padding:.75rem;
  }
  .nav-toggle span{display:block;width:28px;height:2px;background:var(--copper)}
  .hero{min-height:760px;padding:8rem 1.4rem 4rem}
  h1{font-size:clamp(3.6rem,17vw,6rem)}
  .service-band,.case-grid,.price-grid,.values-grid,.service-detail-grid,.contact-form{grid-template-columns:1fr}
  .band-item{border-right:0;border-bottom:1px solid var(--line-soft)}
  .footer-main{grid-template-columns:1fr}
}


/* v2.2 Typography + service-business refinements */
.hero-content h1,
.page-hero h1,
.section-kicker h2,
.portfolio-card h2,
.price-card h3,
.value-card h2,
.contact-card h2,
.proposal-card h2 {
  font-family: var(--serif);
}

.brand-tagline {
  margin: 1.1rem 0 2rem;
  color: var(--copper);
  text-transform: uppercase;
  letter-spacing: .24em;
  font-size: .82rem;
  font-weight: 600;
}

.hero-growth-word {
  color: var(--copper);
}

.service-detail h2,
.price-card h3 {
  letter-spacing: -.035em;
}

.footer-brand .tagline-line,
.footer-tagline {
  color: var(--copper);
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: .76rem;
  margin-top: .6rem;
}

.service-outcome {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line-soft);
  color: rgba(233,225,214,.78);
  font-weight: 500;
}

.case-card h3,
.portfolio-card .eyebrow,
.band-item h3,
.service-detail .eyebrow {
  font-family: var(--sans);
  font-weight: 700;
}



/* v2.3 hero fix
   The homepage and interior page backgrounds now use the exact uploaded forest reference image:
   assets/images/forest-reference-1.png
*/


/* ================================
   v2.4 polish: smaller scale, lighter hero, service focus
   ================================ */

body{
  font-size:14.5px;
}

.site-header{
  padding:1.25rem clamp(1.1rem,3.3vw,3.6rem);
}

.site-header.scrolled{
  padding-top:.75rem;
  padding-bottom:.75rem;
}

.brand-badge{
  width:48px;
  height:48px;
}

.brand-copy strong{
  font-size:1.08rem;
  letter-spacing:.19em;
}

.brand-copy small{
  font-size:.52rem;
  letter-spacing:.30em;
}

.site-nav{
  gap:2.35rem;
}

.site-nav a{
  font-size:.72rem;
  letter-spacing:.18em;
}

.hero{
  min-height:650px;
  height:86vh;
  padding:7.4rem clamp(1.25rem,6vw,6.8rem) 4.5rem;
}

.hero-bg{
  background:
    radial-gradient(circle at 58% 22%, rgba(233,225,214,.14), transparent 32%),
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.58) 34%, rgba(0,0,0,.24) 62%, rgba(0,0,0,.58) 100%),
    linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.18) 38%, rgba(0,0,0,.66) 100%),
    url("../images/hero-forest-v2-4.jpg") center center / cover no-repeat;
}

.hero-content{
  width:min(590px, 92vw);
  margin-top:3rem;
}

h1{
  font-size:clamp(3.1rem,5.8vw,6.7rem);
  line-height:.94;
}

.hero-lede{
  max-width:510px;
  font-size:1.02rem;
  line-height:1.75;
}

.eyebrow{
  font-size:.69rem;
  letter-spacing:.24em;
}

.brand-tagline{
  font-size:.68rem;
  letter-spacing:.24em;
  margin:1rem 0 1.7rem;
}

.button{
  min-height:48px;
  padding:0 1.65rem;
  font-size:.72rem;
}

.service-band{
  grid-template-columns:repeat(4,1fr);
}

.band-item{
  min-height:112px;
  padding:1.45rem clamp(1rem,2vw,2.1rem);
  gap:1rem;
}

.circle-icon{
  width:40px;
  height:40px;
  font-size:1.05rem;
}

.band-item h3{
  font-size:.72rem;
}

.band-item p{
  font-size:.82rem;
}

.section{
  padding:clamp(3.3rem,5.4vw,6.1rem) clamp(1.25rem,3.4vw,3.8rem);
}

.services-preview{
  display:grid;
  grid-template-columns:minmax(245px, 30%) 1fr;
  gap:clamp(2rem,4vw,4rem);
  align-items:start;
}

.service-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}

.service-card{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  padding:1.55rem;
  min-height:260px;
}

.service-card h3{
  margin:1.25rem 0 .75rem;
  color:var(--ivory);
  font-size:.82rem;
}

.service-card p{
  font-size:.92rem;
}

.section-kicker h2{
  font-size:clamp(2rem,3.4vw,3.9rem);
}

.process-row{
  gap:0;
}

.process-step{
  padding:0 1.45rem;
}

.process-step span{
  font-size:2.35rem;
}

.process-step h3{
  font-size:.72rem;
}

.process-step p{
  font-size:.84rem;
}

.page-hero{
  padding:9.5rem clamp(1.25rem,3.4vw,3.8rem) 4rem;
  background:
    linear-gradient(90deg, rgba(0,0,0,.76), rgba(0,0,0,.50)),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.64)),
    url("../images/hero-forest-v2-4.jpg") center center / cover no-repeat;
}

.page-hero h1{
  font-size:clamp(2.85rem,4.9vw,5.8rem);
  max-width:820px;
}

.page-hero p:not(.eyebrow){
  font-size:1.02rem;
  max-width:680px;
}

.service-detail{
  padding:1.55rem;
}

.service-detail h2{
  font-size:clamp(2rem,3vw,3rem);
}

.price-card{
  padding:1.6rem;
}

.price-card h3{
  font-size:2rem;
}

.price-card strong{
  font-size:2.25rem;
}

.footer-cta{
  padding:2rem clamp(1.25rem,3.4vw,3.8rem);
}

.footer-cta img{
  width:84px;
  height:84px;
}

.footer-cta h2{
  font-size:1.9rem;
}

.footer-main{
  padding:2.4rem clamp(1.25rem,3.4vw,3.8rem);
}

.footer-brand img{
  width:210px;
}

/* Hide any old client/case-card styling from the homepage if cached markup appears */
.case-grid,
.work-preview{
  display:none !important;
}

@media (max-width:1050px){
  .services-preview{
    grid-template-columns:1fr;
  }
  .service-card-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .hero{
    height:auto;
    min-height:650px;
  }
}

@media (max-width:820px){
  .service-card-grid,
  .service-band{
    grid-template-columns:1fr;
  }
  .hero{
    min-height:620px;
    padding-top:7rem;
  }
  h1{
    font-size:clamp(3rem,13vw,4.8rem);
  }
  .site-nav{
    gap:0;
  }
}


/* ================================
   v2.5 corrections
   - Different hero image
   - No cut-off hero
   - Single-line tagline
   - Smaller/more palatable scale
   - No fake client portfolio
   ================================ */

.hero{
  min-height:760px;
  height:auto;
  padding-top:7.2rem;
  padding-bottom:5.25rem;
  display:flex;
  align-items:center;
}

.hero-bg{
  background:
    radial-gradient(circle at 58% 20%, rgba(255,255,255,.15), transparent 36%),
    linear-gradient(90deg, rgba(0,0,0,.74) 0%, rgba(0,0,0,.54) 34%, rgba(0,0,0,.20) 64%, rgba(0,0,0,.56) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.18) 40%, rgba(0,0,0,.64) 100%),
    url("../images/hero-forest-v2-5.jpg") center center / cover no-repeat !important;
  transform:none;
}

.hero-content{
  width:min(600px, 92vw);
  margin-top:2.25rem;
}

h1{
  font-size:clamp(3rem,5.45vw,6.15rem);
  line-height:.96;
}

.hero-lede{
  font-size:1rem;
  line-height:1.72;
  max-width:520px;
  margin-bottom:1.25rem;
}

.brand-tagline{
  display:block;
  white-space:nowrap;
  width:max-content;
  max-width:100%;
  font-size:.68rem;
  letter-spacing:.22em;
  margin:1rem 0 1.55rem;
}

.copper-rule{
  margin:1.45rem 0 1.1rem;
}

.compact-service-band{
  grid-template-columns:repeat(4,1fr);
}

.band-item{
  min-height:104px;
}

.services-preview,
.package-section{
  display:grid;
  grid-template-columns:minmax(240px, 30%) 1fr;
  gap:clamp(2rem,4vw,4rem);
  align-items:start;
}

.service-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}

.service-card{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  padding:1.55rem;
  min-height:245px;
}

.service-card h3{
  margin:1.15rem 0 .65rem;
  color:var(--ivory);
  font-size:.82rem;
}

.service-card p{
  font-size:.9rem;
}

/* hard-hide legacy fake client/portfolio cards if any browser cache/old section remains */
.work-preview,
.case-grid,
.case-card{
  display:none !important;
}

.page-hero{
  background:
    linear-gradient(90deg, rgba(0,0,0,.76), rgba(0,0,0,.48)),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.64)),
    url("../images/hero-forest-v2-5.jpg") center center / cover no-repeat !important;
}

@media (max-width:1050px){
  .hero{
    min-height:720px;
  }
  .services-preview,
  .package-section{
    grid-template-columns:1fr;
  }
  .service-card-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:820px){
  .hero{
    min-height:680px;
    padding-top:6.8rem;
    padding-bottom:4rem;
  }
  .service-card-grid,
  .compact-service-band{
    grid-template-columns:1fr;
  }
  .brand-tagline{
    white-space:normal;
    width:auto;
  }
}


/* ================================
   v2.6 approved mockup match
   ================================ */

.site-header{
  padding:1.55rem clamp(1.2rem,3.6vw,4.1rem);
}

.brand-badge{
  width:58px;
  height:58px;
}

.brand-copy strong{
  font-size:1.38rem;
  letter-spacing:.22em;
}

.brand-copy small{
  font-size:.62rem;
  letter-spacing:.36em;
}

.site-nav{
  gap:2.65rem;
}

.site-nav a{
  font-size:.78rem;
  letter-spacing:.18em;
}

.hero-v26{
  min-height:760px;
  height:76vh;
  max-height:840px;
  padding:8.7rem clamp(1.25rem,5.8vw,6.5rem) 4.2rem;
  align-items:center;
}

.hero-v26 .hero-bg{
  background:
    radial-gradient(circle at 58% 20%, rgba(233,225,214,.12), transparent 30%),
    linear-gradient(90deg, rgba(0,0,0,.74) 0%, rgba(0,0,0,.52) 36%, rgba(0,0,0,.18) 64%, rgba(0,0,0,.56) 100%),
    linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.18) 40%, rgba(0,0,0,.74) 100%),
    url("../images/hero-approved-mountain-forest-v2-6.jpg") center center / cover no-repeat !important;
  transform:none;
}

.hero-v26 .hero-content{
  width:min(680px, 92vw);
  margin-top:3rem;
}

.hero-v26 h1{
  font-size:clamp(3.2rem,5.65vw,6.55rem);
  line-height:.98;
  letter-spacing:-.045em;
}

.hero-v26 .hero-lede{
  font-size:1.08rem;
  line-height:1.68;
  max-width:520px;
  margin-bottom:2rem;
}

.hero-v26 .copper-rule{
  width:76px;
  margin:1.55rem 0 1.25rem;
}

.hero-v26 .button{
  min-width:250px;
}

.service-band{
  background:linear-gradient(180deg, rgba(20,20,20,.98), rgba(11,11,10,.99));
}

.compact-service-band{
  grid-template-columns:repeat(4,1fr);
}

.compact-service-band .band-item{
  min-height:126px;
  padding:1.65rem clamp(1rem,2.2vw,2.45rem);
}

.compact-service-band .circle-icon{
  width:54px;
  height:54px;
  font-size:1.35rem;
}

.compact-service-band .band-item h3{
  font-size:.76rem;
  letter-spacing:.17em;
}

.compact-service-band .band-item p{
  font-size:.84rem;
  line-height:1.55;
}

.services-preview,
.package-section{
  display:grid;
  grid-template-columns:minmax(250px, 28%) 1fr;
  gap:clamp(2rem,4.4vw,4.4rem);
}

.service-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}

.service-card{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  padding:1.65rem;
  min-height:245px;
}

.service-card h3{
  margin:1.15rem 0 .65rem;
  color:var(--ivory);
  font-size:.82rem;
}

.work-preview,
.case-grid,
.case-card{
  display:none !important;
}

@media (max-width:1050px){
  .hero-v26{
    height:auto;
    min-height:720px;
  }
  .services-preview,
  .package-section{
    grid-template-columns:1fr;
  }
  .service-card-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:820px){
  .hero-v26{
    min-height:700px;
    padding-top:7rem;
  }
  .hero-v26 h1{
    font-size:clamp(3rem,13vw,5rem);
  }
  .service-card-grid,
  .compact-service-band{
    grid-template-columns:1fr;
  }
}


/* ================================
   v2.7 hero text fix
   - remove background text artifacts by using a cleaner crop
   - refine headline scale/placement
   ================================ */

.hero-v26 .hero-bg{
  background:
    radial-gradient(circle at 62% 18%, rgba(233,225,214,.10), transparent 28%),
    linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.58) 34%, rgba(0,0,0,.18) 66%, rgba(0,0,0,.52) 100%),
    linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.18) 42%, rgba(0,0,0,.76) 100%),
    url("../images/hero-approved-mountain-forest-v2-7.jpg") center center / cover no-repeat !important;
}

.hero-v26{
  min-height:760px;
  height:78vh;
  max-height:860px;
  padding:8.5rem clamp(1.25rem,5.8vw,6.5rem) 4.2rem;
}

.hero-v26 .hero-content{
  width:min(620px, 92vw);
  margin-top:2.4rem;
}

.hero-v26 h1{
  font-size:clamp(3.05rem,5.15vw,5.85rem);
  line-height:.97;
  letter-spacing:-.045em;
  max-width:560px;
}

.hero-v26 .hero-lede{
  font-size:1.02rem;
  line-height:1.72;
  max-width:470px;
  margin-bottom:1.9rem;
}

.hero-v26 .copper-rule{
  width:74px;
  margin:1.4rem 0 1.2rem;
}

.hero-v26 .button{
  min-width:235px;
}

@media (max-width:1050px){
  .hero-v26{
    height:auto;
    min-height:700px;
  }
}

@media (max-width:820px){
  .hero-v26{
    min-height:660px;
    padding-top:6.9rem;
  }
  .hero-v26 h1{
    font-size:clamp(2.9rem,12.5vw,4.7rem);
  }
}


/* ================================
   v2.8 hero cleanup
   - built from approved screenshot
   - ghosting removed
   - mountains / tree tops made more visible
   ================================ */

.hero-v26{
  min-height:760px;
  height:76vh;
  max-height:850px;
  padding:8.4rem clamp(1.25rem,5.8vw,6.5rem) 4.1rem;
}

.hero-v26 .hero-bg{
  background:
    linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.12) 42%, rgba(0,0,0,.46) 100%),
    url("../images/hero-clean-approved-v2-8.jpg") center top / cover no-repeat !important;
  transform:none;
}

.hero-v26 .hero-content{
  width:min(620px, 92vw);
  margin-top:2.6rem;
}

.hero-v26 h1{
  font-size:clamp(3.05rem,5.2vw,5.9rem);
  line-height:.97;
  letter-spacing:-.045em;
  max-width:560px;
}

.hero-v26 .hero-lede{
  font-size:1.02rem;
  line-height:1.72;
  max-width:470px;
  margin-bottom:1.9rem;
}

.hero-v26 .copper-rule{
  width:74px;
  margin:1.35rem 0 1.2rem;
}

.hero-v26 .button{
  min-width:235px;
}

/* ensure no old hero pseudo/gradient remnants are showing from prior versions */
.hero::before,
.hero::after{
  content:none !important;
}

@media (max-width:1050px){
  .hero-v26{
    height:auto;
    min-height:710px;
    background-position:center top;
  }
}

@media (max-width:820px){
  .hero-v26{
    min-height:670px;
    padding-top:6.9rem;
  }
  .hero-v26 .hero-bg{
    background-position:62% top !important;
  }
}


/* ================================
   v2.8.2 hero image replacement
   - clean generated mountain/forest scene
   - no text/logo baked into image
   ================================ */

.hero-v26{
  min-height:760px;
  height:76vh;
  max-height:850px;
  padding:8.4rem clamp(1.25rem,5.8vw,6.5rem) 4.1rem;
}

.hero-v26 .hero-bg{
  background:
    linear-gradient(90deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.48) 28%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.36) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.12) 42%, rgba(0,0,0,.42) 100%),
    url("../images/hero-clean-mountain-forest-v2-8-3.jpg") center center / cover no-repeat !important;
  transform:none;
}

.hero-v26 .hero-content{
  width:min(620px, 92vw);
  margin-top:2.55rem;
}

.hero-v26 h1{
  font-size:clamp(3.05rem,5.2vw,5.9rem);
  line-height:.97;
  letter-spacing:-.045em;
  max-width:560px;
}

.hero-v26 .hero-lede{
  font-size:1.02rem;
  line-height:1.72;
  max-width:470px;
  margin-bottom:1.9rem;
}

/* kill any old background remnants */
.hero::before,
.hero::after{
  content:none !important;
}

@media (max-width:1050px){
  .hero-v26{
    height:auto;
    min-height:710px;
  }
}

@media (max-width:820px){
  .hero-v26{
    min-height:670px;
    padding-top:6.9rem;
  }
  .hero-v26 .hero-bg{
    background-position:58% center !important;
  }
}


/* v2.8.3 GitHub upload-safe optimization
   Hero image compressed for GitHub browser upload.
   Removed unused legacy/reference images from the live package.
*/


/* ================================
   v2.8.4 page-purpose consolidation
   ================================ */

/* User-approved manual hero position: keep mountain peak visible */
.hero-v26 .hero-bg{
  background:
    linear-gradient(90deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.48) 28%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.36) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.12) 42%, rgba(0,0,0,.42) 100%),
    url("../images/hero-clean-mountain-forest-v2-8-3.jpg") 50% 0% / cover no-repeat !important;
}

.home-purpose,
.home-cta-split,
.pricing-intro,
.terms-preview,
.mission-grid,
.bio-section{
  display:grid;
  grid-template-columns:minmax(245px, 30%) 1fr;
  gap:clamp(2rem,4vw,4rem);
  align-items:start;
}

.purpose-grid,
.service-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}

.purpose-card,
.service-card,
.mission-card,
.mini-panel,
.about-profile-card{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  padding:1.65rem;
  box-shadow:0 16px 50px rgba(0,0,0,.18);
}

.purpose-card span,
.bio-values span{
  display:block;
  color:var(--copper);
  font-family:var(--serif);
  font-size:2.4rem;
  line-height:1;
  margin-bottom:1rem;
}

.purpose-card h3,
.bio-values h3{
  color:var(--ivory);
  margin-bottom:.75rem;
}

.home-cta-split,
.terms-preview,
.mission-grid{
  grid-template-columns:repeat(2,1fr);
}

.package-section{
  display:none !important;
}

.price-card ul{
  margin:1rem 0 0;
  padding-left:1.1rem;
  color:rgba(233,225,214,.68);
}

.price-card li{
  margin:.35rem 0;
}

.about-profile-card{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.about-profile-card img{
  width:180px;
  margin:0 0 1.4rem auto;
}

.about-profile-card h2{
  font-size:2.7rem;
  margin-bottom:.25rem;
}

.mission-card h2{
  font-size:clamp(2rem,3.4vw,3.8rem);
  margin-bottom:1rem;
}

.bio-copy p:not(.eyebrow){
  max-width:760px;
  font-size:1.02rem;
}

.bio-values{
  display:grid;
  gap:1rem;
}

.bio-values article{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  padding:1.4rem;
}

.bio-values p{
  margin:0;
}

/* No public client portfolio on this version */
.work-preview,
.case-grid,
.case-card,
.portfolio-grid,
.portfolio-card{
  display:none !important;
}

/* Pricing page nav active is handled by HTML; this prevents stale old CSS/browser confusion */
.site-nav a[href="pricing.html"].active::after{
  transform:scaleX(1);
}

@media (max-width:1050px){
  .home-purpose,
  .home-cta-split,
  .pricing-intro,
  .terms-preview,
  .mission-grid,
  .bio-section{
    grid-template-columns:1fr;
  }
  .purpose-grid,
  .service-card-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:820px){
  .purpose-grid,
  .service-card-grid,
  .home-cta-split,
  .terms-preview,
  .mission-grid{
    grid-template-columns:1fr;
  }
}


/* ================================
   v2.9 refinement pass
   ================================ */

/* Keep the approved hero crop with mountain peak visible */
.hero-v26 .hero-bg{
  background:
    linear-gradient(90deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.48) 28%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.36) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.12) 42%, rgba(0,0,0,.42) 100%),
    url("../images/hero-clean-mountain-forest-v2-8-3.jpg") 50% 0% / cover no-repeat !important;
}

/* Larger header logo without increasing the header height */
.site-header{
  min-height:88px;
  padding-top:1rem !important;
  padding-bottom:1rem !important;
  overflow:visible;
}

.brand{
  transform:scale(1.16);
  transform-origin:left center;
  margin-left:.35rem;
}

.brand-badge{
  width:60px !important;
  height:60px !important;
}

.brand-copy strong{
  font-size:1.36rem !important;
  letter-spacing:.22em;
}

.brand-copy small{
  font-size:.60rem !important;
  letter-spacing:.34em;
}

.site-nav{
  align-items:center;
}

/* Home CTA panels: fix oversized headings and text overlap */
.home-cta-split{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:2.1rem;
}

.home-cta-split .mini-panel{
  min-height:245px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:2rem;
}

.home-cta-split .mini-panel h2{
  font-size:clamp(2.15rem, 3.2vw, 3.6rem);
  line-height:1.02;
  letter-spacing:-.04em;
  margin:0 0 1rem;
  max-width:680px;
}

.home-cta-split .mini-panel p:not(.eyebrow){
  font-size:.95rem;
  line-height:1.65;
  margin:0 0 1.4rem;
  max-width:640px;
}

.home-cta-split .mini-panel .text-link{
  margin-top:auto;
}

/* Pricing page now mirrors the 4 service areas */
.pricing-services-section{
  display:grid;
  grid-template-columns:minmax(240px, 27%) 1fr;
  gap:clamp(2rem,4vw,4rem);
  align-items:start;
}

.pricing-service-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
}

.pricing-service-card{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  padding:1.55rem;
  min-height:455px;
  display:flex;
  flex-direction:column;
  box-shadow:0 18px 60px rgba(0,0,0,.18);
}

.pricing-service-card.featured{
  border-color:rgba(183,123,79,.72);
  background:linear-gradient(180deg, rgba(183,123,79,.14), rgba(255,255,255,.025));
}

.pricing-service-card .circle-icon{
  margin-bottom:1.1rem;
}

.pricing-service-card h3{
  font-family:var(--serif);
  text-transform:none;
  letter-spacing:-.035em;
  font-size:clamp(1.75rem,2.1vw,2.45rem);
  margin:.25rem 0 .8rem;
}

.pricing-service-card strong{
  display:block;
  color:var(--copper);
  font-family:var(--serif);
  font-size:clamp(2rem,2.3vw,2.8rem);
  font-weight:500;
  line-height:1;
  margin:.4rem 0 1.2rem;
}

.pricing-service-card ul{
  margin:1rem 0 0;
  padding-left:1.1rem;
  color:rgba(233,225,214,.70);
}

.pricing-service-card li{
  margin:.35rem 0;
}

.pricing-bundle-section{
  display:grid;
  grid-template-columns:minmax(280px, .75fr) 1fr;
  gap:1rem;
  align-items:stretch;
}

.bundle-card,
.bundle-notes article{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  padding:2rem;
}

.bundle-card{
  border-color:rgba(183,123,79,.55);
}

.bundle-card h2{
  font-size:clamp(2.4rem,4vw,4.8rem);
  margin-bottom:.6rem;
}

.bundle-card strong{
  display:block;
  color:var(--copper);
  font-family:var(--serif);
  font-size:clamp(2.2rem,3vw,3.4rem);
  font-weight:500;
  margin:.5rem 0 1rem;
}

.bundle-notes{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:1rem;
}

.bundle-notes h3{
  color:var(--ivory);
  margin-bottom:.65rem;
}

/* About Jake: open, readable layout */
.about-jake-section{
  display:grid;
  grid-template-columns:minmax(260px, .42fr) .58fr;
  gap:clamp(2rem,5vw,5.5rem);
  align-items:start;
}

.about-jake-intro h2{
  font-size:clamp(2.7rem,4.9vw,5.6rem);
  line-height:1.02;
  letter-spacing:-.045em;
  margin-bottom:1.2rem;
}

.lead-bio{
  font-size:1.2rem !important;
  line-height:1.75 !important;
  color:rgba(233,225,214,.82) !important;
}

.about-jake-copy{
  max-width:820px;
  padding-top:2.6rem;
}

.about-jake-copy p{
  font-size:1.02rem;
  line-height:1.9;
  margin-bottom:1.35rem;
  color:rgba(233,225,214,.72);
}

.about-values-grid{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1rem;
  margin-top:1.2rem;
}

.about-values-grid article{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  padding:1.65rem;
  min-height:210px;
}

.about-values-grid span{
  display:block;
  color:var(--copper);
  font-family:var(--serif);
  font-size:2.7rem;
  line-height:1;
  margin-bottom:1rem;
}

.about-values-grid h3{
  color:var(--ivory);
  margin-bottom:.75rem;
}

.about-values-grid p{
  margin:0;
}

/* Hide legacy layouts from prior versions if browser cache/content persists */
.bio-section,
.bio-values,
.package-section,
.price-grid.standalone{
  display:none !important;
}

@media (max-width:1200px){
  .pricing-service-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:1050px){
  .pricing-services-section,
  .pricing-bundle-section,
  .about-jake-section{
    grid-template-columns:1fr;
  }

  .about-jake-copy{
    padding-top:0;
  }
}

@media (max-width:820px){
  .brand{
    transform:scale(1.04);
    margin-left:0;
  }

  .brand-badge{
    width:50px !important;
    height:50px !important;
  }

  .home-cta-split,
  .bundle-notes,
  .about-values-grid,
  .pricing-service-grid{
    grid-template-columns:1fr;
  }

  .home-cta-split .mini-panel h2{
    font-size:clamp(2rem,10vw,3rem);
  }
}


/* ================================
   v3.0 launch/startup repositioning
   ================================ */

/* Keep approved hero position on homepage */
.hero-v26 .hero-bg{
  background:
    linear-gradient(90deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.48) 28%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.36) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.12) 42%, rgba(0,0,0,.42) 100%),
    url("../images/hero-clean-mountain-forest-v2-8-3.jpg") 50% 0% / cover no-repeat !important;
}

/* Restore hero image to every interior page */
.page-hero{
  background:
    linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,.56)),
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.72)),
    url("../images/hero-clean-mountain-forest-v2-8-3.jpg") 50% 0% / cover no-repeat !important;
}

/* Nav adjustment for added Brand In Action item */
.site-nav{
  gap:1.75rem;
}

.site-nav a{
  font-size:.70rem;
  letter-spacing:.16em;
}

/* Larger header mark while preserving current header height */
.site-header{
  min-height:88px;
  padding-top:.95rem !important;
  padding-bottom:.95rem !important;
  overflow:visible;
}

.brand{
  transform:scale(1.13);
  transform-origin:left center;
  margin-left:.3rem;
}

.brand-badge{
  width:60px !important;
  height:60px !important;
}

.brand-copy strong{
  font-size:1.33rem !important;
}

.brand-copy small{
  font-size:.58rem !important;
}

/* Home CTA panels readability */
.home-cta-split{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:2.1rem;
}

.home-cta-split .mini-panel{
  min-height:260px;
  display:flex;
  flex-direction:column;
  padding:2rem;
}

.home-cta-split .mini-panel h2{
  font-size:clamp(2rem, 3vw, 3.3rem);
  line-height:1.04;
  margin:0 0 1rem;
}

.home-cta-split .mini-panel p:not(.eyebrow){
  font-size:.95rem;
  line-height:1.65;
  margin:0 0 1.4rem;
}

.home-cta-split .mini-panel .text-link{
  margin-top:auto;
}

/* Brand In Action page */
.applications-intro,
.usable-identity-section{
  display:grid;
  grid-template-columns:minmax(245px, 30%) 1fr;
  gap:clamp(2rem,4vw,4rem);
  align-items:start;
}

.application-benefits{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1rem;
}

.benefit-card,
.application-category,
.identity-system-card{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  padding:1.65rem;
  box-shadow:0 16px 50px rgba(0,0,0,.18);
}

.benefit-card span{
  display:block;
  color:var(--copper);
  font-family:var(--serif);
  font-size:2.5rem;
  line-height:1;
  margin-bottom:1rem;
}

.benefit-card h3,
.application-category h2{
  color:var(--ivory);
  margin-bottom:.75rem;
}

.application-category-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1rem;
}

.application-category h2{
  font-size:clamp(1.75rem,2.5vw,2.65rem);
}

.application-gallery-section{
  display:grid;
  grid-template-columns:minmax(245px, 27%) 1fr;
  gap:clamp(2rem,4vw,4rem);
  align-items:start;
}

.application-gallery{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1rem;
}

.application-tile{
  margin:0;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  overflow:hidden;
  min-height:100%;
  box-shadow:0 18px 60px rgba(0,0,0,.20);
}

.application-tile.large{
  grid-row:span 2;
}

.application-tile.wide{
  grid-column:span 2;
}

.application-tile img{
  width:100%;
  height:260px;
  object-fit:cover;
  filter:saturate(.92) contrast(1.02);
}

.application-tile.large img{
  height:430px;
}

.application-tile.wide img{
  height:300px;
}

.application-tile figcaption{
  display:grid;
  gap:.25rem;
  padding:1.1rem 1.2rem 1.25rem;
}

.application-tile strong{
  color:var(--ivory);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
}

.application-tile span{
  color:rgba(233,225,214,.66);
  font-size:.9rem;
}

.identity-list{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:.75rem;
}

.identity-list span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:74px;
  padding:1rem;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line-soft);
  color:var(--sand);
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.74rem;
  font-weight:700;
}

/* Pricing page updated for four service areas */
.pricing-services-section{
  display:grid;
  grid-template-columns:minmax(240px, 27%) 1fr;
  gap:clamp(2rem,4vw,4rem);
  align-items:start;
}

.pricing-service-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
}

.pricing-service-card{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  padding:1.55rem;
  min-height:455px;
  display:flex;
  flex-direction:column;
  box-shadow:0 18px 60px rgba(0,0,0,.18);
}

.pricing-service-card.featured{
  border-color:rgba(183,123,79,.72);
  background:linear-gradient(180deg, rgba(183,123,79,.14), rgba(255,255,255,.025));
}

.pricing-service-card .circle-icon{
  margin-bottom:1.1rem;
}

.pricing-service-card h3{
  font-family:var(--serif);
  text-transform:none;
  letter-spacing:-.035em;
  font-size:clamp(1.75rem,2.1vw,2.45rem);
  margin:.25rem 0 .8rem;
}

.pricing-service-card strong{
  display:block;
  color:var(--copper);
  font-family:var(--serif);
  font-size:clamp(2rem,2.3vw,2.8rem);
  font-weight:500;
  line-height:1;
  margin:.4rem 0 1.2rem;
}

.pricing-service-card ul{
  margin:1rem 0 0;
  padding-left:1.1rem;
  color:rgba(233,225,214,.70);
}

.pricing-service-card li{
  margin:.35rem 0;
}

.pricing-bundle-section{
  display:grid;
  grid-template-columns:minmax(280px, .75fr) 1fr;
  gap:1rem;
  align-items:stretch;
}

.bundle-card,
.bundle-notes article{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  padding:2rem;
}

.bundle-card{
  border-color:rgba(183,123,79,.55);
}

.bundle-card h2{
  font-size:clamp(2.4rem,4vw,4.8rem);
  margin-bottom:.6rem;
}

.bundle-card strong{
  display:block;
  color:var(--copper);
  font-family:var(--serif);
  font-size:clamp(2.2rem,3vw,3.4rem);
  font-weight:500;
  margin:.5rem 0 1rem;
}

.bundle-notes{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:1rem;
}

.bundle-notes h3{
  color:var(--ivory);
  margin-bottom:.65rem;
}

/* About page updated bio layout */
.about-jake-section{
  display:grid;
  grid-template-columns:minmax(260px, .42fr) .58fr;
  gap:clamp(2rem,5vw,5.5rem);
  align-items:start;
}

.about-jake-intro h2{
  font-size:clamp(2.55rem,4.6vw,5.25rem);
  line-height:1.02;
  letter-spacing:-.045em;
  margin-bottom:1.2rem;
}

.about-jake-copy{
  max-width:850px;
  padding-top:2.6rem;
}

.about-jake-copy p{
  font-size:1.03rem;
  line-height:1.9;
  margin-bottom:1.35rem;
  color:rgba(233,225,214,.74);
}

.about-values-grid{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1rem;
  margin-top:1.2rem;
}

.about-values-grid article{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid var(--line-soft);
  padding:1.65rem;
  min-height:210px;
}

.about-values-grid span{
  display:block;
  color:var(--copper);
  font-family:var(--serif);
  font-size:2.7rem;
  line-height:1;
  margin-bottom:1rem;
}

.about-values-grid h3{
  color:var(--ivory);
  margin-bottom:.75rem;
}

/* Remove old strategy/portfolio remnants from previous versions */
.bio-section,
.bio-values,
.package-section,
.price-grid.standalone,
.work-preview,
.case-grid,
.case-card,
.portfolio-grid,
.portfolio-card{
  display:none !important;
}

@media (max-width:1250px){
  .pricing-service-grid,
  .application-category-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .application-gallery{
    grid-template-columns:repeat(2, 1fr);
  }

  .application-tile.large,
  .application-tile.wide{
    grid-column:auto;
    grid-row:auto;
  }

  .application-tile.large img,
  .application-tile.wide img{
    height:280px;
  }
}

@media (max-width:1050px){
  .applications-intro,
  .application-gallery-section,
  .usable-identity-section,
  .pricing-services-section,
  .pricing-bundle-section,
  .about-jake-section{
    grid-template-columns:1fr;
  }

  .about-jake-copy{
    padding-top:0;
  }

  .application-benefits,
  .identity-list{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media (max-width:900px){
  .site-nav{
    gap:0;
  }
}

@media (max-width:820px){
  .brand{
    transform:scale(1.04);
    margin-left:0;
  }

  .brand-badge{
    width:50px !important;
    height:50px !important;
  }

  .home-cta-split,
  .bundle-notes,
  .about-values-grid,
  .pricing-service-grid,
  .application-category-grid,
  .application-benefits,
  .application-gallery,
  .identity-list{
    grid-template-columns:1fr;
  }

  .home-cta-split .mini-panel h2{
    font-size:clamp(2rem,10vw,3rem);
  }
}
