
*{box-sizing:border-box;margin:0}
body{background:#0c0e0a;color:#e8e6d0;font-family:'Trebuchet MS', Tahoma, 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(232,230,208,0.16);overflow-y:auto}
.fs-tag{font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;
  color:#3fa535;margin-bottom:1.2rem;display:inline-block}
h1{font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;font-weight:800;line-height:.92;letter-spacing:-.02em;
  font-size:clamp(2.8rem,9vw,6rem)}
h2{font-family:'Arial Black', 'Arial Bold', Arial, 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,#0c0e0a,#141711)}
.fs-kick{font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;font-size:.82rem;letter-spacing:.28em;text-transform:uppercase;
  color:#3fa535;margin-bottom:1rem}
.fs-intro h1{margin-bottom:1.2rem;max-width:16ch}
.fs-intro p{color:#6f7a60;font-size:1.2rem;max-width:44ch}
.fs-scrollhint{margin-top:2.4rem;font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;font-size:.78rem;letter-spacing:.18em;
  text-transform:uppercase;color:#6f7a60}
/* 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:#6f7a60;font-size:1.12rem}
.fs-about-img{flex:1 1 40%;margin:0;border-radius:16px;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:#131611;border:1px solid rgba(232,230,208,0.16);border-radius:16px;padding:1.7rem;
  transition:.2s}
.fs-svc:hover{border-color:#3fa535;transform:translateY(-4px)}
.fs-svc-n{font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;font-weight:800;color:#3fa535;font-size:1.4rem;
  display:block;margin-bottom:.4rem}
.fs-svc h3{font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;font-size:1.1rem;margin-bottom:.35rem}
.fs-svc p{color:#6f7a60;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:16px;
  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:'Arial Black', 'Arial Bold', Arial, sans-serif;
  font-weight:800;color:#ffffff;background:#3fa535;padding:.1rem .5rem;
  border-radius:16px;font-size:.8rem}
/* QUOTE */
.fs-quote blockquote{font-family:'Arial Black', 'Arial Bold', Arial, 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:#3fa535}
/* CONTACT */
.fs-contact p{color:#6f7a60;font-size:1.12rem;max-width:44ch;margin-bottom:1.3rem}
.fs-lines{display:flex;flex-direction:column;gap:.35rem;color:#6f7a60;
  margin-bottom:1.4rem;font-size:1rem}
.fs-btn{align-self:flex-start;font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;font-weight:700;padding:.85rem 1.9rem;
  background:#3fa535;color:#ffffff;border-radius:16px;transition:.2s}
.fs-btn:hover{transform:translateY(-2px)}
.fs-foot{margin-top:2rem;color:#6f7a60;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(12,14,10,0.85);
  backdrop-filter:blur(6px);border-top:1px solid rgba(232,230,208,0.16)}
.fs-arrow{font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;font-size:1.1rem;width:44px;height:44px;flex:0 0 auto;
  background:#131611;color:#e8e6d0;border:1px solid rgba(232,230,208,0.16);border-radius:16px;
  cursor:pointer;transition:.15s}
.fs-arrow:hover{background:#3fa535;color:#ffffff;border-color:#3fa535}
.fs-meter{flex:1;height:4px;background:rgba(232,230,208,0.16);border-radius:999px;overflow:hidden}
.fs-meter-fill{display:block;height:100%;width:0;background:#3fa535;
  transition:width .1s linear}
.fs-count{font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;font-size:.8rem;letter-spacing:.1em;color:#6f7a60;
  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(232,230,208,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:'Trebuchet MS', Tahoma, sans-serif;color:#e8e6d0;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:'Arial Black', 'Arial Bold', Arial, 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:#3fa535;margin-bottom:10px;font-weight:700}

.xq-faq-list{margin-top:18px;border-top:1px solid rgba(232,230,208,0.14)}
.xq-faq-item{border-bottom:1px solid rgba(232,230,208,0.14);padding:4px 0}
.xq-faq-item summary{cursor:pointer;padding:14px 4px;font-weight:700;font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;list-style-position:inside}
.xq-faq-item summary::marker{color:#3fa535}
.xq-faq-item p{padding:0 4px 16px;color:#6f7a60;max-width:64ch}


.xq-promo{padding:34px 24px}
.xq-promo-card{border:2px dashed #3fa535;border-radius:16px;padding:26px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;background:rgba(232,230,208,0.05)}
.xq-promo-tag{background:#3fa535;color:#ffffff;font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:999px}
.xq-promo-card p{flex:1 1 260px;font-size:1.02rem}
.xq-promo-card a{color:#3fa535;font-weight:700;text-decoration:none;white-space:nowrap}
.xq-promo-card a:hover{text-decoration:underline}


/* =====================================================
   DESIGN DNA: coastal-breeze
   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;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='90'%3E%3Cpath d='M0 60q32.5-28 65 0t65 0 65 0 65 0V90H0z' fill='%233fa535' opacity='.16'/%3E%3C/svg%3E");background-size:100% 90px;background-repeat:repeat-x;background-position:bottom}
h1,h2,h3{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif !important;text-transform:uppercase !important;letter-spacing:.26em !important;font-weight:400 !important}
img{border-radius:18px !important;filter:brightness(1.05) saturate(1.12);box-shadow:0 18px 40px rgba(63,165,53,.22) !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:999px !important;letter-spacing:.16em;text-transform:uppercase;font-size:.82em}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border-radius:18px !important;border:none !important;box-shadow:0 14px 36px rgba(0,0,0,.09) !important}
