
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  background:#20232a;
  background-image:
    radial-gradient(rgba(231,234,240,0.06) 1.5px, transparent 1.6px);
  background-size:22px 22px;
  color:#e7eaf0; font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; line-height:1.5;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.sheet { max-width:1180px; margin:0 auto; padding:0 4vw 8vw; position:relative; }

.stik, .megastik, .photostik, .burst {
  background:#dbdcdd; color:#141414;
  border:5px solid #dbdcdd;
  box-shadow:0 0 0 3px #e7eaf0, 6px 8px 0 rgba(231,234,240,0.25);
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.15));
}
.r-3 { transform:rotate(-3deg); } .r-2 { transform:rotate(-2deg); }
.r1 { transform:rotate(1.5deg); } .r2 { transform:rotate(2.5deg); }
.r0 { transform:rotate(0); } .r3 { transform:rotate(-1.5deg); }
.r4 { transform:rotate(3.5deg); }

/* nav pills */
.stiknav { display:flex; flex-wrap:wrap; gap:12px; justify-content:center;
  padding:26px 0 8px; position:sticky; top:0; z-index:40; }
.pill { padding:9px 20px; border-radius:999px; font-weight:800;
  font-family:Garamond, 'EB Garamond', 'Times New Roman', serif; letter-spacing:.02em;
  border:3px solid #e7eaf0; box-shadow:3px 3px 0 #e7eaf0;
  background:#dbdcdd; color:#141414; transition:transform .12s; }
.pill:hover { transform:translateY(-3px) rotate(-2deg); }
.p0 { background:#c9a04a; color:#141414; }
.p1 { background:#d6c195; color:#141414; }
.p2 { background:#977838; color:#ffffff; }

/* hero */
.hero { position:relative; padding:8vh 0 12vh; display:flex; justify-content:center; }
.megastik { border-radius:10px; padding:clamp(28px,5vw,60px);
  max-width:660px; text-align:center; position:relative; z-index:5; }
.megastik .tag { display:inline-block; background:#c9a04a; color:#141414;
  font-family:Garamond, 'EB Garamond', 'Times New Roman', serif; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  padding:6px 16px; border-radius:999px; transform:rotate(-4deg); font-size:.8rem; }
.megastik h1 { font-family:Garamond, 'EB Garamond', 'Times New Roman', serif; font-weight:900; line-height:.92;
  font-size:clamp(2.6rem,9vw,5.5rem); text-transform:uppercase;
  letter-spacing:-.02em; margin:.35em 0 .3em;
  color:#c9a04a; -webkit-text-stroke:2px #e7eaf0;
  paint-order:stroke fill; }
.megastik p { font-size:1.1rem; max-width:34ch; margin:0 auto 1.4rem; font-weight:600; }
.slap { display:inline-block; background:#c9a04a; color:#141414;
  font-family:Garamond, 'EB Garamond', 'Times New Roman', serif; font-weight:900; text-transform:uppercase; letter-spacing:.06em;
  padding:14px 28px; border-radius:999px; border:3px solid #e7eaf0;
  box-shadow:4px 4px 0 #e7eaf0; transition:transform .12s; margin:4px; }
.slap:hover { transform:translate(-2px,-2px) rotate(-2deg); }
.slap--g { background:#d6c195; color:#141414; }
.doodle { position:absolute; font-family:Garamond, 'EB Garamond', 'Times New Roman', serif; font-weight:900;
  color:#c9a04a; -webkit-text-stroke:1.5px #e7eaf0; font-size:clamp(1.4rem,4vw,2.4rem);
  transform:rotate(-12deg); z-index:6; }
.d1 { top:12%; left:4%; } .d2 { bottom:14%; right:6%; transform:rotate(10deg); }

/* about */
.about { display:flex; justify-content:center; margin:2vh 0 8vh; }
.notecard { border-radius:10px; padding:clamp(24px,4vw,44px); max-width:620px; }
.notecard h2 { font-family:Garamond, 'EB Garamond', 'Times New Roman', serif; font-weight:900; text-transform:uppercase;
  color:#c9a04a; -webkit-text-stroke:1.5px #e7eaf0; font-size:clamp(1.6rem,5vw,2.6rem);
  margin-bottom:.5rem; }
.notecard p { font-size:1.05rem; }

/* section headings */
.wonk { font-family:Garamond, 'EB Garamond', 'Times New Roman', serif; font-weight:900; text-transform:uppercase;
  font-size:clamp(2rem,7vw,4rem); color:#c9a04a; -webkit-text-stroke:2px #e7eaf0;
  transform:rotate(-2deg); margin:0 0 3vh 2vw; }
.wonk--r { text-align:right; transform:rotate(2deg); margin-right:2vw; }

/* services burst pile */
.svcs { margin-bottom:10vh; }
.svcpile { display:flex; flex-wrap:wrap; gap:clamp(18px,3vw,42px);
  justify-content:center; align-items:center; }
.burst { width:clamp(180px,26vw,240px); aspect-ratio:1; display:flex;
  flex-direction:column; justify-content:center; text-align:center; padding:22px;
  border-radius:50%; }
.burst h3 { font-family:Garamond, 'EB Garamond', 'Times New Roman', serif; font-weight:900; font-size:1.15rem;
  text-transform:uppercase; margin-bottom:.4rem; color:#c9a04a;
  -webkit-text-stroke:1px #e7eaf0; }
.burst p { font-size:.82rem; line-height:1.35; }
.burst--star { clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%); border-radius:0; }
.burst--seal { clip-path:polygon(50% 0,63% 8%,78% 4%,84% 18%,98% 25%,93% 40%,100% 54%,90% 65%,90% 81%,75% 84%,64% 95%,50% 89%,36% 95%,25% 84%,10% 81%,10% 65%,0 54%,7% 40%,2% 25%,16% 18%,22% 4%,37% 8%); border-radius:0; }

/* gallery pile */
.gal { margin-bottom:10vh; }
.galpile { display:flex; flex-wrap:wrap; gap:clamp(14px,2.5vw,30px); justify-content:center; }
.photostik { border-radius:10px; overflow:visible; padding:8px 8px 30px;
  width:clamp(150px,22vw,220px); position:relative; }
.photostik img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; }
.photostik figcaption { position:absolute; bottom:6px; left:0; right:0; text-align:center;
  font-family:Garamond, 'EB Garamond', 'Times New Roman', serif; font-weight:900; color:#c9a04a; }
.g1 { transform:rotate(-5deg); } .g2 { transform:rotate(4deg); }
.g3 { transform:rotate(-2deg); } .g4 { transform:rotate(6deg); }
.g5 { transform:rotate(-4deg); } .g6 { transform:rotate(3deg); }

/* quote bubble */
.quote { display:flex; justify-content:center; margin-bottom:10vh; }
.bubble { border-radius:10px; padding:clamp(24px,4vw,44px); max-width:560px;
  text-align:center; position:relative; }
.bubble::after { content:""; position:absolute; bottom:-24px; left:60px;
  width:0; height:0; border:20px solid transparent; border-top-color:#dbdcdd;
  filter:drop-shadow(0 3px 2px rgba(0,0,0,.2)); }
.bubble p { font-family:Garamond, 'EB Garamond', 'Times New Roman', serif; font-weight:800; font-size:clamp(1.3rem,3.5vw,2rem);
  line-height:1.15; margin-bottom:.8rem; }
.bubble cite { font-style:normal; font-weight:800; color:#c9a04a;
  -webkit-text-stroke:.5px #e7eaf0; text-transform:uppercase; letter-spacing:.1em; }

/* footer */
.foot { display:flex; justify-content:center; }
.foot__stik { border-radius:10px; padding:clamp(30px,5vw,60px); max-width:640px; text-align:center; }
.foot__stik h2 { font-family:Garamond, 'EB Garamond', 'Times New Roman', serif; font-weight:900; text-transform:uppercase;
  font-size:clamp(2rem,6vw,3.4rem); color:#c9a04a; -webkit-text-stroke:2px #e7eaf0;
  margin-bottom:.4rem; }
.foot__stik p { margin-bottom:1.2rem; font-weight:600; }
.foot__stik small { display:block; margin-top:1rem; opacity:.7; letter-spacing:.08em; }

@media (max-width:640px) {
  .wonk { font-size:2rem; }
  .doodle { display:none; }
  .burst { width:70vw; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .pill:hover, .slap:hover { transform:none; }
}


.xq{box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;color:#e7eaf0;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:#c9a04a;margin-bottom:10px;font-weight:700}

.xq-stats{background:rgba(231,234,240,0.05);border-top:1px solid rgba(231,234,240,0.14);border-bottom:1px solid rgba(231,234,240,0.14)}
.xq-statrow{display:flex;flex-wrap:wrap;gap:14px}
.xq-stat{flex:1 1 140px;background:#1c2029;border:1px solid rgba(231,234,240,0.14);border-radius:2px;padding:20px 18px;text-align:center}
.xq-stat dt{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:2rem;color:#c9a04a;font-weight:800}
.xq-stat dd{margin-top:6px;font-size:.85rem;color:#8a90a0}


.xq-quoterail{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.xq-quote{border:1px solid rgba(231,234,240,0.14);border-radius:2px;padding:22px;background:#1c2029;position:relative}
.xq-quote::before{content:"\201C";position:absolute;top:-4px;left:14px;font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:3rem;color:#c9a04a;opacity:.5}
.xq-quote p{font-style:italic;margin:10px 0 12px;line-height:1.55}
.xq-quote cite{font-style:normal;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#8a90a0}


.xq-badges{padding:26px 24px;border-top:1px solid rgba(231,234,240,0.14);border-bottom:1px solid rgba(231,234,240,0.14);background:rgba(231,234,240,0.05)}
.xq-badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.xq-badgehead{font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin-right:8px}
.xq-badge{border:1.5px solid #c9a04a;color:#c9a04a;border-radius:999px;padding:7px 16px;font-size:.8rem;font-weight:700;letter-spacing:.04em}


/* =====================================================
   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(201,160,74,.55);border-right:1px solid rgba(201,160,74,.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:#c9a04a;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 #c9a04a !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(201,160,74,.4) !important;box-shadow:none !important}
