:root{
  --ink:#151815;
  --charcoal:#161918;
  --charcoal-2:#1d211e;
  --muted:#69716b;
  --paper:#ffffff;
  --cream:#f5f6f3;
  --stone:#e7eae5;
  --brand-green:#45683f;
  --brand-green-dark:#2f492c;
  --brand-green-light:#7c9a75;
  --brand-green-soft:#e7eee4;
  --copper:var(--brand-green);
  --copper-dark:var(--brand-green-dark);
  --copper-light:var(--brand-green-light);
  --sage:var(--brand-green);
  --sage-light:var(--brand-green-soft);
  --line:rgba(21,24,21,.13);
  --line-dark:rgba(255,255,255,.13);
  --shadow:0 18px 42px rgba(0,0,0,.11);
  --radius:4px;
}

body{background:#fff;color:var(--ink)}
.utility-bar{display:none!important}
.site-header{top:0;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:none}
.site-header.is-scrolled{background:#fff;box-shadow:0 8px 26px rgba(0,0,0,.07)}
.reference-header .nav-wrap{min-height:78px}
.reference-brand .brand-type strong,.brand-type strong{color:#151815;font-weight:860;letter-spacing:.17em}
.reference-brand .brand-type small,.brand-type small{color:var(--brand-green);font-weight:900;letter-spacing:.34em}
.primary-nav a{color:#454c46;font-size:12px;font-weight:760}
.primary-nav a:hover,.primary-nav a.is-active{color:var(--brand-green-dark)}
.primary-nav a:not(.nav-cta):after{display:none!important}
.nav-cta,.button-primary{background:var(--brand-green)!important;color:#fff!important;border-color:var(--brand-green)!important}
.nav-cta:hover,.button-primary:hover{background:var(--brand-green-dark)!important;border-color:var(--brand-green-dark)!important}
.button{border-radius:3px;box-shadow:none;min-height:48px}
.button-outline{border-color:rgba(21,24,21,.28);background:#fff;color:var(--ink)}
.button-outline:hover{border-color:var(--brand-green);color:var(--brand-green-dark)}
.button-light{background:#fff;color:var(--charcoal)}
.reference-kicker{margin:0 0 14px;color:var(--brand-green);font-size:10px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.reference-kicker.light{color:#aac1a5}
.reference-rule{width:62px;height:3px;background:var(--brand-green);margin:24px 0 18px}

/* HERO */
.reference-hero{background:#fff;border-bottom:1px solid var(--line)}
.reference-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:515px;align-items:stretch}
.reference-hero-copy{padding:68px 68px 62px 0;display:flex;flex-direction:column;justify-content:center}
.reference-hero-copy h1{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(50px,5.5vw,78px);font-weight:900;letter-spacing:-.055em;line-height:.98;color:#151815}
.reference-hero-copy h1 span{color:var(--brand-green)}
.reference-markets{margin:0;font-size:14px;font-weight:850;letter-spacing:.02em;color:#303631}
.reference-markets b{color:var(--brand-green);padding:0 7px}
.reference-lede{max-width:550px;margin:16px 0 0;color:var(--muted);font-size:17px;line-height:1.68}
.reference-hero-copy .button-row{margin-top:28px}
.reference-hero-media{position:relative;min-height:515px;overflow:hidden;background:#dfe4de}
.reference-hero-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.84) contrast(1.02)}
.reference-hero-media:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.1),transparent 28%);pointer-events:none}
.reference-hero-accent{position:absolute;right:0;top:0;bottom:0;width:92px;background:var(--charcoal);z-index:2;border-left:4px solid var(--brand-green)}
.reference-hero-accent span{position:absolute;left:18px;right:16px;height:1px;background:rgba(124,154,117,.9)}
.reference-hero-accent span:after{content:"";position:absolute;right:-2px;top:-3px;width:7px;height:7px;border:1px solid var(--brand-green-light);border-radius:50%;background:var(--charcoal)}
.reference-hero-accent span:nth-child(1){top:28%;width:54px}
.reference-hero-accent span:nth-child(2){top:51%;width:40px;left:34px}
.reference-hero-accent span:nth-child(3){top:73%;width:58px;left:13px}

/* CATEGORY NAV */
.reference-category-strip{background:#fff;border-bottom:1px solid var(--line)}
.reference-category-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.reference-category{padding:23px 26px;text-align:center;border-left:1px solid var(--line);transition:background .2s ease,color .2s ease}
.reference-category:first-child{border-left:0}
.reference-category:hover{background:#f7f8f5}
.reference-category svg{width:32px;height:32px;margin:0 auto 10px;stroke:var(--brand-green);fill:none;stroke-width:1.7}
.reference-category strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em}
.reference-category span{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.45}

/* DARK SOLUTIONS BAND */
.reference-solutions{padding:66px 0 72px;background:var(--charcoal);color:#fff}
.reference-solutions-head{text-align:center;margin-bottom:28px}
.reference-solutions-head h2{margin:0;font-family:Inter,ui-sans-serif,sans-serif;font-size:clamp(32px,3.8vw,48px);font-weight:900;letter-spacing:-.04em}
.reference-solutions-head h2 span{color:var(--brand-green-light)}
.reference-solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.reference-solution-card{display:block;background:var(--charcoal-2);border:1px solid rgba(255,255,255,.14);color:#fff;overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.reference-solution-card:hover{transform:translateY(-4px);border-color:rgba(124,154,117,.62);box-shadow:0 18px 38px rgba(0,0,0,.25)}
.reference-solution-card img{width:100%;height:165px;object-fit:cover;display:block;filter:saturate(.78) brightness(.9)}
.reference-solution-card>div{padding:19px 19px 21px}
.reference-solution-card strong{font-size:17px}
.reference-solution-card p{margin:8px 0 0;color:rgba(255,255,255,.63);font-size:12px;line-height:1.55}
.reference-solution-card span{display:inline-block;margin-top:16px;color:var(--brand-green-light);font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}

/* QUALITY */
.reference-quality{padding:72px 0;background:#fff;border-bottom:1px solid var(--line)}
.reference-quality-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:76px;align-items:center}
.reference-quality-copy h2,.reference-area h2{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:900;letter-spacing:-.05em;line-height:1.02}
.reference-quality-copy h2{font-size:clamp(38px,4.5vw,57px)}
.reference-quality-copy>p:not(.reference-kicker){margin:0;color:var(--muted);font-size:15px;line-height:1.72;max-width:690px}
.reference-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin-top:22px}
.reference-checks span{font-size:12px;font-weight:750;color:#424943}
.reference-checks span:before{content:"✓";display:inline-grid;place-items:center;width:17px;height:17px;border:1px solid var(--brand-green);border-radius:50%;margin-right:7px;color:var(--brand-green);font-size:10px}
.reference-quality-copy .text-link{margin-top:22px}
.reference-quality-panel{border:1px solid var(--line);background:var(--cream);padding:34px}
.quality-stat{display:flex;align-items:flex-end;gap:18px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.quality-stat strong{font-size:72px;line-height:.8;color:var(--brand-green);font-family:Georgia,"Times New Roman",serif;font-weight:500}
.quality-stat span{max-width:150px;color:var(--muted);font-size:12px;line-height:1.45}
.quality-steps{display:grid;grid-template-columns:1fr 1fr;margin-top:24px}
.quality-steps span{padding:14px 0;border-top:1px solid rgba(21,24,21,.10);font-size:10px;color:var(--brand-green);font-weight:900;letter-spacing:.08em}
.quality-steps span:nth-child(1),.quality-steps span:nth-child(2){border-top:0}
.quality-steps b{display:block;margin-top:5px;color:#2d332e;font-size:13px;letter-spacing:0}

/* SERVICE AREA */
.reference-area{background:var(--charcoal);color:#fff;overflow:hidden}
.reference-area-grid{display:grid;grid-template-columns:.95fr 1.05fr;min-height:290px;align-items:stretch}
.reference-area-copy{padding:52px 54px 52px 0;display:flex;flex-direction:column;justify-content:center}
.reference-area h2{font-size:clamp(32px,4vw,48px);color:#fff}
.reference-area-copy>p:not(.reference-kicker){margin:16px 0 0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.65;max-width:600px}
.reference-area-copy .button-row{margin-top:24px}
.reference-area-photo{min-height:290px;overflow:hidden;border-left:4px solid var(--brand-green)}
.reference-area-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72) brightness(.78)}

/* FOOTER */
.reference-footer{padding:48px 0 18px;background:#121513;color:#fff}
.reference-footer-grid{display:grid;grid-template-columns:1.35fr 1fr .8fr 1fr;gap:50px}
.reference-footer-grid h3{margin:0 0 14px;color:#90aa8a;font-size:10px;text-transform:uppercase;letter-spacing:.15em}
.reference-footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.reference-footer-grid p,.reference-footer-grid a{margin:0;color:rgba(255,255,255,.61);font-size:12px}
.reference-footer-grid .brand-type strong{color:#fff}
.reference-footer-grid .brand-type small{color:#8da786}
.reference-footer-grid>div:first-child>p{margin-top:16px}
.reference-footer .footer-bottom{margin-top:34px}

/* INTERNAL PAGES: keep current clean structure, brand-consistent colors, remove ornamental clutter. */
.topo-field,.page-hero:after,.hero-light:after,.hero-light:before,.section-dark:before,.section-dark:after,.cta-section:after{display:none!important}
.page-hero{background:var(--cream);border-bottom:1px solid var(--line)}
.page-hero h1,.section h2,.cta-section h2{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:900;letter-spacing:-.045em}
.page-hero h1 em{color:var(--brand-green);font-style:normal}
.eyebrow{color:var(--brand-green);font-weight:900}
.service-card:before{display:none!important}
.service-card:after{background:var(--brand-green)}
.service-card>span,.detail-index{color:var(--brand-green)}
.service-card-accent,.scope-section{background:var(--brand-green-soft)}
.section-dark{background:var(--charcoal)}
.cta-section{background:var(--brand-green)}
.site-footer{background:#121513}
.footer-grid h3{color:#90aa8a}
.detail-visual{border-top:4px solid var(--brand-green);background:#f3f5f1}
.visual-diagnostic,.visual-panel,.visual-plan,.visual-control,.visual-project{background:#f3f5f1!important}
.visual-diagnostic span,.visual-control span,.project-line,.visual-project span{display:none!important}

@media(max-width:980px){
  .reference-hero-grid,.reference-quality-grid,.reference-area-grid{grid-template-columns:1fr}
  .reference-hero-copy{padding:58px 0 44px}
  .reference-hero-media{min-height:390px}
  .reference-hero-accent{width:74px}
  .reference-category-grid{grid-template-columns:1fr 1fr}
  .reference-category:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .reference-category:nth-child(4){border-top:1px solid var(--line)}
  .reference-solution-grid{grid-template-columns:1fr 1fr}
  .reference-quality-grid{gap:38px}
  .reference-area-copy{padding:48px 0 38px}
  .reference-area-photo{border-left:0;border-top:4px solid var(--brand-green);min-height:280px}
  .reference-footer-grid{grid-template-columns:1.3fr 1fr 1fr}
  .reference-footer-grid>div:last-child{grid-column:2/4}
}

@media(max-width:680px){
  .reference-header .nav-wrap{min-height:68px}
  .reference-hero-copy{padding:48px 0 38px}
  .reference-hero-copy h1{font-size:clamp(44px,13vw,61px)}
  .reference-markets{line-height:1.8}
  .reference-lede{font-size:16px}
  .reference-hero-media{min-height:300px}
  .reference-hero-accent{width:58px;border-left-width:3px}
  .reference-category-grid,.reference-solution-grid,.reference-checks,.quality-steps,.reference-footer-grid{grid-template-columns:1fr}
  .reference-category{border-left:0!important;border-top:1px solid var(--line)}
  .reference-category:first-child{border-top:0}
  .reference-solutions{padding:56px 0 60px}
  .reference-solution-card img{height:180px}
  .reference-quality{padding:58px 0}
  .reference-quality-panel{padding:28px 24px}
  .quality-stat strong{font-size:62px}
  .reference-area-copy{padding:44px 0 34px}
  .reference-footer-grid>div:last-child{grid-column:auto}
}
