
*{box-sizing:border-box;margin:0}
body{background:#eef0dc;color:#2f3423;font-family:Verdana, Geneva, sans-serif;line-height:1.6;overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.fs-viewport{display:flex;width:100vw;height:100vh;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch}
.fs-viewport::-webkit-scrollbar{height:0}
.fs-panel{flex:0 0 100vw;height:100vh;scroll-snap-align:start;position:relative;
  padding:clamp(3rem,7vw,6rem) clamp(2rem,7vw,7rem);display:flex;flex-direction:column;
  justify-content:center;border-right:1px solid rgba(47,52,35,0.16);overflow-y:auto}
.fs-tag{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;
  color:#6d8a44;margin-bottom:1.2rem;display:inline-block}
h1{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:800;line-height:.92;letter-spacing:-.02em;
  font-size:clamp(2.8rem,9vw,6rem)}
h2{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:800;font-size:clamp(1.7rem,4.5vw,3rem);
  margin-bottom:1rem;letter-spacing:-.01em}
/* INTRO */
.fs-intro{background:linear-gradient(120deg,#eef0dc,#f0f1e3)}
.fs-kick{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:.82rem;letter-spacing:.28em;text-transform:uppercase;
  color:#6d8a44;margin-bottom:1rem}
.fs-intro h1{margin-bottom:1.2rem;max-width:16ch}
.fs-intro p{color:#7c826a;font-size:1.2rem;max-width:44ch}
.fs-scrollhint{margin-top:2.4rem;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:.78rem;letter-spacing:.18em;
  text-transform:uppercase;color:#7c826a}
/* ABOUT */
.fs-about{flex-direction:row;align-items:center;gap:clamp(2rem,5vw,4rem)}
.fs-about-txt{flex:1 1 46%;max-width:46ch}
.fs-about-txt p{color:#7c826a;font-size:1.12rem}
.fs-about-img{flex:1 1 40%;margin:0;border-radius:14px;overflow:hidden;
  max-height:70vh;aspect-ratio:4/5}
.fs-about-img img{width:100%;height:100%;object-fit:cover}
/* SERVICES */
.fs-svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;max-width:820px}
.fs-svc{background:#ebecd9;border:1px solid rgba(47,52,35,0.16);border-radius:14px;padding:1.7rem;
  transition:.2s}
.fs-svc:hover{border-color:#6d8a44;transform:translateY(-4px)}
.fs-svc-n{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:800;color:#6d8a44;font-size:1.4rem;
  display:block;margin-bottom:.4rem}
.fs-svc h3{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:1.1rem;margin-bottom:.35rem}
.fs-svc p{color:#7c826a;font-size:.95rem}
/* WORK REEL */
.fs-reel{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.6rem}
.fs-fig{flex:0 0 min(46vw,300px);margin:0;position:relative;border-radius:14px;
  overflow:hidden;aspect-ratio:3/4}
.fs-fig img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.fs-fig:hover img{transform:scale(1.06)}
.fs-fig figcaption{position:absolute;bottom:.6rem;left:.7rem;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;
  font-weight:800;color:#ffffff;background:#6d8a44;padding:.1rem .5rem;
  border-radius:14px;font-size:.8rem}
/* QUOTE */
.fs-quote blockquote{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:400;font-style:italic;
  font-size:clamp(1.6rem,4.6vw,3rem);line-height:1.25;max-width:20ch}
.fs-quote cite{display:block;margin-top:1.4rem;font-style:normal;font-weight:700;
  font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:#6d8a44}
/* CONTACT */
.fs-contact p{color:#7c826a;font-size:1.12rem;max-width:44ch;margin-bottom:1.3rem}
.fs-lines{display:flex;flex-direction:column;gap:.35rem;color:#7c826a;
  margin-bottom:1.4rem;font-size:1rem}
.fs-btn{align-self:flex-start;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:700;padding:.85rem 1.9rem;
  background:#6d8a44;color:#ffffff;border-radius:14px;transition:.2s}
.fs-btn:hover{transform:translateY(-2px)}
.fs-foot{margin-top:2rem;color:#7c826a;font-size:.82rem}
/* HUD */
.fs-hud{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;
  gap:1rem;padding:.9rem clamp(1.5rem,5vw,3rem);background:rgba(238,240,220,0.85);
  backdrop-filter:blur(6px);border-top:1px solid rgba(47,52,35,0.16)}
.fs-arrow{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:1.1rem;width:44px;height:44px;flex:0 0 auto;
  background:#ebecd9;color:#2f3423;border:1px solid rgba(47,52,35,0.16);border-radius:14px;
  cursor:pointer;transition:.15s}
.fs-arrow:hover{background:#6d8a44;color:#ffffff;border-color:#6d8a44}
.fs-meter{flex:1;height:4px;background:rgba(47,52,35,0.16);border-radius:999px;overflow:hidden}
.fs-meter-fill{display:block;height:100%;width:0;background:#6d8a44;
  transition:width .1s linear}
.fs-count{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:.8rem;letter-spacing:.1em;color:#7c826a;
  flex:0 0 auto}
@media(max-width:760px){
  body{overflow:auto}
  .fs-viewport{flex-direction:column;width:100%;height:auto;overflow:visible;
    scroll-snap-type:none}
  .fs-panel{flex:none;width:100%;height:auto;min-height:88vh;border-right:0;
    border-bottom:1px solid rgba(47,52,35,0.16)}
  .fs-about{flex-direction:column;align-items:flex-start}
  .fs-svc-grid{grid-template-columns:1fr}
  .fs-hud{position:sticky}
}
@media(prefers-reduced-motion:reduce){
  .fs-viewport{scroll-behavior:auto}.fs-svc,.fs-fig img,.fs-btn,.fs-arrow{transition:none}
}


.xq{box-sizing:border-box;font-family:Verdana, Geneva, sans-serif;color:#2f3423;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:#6d8a44;margin-bottom:10px;font-weight:700}

.xq-tl-list{list-style:none;padding:0;margin-top:24px;position:relative;border-left:2px solid rgba(47,52,35,0.14)}
.xq-tl-item{position:relative;padding:0 0 26px 26px}
.xq-tl-item::before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:#6d8a44;box-shadow:0 0 0 4px rgba(47,52,35,0.05)}
.xq-tl-item time{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:800;color:#6d8a44;display:block;margin-bottom:4px}
.xq-tl-item p{color:#7c826a;max-width:58ch}


.xq-hours{border-top:1px solid rgba(47,52,35,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:#7c826a;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(47,52,35,0.14)}
.xq-hourtable th{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif}
.xq-hourtable td{color:#6d8a44;font-weight:700;text-align:right}


/* =====================================================
   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(109,138,68,.55);border-right:1px solid rgba(109,138,68,.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:#6d8a44;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 #6d8a44 !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(109,138,68,.4) !important;box-shadow:none !important}
