*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#f3efdb;color:#38341f;font-family:'Helvetica Neue', Helvetica, Arial, sans-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(201,154,44,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:Garamond, 'EB Garamond', 'Times New Roman', serif;letter-spacing:.42em;text-transform:uppercase;
  font-size:.72rem;color:#dcbd76;margin-bottom:1.4rem;font-weight:700}
.hero-in{color:#ffffff}
.hero-h{font-family:Garamond, 'EB Garamond', 'Times New Roman', 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:Garamond, 'EB Garamond', 'Times New Roman', serif;font-weight:700;font-size:.95rem;
  letter-spacing:.04em;padding:.95em 2.1em;border-radius:18px;
  transition:transform .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-solid{background:#c99a2c;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:Garamond, 'EB Garamond', 'Times New Roman', 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:#e5dfba}
.eyebrow{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;letter-spacing:.3em;text-transform:uppercase;
  font-size:.72rem;color:#c99a2c;font-weight:700;margin-bottom:1.6rem}
.eyebrow.light{color:#dcbd76}
.manifesto{font-family:Garamond, 'EB Garamond', 'Times New Roman', 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:#8a8460}

.shot-in{color:#ffffff}
.shot-cap{font-family:Garamond, 'EB Garamond', 'Times New Roman', 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:#f3efdb}
.sec-h{font-family:Garamond, 'EB Garamond', 'Times New Roman', 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(56,52,31,0.12);border:1px solid rgba(56,52,31,0.12);border-radius:18px;overflow:hidden}
.svc{background:#e5dfba;padding:clamp(1.4rem,3vw,2.4rem)}
.svc-n{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;color:#c99a2c;font-weight:800;font-size:1.1rem}
.svc h3{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:1.3rem;margin:.7rem 0 .5rem;font-weight:700}
.svc p{color:#8a8460;font-size:.98rem}

.impact{background:#83641d;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:Garamond, 'EB Garamond', 'Times New Roman', 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:Garamond, 'EB Garamond', 'Times New Roman', 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:Garamond, 'EB Garamond', 'Times New Roman', 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:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:1.05rem;margin-bottom:2.4rem}
.contact-lines a:hover{color:#dcbd76}
.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(56,52,31,0.45);
  background:transparent;transition:all .25s ease;flex:0 0 auto}
.dot-lbl{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(56,52,31,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:#c99a2c;border-color:#c99a2c;
  box-shadow:0 0 0 4px rgba(201,154,44,0.28)}
.dot.active .dot-lbl{opacity:1;transform:translateX(0);color:#c99a2c}

@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:'Helvetica Neue', Helvetica, Arial, sans-serif;color:#38341f;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:#c99a2c;margin-bottom:10px;font-weight:700}

.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:18px;display:block}


/* =====================================================
   DESIGN DNA: vapor-sunset
   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:repeating-linear-gradient(0deg,rgba(201,154,44,.55) 0 2px,transparent 2px 26px);opacity:.08;}
html::after{content:'';position:fixed;inset:0;z-index:99990;pointer-events:none;border:none;background:none;background:linear-gradient(90deg,#ff71ce,#01cdfe,#b967ff);background-size:100% 6px;background-repeat:no-repeat;background-position:top;opacity:.85}
h1,h2,h3{font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif !important;text-transform:uppercase !important;letter-spacing:.3em !important;font-weight:600 !important;font-style:italic !important;text-shadow:0 0 18px rgba(201,154,44,.7)}
img{filter:saturate(1.5) hue-rotate(-12deg) contrast(1.05);border-radius:8px !important;box-shadow:0 0 0 2px rgba(201,154,44,.7),0 18px 40px rgba(201,154,44,.35) !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:8px !important;text-transform:uppercase;letter-spacing:.22em;box-shadow:0 0 18px rgba(201,154,44,.55) !important}
