
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:#f2f8ef;color:#26331f;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;line-height:1.6;
  position:relative;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.dc-overlay{position:fixed;inset:0;z-index:1;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent,transparent
    calc(8.333% - 1px),rgba(38,51,31,0.07) calc(8.333% - 1px),rgba(38,51,31,0.07) 8.333%);
  margin:0 6vw;transition:opacity .3s}
.dc-overlay.off{opacity:0}
.dc-toggle{position:fixed;bottom:1.2rem;right:1.2rem;z-index:40;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:.45rem .9rem;
  background:#26331f;color:#f2f8ef;border:none;border-radius:22px;cursor:pointer}
.dc-nav{position:relative;z-index:5;display:flex;justify-content:space-between;
  align-items:center;padding:1.2rem 6vw;border-bottom:1px solid rgba(38,51,31,0.16)}
.dc-brand{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:800;font-size:1.15rem}
.dc-nav nav a{margin-left:1.1rem;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:.8rem;color:#7f9078;
  letter-spacing:.1em}
.dc-nav nav a:hover{color:#3aa56a}
section{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,1fr);
  column-gap:0;padding:clamp(3.5rem,8vw,7rem) 6vw;align-items:start}
h2{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:800;font-size:clamp(1.7rem,4.4vw,2.8rem);
  letter-spacing:-.01em;line-height:1;margin-bottom:.6rem}
/* HERO */
.dc-hero{row-gap:.4rem;min-height:78vh;align-content:center}
.dc-kick{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:.8rem;letter-spacing:.26em;text-transform:uppercase;
  color:#3aa56a;align-self:end;padding-bottom:.6rem}
.dc-frag{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:800;line-height:.82;
  font-size:clamp(3rem,13vw,9rem);letter-spacing:-.03em}
.dc-frag--b{color:transparent;-webkit-text-stroke:2px #3aa56a;justify-self:end;
  text-align:right}
.dc-sub{color:#7f9078;font-size:1.05rem;margin-top:1.4rem;align-self:start}
.dc-vert{writing-mode:vertical-rl;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:.72rem;
  letter-spacing:.2em;text-transform:uppercase;color:#7f9078;align-self:end;
  justify-self:start;grid-row:2 / 4}
.dc-btn{justify-self:start;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:700;padding:.75rem 1.6rem;
  background:#3aa56a;color:#ffffff;border-radius:22px;margin-top:1rem;
  display:inline-block;transition:.2s}
.dc-btn:hover{transform:translateY(-2px)}
/* generic */
.dc-tag{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
  color:#3aa56a;padding-top:.4rem;border-top:2px solid #3aa56a}
.dc-about p,.dc-contact p{color:#7f9078;font-size:1.1rem;margin-top:.8rem}
/* SERVICES (nested grid to keep the 12-col line placement) */
.dc-svc-grid{grid-column:1 / 13;display:grid;grid-template-columns:repeat(12,1fr);
  row-gap:1rem;margin-top:2rem}
.dc-svc{background:#ffffff;border:1px solid rgba(38,51,31,0.16);border-radius:22px;
  padding:1.5rem;transition:.2s}
.dc-svc:hover{border-color:#3aa56a;transform:translateY(-3px)}
.dc-svc-n{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:800;color:#3aa56a;font-size:1.3rem;
  display:block;margin-bottom:.3rem}
.dc-svc h3{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:1.05rem;margin-bottom:.3rem}
.dc-svc p{color:#7f9078;font-size:.92rem}
/* WORK */
.dc-gal{grid-column:1 / 13;display:grid;grid-template-columns:repeat(12,1fr);
  row-gap:1.2rem;margin-top:2rem}
.dc-fig{margin:0;position:relative;overflow:hidden;border-radius:22px}
.dc-fig img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.dc-fig:hover img{transform:scale(1.07)}
.dc-fig figcaption{position:absolute;top:.5rem;left:.6rem;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;
  font-size:.72rem;color:#ffffff;background:#3aa56a;padding:.1rem .45rem;
  border-radius:22px}
/* QUOTES */
.dc-quotes{row-gap:2rem}
.dc-q{margin:0;border-left:3px solid #3aa56a;padding-left:1.1rem}
.dc-q:nth-child(2){margin-top:3rem}
.dc-q p{font-style:italic;font-size:1.15rem;margin-bottom:.5rem}
.dc-q cite{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-style:normal;color:#3aa56a;font-size:.85rem}
/* CONTACT */
.dc-lines{display:flex;flex-direction:column;gap:.4rem;color:#7f9078;
  margin-top:.8rem;font-size:.98rem}
.dc-lines .dc-btn{margin-top:.8rem;align-self:flex-start}
.dc-foot{position:relative;z-index:2;text-align:center;padding:2.6rem 6vw;
  color:#7f9078;font-size:.85rem;border-top:1px solid rgba(38,51,31,0.16)}
@media(max-width:820px){
  .dc-overlay{display:none}
  section{grid-template-columns:1fr;row-gap:1.2rem}
  section>*{grid-column:1 / -1!important;justify-self:stretch!important;
    text-align:left!important;margin-top:0!important}
  .dc-svc-grid,.dc-gal{grid-template-columns:1fr}
  .dc-vert{writing-mode:horizontal-tb}
  .dc-frag--b{-webkit-text-stroke:1.5px #3aa56a}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.dc-svc,.dc-fig img,.dc-btn{transition:none}
}


.xq{box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;color:#26331f;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:'Gill Sans', 'Gill Sans MT', Calibri, '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:#3aa56a;margin-bottom:10px;font-weight:700}

.xq-faq-list{margin-top:18px;border-top:1px solid rgba(38,51,31,0.14)}
.xq-faq-item{border-bottom:1px solid rgba(38,51,31,0.14);padding:4px 0}
.xq-faq-item summary{cursor:pointer;padding:14px 4px;font-weight:700;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;list-style-position:inside}
.xq-faq-item summary::marker{color:#3aa56a}
.xq-faq-item p{padding:0 4px 16px;color:#7f9078;max-width:64ch}


.xq-stats{background:rgba(38,51,31,0.05);border-top:1px solid rgba(38,51,31,0.14);border-bottom:1px solid rgba(38,51,31,0.14)}
.xq-statrow{display:flex;flex-wrap:wrap;gap:14px}
.xq-stat{flex:1 1 140px;background:#ffffff;border:1px solid rgba(38,51,31,0.14);border-radius:20px;padding:20px 18px;text-align:center}
.xq-stat dt{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:2rem;color:#3aa56a;font-weight:800}
.xq-stat dd{margin-top:6px;font-size:.85rem;color:#7f9078}


.xq-checklist{list-style:none;padding:0;margin-top:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 26px}
.xq-checklist li{position:relative;padding:10px 0 10px 32px;border-bottom:1px dashed rgba(38,51,31,0.14)}
.xq-checklist li::before{content:"\2713";position:absolute;left:0;top:8px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:#3aa56a;color:#ffffff;font-size:.75rem;font-weight:800}


/* =====================================================
   DESIGN DNA: tabloid-print
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
html::before{content:'';position:fixed;inset:0;z-index:99980;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Ccircle cx='3' cy='3' r='1.5' fill='%2326331f'/%3E%3C/svg%3E");opacity:.12;}
h1,h2,h3{font-family:'Arial Black', 'Arial Bold', Arial, sans-serif !important;text-transform:uppercase !important;letter-spacing:-0.02em !important;font-weight:900 !important}
h2{border-top:3px double #26331f;border-bottom:3px double #26331f;padding:.28em 0;display:inline-block}
img{filter:grayscale(1) contrast(1.32);border-radius:0 !important;border:2px solid #26331f !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:0 !important;background:#26331f !important;color:#f2f8ef !important;border:none !important;text-transform:uppercase;font-weight:900;letter-spacing:.04em}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border-radius:0 !important;border:2px solid #26331f !important;box-shadow:none !important}
