
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:#08100b;color:#ecf3ed;font-family:Optima, Candara, 'Segoe UI', 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(236,243,237,0.07) calc(8.333% - 1px),rgba(236,243,237,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:Garamond, 'EB Garamond', 'Times New Roman', serif;
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:.45rem .9rem;
  background:#ecf3ed;color:#08100b;border:none;border-radius:2px;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(236,243,237,0.16)}
.dc-brand{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-weight:800;font-size:1.15rem}
.dc-nav nav a{margin-left:1.1rem;font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:.8rem;color:#728578;
  letter-spacing:.1em}
.dc-nav nav a:hover{color:#c8a44a}
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:Garamond, 'EB Garamond', 'Times New Roman', 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:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:.8rem;letter-spacing:.26em;text-transform:uppercase;
  color:#c8a44a;align-self:end;padding-bottom:.6rem}
.dc-frag{font-family:Garamond, 'EB Garamond', 'Times New Roman', 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 #c8a44a;justify-self:end;
  text-align:right}
.dc-sub{color:#728578;font-size:1.05rem;margin-top:1.4rem;align-self:start}
.dc-vert{writing-mode:vertical-rl;font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:.72rem;
  letter-spacing:.2em;text-transform:uppercase;color:#728578;align-self:end;
  justify-self:start;grid-row:2 / 4}
.dc-btn{justify-self:start;font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-weight:700;padding:.75rem 1.6rem;
  background:#c8a44a;color:#141414;border-radius:2px;margin-top:1rem;
  display:inline-block;transition:.2s}
.dc-btn:hover{transform:translateY(-2px)}
/* generic */
.dc-tag{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
  color:#c8a44a;padding-top:.4rem;border-top:2px solid #c8a44a}
.dc-about p,.dc-contact p{color:#728578;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:#0d1a12;border:1px solid rgba(236,243,237,0.16);border-radius:2px;
  padding:1.5rem;transition:.2s}
.dc-svc:hover{border-color:#c8a44a;transform:translateY(-3px)}
.dc-svc-n{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-weight:800;color:#c8a44a;font-size:1.3rem;
  display:block;margin-bottom:.3rem}
.dc-svc h3{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:1.05rem;margin-bottom:.3rem}
.dc-svc p{color:#728578;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:2px}
.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:Garamond, 'EB Garamond', 'Times New Roman', serif;
  font-size:.72rem;color:#141414;background:#c8a44a;padding:.1rem .45rem;
  border-radius:2px}
/* QUOTES */
.dc-quotes{row-gap:2rem}
.dc-q{margin:0;border-left:3px solid #c8a44a;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:Garamond, 'EB Garamond', 'Times New Roman', serif;font-style:normal;color:#c8a44a;font-size:.85rem}
/* CONTACT */
.dc-lines{display:flex;flex-direction:column;gap:.4rem;color:#728578;
  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:#728578;font-size:.85rem;border-top:1px solid rgba(236,243,237,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 #c8a44a}
}
@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:Optima, Candara, 'Segoe UI', sans-serif;color:#ecf3ed;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:Garamond, 'EB Garamond', 'Times New Roman', 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:#c8a44a;margin-bottom:10px;font-weight:700}

.xq-hours{border-top:1px solid rgba(236,243,237,0.14)}
.xq-hours-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;align-items:start}
.xq-hours address{font-style:normal;color:#728578;line-height:1.8;margin-top:8px}
.xq-hourtable{width:100%;border-collapse:collapse}
.xq-hourtable th,.xq-hourtable td{text-align:left;padding:12px 6px;border-bottom:1px solid rgba(236,243,237,0.14)}
.xq-hourtable th{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif}
.xq-hourtable td{color:#c8a44a;font-weight:700;text-align:right}


.xq-cta{background:#c8a44a;color:#141414}
.xq-cta h2,.xq-cta p{color:#141414}
.xq-cta p{opacity:.85;max-width:52ch}
.xq-cta-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.xq-btn{display:inline-block;background:#08100b;color:#ecf3ed;text-decoration:none;font-weight:700;padding:14px 30px;border-radius:2px;font-family:Garamond, 'EB Garamond', 'Times New Roman', serif}
.xq-btn:hover{transform:translateY(-2px)}


.xq-strip{padding-left:0;padding-right:0}
.xq-strip .xq-wrap{padding:0 24px}
.xq-striprail{list-style:none;display:flex;gap:12px;overflow-x:auto;padding:14px 24px;scroll-snap-type:x mandatory}
.xq-striprail li{flex:0 0 min(64vw,300px);scroll-snap-align:start}
.xq-striprail img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px;display:block}


/* =====================================================
   DESIGN DNA: mono-outline
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
*{box-shadow:none !important;border-radius:0 !important}
h1,h2,h3{font-family:'Helvetica Neue', Helvetica, Arial, sans-serif !important;text-transform:uppercase !important;letter-spacing:.18em !important;font-weight:400 !important}
img{filter:grayscale(.85) contrast(1.05);outline:1px solid #f0f5f1;outline-offset:8px;margin:8px}
a[class*="btn"],button,span[class*="btn"]{background:transparent !important;color:inherit !important;border:2px solid currentColor !important;text-transform:uppercase;letter-spacing:.2em;font-size:.8em}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border:1.5px solid rgba(240,245,241,.8) !important;background:transparent !important}
html::after{content:'';position:fixed;inset:0;z-index:99990;pointer-events:none;border:1px solid rgba(240,245,241,.8);background:none;margin:10px}
