
* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:#ededed; --card:#f3f3f3; --text:#0c0c0c; --muted:#7a7a7a;
  --accent:#d81f3c; --on-acc:#ffffff; --border:rgba(12,12,12,0.13); --soft:rgba(12,12,12,0.06);
  --accsoft:rgba(216,31,60,0.16); --gridline:rgba(216,31,60,0.14); --shadow:rgba(0,0,0,0.18); --shadow2:rgba(216,31,60,0.30);
  --rad:8px; --pad:22px;
}
html { scroll-behavior:smooth; }
body { margin:0; color:var(--text); font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; line-height:1.6;
  background:radial-gradient(120% 70% at 50% -8%, var(--accsoft), transparent 55%), var(--bg);
  -webkit-font-smoothing:antialiased; overflow-x:hidden; }
h1,h2 { font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; line-height:1.1; letter-spacing:-.02em; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.tg-page { max-width:1160px; margin:0 auto; padding:0 20px 40px; }

.tgnav { position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:20px;
  padding:16px 4px; backdrop-filter:blur(10px); }
.brand { font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight:800; font-size:20px;
  display:flex; align-items:center; gap:10px; }
.brand-plane { width:16px; height:11px; background:var(--accent); border-radius:3px;
  transform:perspective(30px) rotateX(40deg); box-shadow:0 4px 8px var(--shadow2); }
.tglinks { display:flex; gap:6px; margin-left:auto; }
.tglinks a { padding:9px 15px; border-radius:999px; color:var(--muted); font-size:15px;
  transition:background .15s, color .15s; }
.tglinks a:hover { background:var(--soft); color:var(--text); }

.btn { display:inline-block; border-radius:999px; padding:12px 24px; font-weight:600;
  font-size:15px; cursor:pointer; border:1px solid transparent; font-family:inherit;
  transition:transform .14s, filter .14s; }
.primary { background:var(--accent); color:var(--on-acc); box-shadow:0 12px 26px var(--shadow2); }
.primary:hover { transform:translateY(-3px); filter:brightness(1.05); }
.ghost { background:transparent; color:var(--text); border:1px solid var(--border); }
.ghost:hover { background:var(--soft); transform:translateY(-3px); }

.tg-hero { text-align:center; padding:40px 0 20px; }
.kicker { display:inline-block; font-size:13px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent); margin-bottom:12px; }
.tg-hero h1 { font-size:clamp(34px,5.4vw,60px); margin-bottom:14px; }
.tg-hero p { color:var(--muted); font-size:18px; max-width:52ch; margin:0 auto 24px; }
.tg-stats { display:inline-flex; gap:40px; }
.tg-stats b { display:block; font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-size:30px; color:var(--accent); line-height:1; }
.tg-stats span { font-size:13px; color:var(--muted); }

.sec-head { text-align:center; margin:30px 0 10px; }
.tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--accent); background:var(--accsoft);
  padding:6px 12px; border-radius:999px; margin-bottom:10px; }
.sec-head h2 { font-size:clamp(26px,3.4vw,42px); }
.sec-sub { color:var(--muted); margin-top:6px; }

.tg-section { padding:20px 0 30px; }
.tg-stage { perspective:1300px; perspective-origin:50% 22%; padding:30px 0 70px;
  overflow:visible; }
.tg-plane { transform-style:preserve-3d; transform:rotateX(46deg) rotateZ(0deg);
  transition:transform .1s linear; margin:0 auto; max-width:860px; position:relative; }
.tg-floor { position:absolute; inset:-8% -4%; border-radius:calc(var(--rad) + 8px);
  background:
    linear-gradient(var(--gridline) 1px, transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg, var(--gridline) 1px, transparent 1px) 0 0/48px 48px,
    var(--card);
  border:1px solid var(--border); box-shadow:0 40px 80px var(--shadow); }
.tg-grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
  padding:22px; transform-style:preserve-3d; }
.tg-cell { position:relative; display:block; border-radius:var(--rad); overflow:hidden;
  aspect-ratio:5/4; border:1px solid var(--border); box-shadow:0 10px 22px var(--shadow);
  transform:translateZ(0); transition:transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s; }
.tg-cell img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.tg-cell:hover { transform:translateZ(60px); box-shadow:0 30px 60px var(--shadow); z-index:5; }
.tg-cell:hover img { transform:scale(1.05); }
.tg-cap { position:absolute; left:0; right:0; bottom:0; padding:12px 14px;
  background:linear-gradient(to top, rgba(0,0,0,.62), transparent);
  color:#fff; display:flex; justify-content:space-between; align-items:flex-end; }
.tg-cap b { font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-size:16px; }
.tg-cap i { font-style:normal; font-size:12px; opacity:.85; }

.tg-about { display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:center;
  padding:40px 0; }
.tg-about-media img { width:100%; aspect-ratio:4/5; object-fit:cover;
  border-radius:calc(var(--rad) + 4px); border:1px solid var(--border);
  box-shadow:0 24px 54px var(--shadow); }
.tg-about-copy h2 { font-size:clamp(28px,3.6vw,44px); margin-bottom:14px; }
.tg-about-copy p { color:var(--muted); font-size:17px; margin-bottom:22px; }

.tg-contact { padding:30px 0 10px; }
.tgc-inner { background:var(--card); border:1px solid var(--border);
  border-radius:calc(var(--rad) + 6px); padding:var(--pad);
  box-shadow:0 22px 54px var(--shadow); text-align:center; }
.tgc-inner h2 { font-size:clamp(24px,3vw,36px); margin:8px 0 20px; }
.tgc-info { list-style:none; display:inline-flex; gap:26px; flex-wrap:wrap; font-size:14px;
  margin-bottom:22px; }
.tgc-info li span { color:var(--muted); margin-right:6px; }

.tgfoot { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  padding:30px 4px 0; margin-top:36px; border-top:1px solid var(--border); font-size:14px; }
.muted { color:var(--muted); }

@media (max-width:820px) {
  .tg-about { grid-template-columns:1fr; gap:30px; }
  .tg-about-media { max-width:420px; }
}
@media (max-width:560px) {
  .tglinks { display:none; }
  .tg-stats { gap:24px; }
  .tg-grid { grid-template-columns:repeat(2,1fr); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .tg-stage { perspective:none; padding:20px 0; }
  .tg-plane { transform:none !important; transition:none; }
  .tg-floor { display:none; }
  .tg-grid { padding:0; }
  .tg-cell:hover { transform:none; }
  .tg-cell:hover img { transform:none; }
  .btn:hover { transform:none; }
}


.xq{box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;color:#0c0c0c;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:'Helvetica Neue', Helvetica, Arial, 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:#d81f3c;margin-bottom:10px;font-weight:700}

.xq-faq-list{margin-top:18px;border-top:1px solid rgba(12,12,12,0.14)}
.xq-faq-item{border-bottom:1px solid rgba(12,12,12,0.14);padding:4px 0}
.xq-faq-item summary{cursor:pointer;padding:14px 4px;font-weight:700;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;list-style-position:inside}
.xq-faq-item summary::marker{color:#d81f3c}
.xq-faq-item p{padding:0 4px 16px;color:#7a7a7a;max-width:64ch}


.xq-tl-list{list-style:none;padding:0;margin-top:24px;position:relative;border-left:2px solid rgba(12,12,12,0.14)}
.xq-tl-item{position:relative;padding:0 0 26px 26px}
.xq-tl-item::before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:#d81f3c;box-shadow:0 0 0 4px rgba(12,12,12,0.05)}
.xq-tl-item time{font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-weight:800;color:#d81f3c;display:block;margin-bottom:4px}
.xq-tl-item p{color:#7a7a7a;max-width:58ch}


.xq-cta{background:#d81f3c;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:#0c0c0c;text-decoration:none;font-weight:700;padding:14px 30px;border-radius:0px;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif}
.xq-btn:hover{transform:translateY(-2px)}


/* =====================================================
   DESIGN DNA: giant-ghost
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
html::before{content:'boutique';position:fixed;left:50%;top:42%;transform:translate(calc(-50% + var(--gpx,0px)),calc(-50% + var(--gpy,0px))) rotate(0deg);z-index:99980;pointer-events:none;font-family:'Arial Black', 'Arial Bold', Arial, sans-serif;font-weight:900;font-size:26vw;letter-spacing:.04em;white-space:nowrap;color:#0c0c0c;opacity:.06;text-transform:uppercase}
img,a[class*="btn"],button,span[class*="btn"],div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{box-shadow:none !important}
h1,h2,h3{letter-spacing:-0.03em !important;font-weight:800 !important}
img{border-radius:0 !important;filter:grayscale(.25) contrast(1.04)}
a[class*="btn"],button,span[class*="btn"]{border-radius:0 !important;border:1.5px solid currentColor !important;background:transparent !important;color:inherit !important;text-transform:uppercase;letter-spacing:.24em;font-size:.78em}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border:none !important;border-top:2px solid #0c0c0c !important;border-radius:0 !important}
