*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#faf0dc;color:#3d3024;font-family:Georgia, 'Times New Roman', serif;line-height:1.6;
  -webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}

.deck{height:100vh;overflow-y:scroll;scroll-snap-type:y mandatory;
  scroll-behavior:smooth;position:relative;
  scrollbar-width:none}
.deck::-webkit-scrollbar{display:none}

.screen{position:relative;min-height:100vh;scroll-snap-align:start;
  scroll-snap-stop:always;display:flex;align-items:center;
  padding:clamp(24px,7vw,120px);overflow:hidden}
.screen-in{position:relative;z-index:3;width:100%;max-width:1100px;margin:0 auto}

.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;
  z-index:0;transform:scale(1.04)}
.hero-veil{position:absolute;inset:0;z-index:1;
  background:linear-gradient(120deg,rgba(0,0,0,0.5),rgba(0,0,0,0.32) 60%,rgba(226,146,54,0.28))}
.shot-veil{position:absolute;inset:0;z-index:1;background:rgba(0,0,0,0.5)}
.contact-veil{position:absolute;inset:0;z-index:1;
  background:linear-gradient(0deg,rgba(0,0,0,0.5),rgba(0,0,0,0.32))}

.kicker{font-family:Cambria, Georgia, serif;letter-spacing:.42em;text-transform:uppercase;
  font-size:.72rem;color:#ecb87c;margin-bottom:1.4rem;font-weight:700}
.hero-in{color:#ffffff}
.hero-h{font-family:Cambria, Georgia, serif;font-weight:800;line-height:.98;
  font-size:clamp(2.8rem,9vw,7rem);letter-spacing:-.02em;max-width:14ch}
.hero-sub{margin-top:1.6rem;max-width:40ch;font-size:clamp(1rem,1.6vw,1.35rem);
  color:rgba(255,255,255,0.72)}
.hero-cta{margin-top:2.6rem;display:flex;gap:1rem;flex-wrap:wrap}

.btn{display:inline-block;font-family:Cambria, Georgia, serif;font-weight:700;font-size:.95rem;
  letter-spacing:.04em;padding:.95em 2.1em;border-radius:24px;
  transition:transform .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-solid{background:#e29236;color:#141414}
.btn-ghost{border:1.5px solid rgba(255,255,255,0.4);color:#ffffff}

.scroll-hint{position:absolute;left:50%;bottom:2.2rem;transform:translateX(-50%);
  z-index:3;color:rgba(255,255,255,0.72);font-family:Cambria, Georgia, serif;font-size:.7rem;letter-spacing:.3em;
  text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.7rem}
.scroll-hint span{width:1px;height:34px;background:rgba(255,255,255,0.4);
  animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

.statement{background:#f0dfbd}
.eyebrow{font-family:Cambria, Georgia, serif;letter-spacing:.3em;text-transform:uppercase;
  font-size:.72rem;color:#e29236;font-weight:700;margin-bottom:1.6rem}
.eyebrow.light{color:#ecb87c}
.manifesto{font-family:Cambria, Georgia, serif;font-weight:800;line-height:1.02;letter-spacing:-.01em;
  font-size:clamp(2rem,6.5vw,4.6rem);max-width:18ch}
.statement-p{margin-top:2rem;max-width:52ch;font-size:clamp(1rem,1.5vw,1.25rem);
  color:#95835f}

.shot-in{color:#ffffff}
.shot-cap{font-family:Cambria, Georgia, serif;font-weight:800;line-height:1.02;
  font-size:clamp(2rem,7vw,5rem);max-width:16ch;text-shadow:0 2px 30px rgba(0,0,0,0.5)}

.services{background:#faf0dc}
.sec-h{font-family:Cambria, Georgia, serif;font-weight:800;font-size:clamp(1.8rem,4.5vw,3.2rem);
  letter-spacing:-.01em;max-width:16ch;margin-bottom:2.6rem}
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:rgba(61,48,36,0.12);border:1px solid rgba(61,48,36,0.12);border-radius:24px;overflow:hidden}
.svc{background:#f0dfbd;padding:clamp(1.4rem,3vw,2.4rem)}
.svc-n{font-family:Cambria, Georgia, serif;color:#e29236;font-weight:800;font-size:1.1rem}
.svc h3{font-family:Cambria, Georgia, serif;font-size:1.3rem;margin:.7rem 0 .5rem;font-weight:700}
.svc p{color:#95835f;font-size:.98rem}

.impact{background:#935f23;color:#141414}
.impact .eyebrow.light{color:#141414;opacity:.7}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,3vw,2.5rem);
  margin-bottom:3rem}
.stat{display:flex;flex-direction:column;gap:.4rem}
.stat-n{font-family:Cambria, Georgia, serif;font-weight:800;font-size:clamp(2.2rem,6vw,4.2rem);
  line-height:1;letter-spacing:-.02em}
.stat-l{font-size:.9rem;opacity:.8;max-width:16ch}
.quote{font-family:Cambria, Georgia, serif;font-size:clamp(1.3rem,3vw,2.1rem);line-height:1.3;
  max-width:24ch;font-style:italic;opacity:.95}
.quote cite{display:block;margin-top:1rem;font-size:.9rem;font-style:normal;
  letter-spacing:.2em;text-transform:uppercase;opacity:.7}

.contact-in{color:#ffffff;text-align:center;margin:0 auto;max-width:900px}
.contact-in .eyebrow.light{margin-left:auto;margin-right:auto}
.contact-h{font-family:Cambria, Georgia, serif;font-weight:800;font-size:clamp(2rem,6vw,4.4rem);
  line-height:1.02;margin-bottom:2.2rem}
.contact-lines{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;
  font-family:Cambria, Georgia, serif;font-size:1.05rem;margin-bottom:2.4rem}
.contact-lines a:hover{color:#ecb87c}
.foot{margin-top:3rem;font-size:.8rem;color:rgba(255,255,255,0.72);letter-spacing:.04em}

.dotnav{position:fixed;top:50%;right:clamp(14px,2.5vw,34px);transform:translateY(-50%);
  z-index:50;display:flex;flex-direction:column;gap:1.1rem}
.dot{display:flex;align-items:center;gap:.7rem;justify-content:flex-end;
  cursor:pointer}
.dot-mark{width:11px;height:11px;border-radius:50%;border:1.5px solid rgba(61,48,36,0.45);
  background:transparent;transition:all .25s ease;flex:0 0 auto}
.dot-lbl{font-family:Cambria, Georgia, serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(61,48,36,0.45);opacity:0;transform:translateX(6px);transition:all .25s ease;
  white-space:nowrap}
.dot:hover .dot-lbl{opacity:.85;transform:translateX(0)}
.dot.active .dot-mark{background:#e29236;border-color:#e29236;
  box-shadow:0 0 0 4px rgba(226,146,54,0.28)}
.dot.active .dot-lbl{opacity:1;transform:translateX(0);color:#e29236}

@media(max-width:760px){
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:1fr}
  .contact-lines{flex-direction:column;gap:.7rem}
  .dot-lbl{display:none}
  .dotnav{gap:.85rem;right:12px}
}


.xq{box-sizing:border-box;font-family:Georgia, 'Times New Roman', serif;color:#3d3024;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:Cambria, Georgia, 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:#e29236;margin-bottom:10px;font-weight:700}

.xq-quoterail{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.xq-quote{border:1px solid rgba(61,48,36,0.14);border-radius:20px;padding:22px;background:#f0dfbd;position:relative}
.xq-quote::before{content:"\201C";position:absolute;top:-4px;left:14px;font-family:Cambria, Georgia, serif;font-size:3rem;color:#e29236;opacity:.5}
.xq-quote p{font-style:italic;margin:10px 0 12px;line-height:1.55}
.xq-quote cite{font-style:normal;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#95835f}


/* =====================================================
   DESIGN DNA: duotone-pop
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
img{filter:grayscale(1) sepia(1) hue-rotate(354deg) saturate(2.6) contrast(.95) !important;border-radius:0 !important}
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='420' height='420'%3E%3Ccircle cx='330' cy='90' r='150' fill='%23e29236'/%3E%3C/svg%3E");opacity:.08;}
h1,h2,h3{font-family:'Arial Black', 'Arial Bold', Arial, sans-serif !important;text-transform:uppercase !important;letter-spacing:-0.015em !important;font-weight:900 !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:0 !important;background:#e29236 !important;color:#141414 !important;border:none !important;font-weight:900;text-transform:uppercase;box-shadow:-6px 6px 0 rgba(61,48,36,.85) !important}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border-radius:0 !important}
html::after{content:'';position:fixed;inset:0;z-index:99990;pointer-events:none;border:none;background:none;background:linear-gradient(90deg,#e29236 0 33%,transparent 33%);background-size:100% 8px;background-repeat:no-repeat;background-position:bottom}
