
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:#efecdb; color:#282817; font-family:'Trebuchet MS', Tahoma, sans-serif; font-size:16px;
  line-height:1.55; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:#282817; text-decoration:none; }

.modfield { max-width:1160px; margin:0 auto; padding:clamp(16px,3vw,34px);
  display:grid; grid-template-columns:repeat(6,1fr); gap:clamp(10px,1.6vw,20px);
  grid-auto-rows:clamp(120px,15vw,170px);
  background:
    linear-gradient(rgba(40,40,23,0.09) 1px,transparent 1px) 0 0/100% calc((100% )/1),
    linear-gradient(90deg,rgba(40,40,23,0.09) 1px,transparent 1px) 0 0/16.66% 100%; }

.unit { position:relative; background:#ffffff; border:1px solid rgba(40,40,23,0.14);
  border-radius:4px; padding:clamp(16px,2vw,26px); overflow:hidden;
  display:flex; flex-direction:column; justify-content:center; }
.coord { position:absolute; top:8px; left:10px; font-family:'Courier New', Courier, monospace; font-size:10px;
  letter-spacing:0.1em; color:#7a7a58; }
.coord.light { color:#f3f0df; mix-blend-mode:difference; }

.u-6x1 { grid-column:span 6; grid-row:span 1; }
.u-6x1.u-foot, .u-6x1.u-nav { grid-row:span 1; }
.u-4x2 { grid-column:span 4; grid-row:span 2; }
.u-4x1 { grid-column:span 4; grid-row:span 1; }
.u-3x2 { grid-column:span 3; grid-row:span 2; }
.u-2x2 { grid-column:span 2; grid-row:span 2; }

/* nav */
.u-nav { flex-direction:row; align-items:center; justify-content:space-between;
  grid-row:span 1; }
.brand { font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif; font-weight:800; font-size:19px; }
.u-nav nav a { margin-left:20px; color:#7a7a58; font-size:14px; }
.u-nav nav a:hover { color:#5f7a3a; }

/* hero */
.u-hero { background:#ffffff; }
.kick { font-family:'Courier New', Courier, monospace; text-transform:uppercase; letter-spacing:0.22em;
  font-size:11px; color:#5f7a3a; margin-bottom:14px; }
.u-hero h1 { font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif; font-weight:800; line-height:0.96;
  font-size:clamp(2rem,5vw,3.6rem); letter-spacing:-0.02em; }
.dek { color:#7a7a58; margin:16px 0 20px; max-width:38ch; }
.btn { align-self:flex-start; background:#5f7a3a; color:#ffffff; font-weight:700;
  padding:12px 22px; border-radius:4px; letter-spacing:0.06em; }
.btn:hover { opacity:0.9; }

/* accent block */
.u-accent { background:#5f7a3a; color:#ffffff; }
.u-accent .coord { color:#ffffff; opacity:0.7; }
.u-accent .big { font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif; font-weight:800; font-size:3rem; line-height:1; }
.u-accent .lbl { font-family:'Courier New', Courier, monospace; font-size:11px; text-transform:uppercase;
  letter-spacing:0.14em; margin-top:6px; }

/* image */
.u-img { padding:0; }
.u-img img { width:100%; height:100%; object-fit:cover; }

/* about */
.u-about h2, .head .mono { font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif; font-weight:800; }
.u-about h2 { font-size:1.4rem; margin-bottom:10px; }
.u-about p { color:#7a7a58; font-size:0.95rem; }
.head { background:#efecdb; }
.head .mono { font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif; font-size:1.5rem; line-height:1.05; }

/* service units */
.u-2x2 h3 { font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif; font-weight:700; font-size:1.05rem; margin-bottom:8px; }
.u-2x2 p { color:#7a7a58; font-size:0.9rem; }

/* quote */
.u-quote blockquote { font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif; font-weight:700; font-size:clamp(1.1rem,2.4vw,1.6rem);
  line-height:1.2; }
.u-quote cite { font-style:normal; color:#7a7a58; font-family:'Courier New', Courier, monospace; font-size:11px;
  letter-spacing:0.12em; text-transform:uppercase; margin-top:10px; }

/* contact */
.ct { display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; width:100%; }
.u-contact h2 { font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif; font-weight:800; font-size:1.5rem; margin-bottom:6px; }
.u-contact p { color:#7a7a58; }
.ctlines { display:flex; flex-direction:column; gap:8px; font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif;
  font-size:1.15rem; text-align:right; }
.ctlines a:hover { color:#5f7a3a; }
.ctlines span { color:#7a7a58; font-family:'Trebuchet MS', Tahoma, sans-serif; font-size:0.95rem; }

.u-foot { background:#282817; color:#f3f0df; align-items:center; text-align:center;
  flex-direction:row; justify-content:center; font-family:'Courier New', Courier, monospace; font-size:12px;
  letter-spacing:0.14em; text-transform:uppercase; }

@media (max-width:860px){
  .modfield{ grid-template-columns:repeat(2,1fr); grid-auto-rows:minmax(120px,auto);
    background:none; }
  .u-6x1,.u-4x2,.u-4x1,.u-3x2,.u-2x2{ grid-column:span 2; grid-row:auto; }
  .u-nav{ }
  .ctlines{ text-align:left; }
}


.xq{box-sizing:border-box;font-family:'Trebuchet MS', Tahoma, sans-serif;color:#282817;padding:56px 24px;width:100%}
.xq *{box-sizing:border-box;margin:0}
.xq .xq-wrap{max-width:1060px;margin:0 auto}
.xq h2{font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif;font-size:1.7rem;line-height:1.2;margin-bottom:8px}
.xq .xq-kick{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#5f7a3a;margin-bottom:10px;font-weight:700}

.xq-teamgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px;margin-top:22px}
.xq-person img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;display:block;filter:saturate(.9)}
.xq-person figcaption{padding-top:10px}
.xq-person strong{display:block;font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif}
.xq-person span{font-size:.82rem;color:#7a7a58}


.xq-promo{padding:34px 24px}
.xq-promo-card{border:2px dashed #5f7a3a;border-radius:4px;padding:26px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;background:rgba(40,40,23,0.05)}
.xq-promo-tag{background:#5f7a3a;color:#ffffff;font-family:'Century Gothic', 'Apple Gothic', 'Segoe UI', sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:999px}
.xq-promo-card p{flex:1 1 260px;font-size:1.02rem}
.xq-promo-card a{color:#5f7a3a;font-weight:700;text-decoration:none;white-space:nowrap}
.xq-promo-card a:hover{text-decoration:underline}


/* =====================================================
   DESIGN DNA: luxe-noir
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
html::after{content:'';position:fixed;inset:0;z-index:99990;pointer-events:none;border:none;background:none;border-left:1px solid rgba(95,122,58,.55);border-right:1px solid rgba(95,122,58,.55);margin:0 16px}
h1,h2,h3{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif !important;text-transform:uppercase !important;letter-spacing:.3em !important;font-weight:500 !important}
h2::after{content:'';display:block;width:3.2rem;height:1px;background:#5f7a3a;margin-top:.7rem}
img{filter:grayscale(.35) contrast(1.06);border-radius:0 !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:0 !important;letter-spacing:.28em;text-transform:uppercase;font-size:.78em;border:1px solid #5f7a3a !important;box-shadow:none !important}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border-radius:0 !important;border:1px solid rgba(95,122,58,.4) !important;box-shadow:none !important}
