
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:#eef5f4;color:#20342f;font-family:Verdana, Geneva, sans-serif;line-height:1.7;
  font-size:15px;letter-spacing:.01em}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.ns-index{position:fixed;right:2.2vw;top:50%;transform:translateY(-50%);z-index:20;
  display:flex;flex-direction:column;gap:1rem}
.ns-dot{width:7px;height:7px;border-radius:50%;border:1px solid rgba(32,52,47,0.4);
  position:relative;transition:.25s}
.ns-dot.on{background:#12a37a;border-color:#12a37a;transform:scale(1.3)}
.ns-dot::after{content:attr(data-n);position:absolute;right:16px;top:50%;
  transform:translateY(-50%);font-family:Optima, Candara, 'Segoe UI', sans-serif;font-size:.6rem;letter-spacing:.1em;
  color:rgba(32,52,47,0.4);opacity:0;transition:.2s;pointer-events:none}
.ns-dot:hover::after,.ns-dot.on::after{opacity:1}
.ns-mark{position:fixed;left:2.2vw;top:1.6rem;z-index:20;font-family:Optima, Candara, 'Segoe UI', sans-serif;
  font-weight:700;font-size:.9rem;letter-spacing:.04em}
.ns-panel{position:relative;min-height:100vh;padding:2.4rem 6vw;display:flex}
.ns-panel+.ns-panel{border-top:1px solid rgba(32,52,47,0.18)}
.ns-corner{position:absolute;font-family:Optima, Candara, 'Segoe UI', sans-serif;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:#6f8a82}
.ns-tl{top:2.2rem;left:6vw}
.ns-tr{top:2.2rem;right:6vw}
.ns-bl{bottom:2.2rem;left:6vw}
.ns-br{bottom:2.2rem;right:6vw;max-width:24ch;text-align:right;text-transform:none;
  letter-spacing:.02em}
.ns-scrolllink{color:#12a37a}
.ns-scrolllink:hover{opacity:.7}
/* HERO */
.ns-hero-center{margin:auto;max-width:38ch;text-align:center}
.ns-hero-center h1{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:600;line-height:1.02;
  font-size:clamp(2.4rem,7vw,4.6rem);letter-spacing:-.02em;margin-bottom:1.4rem}
.ns-hero-center p{color:#6f8a82;font-size:1.05rem}
/* ISLANDS */
.ns-island{max-width:34ch}
.ns-island--tl{margin-right:auto;margin-top:6rem;align-self:flex-start}
.ns-island--center{margin:auto;max-width:44ch;width:100%}
h2{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:600;font-size:clamp(1.4rem,3.4vw,2.2rem);
  letter-spacing:-.01em;margin-bottom:1rem}
.ns-island p{color:#6f8a82}
.ns-svc{list-style:none;counter-reset:none}
.ns-svc li{display:grid;grid-template-columns:auto 1fr;column-gap:1.2rem;
  padding:1.1rem 0;border-top:1px solid rgba(32,52,47,0.18);align-items:baseline}
.ns-svc li:last-child{border-bottom:1px solid rgba(32,52,47,0.18)}
.ns-sn{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-size:.72rem;color:#12a37a;letter-spacing:.1em}
.ns-st{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:600;font-size:1.05rem}
.ns-sd{grid-column:2;color:#6f8a82;font-size:.9rem;margin-top:.2rem}
/* PLATES */
.ns-plate{margin:0;overflow:hidden;border-radius:16px}
.ns-plate--br{position:absolute;right:6vw;bottom:5rem;width:min(30%,280px);
  aspect-ratio:4/5}
.ns-plate--br img{width:100%;height:100%;object-fit:cover}
.ns-panel--work{align-items:center;justify-content:center}
.ns-plate--big{width:min(58%,640px);aspect-ratio:16/10;margin:auto}
.ns-plate--big img{width:100%;height:100%;object-fit:cover}
/* QUOTE */
.ns-quote{margin:auto;max-width:26ch;text-align:center;font-family:Optima, Candara, 'Segoe UI', sans-serif;
  font-weight:400;font-style:italic;font-size:clamp(1.5rem,4.5vw,2.6rem);
  line-height:1.3;letter-spacing:-.01em}
.ns-quote cite{display:block;margin-top:1.4rem;font-style:normal;font-weight:600;
  font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:#12a37a}
/* CONTACT */
.ns-link{display:block;font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:600;font-size:1.05rem;
  margin-top:.6rem;border-bottom:1px solid rgba(32,52,47,0.18);padding-bottom:.3rem;width:fit-content}
.ns-link:hover{color:#12a37a;border-color:#12a37a}
@media(max-width:720px){
  .ns-index{display:none}
  .ns-plate--br{position:static;width:70%;margin:2rem auto 0}
  .ns-panel--work{flex-direction:column}
  .ns-plate--big{width:90%}
  .ns-corner.ns-br{position:static;text-align:left;margin-top:2rem;max-width:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.ns-dot{transition:none}
}


.xq{box-sizing:border-box;font-family:Verdana, Geneva, sans-serif;color:#20342f;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:Optima, Candara, '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:#12a37a;margin-bottom:10px;font-weight:700}

.xq-cta{background:#12a37a;color:#ffffff}
.xq-cta h2,.xq-cta p{color:#ffffff}
.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:#eef5f4;color:#20342f;text-decoration:none;font-weight:700;padding:14px 30px;border-radius:16px;font-family:Optima, Candara, 'Segoe UI', sans-serif}
.xq-btn:hover{transform:translateY(-2px)}


.xq-teamgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px;margin-top:22px}
.xq-person img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;display:block;filter:saturate(.9)}
.xq-person figcaption{padding-top:10px}
.xq-person strong{display:block;font-family:Optima, Candara, 'Segoe UI', sans-serif}
.xq-person span{font-size:.82rem;color:#6f8a82}


.xq-hours{border-top:1px solid rgba(32,52,47,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:#6f8a82;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(32,52,47,0.14)}
.xq-hourtable th{font-family:Optima, Candara, 'Segoe UI', sans-serif}
.xq-hourtable td{color:#12a37a;font-weight:700;text-align:right}


/* =====================================================
   DESIGN DNA: paper-zine
   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:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.16;}
h1,h2,h3{font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif !important;text-transform:uppercase !important;letter-spacing:.01em !important}
h2{background:linear-gradient(transparent 58%,rgba(18,163,122,.4) 58% 92%,transparent 92%);display:inline-block;padding:0 .18em}
img{border:9px solid #eef5f4 !important;border-radius:0 !important;box-shadow:0 12px 26px rgba(0,0,0,.28) !important}
figure:nth-of-type(odd) img,img:nth-of-type(odd){transform:rotate(-1.4deg)}figure:nth-of-type(even) img,img:nth-of-type(even){transform:rotate(1.1deg)}
a[class*="btn"],button,span[class*="btn"]{border-radius:0 !important;border:2.5px solid #20342f !important;box-shadow:4px 4px 0 #20342f !important;transform:rotate(-.8deg);text-transform:uppercase;font-weight:800}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border:2px dashed rgba(32,52,47,.55) !important;border-radius:0 !important}
