
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:#ffffff;color:#1c2a35;font-family:'Helvetica Neue', Helvetica, Arial, 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(28,42,53,0.4);
  position:relative;transition:.25s}
.ns-dot.on{background:#1f6f8b;border-color:#1f6f8b;transform:scale(1.3)}
.ns-dot::after{content:attr(data-n);position:absolute;right:16px;top:50%;
  transform:translateY(-50%);font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:.6rem;letter-spacing:.1em;
  color:rgba(28,42,53,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:'Gill Sans', 'Gill Sans MT', Calibri, '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(28,42,53,0.18)}
.ns-corner{position:absolute;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:#6b7883}
.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:#1f6f8b}
.ns-scrolllink:hover{opacity:.7}
/* HERO */
.ns-hero-center{margin:auto;max-width:38ch;text-align:center}
.ns-hero-center h1{font-family:'Gill Sans', 'Gill Sans MT', Calibri, '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:#6b7883;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:'Gill Sans', 'Gill Sans MT', Calibri, '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:#6b7883}
.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(28,42,53,0.18);align-items:baseline}
.ns-svc li:last-child{border-bottom:1px solid rgba(28,42,53,0.18)}
.ns-sn{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:.72rem;color:#1f6f8b;letter-spacing:.1em}
.ns-st{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:600;font-size:1.05rem}
.ns-sd{grid-column:2;color:#6b7883;font-size:.9rem;margin-top:.2rem}
/* PLATES */
.ns-plate{margin:0;overflow:hidden;border-radius:4px}
.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:'Gill Sans', 'Gill Sans MT', Calibri, '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:#1f6f8b}
/* CONTACT */
.ns-link{display:block;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-weight:600;font-size:1.05rem;
  margin-top:.6rem;border-bottom:1px solid rgba(28,42,53,0.18);padding-bottom:.3rem;width:fit-content}
.ns-link:hover{color:#1f6f8b;border-color:#1f6f8b}
@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:'Helvetica Neue', Helvetica, Arial, sans-serif;color:#1c2a35;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:#1f6f8b;margin-bottom:10px;font-weight:700}

.xq-cta{background:#1f6f8b;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:#ffffff;color:#1c2a35;text-decoration:none;font-weight:700;padding:14px 30px;border-radius:4px;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif}
.xq-btn:hover{transform:translateY(-2px)}


.xq-hours{border-top:1px solid rgba(28,42,53,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:#6b7883;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(28,42,53,0.14)}
.xq-hourtable th{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif}
.xq-hourtable td{color:#1f6f8b;font-weight:700;text-align:right}


/* =====================================================
   DESIGN DNA: botanical-press
   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='120' height='120'%3E%3Cpath d='M30 90Q30 40 80 30Q80 80 30 90Z' fill='none' stroke='%231f6f8b' stroke-width='1.4'/%3E%3C/svg%3E");opacity:.08;}
h1,h2,h3{font-family:Georgia, 'Times New Roman', serif !important;font-weight:500 !important;font-style:italic !important}
img{filter:sepia(.16) saturate(1.05);border-radius:3px !important;border:7px solid #ffffff !important;box-shadow:0 10px 26px rgba(0,0,0,.14) !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:0 !important;border:1.5px solid #1f6f8b !important;letter-spacing:.14em;text-transform:uppercase;font-size:.8em;box-shadow:none !important}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border-radius:3px !important;border:1px solid rgba(31,111,139,.4) !important;box-shadow:none !important}
h2::after{content:'\273F';display:block;color:#1f6f8b;font-size:.95rem;margin-top:.5rem}
