
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:#070708; color:#f3f2f5; font-family:Optima, Candara, 'Segoe UI', sans-serif; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; }
.collage { max-width:1120px; margin:0 auto; padding:5vh 5vw 10vh; }

.blob { position:absolute; z-index:0; pointer-events:none;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.18)); }

.cut { position:relative; background:#131318; border-radius:8px;
  box-shadow:0 16px 34px rgba(0,0,0,.16); overflow:hidden; }

/* hero */
.hero { position:relative; min-height:78vh; display:flex; align-items:center;
  padding:6vh 4vw; }
.hb { width:60vw; max-width:640px; height:60vw; max-height:640px; }
.hb--1 { top:-6%; right:-8%; opacity:.9; }
.hb--2 { bottom:-10%; left:-6%; width:44vw; height:44vw; }
.hb--3 { top:20%; right:20%; width:34vw; height:34vw; opacity:.85; }
.hero__in { position:relative; z-index:3; max-width:32ch; }
.kick { font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif; letter-spacing:.28em; text-transform:uppercase;
  font-size:.85rem; color:#8a7fd8; font-weight:800; }
.hero__in h1 { font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif; font-weight:900; line-height:.9;
  font-size:clamp(3rem,11vw,7rem); letter-spacing:-.02em; margin:.25em 0 .35em; }
.hero__in p { font-size:clamp(1.05rem,2.2vw,1.4rem); color:#88858f; margin-bottom:2rem; }
.btn { display:inline-block; background:#8a7fd8; color:#ffffff; font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif;
  font-weight:800; letter-spacing:.05em; text-transform:uppercase; text-decoration:none;
  padding:15px 32px; border-radius:999px; box-shadow:0 8px 18px rgba(138,127,216,0.4); transition:transform .15s; }
.btn:hover { transform:translateY(-3px); }

/* about */
.about { margin:2vh 0 9vh; padding:clamp(30px,5vw,64px); }
.deco { z-index:0; opacity:.4; }
.deco--a { width:40vw; height:40vw; max-width:360px; max-height:360px; bottom:-14%; right:-8%; }
.about__in { position:relative; z-index:2; max-width:60ch; }
.about__in h2 { font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif; font-weight:900; font-size:clamp(1.8rem,5vw,3rem);
  color:#8a7fd8; margin-bottom:.6rem; }

/* banners */
.banner { font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif; font-weight:900; font-size:clamp(2rem,6vw,3.6rem);
  text-align:center; margin:0 0 5vh; color:#f3f2f5; }
.banner::after { content:""; display:block; width:120px; height:12px; margin:.5rem auto 0;
  background:#8a7fd8; border-radius:999px 999px 40% 40%; }

/* petals */
.svcs { margin-bottom:10vh; }
.petals { list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:clamp(20px,3vw,36px); }
.petal { position:relative; background:var(--pf); color:var(--po); padding:34px 26px 28px;
  border-radius:60% 60% 20% 20% / 30% 30% 12% 12%; box-shadow:0 14px 26px rgba(0,0,0,.18); }
.petal__no { font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif; font-weight:900; font-size:2.4rem; opacity:.55; }
.petal h3 { font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif; font-weight:800; font-size:1.25rem; margin:.2rem 0 .5rem; }
.petal p { font-size:.95rem; opacity:.92; }

/* gallery */
.gal { margin-bottom:10vh; }
.snaps { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:clamp(16px,2.5vw,28px); }
.snap { padding:12px; }
.snap img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:calc(8px - 6px); }
.snap figcaption { position:absolute; top:20px; left:20px; width:38px; height:38px;
  display:grid; place-items:center; background:#8a7fd8; color:#ffffff;
  border-radius:50%; font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif; font-weight:900; }

/* quote */
.quote { position:relative; text-align:center; padding:clamp(50px,8vw,100px) 6vw;
  margin-bottom:9vh; overflow:hidden; }
.deco--q { width:50vw; height:50vw; max-width:520px; max-height:520px; top:-10%; left:50%;
  transform:translateX(-50%); opacity:.35; }
.quote blockquote { position:relative; z-index:2; font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif; font-weight:800;
  font-size:clamp(1.6rem,5vw,3rem); line-height:1.12; max-width:20ch; margin:0 auto; }
.quote cite { display:block; margin-top:1rem; font-style:normal; font-size:.9rem;
  letter-spacing:.18em; text-transform:uppercase; color:#8a7fd8; }

/* contact */
.contact { padding:clamp(34px,6vw,64px); text-align:center; }
.contact h2 { font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif; font-weight:900; font-size:clamp(1.8rem,5vw,3rem);
  color:#8a7fd8; margin-bottom:.4rem; }
.contact p { color:#88858f; margin-bottom:1.5rem; }
.chips { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.chips a, .chips span { background:#070708; padding:12px 22px; border-radius:999px;
  font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif; font-weight:700; text-decoration:none; box-shadow:0 4px 10px rgba(0,0,0,.1); }

@media (max-width:640px) { .hero { min-height:auto; padding-top:12vh; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .btn:hover { transform:none; } }


.xq{box-sizing:border-box;font-family:Optima, Candara, 'Segoe UI', sans-serif;color:#f3f2f5;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:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, 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:#8a7fd8;margin-bottom:10px;font-weight:700}

.xq-hours{border-top:1px solid rgba(243,242,245,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:#88858f;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(243,242,245,0.14)}
.xq-hourtable th{font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif}
.xq-hourtable td{color:#8a7fd8;font-weight:700;text-align:right}


.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:1px;display:block;filter:saturate(.9)}
.xq-person figcaption{padding-top:10px}
.xq-person strong{display:block;font-family:Baskerville, 'Baskerville Old Face', 'Palatino Linotype', Georgia, serif}
.xq-person span{font-size:.82rem;color:#88858f}


/* =====================================================
   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(138,127,216,.4) 58% 92%,transparent 92%);display:inline-block;padding:0 .18em}
img{border:9px solid #ebebeb !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 #f5f5f7 !important;box-shadow:4px 4px 0 #f5f5f7 !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(245,245,247,.55) !important;border-radius:0 !important}
