diff --git a/Dockerfile b/Dockerfile
index a2fc65d..c92a929 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,7 @@
# ── Stage 1: build lagaufre.js from suitenumerique/integration source ──────────
# Build context must be the sunbeam/ root so we can reach both
# integration/packages/widgets/ and integration-service/.
-FROM node:22-alpine AS widget-build
+FROM --platform=$BUILDPLATFORM node:22-alpine AS widget-build
WORKDIR /src
COPY integration/packages/widgets/ .
RUN npm ci && npm run build
@@ -23,5 +23,8 @@ COPY --from=widget-build /src/dist/lagaufre.js /usr/share/nginx/html/widget/laga
# Derives its origin from the script URL at runtime; no DOMAIN_SUFFIX baked in.
COPY integration-service/gaufre.js /usr/share/nginx/html/gaufre.js
+# Runtime brand CSS variable overrides for the estudio theme.
+COPY integration-service/theme.css /usr/share/nginx/html/theme.css
+
# Nginx config — only services.json is mounted at runtime (from ConfigMap).
COPY integration-service/nginx.conf /etc/nginx/conf.d/default.conf
diff --git a/gaufre.js b/gaufre.js
index 700d1a2..9cf553c 100644
--- a/gaufre.js
+++ b/gaufre.js
@@ -38,6 +38,7 @@
label: 'O Estúdio',
closeLabel: 'Fechar',
newWindowLabelSuffix: ' · nova janela',
+ fontFamily: 'Ysabeau Variable, Inter, sans-serif',
}]);
widgetReady = true;
};
diff --git a/logos/docs.svg b/logos/docs.svg
new file mode 100644
index 0000000..a503a36
--- /dev/null
+++ b/logos/docs.svg
@@ -0,0 +1,10 @@
+
diff --git a/logos/drive.svg b/logos/drive.svg
index af3fbdf..9ab8cc3 100644
--- a/logos/drive.svg
+++ b/logos/drive.svg
@@ -1,6 +1,6 @@
diff --git a/logos/mail.svg b/logos/mail.svg
index b109821..e6292f4 100644
--- a/logos/mail.svg
+++ b/logos/mail.svg
@@ -1,6 +1,6 @@
diff --git a/logos/people.svg b/logos/people.svg
index 3fc0662..9aa1a7d 100644
--- a/logos/people.svg
+++ b/logos/people.svg
@@ -1,10 +1,10 @@
diff --git a/logos/visio.svg b/logos/visio.svg
new file mode 100644
index 0000000..faf1b61
--- /dev/null
+++ b/logos/visio.svg
@@ -0,0 +1,9 @@
+
diff --git a/nginx.conf b/nginx.conf
index d815494..c8be20b 100644
--- a/nginx.conf
+++ b/nginx.conf
@@ -26,6 +26,14 @@ server {
add_header Cache-Control "public, max-age=86400";
}
+ # v2 theme — brand CSS variable overrides served from image
+ location = /api/v2/theme.css {
+ alias /usr/share/nginx/html/theme.css;
+ add_header Content-Type "text/css; charset=utf-8";
+ add_header Access-Control-Allow-Origin "*";
+ add_header Cache-Control "public, max-age=3600";
+ }
+
# v1 gaufre.js — thin wrapper served from image (no DOMAIN_SUFFIX needed)
location = /api/v1/gaufre.js {
alias /usr/share/nginx/html/gaufre.js;
diff --git a/theme.css b/theme.css
new file mode 100644
index 0000000..cafef13
--- /dev/null
+++ b/theme.css
@@ -0,0 +1,40 @@
+/*
+ * O Estúdio — runtime brand overrides for docs + people.
+ * Loaded after the compiled Cunningham CSS via nginx sub_filter injection.
+ * Overrides :root CSS variables — no app rebuild required.
+ */
+
+:root {
+ /* Font */
+ --c--globals--font--families--base: 'Ysabeau Variable', Inter, sans-serif;
+ --c--globals--font--families--accent: 'Ysabeau Variable', Inter, sans-serif;
+
+ /* Brand — amber/gold palette (replaces default blue/purple) */
+ --c--globals--colors--brand-050: #fffbeb;
+ --c--globals--colors--brand-100: #fef3c7;
+ --c--globals--colors--brand-150: #fde9a0;
+ --c--globals--colors--brand-200: #fde68a;
+ --c--globals--colors--brand-250: #fde047;
+ --c--globals--colors--brand-300: #fcd34d;
+ --c--globals--colors--brand-350: #fbcf3f;
+ --c--globals--colors--brand-400: #fbbf24;
+ --c--globals--colors--brand-450: #f8b31a;
+ --c--globals--colors--brand-500: #f59e0b;
+ --c--globals--colors--brand-550: #e8920a;
+ --c--globals--colors--brand-600: #d97706;
+ --c--globals--colors--brand-650: #c26d05;
+ --c--globals--colors--brand-700: #b45309;
+ --c--globals--colors--brand-750: #9a4508;
+ --c--globals--colors--brand-800: #92400e;
+ --c--globals--colors--brand-850: #7c370c;
+ --c--globals--colors--brand-900: #78350f;
+ --c--globals--colors--brand-950: #451a03;
+
+ /* Logo gradient colours used by ui-kit header components */
+ --c--globals--colors--logo-1: #f59e0b;
+ --c--globals--colors--logo-2: #d97706;
+ --c--globals--colors--logo-1-light: #f59e0b;
+ --c--globals--colors--logo-2-light: #d97706;
+ --c--globals--colors--logo-1-dark: #fcd34d;
+ --c--globals--colors--logo-2-dark: #fbbf24;
+}