
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:#fdfcfa;color:#1f2128;font-family:Optima, Candara, 'Segoe UI', 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(31,33,40,0.4);
  position:relative;transition:.25s}
.ns-dot.on{background:#8a6d2f;border-color:#8a6d2f;transform:scale(1.3)}
.ns-dot::after{content:attr(data-n);position:absolute;right:16px;top:50%;
  transform:translateY(-50%);font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:.6rem;letter-spacing:.1em;
  color:rgba(31,33,40,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:Garamond, 'EB Garamond', 'Times New Roman', 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(31,33,40,0.18)}
.ns-corner{position:absolute;font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:#8b8474}
.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:#8a6d2f}
.ns-scrolllink:hover{opacity:.7}
/* HERO */
.ns-hero-center{margin:auto;max-width:38ch;text-align:center}
.ns-hero-center h1{font-family:Garamond, 'EB Garamond', 'Times New Roman', 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:#8b8474;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:Garamond, 'EB Garamond', 'Times New Roman', serif;font-weight:600;font-size:clamp(1.4rem,3.4vw,2.2rem);
  letter-spacing:-.01em;margin-bottom:1rem}
.ns-island p{color:#8b8474}
.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(31,33,40,0.18);align-items:baseline}
.ns-svc li:last-child{border-bottom:1px solid rgba(31,33,40,0.18)}
.ns-sn{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:.72rem;color:#8a6d2f;letter-spacing:.1em}
.ns-st{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-weight:600;font-size:1.05rem}
.ns-sd{grid-column:2;color:#8b8474;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:Garamond, 'EB Garamond', 'Times New Roman', 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:#8a6d2f}
/* CONTACT */
.ns-link{display:block;font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-weight:600;font-size:1.05rem;
  margin-top:.6rem;border-bottom:1px solid rgba(31,33,40,0.18);padding-bottom:.3rem;width:fit-content}
.ns-link:hover{color:#8a6d2f;border-color:#8a6d2f}
@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:Optima, Candara, 'Segoe UI', sans-serif;color:#1f2128;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:#8a6d2f;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:4px;display:block}


.xq-hours{border-top:1px solid rgba(31,33,40,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:#8b8474;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(31,33,40,0.14)}
.xq-hourtable th{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif}
.xq-hourtable td{color:#8a6d2f;font-weight:700;text-align:right}


/* =====================================================
   DESIGN DNA: watercolor-airy
   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='520' height='420'%3E%3Cellipse cx='120' cy='90' rx='120' ry='80' fill='%238a6d2f' opacity='.5'/%3E%3Cellipse cx='420' cy='330' rx='150' ry='100' fill='%23ac986c' opacity='.35'/%3E%3C/svg%3E");opacity:.09;}
h1,h2,h3{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif !important;font-weight:500 !important;font-style:italic !important}
img{border-radius:38% 62% 55% 45%/45% 42% 58% 55% !important;filter:saturate(1.08) brightness(1.02)}
a[class*="btn"],button,span[class*="btn"]{border-radius:999px !important;border:1.5px solid #8a6d2f !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:24px 60px 24px 60px !important;border:none !important;box-shadow:0 16px 40px rgba(0,0,0,.08) !important}
