@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&family=IBM+Plex+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap");

/* ==========================================================================
   unmemorybr.com | folha de estilos global
   Tema claro, tons frios, vermelho apenas como acento
   ========================================================================== */
:root {
  --bg: #f5f7fa;
  --paper: #ffffff;
  --ink: #0e1620;
  --ink-2: #2a3441;
  --muted: #5e6b7b;
  --line: #dde3ea;
  --tint: #edf1f6;
  --ice: #dce7f2;
  --steel: #3a5f86;
  --steel-d: #27425f;
  --red: #b3222b;
  --dark: #0f1620;
  --dark-2: #18222f;
  --radius: 16px;
  --shadow: 0 18px 50px rgba(15, 22, 32, 0.08);
  --shadow-s: 0 6px 18px rgba(15, 22, 32, 0.08);
  --f-display: "Cormorant Garamond", "Georgia", serif;
  --f-body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, "Courier New", monospace;
  --hdr: 0px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--f-body); color: var(--ink); background: var(--bg); line-height: 1.65; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; background: linear-gradient(135deg, #e6ecf3, #d3dce8); }
a { color: var(--steel-d); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--red); }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; }
:focus-visible { outline: 2px solid var(--steel); outline-offset: 3px; border-radius: 4px; }
[hidden] { display: none !important; }
.um-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.is-off { display: none !important; }

h1, h2 { font-family: var(--f-display); font-weight: 600; line-height: 1.08; letter-spacing: -0.01em; color: var(--ink); }
h1 { font-size: clamp(2.3rem, 5.2vw, 4.4rem); }
h2 { font-size: clamp(1.8rem, 3.6vw, 3rem); }
h3 { font-size: 1.15rem; font-weight: 700; line-height: 1.3; }
p { color: var(--ink-2); }

/* ---------- layout ---------- */
.um-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.um-sec { position: relative; padding: clamp(56px, 8vw, 104px) 0; }
.um-sec--tint { background: var(--tint); }
.um-sec--bg { background-size: cover; background-position: center; background-color: var(--dark); color: #fff; }
.um-sec--bg h1, .um-sec--bg h2, .um-sec--bg h3, .um-sec--bg p, .um-sec--bg li, .um-sec--bg blockquote, .um-sec--bg label, .um-sec--bg small { color: #fff; }
.um-sec--bg a:not(.um-btn):not(.um-more) { color: #cfe0f2; }
.um-grid { display: grid; gap: 22px; }
.um-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.um-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.um-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.um-two__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: center; }
.um-head { max-width: 760px; margin-bottom: clamp(28px, 4vw, 48px); }
.um-head--c { margin-left: auto; margin-right: auto; text-align: center; }
.um-head p { margin-top: 14px; color: var(--muted); font-size: 1.05rem; }
.um-sec--bg .um-head p { color: #d6e0ec; }
.um-eyebrow { display: inline-block; font-family: var(--f-mono); font-size: 0.74rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--red); margin-bottom: 14px; }
.um-eyebrow--light { color: #ffb7bb; }
.um-fine { margin-top: 18px; font-size: 0.9rem; color: var(--muted); }
.um-fine--light { color: #d6e0ec; }
.um-note { min-height: 1.4em; margin-top: 10px; font-size: 0.92rem; color: var(--steel-d); }
.um-note.is-ok { color: var(--steel-d); font-weight: 600; }
.um-note.is-bad { color: var(--red); font-weight: 600; }
.um-sec--bg .um-note { color: #dbe8f5; }
.um-hand { font-family: var(--f-display); font-style: italic; font-size: 1.25rem; }
.um-hide-m { }

/* ---------- media ---------- */
.um-fig { position: relative; overflow: hidden; border-radius: var(--radius); background: linear-gradient(135deg, #e6ecf3, #cfd9e6); aspect-ratio: 4 / 3; }
.um-fig img { width: 100%; height: 100%; object-fit: cover; }
.um-fig--tall { aspect-ratio: 4 / 5; }
.um-fig--wide { aspect-ratio: 16 / 10; }
.um-fig--card { aspect-ratio: 16 / 10; border-radius: 12px; margin-bottom: 14px; }
.um-fig--round { aspect-ratio: 1 / 1; border-radius: 50%; width: 120px; }
.um-fig--thumb { aspect-ratio: 1 / 1; width: 54px; border-radius: 8px; }
.um-fig--mug { aspect-ratio: 3 / 4; }
.um-fig--qr { width: 120px; aspect-ratio: 1 / 1; margin-bottom: 10px; border-radius: 10px; }
.um-fig--avatar { width: 72px; aspect-ratio: 1 / 1; border-radius: 50%; margin-top: 18px; }
.um-fig--tagimg { width: 70px; aspect-ratio: 1 / 1; position: absolute; right: 14px; top: 14px; border-radius: 8px; opacity: 0.9; }

/* ---------- buttons, chips, badges ---------- */
.um-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 24px; border-radius: 999px; border: 1px solid var(--ink); background: var(--ink); color: #fff; font-weight: 700; font-size: 0.95rem; text-decoration: none; transition: transform 0.25s, background 0.25s, color 0.25s, border-color 0.25s; position: relative; }
.um-btn:hover { background: var(--red); border-color: var(--red); color: #fff; transform: translateY(-2px); }
.um-btn--ghost { background: transparent; color: var(--ink); }
.um-btn--ghost:hover { background: var(--ink); border-color: var(--ink); }
.um-btn--ghost-light { background: transparent; border-color: rgba(255, 255, 255, 0.7); color: #fff; }
.um-btn--ghost-light:hover { background: #fff; border-color: #fff; color: var(--ink); }
.um-sec--bg .um-btn:not(.um-btn--ghost):not(.um-btn--ghost-light) { background: #fff; border-color: #fff; color: var(--ink); }
.um-sec--bg .um-btn:not(.um-btn--ghost):not(.um-btn--ghost-light):hover { background: var(--red); border-color: var(--red); color: #fff; }
.um-sec--bg .um-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, 0.7); }
.um-btn--sm { min-height: 38px; padding: 6px 16px; font-size: 0.85rem; }
.um-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.um-actions--c { justify-content: center; }
.um-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--paper); font-size: 0.82rem; font-weight: 600; color: var(--ink-2); }
button.um-chip { min-height: 38px; }
.um-chip.is-active, .um-chip:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.um-chip--light { background: rgba(255, 255, 255, 0.14); border-color: rgba(255, 255, 255, 0.4); color: #fff; }
.um-chip--act { border-style: dashed; }
.um-chip--check { cursor: pointer; }
.um-chip--check input { position: absolute; opacity: 0; pointer-events: none; }
.um-chip--check:has(input:checked) { background: var(--ink); color: #fff; }
.um-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.um-chip-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.um-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; font-family: var(--f-mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; }
.um-badge--live { background: var(--red); color: #fff; }
.um-badge--live i { font-size: 0.5rem; animation: um-blink 1.2s infinite; }
.um-badge--sec { background: var(--ice); color: var(--steel-d); }
.um-more { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 0.92rem; text-decoration: none; margin-top: 14px; }
.um-more i { transition: transform 0.25s; }
.um-more:hover i { transform: translateX(4px); }
.um-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 22px; font-size: 0.88rem; color: var(--muted); }
.um-meta--light { color: #d6e0ec; }
.um-list { display: grid; gap: 10px; margin-top: 18px; }
.um-list li { display: flex; gap: 12px; align-items: flex-start; color: var(--ink-2); }
.um-list i { color: var(--steel); margin-top: 5px; flex: none; }
.um-list--light li, .um-list--light span { color: #e8eef6; }
.um-list--light i { color: #a9c4e2; }

/* ---------- cards ---------- */
.um-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; transition: transform 0.3s, box-shadow 0.3s; }
.um-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.um-card h3 { margin-bottom: 8px; }
.um-card p { font-size: 0.95rem; color: var(--muted); }
.um-card__i { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--ice); color: var(--steel-d); margin-bottom: 16px; font-size: 1.1rem; }
.um-card__n { display: block; font-family: var(--f-display); font-size: 2.4rem; color: var(--red); line-height: 1; margin-bottom: 10px; }
.um-card--photo { padding: 16px 16px 22px; }
.um-card--photo .um-chip { margin-bottom: 10px; }
.um-card__foot { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; }
.um-card__foot strong { font-family: var(--f-display); font-size: 1.5rem; }
.um-card--hl { border-color: var(--steel); box-shadow: var(--shadow); }
.um-card--store { display: flex; flex-direction: column; align-items: flex-start; }
.um-card--store .um-btn { margin-top: auto; }
.um-sec--bg .um-card { background: rgba(255, 255, 255, 0.92); color: var(--ink); }
.um-sec--bg .um-card h3 { color: var(--ink); }
.um-sec--bg .um-card p { color: var(--muted); }
.um-panel { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(20px, 3vw, 34px); }
.um-panel h2, .um-panel h3 { font-family: var(--f-body); font-size: 1.2rem; margin-bottom: 14px; display: flex; gap: 10px; align-items: center; }
.um-panel--dark { background: var(--dark); border-color: var(--dark); }
.um-panel--dark h2, .um-panel--dark h3, .um-panel--dark p, .um-panel--dark li, .um-panel--dark dt, .um-panel--dark dd, .um-panel--dark label, .um-panel--dark span { color: #eaf0f7; }
.um-panel--dark a { color: #cfe0f2; }
.um-panel--glass { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.3); backdrop-filter: blur(6px); }
.um-panel--glass * { color: #fff; }
.um-panel--glass textarea { color: var(--ink); }
.um-post { display: grid; gap: 16px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; text-decoration: none; color: inherit; transition: transform 0.3s, box-shadow 0.3s; }
.um-post:hover { transform: translateY(-4px); box-shadow: var(--shadow); color: inherit; }
.um-post h3 { margin: 10px 0 6px; }
.um-post p { font-size: 0.92rem; color: var(--muted); }
.um-post small { display: block; margin-top: 10px; color: var(--muted); font-family: var(--f-mono); font-size: 0.74rem; }
.um-grid--2 > .um-post { grid-template-columns: 0.9fr 1.1fr; align-items: center; }

/* ---------- forms ---------- */
.um-fld { display: grid; gap: 6px; margin-bottom: 14px; font-weight: 600; font-size: 0.9rem; }
.um-fld input, .um-fld select, .um-fld textarea, .um-inline-form input[type="email"], .um-subform input[type="email"], .um-wire__form input[type="email"], .um-search input, .um-term__form input, .um-term2__in input, .um-stage form input, .um-ship select, .um-a11y__ctl select {
  width: 100%; min-height: 50px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); font-weight: 500;
}
.um-fld textarea { min-height: 110px; resize: vertical; }
.um-fld input:focus, .um-fld select:focus, .um-fld textarea:focus { border-color: var(--steel); outline: 2px solid var(--ice); }
.um-fld.has-err input, .um-fld.has-err select, .um-fld.has-err textarea { border-color: var(--red); background: #fff7f7; }
.um-err { min-height: 1em; color: var(--red); font-size: 0.8rem; font-weight: 600; }
.um-check { display: flex; gap: 12px; align-items: flex-start; font-size: 0.9rem; margin: 10px 0; }
.um-check input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--ink); flex: none; }
.um-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.um-inline-form, .um-subform { display: grid; gap: 12px; grid-template-columns: 1fr auto; align-items: start; }
.um-inline-form .um-note, .um-subform .um-note, .um-checks-row { grid-column: 1 / -1; }
.um-checks-row { display: flex; flex-wrap: wrap; gap: 8px; }
.um-spin { display: none; width: 18px; height: 18px; border: 2px solid rgba(255, 255, 255, 0.4); border-top-color: #fff; border-radius: 50%; animation: um-rot 0.8s linear infinite; }
.is-loading .um-spin { display: inline-block; }
.is-loading .um-btn__t { display: none; }

/* ---------- accordion, tabs ---------- */
.um-acc { display: grid; gap: 12px; }
.um-acc__item { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.um-acc__q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; background: none; border: 0; text-align: left; font-weight: 700; font-size: 1.02rem; min-height: 56px; }
.um-acc__q i { transition: transform 0.3s; color: var(--red); flex: none; }
.um-acc__item.is-open .um-acc__q i { transform: rotate(45deg); }
.um-acc__a { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.um-acc__a p { padding: 0 22px 20px; color: var(--muted); }
.um-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.um-tab { padding: 10px 20px; min-height: 44px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font-weight: 700; font-size: 0.9rem; }
.um-tab.is-active { background: var(--ink); color: #fff; border-color: var(--ink); }
.um-tabs--scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
.um-tabs--scroll .um-tab { white-space: nowrap; }
.um-pane { display: none; }
.um-pane.is-active { display: block; animation: um-fade 0.4s; }
.um-sec--bg .um-tab { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.4); color: #fff; }
.um-sec--bg .um-tab.is-active { background: #fff; color: var(--ink); }

/* ---------- tables ---------- */
.um-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); -webkit-overflow-scrolling: touch; }
.um-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.um-table th, .um-table td { padding: 14px 18px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; font-size: 0.94rem; }
.um-table thead th { background: var(--ink); color: #fff; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; }
.um-table tbody th { font-weight: 700; }
.um-table tbody tr:last-child td, .um-table tbody tr:last-child th { border-bottom: 0; }
.um-table small { color: var(--muted); display: block; }
.um-price-cell strong { font-family: var(--f-display); font-size: 1.5rem; display: block; }
.um-table--mono { font-family: var(--f-mono); }
.um-table--mono thead th { background: var(--steel-d); }
.um-table--mono td.is-yes { color: var(--steel-d); font-weight: 700; }
.um-table--mono td.is-no { color: var(--red); }
.um-table--mono tbody tr:nth-child(even) { background: #f7f9fc; }
.um-table--mono tr.um-total th, .um-table--mono tr.um-total td { background: var(--ice); font-weight: 700; }
.um-table--mono tbody th { position: sticky; left: 0; background: #fff; z-index: 1; }

@keyframes um-blink { 50% { opacity: 0.2; } }
@keyframes um-rot { to { transform: rotate(360deg); } }
@keyframes um-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes um-marq { to { transform: translateX(-50%); } }

/* ==========================================================================
   Cabeçalho e rodapé
   ========================================================================== */
.unmemorybr-header { position: sticky; top: 0; z-index: 60; background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.unmemorybr-topbar { background: var(--dark); color: #dbe5f0; font-size: 0.78rem; }
.unmemorybr-topbar__in { max-width: 1320px; margin: 0 auto; padding: 7px 20px; display: flex; gap: 8px 26px; flex-wrap: wrap; justify-content: flex-end; }
.unmemorybr-topbar__i { color: #dbe5f0; text-decoration: none; display: inline-flex; gap: 8px; align-items: center; }
a.unmemorybr-topbar__i:hover { color: #fff; text-decoration: underline; }
.unmemorybr-main { max-width: 1320px; margin: 0 auto; padding: 10px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.unmemorybr-logo img { height: 46px; width: auto; background: none; }
.unmemorybr-nav ul { display: flex; gap: 4px; flex-wrap: nowrap; }
.unmemorybr-nav a { display: block; padding: 8px 11px; border-radius: 999px; color: var(--ink); text-decoration: none; font-weight: 700; font-size: 0.84rem; white-space: nowrap; transition: background 0.25s, color 0.25s; }
.unmemorybr-nav a:hover { background: var(--ink); color: #fff; }
.unmemorybr-burger { display: none; width: 46px; height: 46px; border-radius: 12px; border: 1px solid var(--line); background: #fff; font-size: 1.15rem; }
.unmemorybr-mobile-menu { position: fixed; inset: 0; z-index: 59; background: var(--dark); color: #fff; padding: 140px 24px 30px; overflow-y: auto; }
.unmemorybr-mobile-nav ul { display: grid; gap: 4px; }
.unmemorybr-mobile-nav a { display: block; padding: 14px 4px; border-bottom: 1px solid rgba(255, 255, 255, 0.14); color: #fff; text-decoration: none; font-family: var(--f-display); font-size: 1.7rem; }
.unmemorybr-mobile-contacts { margin-top: 26px; display: grid; gap: 10px; font-size: 0.92rem; }
.unmemorybr-mobile-contacts__i { color: #dbe5f0; text-decoration: none; display: flex; gap: 10px; }

.unmemorybr-footer { background: #0a0a0a; color: #cfd6df; padding: 70px 0 0; position: relative; overflow: hidden; background-image: linear-gradient(180deg, #0a0a0a, #0a0a0a); }
.unmemorybr-footer a { color: #cfd6df; text-decoration: none; }
.unmemorybr-footer a:hover { color: #fff; text-decoration: underline; }
.unmemorybr-footer p, .unmemorybr-footer li, .unmemorybr-footer dd, .unmemorybr-footer dt { color: #aab4c0; }
.unmemorybr-footer__giant { display: flex; justify-content: space-between; padding: 0 20px 36px; font-family: var(--f-display); font-weight: 700; font-size: clamp(2.6rem, 12.4vw, 11rem); line-height: 0.9; letter-spacing: 0.01em; user-select: none; white-space: nowrap; max-width: 1400px; margin: 0 auto; }
.unmemorybr-footer__giant span { color: #fff; opacity: 0.18; transition: opacity 0.6s; }
.unmemorybr-footer__giant span.is-lit { opacity: 0.95; }
.unmemorybr-footer__in { max-width: 1320px; margin: 0 auto; padding: 36px 20px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1.3fr; gap: 34px; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.unmemorybr-footer__logo img { height: 52px; width: auto; background: none; margin-bottom: 16px; }
.unmemorybr-footer__brand p { font-size: 0.9rem; }
.unmemorybr-social { display: flex; gap: 10px; margin-top: 18px; }
.unmemorybr-social a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.25); }
.unmemorybr-social a:hover { background: #fff; color: #0a0a0a; }
.unmemorybr-col summary, .unmemorybr-col__t { font-family: var(--f-mono); font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: #fff; cursor: pointer; list-style: none; margin-bottom: 14px; display: flex; gap: 10px; align-items: center; }
.unmemorybr-col summary::-webkit-details-marker { display: none; }
.unmemorybr-col ul { display: grid; gap: 9px; font-size: 0.92rem; }
.unmemorybr-col--contacts li { display: flex; gap: 10px; align-items: flex-start; }
.unmemorybr-col--contacts i { margin-top: 5px; color: #7f93ab; }
.unmemorybr-footer__legal { max-width: 1320px; margin: 0 auto; padding: 24px 20px; border-top: 1px solid rgba(255, 255, 255, 0.12); display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; }
.unmemorybr-footer__legal dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.unmemorybr-footer__legal dt { font-family: var(--f-mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: #7f93ab; }
.unmemorybr-footer__legal dd { color: #e6ecf3; font-size: 0.92rem; }
.unmemorybr-footer__note { font-size: 0.82rem; }
.unmemorybr-footer__bar { max-width: 1320px; margin: 0 auto; padding: 18px 20px 26px; border-top: 1px solid rgba(255, 255, 255, 0.12); display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: space-between; font-size: 0.85rem; }
.unmemorybr-lang { color: #cfd6df; display: inline-flex; gap: 8px; align-items: center; }
.unmemorybr-top { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.4); background: #0a0a0a; color: #fff; transition: background 0.25s, color 0.25s; }
.unmemorybr-top:hover { background: #fff; color: #0a0a0a; }

/* ==========================================================================
   Hero
   ========================================================================== */
.um-hero { padding: clamp(48px, 7vw, 96px) 0 clamp(40px, 6vw, 80px); overflow: hidden; }
.um-hero__grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(26px, 5vw, 70px); align-items: center; }
.um-hero__copy p { margin-top: 20px; font-size: 1.08rem; max-width: 60ch; }
.um-hero__copy h1 { margin-top: 6px; }
.um-hero--svc, .um-hero--price { padding-top: clamp(56px, 8vw, 110px); }
.um-hero--svc .um-hero__copy p, .um-hero--price .um-hero__copy p { color: #e4ecf5; }
.um-hero__badges { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 20px; }
.um-timecode { font-family: var(--f-mono); font-size: 0.8rem; color: var(--muted); }
.um-author { display: flex; align-items: center; gap: 12px; margin-top: 28px; font-size: 0.88rem; color: var(--muted); }
.um-author__img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.um-hero__visual { position: relative; min-height: 520px; border-radius: 22px; background-size: cover; background-position: center; background-color: var(--dark); overflow: hidden; box-shadow: var(--shadow); }
.um-hero__visual::after { content: ""; position: absolute; inset: 0; background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.04) 0 1px, transparent 1px 3px); pointer-events: none; }
.um-viewfinder { position: absolute; inset: 24px; z-index: 2; color: #fff; }
.um-vf { position: absolute; width: 36px; height: 36px; border: 2px solid rgba(255, 255, 255, 0.85); }
.um-vf--tl { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.um-vf--tr { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.um-vf--bl { bottom: 0; left: 0; border-right: 0; border-top: 0; }
.um-vf--br { bottom: 0; right: 0; border-left: 0; border-top: 0; }
.um-vf__rec { position: absolute; top: 12px; right: 52px; font-family: var(--f-mono); font-size: 0.8rem; color: #fff; }
.um-vf__rec i { color: var(--red); animation: um-blink 1.1s infinite; }
.um-vf__tag { position: absolute; top: 12px; left: 52px; font-family: var(--f-mono); font-size: 0.72rem; letter-spacing: 0.1em; background: rgba(0, 0, 0, 0.5); padding: 4px 10px; color: #fff; }
.um-vf__tag--b { top: auto; bottom: 12px; }
.um-hero--split .um-wrap { position: relative; }
.um-marquee { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; margin-top: clamp(36px, 5vw, 64px); }
.um-marquee__track { display: flex; gap: 28px; align-items: center; width: max-content; padding: 16px 0; animation: um-marq 32s linear infinite; font-family: var(--f-display); font-size: 1.6rem; font-style: italic; white-space: nowrap; }
.um-marquee__track i { font-size: 0.7rem; color: var(--red); font-style: normal; }
.um-marquee--dark { background: var(--dark); border-color: var(--dark); color: #fff; margin-top: 40px; border-radius: 12px; }
.um-marquee--dark span { color: #e8eef6; }
.um-hero--split { padding-bottom: 0; }
.um-hero--about .um-hero__grid, .um-hero--gal .um-hero__grid, .um-hero--blog .um-hero__grid, .um-hero--svc2 .um-hero__grid { grid-template-columns: 1fr 1fr; }
.um-collage { position: relative; min-height: 460px; }
.um-collage .um-fig { position: absolute; box-shadow: var(--shadow); border: 6px solid #fff; border-radius: 6px; }
.um-collage__a { width: 62%; left: 0; top: 0; aspect-ratio: 4 / 5; transform: rotate(-3deg); }
.um-collage__b { width: 48%; right: 0; top: 18%; aspect-ratio: 1; transform: rotate(4deg); }
.um-collage__c { width: 46%; left: 24%; bottom: 0; aspect-ratio: 4 / 3; transform: rotate(-1deg); }
.um-mosaic { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.um-mosaic .um-fig { aspect-ratio: 1; }
.um-mosaic__1 { grid-row: span 2; aspect-ratio: auto !important; }
.um-mosaic--shots { grid-template-columns: repeat(3, 1fr); }
.um-mosaic--shots .um-mosaic__1 { grid-column: span 2; grid-row: span 1; aspect-ratio: 16 / 9 !important; }
.um-hero--thanks, .um-hero--contact, .um-hero--faq, .um-hero--legal, .um-hero--post { background: linear-gradient(180deg, #fff, var(--bg)); }

/* ---------- slider ---------- */
.um-slider { position: relative; }
.um-slides { position: relative; min-height: 440px; }
.um-slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity 0.7s; background-size: cover; background-position: center; background-color: var(--dark); border-radius: 22px; overflow: hidden; display: grid; grid-template-columns: 1.1fr 0.9fr; align-items: center; padding: clamp(24px, 5vw, 56px); gap: 24px; color: #fff; }
.um-slide.is-active { opacity: 1; pointer-events: auto; z-index: 2; }
.um-slide h3 { font-family: var(--f-display); font-size: clamp(1.8rem, 3.2vw, 2.8rem); color: #fff; margin: 14px 0; line-height: 1.1; }
.um-slide p { color: #e8eef6; max-width: 46ch; margin-bottom: 20px; }
.um-slide__fig { aspect-ratio: 4 / 3; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4); }
.um-slider__ctl { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 20px; }
.um-slider__btn { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--line); background: #fff; display: grid; place-items: center; transition: background 0.25s, color 0.25s; }
.um-slider__btn:hover { background: var(--ink); color: #fff; }
.um-slider__dots { display: flex; gap: 8px; }
.um-dot { width: 10px; height: 10px; border-radius: 50%; border: 0; background: #b9c4d1; padding: 0; position: relative; }
.um-dot::after { content: ""; position: absolute; inset: -12px; }
.um-dot.is-active { background: var(--red); transform: scale(1.3); }
.um-slides--cards { min-height: 250px; }
.um-slide--q { background: #fff; color: var(--ink); border: 1px solid var(--line); display: block; padding: 36px; text-align: center; max-width: 760px; margin: 0 auto; left: 0; right: 0; }
.um-slide--q i { font-size: 1.6rem; color: var(--red); }
.um-slide--q p { color: var(--ink); font-family: var(--f-display); font-size: clamp(1.4rem, 2.6vw, 2rem); margin: 14px auto 18px; line-height: 1.25; }
.um-slide--q footer { display: flex; justify-content: center; gap: 16px; align-items: center; }
.um-slide--q code { font-family: var(--f-mono); background: var(--ice); padding: 2px 10px; border-radius: 6px; }

/* ---------- dossier ---------- */
.um-dossier__grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 24px; }
.um-doc { position: relative; padding: clamp(26px, 4vw, 48px); border-radius: 6px; background-size: cover; background-position: center; background-color: #1b2531; color: #fff; box-shadow: var(--shadow); }
.um-doc h3 { font-family: var(--f-display); font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 600; margin: 4px 0 16px; color: #fff; }
.um-doc p { color: #e4ecf5; margin-bottom: 14px; }
.um-doc blockquote { border-left: 3px solid var(--red); padding: 6px 0 6px 18px; margin: 18px 0; font-family: var(--f-display); font-style: italic; font-size: 1.3rem; color: #fff; }
.um-doc a:not(.um-btn) { color: #cfe0f2; }
.um-stamp { position: absolute; right: 22px; top: 22px; border: 3px solid var(--red); color: #ff9aa0; padding: 4px 14px; font-family: var(--f-mono); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; transform: rotate(8deg); font-size: 0.9rem; }
.um-doc__clip { position: absolute; left: 30px; top: -12px; font-size: 1.7rem; color: #b9c4d1; transform: rotate(-20deg); }
.um-dossier__side { display: grid; gap: 20px; align-content: start; }
.um-clip { background: #fff; padding: 10px 10px 14px; box-shadow: var(--shadow-s); transform: rotate(1.5deg); }
.um-clip figcaption { font-family: var(--f-mono); font-size: 0.74rem; color: var(--muted); margin-top: 8px; }
.um-dossier__feed { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; }
.um-dossier__t { margin-bottom: 14px; display: flex; gap: 10px; align-items: center; }
.um-dossier__t i { color: var(--red); }
.um-feed { display: grid; gap: 14px; }
.um-feed li { border-left: 3px solid var(--line); padding-left: 14px; }
.um-feed li:hover { border-color: var(--red); }
.um-feed time { font-family: var(--f-mono); font-size: 0.72rem; color: var(--muted); display: block; }
.um-feed p { font-size: 0.9rem; color: var(--ink-2); }

/* ---------- manifesto ---------- */
.um-manifesto { min-height: 88vh; display: flex; align-items: center; overflow: hidden; }
.um-manifesto__layers { position: absolute; inset: 0; }
.um-manifesto__layer { position: absolute; inset: 0; opacity: 0; transition: opacity 0.6s; background-size: cover; background-position: center; }
.um-manifesto__layer.is-on { opacity: 1; }
.um-manifesto .um-wrap { position: relative; z-index: 2; }
.um-manifesto__kicker { font-family: var(--f-mono); letter-spacing: 0.2em; text-transform: uppercase; font-size: 0.78rem; margin-bottom: 18px; }
.um-manifesto__title { font-size: clamp(3.2rem, 14vw, 12rem); line-height: 0.92; font-weight: 700; color: #fff; text-transform: uppercase; }
.um-manifesto__title em { font-style: italic; font-weight: 500; text-transform: none; color: #ffc3c6; }
.um-manifesto__text { max-width: 760px; margin-top: 30px; font-size: clamp(1.05rem, 1.8vw, 1.35rem); line-height: 1.7; }
.um-trigger { background: none; border: 0; padding: 0 2px; border-bottom: 2px solid var(--red); font-weight: 800; color: #fff; font-size: inherit; font-family: inherit; }
.um-trigger:hover, .um-trigger.is-on { background: #fff; color: var(--ink); }
.um-manifesto__meta { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 14px 30px; font-family: var(--f-mono); font-size: 0.8rem; border-top: 1px solid rgba(255, 255, 255, 0.4); padding-top: 18px; }

/* ---------- pinboard ---------- */
.um-bento { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(190px, auto); gap: 18px; }
.um-b { position: relative; border-radius: 10px; padding: 24px; }
.um-b--photo { grid-column: span 2; grid-row: span 2; background-size: cover; background-position: center; background-color: #1b2531; color: #fff; display: flex; flex-direction: column; justify-content: flex-end; box-shadow: var(--shadow); }
.um-b--photo h3, .um-b--photo p { color: #fff; }
.um-tape { position: absolute; top: -12px; left: 50%; width: 90px; height: 26px; background: rgba(220, 231, 242, 0.85); transform: translateX(-50%) rotate(-3deg); }
.um-b--note { background: #fff; background-image: repeating-linear-gradient(transparent 0 29px, #dbe4ee 29px 30px); box-shadow: var(--shadow-s); transform: rotate(-1deg); }
.um-b--note > i { color: var(--steel); font-size: 1.4rem; margin-bottom: 10px; }
.um-b--audio { background: var(--dark); color: #fff; display: grid; align-content: center; gap: 12px; border-radius: 14px; }
.um-b--audio h3, .um-b--audio p { color: #fff; }
.um-play { width: 56px; height: 56px; border-radius: 50%; border: 0; background: #fff; color: var(--ink); font-size: 1.1rem; transition: transform 0.25s, background 0.25s; }
.um-play:hover { background: var(--red); color: #fff; transform: scale(1.08); }
.um-b--finger { background: var(--paper); border: 1px solid var(--line); }
.um-b--polaroid { background: none; display: grid; place-items: center; }
.um-b--polaroid figure { background: #fff; padding: 12px 12px 8px; box-shadow: var(--shadow); transform: rotate(3deg); width: 100%; max-width: 230px; }
.um-b--polaroid figcaption { font-family: var(--f-display); font-style: italic; text-align: center; padding-top: 6px; }
.um-meter { display: flex; align-items: center; gap: 12px; margin: 14px 0; }
.um-meter__bar { flex: 1; height: 10px; background: var(--ice); border-radius: 999px; overflow: hidden; }
.um-meter__bar span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--steel), var(--red)); border-radius: inherit; transition: width 1.2s ease; }
.um-meter strong { font-family: var(--f-mono); }

/* ---------- compare ---------- */
.um-compare { position: relative; height: 380px; border-radius: 22px; overflow: hidden; user-select: none; --pos: 50%; box-shadow: var(--shadow); }
.um-compare__a, .um-compare__b { position: absolute; inset: 0; background-size: cover; background-position: center; background-color: #1b2531; display: flex; align-items: flex-end; padding: 28px; color: #fff; }
.um-compare__b { clip-path: inset(0 0 0 var(--pos)); justify-content: flex-end; text-align: right; font-family: var(--f-mono); }
.um-compare__a { filter: saturate(0.6); }
.um-compare__txt { max-width: 340px; }
.um-compare__txt h3, .um-compare__txt p { color: #fff; margin-top: 10px; }
.um-compare__b s { text-decoration-color: #ff8f96; text-decoration-thickness: 2px; opacity: 0.8; }
.um-compare__handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; background: #fff; z-index: 3; transform: translateX(-50%); pointer-events: none; }
.um-compare__handle span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 48px; height: 48px; border-radius: 50%; background: #fff; display: grid; place-items: center; color: var(--ink); box-shadow: var(--shadow-s); }
.um-compare__range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; z-index: 4; margin: 0; }
.um-compare__tabs { display: none; margin-top: 18px; }
.um-plate { margin-top: 22px; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--red); padding: 16px 20px; border-radius: 10px; display: flex; gap: 14px; align-items: flex-start; color: var(--ink-2); }
.um-plate i { color: var(--red); margin-top: 4px; }

/* ---------- lineup ---------- */
.um-lineup__wall { display: flex; gap: 12px; align-items: flex-end; padding: 22px 22px 0; border-bottom: 6px solid var(--ink); background: repeating-linear-gradient(0deg, transparent 0 39px, rgba(14, 22, 32, 0.14) 39px 40px); border-radius: 12px 12px 0 0; margin-bottom: 20px; overflow-x: auto; }
.um-sil { flex: 1 0 140px; border: 0; background: none; text-align: center; padding: 0; color: var(--ink-2); }
.um-sil i { display: block; font-size: 5.4rem; color: #9eb1c6; transition: color 0.25s, transform 0.25s; margin-bottom: 6px; }
.um-sil span { display: block; background: var(--ink); color: #fff; padding: 6px 8px; font-family: var(--f-mono); font-size: 0.74rem; }
.um-sil.is-active i, .um-sil:hover i { color: var(--ink); transform: translateY(-6px); }
.um-suspect { display: none; grid-template-columns: 0.55fr 1fr; gap: 28px; padding: clamp(20px, 3vw, 36px); border-radius: 18px; background-size: cover; background-position: center; background-color: #1b2531; color: #fff; align-items: center; }
.um-suspect.is-active { display: grid; animation: um-fade 0.5s; }
.um-suspect h3, .um-suspect p { color: #fff; }
.um-suspect h3 { font-family: var(--f-display); font-size: 2.1rem; font-weight: 600; margin-bottom: 8px; }
.um-bio { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 16px 0; }
.um-bio li { color: #e8eef6; font-size: 0.92rem; }
.um-bio span { display: block; font-family: var(--f-mono); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: #a9c4e2; }
.um-scales { display: grid; gap: 10px; }
.um-scale { display: grid; grid-template-columns: 90px 1fr 36px; gap: 12px; align-items: center; font-size: 0.85rem; }
.um-scale label { color: #e8eef6; }
.um-scale b { font-family: var(--f-mono); color: #fff; }
.um-scale__bar { height: 8px; background: rgba(255, 255, 255, 0.2); border-radius: 999px; overflow: hidden; }
.um-scale__bar span { display: block; height: 100%; width: 0; background: #fff; transition: width 1s ease; }

/* ---------- editorial ---------- */
.um-editorial__grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: clamp(24px, 4vw, 56px); }
.um-byline { color: var(--muted); font-family: var(--f-mono); font-size: 0.82rem; margin: 14px 0 28px; display: flex; gap: 18px; flex-wrap: wrap; }
.um-cols { columns: 2 280px; column-gap: 40px; }
.um-cols p { margin-bottom: 16px; break-inside: avoid-column; }
.um-dropcap::first-letter { font-family: var(--f-display); float: left; font-size: 4.6rem; line-height: 0.82; padding: 6px 12px 0 0; color: var(--red); font-weight: 700; }
.um-pull, .um-pull p { font-family: var(--f-display); font-style: italic; font-size: 1.9rem; line-height: 1.2; color: var(--ink); border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); padding: 18px 0; margin: 12px 0 22px; column-span: all; }
.um-editorial__side { background-size: cover; background-position: center; background-color: var(--dark); color: #fff; border-radius: 18px; padding: 26px; align-self: start; display: grid; gap: 14px; }
.um-editorial__side h3, .um-editorial__side p { color: #fff; }
.um-editorial__side a { color: #cfe0f2; }
.um-share { display: flex; gap: 10px; }
.um-share button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.5); background: transparent; color: #fff; }
.um-share button:hover { background: #fff; color: var(--ink); }
.um-aside__card .um-share button { border-color: var(--line); color: var(--ink); background: #fff; }

/* ---------- stats ---------- */
.um-stats { padding: 40px 0; background: var(--ink); }
.um-stats__row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.um-stat { text-align: center; padding: 10px; border-left: 1px solid rgba(255, 255, 255, 0.18); }
.um-stat:first-child { border-left: 0; }
.um-stat i { color: #8fa9c5; font-size: 1.2rem; margin-bottom: 8px; }
.um-stat strong { display: block; font-family: var(--f-display); font-size: clamp(2.6rem, 6vw, 4.4rem); color: #fff; line-height: 1; }
.um-stat span { font-size: 0.86rem; color: #b9c8d9; }

/* ---------- store ---------- */
.um-store .um-toggle { margin-top: 28px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.3); padding: 22px; border-radius: 16px; }

/* ---------- wall ---------- */
.um-wall__badge { width: 150px; height: 150px; margin: 0 auto 24px; border-radius: 50%; border: 2px solid var(--ink); display: grid; place-content: center; text-align: center; padding: 10px; font-size: 0.8rem; gap: 2px; background: #fff; box-shadow: var(--shadow-s); }
.um-wall__badge i { font-size: 1.8rem; color: var(--red); }

/* ---------- wire / newsletter ---------- */
.um-wire__box { max-width: 760px; margin: 0 auto; padding: clamp(26px, 4vw, 48px); border: 1px solid rgba(255, 255, 255, 0.4); background: rgba(8, 14, 22, 0.55); border-radius: 18px; font-family: var(--f-mono); }
.um-wire__box h2 { font-family: var(--f-display); margin: 8px 0 12px; color: #fff; }
.um-wire__sig { font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; color: #cfe0f2; }
.um-wire__sig i { animation: um-blink 1s infinite; color: #ff9aa0; }
.um-wire__form { display: grid; grid-template-columns: 1fr auto; gap: 12px; margin-top: 20px; align-items: start; }
.um-wire__form .um-check, .um-wire__form .um-badge, .um-wire__form .um-note { grid-column: 1 / -1; }
.um-stampbtn { min-height: 50px; padding: 0 26px; border: 3px solid #fff; background: transparent; color: #fff; font-family: var(--f-mono); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; transform: rotate(-2deg); transition: background 0.25s, color 0.25s; }
.um-stampbtn:hover { background: #fff; color: var(--ink); }
.um-news__box { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: center; background: var(--ink); border-radius: 22px; padding: clamp(24px, 4vw, 48px); }
.um-news__box h2, .um-news__box p, .um-news__box .um-eyebrow { color: #fff; }
.um-news__box p a { color: #cfe0f2; }

/* ---------- faq split, cta ---------- */
.um-faq-split .um-wrap { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(24px, 4vw, 56px); align-items: start; }
.um-faq-split .um-fig { margin-top: 24px; }
.um-cta { text-align: center; padding: clamp(70px, 10vw, 130px) 0; }
.um-cta__box { max-width: 780px; margin: 0 auto; }
.um-cta__box p { margin-top: 16px; font-size: 1.08rem; }
.um-cta__box .um-actions { justify-content: center; }
.um-cta-split__box { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 32px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: clamp(24px, 4vw, 52px); box-shadow: var(--shadow); }

/* ---------- cookie banner ---------- */
.um-cookie { position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 999; max-width: 860px; margin: 0 auto; display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; background: rgba(15, 22, 32, 0.96); color: #fff; padding: 18px 22px; border-radius: 20px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35); border: 1px solid rgba(255, 255, 255, 0.14); backdrop-filter: blur(10px); }
.um-cookie[hidden] { display: none !important; }
.um-cookie__icon { width: 46px; height: 46px; border-radius: 14px; background: rgba(255, 255, 255, 0.12); display: grid; place-items: center; font-size: 1.2rem; }
.um-cookie strong { display: block; font-size: 0.95rem; }
.um-cookie p { color: #cfd9e6; font-size: 0.85rem; line-height: 1.5; }
.um-cookie a { color: #fff; }
.um-cookie__actions { display: flex; gap: 10px; }
.um-cookie .um-btn { min-height: 42px; padding: 8px 20px; background: #fff; border-color: #fff; color: var(--ink); }
.um-cookie .um-btn--ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.5); }
/* ==========================================================================
   Sobre
   ========================================================================== */
.um-team { align-items: stretch; }
.um-member { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; text-align: center; display: grid; gap: 8px; justify-items: center; }
.um-member .um-fig { width: 100%; aspect-ratio: 4 / 5; }
.um-member p { font-size: 0.9rem; color: var(--muted); }
.um-dna__row { display: grid; grid-template-columns: 1.3fr 1fr; gap: 26px; margin-top: 34px; align-items: stretch; }
.um-sign { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; display: grid; gap: 18px; align-content: center; }
.um-sign p { font-family: var(--f-display); font-style: italic; font-size: clamp(1.5rem, 2.6vw, 2.2rem); line-height: 1.2; color: var(--ink); }
.um-sign footer { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.um-sign cite { font-style: normal; font-weight: 700; }
.um-signature { font-family: var(--f-display); font-style: italic; font-size: 2.2rem; color: var(--steel-d); transform: rotate(-4deg); }
.um-jobs { background: var(--ink); border-radius: var(--radius); padding: 28px; color: #fff; }
.um-jobs h3, .um-jobs p, .um-jobs li, .um-jobs span { color: #fff; }
.um-jobs h3 { margin-bottom: 10px; }
.um-jobs .um-badge { margin-bottom: 12px; background: #fff; color: var(--ink); }
.um-jobs a { color: #cfe0f2; }

.um-phases__nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.um-phase { padding: 10px 22px; min-height: 44px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.5); background: transparent; color: #fff; font-weight: 700; }
.um-phase.is-active { background: #fff; color: var(--ink); }
.um-film { background: #0c1219; padding: 10px 0; border-radius: 10px; overflow: hidden; }
.um-film__perf { height: 16px; background: repeating-linear-gradient(90deg, transparent 0 14px, rgba(255, 255, 255, 0.85) 14px 28px); mask: none; opacity: 0.55; margin: 6px 0; }
.um-film__row { display: grid; grid-template-columns: repeat(4, minmax(220px, 1fr)); gap: 14px; padding: 8px 14px; overflow-x: auto; scroll-snap-type: x mandatory; }
.um-frame { scroll-snap-align: start; background: #18222f; padding: 14px; border-radius: 6px; border: 1px solid rgba(255, 255, 255, 0.12); opacity: 0.45; transition: opacity 0.3s, transform 0.3s; }
.um-frame.is-active { opacity: 1; transform: translateY(-4px); }
.um-frame h3 { margin: 12px 0 6px; color: #fff; }
.um-frame p { font-size: 0.88rem; color: #cfd9e6; }
.um-frame__n { font-family: var(--f-mono); font-size: 0.72rem; color: #a9c4e2; display: block; margin-bottom: 10px; }
.um-frame .um-fig { aspect-ratio: 16 / 10; }
.um-diary [data-um="drawer-toggle"] { margin-top: 24px; }
.um-drawer { margin-top: 18px; max-width: 520px; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 16px; padding: 22px; display: none; gap: 10px; }
.um-drawer.is-open { display: grid; animation: um-fade 0.4s; }
.um-drawer small { color: #cfd9e6; }

.um-cine__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; }
.um-sbs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 10px; border-radius: 14px; background-size: cover; background-color: var(--dark); margin-bottom: 14px; }
.um-sbs .um-fig { aspect-ratio: 16 / 10; border-radius: 8px; }
.um-quiz { background: var(--ink); border-radius: var(--radius); padding: 26px; color: #fff; align-self: start; }
.um-quiz h3, .um-quiz p { color: #fff; }
.um-quiz p { margin: 10px 0; }
.um-quiz__opts { display: grid; gap: 10px; margin: 16px 0; }
.um-quiz__opts button { text-align: left; padding: 12px 16px; min-height: 46px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.4); background: transparent; color: #fff; font-weight: 600; }
.um-quiz__opts button:hover { background: #fff; color: var(--ink); }
.um-quiz__opts button.is-ok { background: #dce7f2; color: var(--ink); }
.um-quiz__opts button.is-no { background: #b3222b; border-color: #b3222b; }
.um-more-line { margin-top: 22px; font-size: 0.95rem; }

.um-type__grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 32px; align-items: start; }
.um-paper { background: #fff; background-image: repeating-linear-gradient(transparent 0 31px, #e3e9f0 31px 32px); border: 1px solid var(--line); border-radius: 4px; padding: clamp(24px, 4vw, 48px); font-family: var(--f-mono); font-size: 0.95rem; line-height: 2.1rem; box-shadow: var(--shadow); transform: rotate(-0.5deg); }
.um-paper p { color: var(--ink); margin-bottom: 0.4rem; }
.um-paper s { color: var(--red); text-decoration-thickness: 2px; }
.um-paper__tag { display: block; font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.um-paper__cursor::after { content: "▌"; animation: um-blink 1s infinite; }
.um-type__side { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; display: grid; gap: 12px; justify-items: start; }
.um-type__side .um-fig--round { width: 110px; }

.um-specs__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 28px; align-items: center; margin-bottom: 30px; }
.um-callouts { display: grid; gap: 12px; }
.um-callouts li { display: flex; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 16px; }
.um-callouts b { width: 30px; height: 30px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; flex: none; font-family: var(--f-mono); }
.um-specs .um-table-wrap { margin-bottom: 30px; }
.um-degrade { background: var(--dark); border-radius: var(--radius); padding: 26px; color: #fff; }
.um-degrade h3, .um-degrade p { color: #fff; }
.um-degrade input[type="range"] { width: 100%; margin: 16px 0; accent-color: #fff; }
.um-degrade__out { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; margin-bottom: 16px; font-family: var(--f-mono); color: #fff; }
.um-degrade .um-meter__bar { background: rgba(255, 255, 255, 0.2); }

.um-arc__chart { position: relative; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 18px; padding: 22px; }
.um-arc__axis { display: flex; justify-content: space-between; font-family: var(--f-mono); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: #cfd9e6; padding-left: 190px; margin-bottom: 8px; }
.um-lane { position: relative; height: 62px; display: flex; align-items: center; margin-left: 190px; }
.um-lane__n { position: absolute; left: -190px; width: 176px; font-size: 0.82rem; color: #e8eef6; }
.um-lane__line { position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: rgba(255, 255, 255, 0.5); }
.um-lane--b .um-lane__line { background: repeating-linear-gradient(90deg, #ff9aa0 0 10px, transparent 10px 18px); }
.um-lane--c .um-lane__line { background: #a9c4e2; height: 3px; }
.um-node { position: absolute; top: 50%; transform: translate(-50%, -50%); width: 40px; height: 40px; border-radius: 50%; border: 2px solid #fff; background: var(--dark); color: #fff; font-size: 0.8rem; transition: background 0.25s, transform 0.25s; }
.um-node:hover, .um-node.is-active { background: var(--red); transform: translate(-50%, -50%) scale(1.15); }
.um-arc__panel { margin-top: 18px; display: grid; grid-template-columns: 160px 1fr; gap: 18px; align-items: center; background: rgba(0, 0, 0, 0.35); border-radius: 14px; padding: 16px; }
.um-arc__panel .um-fig { aspect-ratio: 4 / 3; }

.um-a11y__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; margin-bottom: 28px; }
.um-a11y__preview { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; font-size: 18px; line-height: 1.7; min-height: 200px; transition: all 0.25s; }
.um-a11y__preview p { font-size: inherit; line-height: inherit; letter-spacing: inherit; color: var(--ink); }
.um-a11y__preview.f-dys { font-family: Verdana, Tahoma, sans-serif; word-spacing: 0.2em; }
.um-a11y__preview.f-mono { font-family: var(--f-mono); }
.um-a11y__preview.is-contrast { background: #000; color: #fff; border-color: #fff; }
.um-a11y__preview.is-contrast p { color: #fff; }
.um-a11y__ctl { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; display: grid; gap: 16px; align-content: start; }
.um-a11y__ctl label { display: grid; gap: 6px; font-weight: 600; font-size: 0.9rem; }
.um-a11y__ctl input[type="range"] { accent-color: var(--ink); }
.um-toggles { display: grid; gap: 10px; }
.um-toggles button { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 46px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font-weight: 600; text-align: left; }
.um-toggles button span { width: 40px; height: 22px; border-radius: 999px; background: #c5cfda; position: relative; flex: none; transition: background 0.25s; }
.um-toggles button span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform 0.25s; }
.um-toggles button[aria-checked="true"] span { background: var(--ink); }
.um-toggles button[aria-checked="true"] span::after { transform: translateX(18px); }
.um-a11y__video { display: grid; grid-template-columns: 0.8fr 1fr; gap: 24px; align-items: center; }
.um-playbig { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, 0.92); color: var(--ink); font-size: 1.4rem; z-index: 3; transition: transform 0.25s, background 0.25s; }
.um-playbig:hover { background: var(--red); color: #fff; transform: translate(-50%, -50%) scale(1.08); }
.um-playbig--sm { position: static; transform: none; margin-top: 18px; }
.um-playbig--sm:hover { transform: scale(1.06); }
.um-a11y.is-calm *, body.is-calm * { animation: none !important; transition: none !important; }

.um-voice__grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 36px; align-items: center; }
.um-sampler { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 22px 0; }
.um-wavebars { display: flex; align-items: center; gap: 3px; height: 54px; flex: 1 1 100%; margin-top: 10px; }
.um-wavebars i { flex: 1; min-width: 2px; background: #fff; border-radius: 2px; height: 20%; animation: um-wave 1.4s ease-in-out infinite; }
.um-wavebars i:nth-child(3n) { animation-delay: -0.4s; }
.um-wavebars i:nth-child(3n+1) { animation-delay: -0.9s; }
.um-wavebars i:nth-child(5n) { animation-duration: 1.9s; }
.um-sampler[data-mode="phone"] .um-wavebars i { background: #ffb7bb; opacity: 0.7; }
.um-wavebars--big { height: 80px; margin: 16px 0; padding: 0 12px; }
.um-wavebars--big i { background: var(--steel); }
@keyframes um-wave { 0%, 100% { height: 14%; } 50% { height: 95%; } }
.um-q-small { margin-top: 24px; font-family: var(--f-display); font-style: italic; font-size: 1.3rem; line-height: 1.3; }
.um-q-small cite { display: block; margin-top: 10px; font-family: var(--f-mono); font-size: 0.75rem; font-style: normal; letter-spacing: 0.1em; }

.um-book { max-width: 920px; margin: 0 auto; }
.um-book__pages { position: relative; min-height: 440px; perspective: 1400px; }
.um-leaf { position: absolute; inset: 0; background: #fff; background-image: repeating-linear-gradient(transparent 0 31px, #e0e7ef 31px 32px); border: 1px solid var(--line); border-radius: 6px 18px 18px 6px; padding: 34px 40px; box-shadow: var(--shadow); opacity: 0; transform: rotateY(-40deg); transform-origin: left center; transition: opacity 0.6s, transform 0.7s; pointer-events: none; overflow: hidden; }
.um-leaf.is-active { opacity: 1; transform: none; pointer-events: auto; z-index: 2; }
.um-leaf h3 { color: var(--ink); margin-bottom: 14px; font-family: var(--f-display); font-size: 1.7rem; font-weight: 600; }
.um-leaf .um-hand { color: var(--ink); }
.um-micro { margin-top: 20px; font-size: 0.5rem; letter-spacing: 0.02em; color: var(--muted); font-family: var(--f-mono); transition: font-size 0.25s; }
.um-book.is-magnify .um-micro { font-size: 1.05rem; color: var(--ink); }
.um-polaroid { position: absolute; right: 36px; bottom: 28px; background: #fff; padding: 8px 8px 22px; width: 150px; box-shadow: var(--shadow-s); transform: rotate(5deg); }
.um-polaroid .um-fig { aspect-ratio: 1; border-radius: 0; }
.um-leaf__clip { position: absolute; right: 80px; bottom: 150px; font-size: 1.6rem; color: #8fa0b3; transform: rotate(-20deg); z-index: 2; }
.um-book__ctl { display: flex; gap: 14px; align-items: center; justify-content: center; margin-top: 18px; }
.um-book__n { font-family: var(--f-mono); }

.um-qcard { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; }
.um-qcard h3 { display: flex; gap: 12px; margin-bottom: 8px; }
.um-qcard i { color: var(--red); margin-top: 3px; }
.um-qcard p { color: var(--muted); }
.um-colophon { text-align: center; }

/* ==========================================================================
   Preços
   ========================================================================== */
.um-pack { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 30px; display: grid; gap: 14px; align-content: start; }
.um-pack--hl { border: 2px solid var(--ink); box-shadow: var(--shadow); transform: translateY(-8px); }
.um-ribbon { position: absolute; top: 18px; right: -8px; background: var(--red); color: #fff; font-family: var(--f-mono); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 5px 14px; }
.um-pack__price { display: flex; align-items: baseline; gap: 12px; }
.um-pack__price strong { font-family: var(--f-display); font-size: 3rem; line-height: 1; }
.um-pack__price s { color: var(--muted); }
.um-tag-save { display: inline-block; justify-self: start; background: var(--ice); color: var(--steel-d); padding: 4px 12px; border-radius: 999px; font-weight: 700; font-size: 0.8rem; }
.um-calc__list { display: grid; gap: 8px; margin-bottom: 18px; }
.um-calc__list label { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; min-height: 48px; cursor: pointer; }
.um-calc__list label:has(input:checked) { border-color: var(--ink); background: var(--tint); }
.um-calc__list input { width: 20px; height: 20px; accent-color: var(--ink); }
.um-calc__out { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 18px; }
.um-calc__out span { display: block; font-size: 0.78rem; color: var(--muted); }
.um-calc__out strong { font-family: var(--f-display); font-size: 1.6rem; }
.um-calc__total strong { color: var(--red); }
.um-box3d { perspective: 1100px; display: grid; justify-items: center; gap: 22px; }
.um-box3d__cube { position: relative; width: min(260px, 70vw); aspect-ratio: 1; transform-style: preserve-3d; transform: rotateX(-14deg) rotateY(-28deg); transition: transform 0.8s; }
.um-face { position: absolute; inset: 0; border: 2px solid #fff; background: var(--dark-2); overflow: hidden; backface-visibility: hidden; }
.um-face img { width: 100%; height: 100%; object-fit: cover; }
.um-face--f { transform: translateZ(calc(min(260px, 70vw) / 2)); }
.um-face--b { transform: rotateY(180deg) translateZ(calc(min(260px, 70vw) / 2)); }
.um-face--r { transform: rotateY(90deg) translateZ(calc(min(260px, 70vw) / 2)); }
.um-face--l { transform: rotateY(-90deg) translateZ(calc(min(260px, 70vw) / 2)); }
.um-box3d__ctl { display: flex; gap: 14px; }
.um-box3d__ctl button { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.5); background: transparent; color: #fff; }
.um-box3d__ctl button:hover { background: #fff; color: var(--ink); }
.um-kitshow__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.um-checks { display: grid; gap: 10px; margin: 18px 0; }
.um-checks label { display: flex; gap: 12px; align-items: center; color: #fff; }
.um-checks input { accent-color: #fff; width: 18px; height: 18px; }
.um-run { display: flex; justify-content: space-between; border: 1px dashed rgba(255, 255, 255, 0.6); padding: 12px 16px; border-radius: 10px; font-family: var(--f-mono); margin-bottom: 8px; }
.um-bigprice { font-family: var(--f-display); font-size: 2.6rem; color: #fff; align-self: center; }
.um-matrix__bar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.um-ship select { min-height: 50px; margin: 12px 0 18px; color: var(--ink); }
.um-ship__out { background: rgba(255, 255, 255, 0.1); border-radius: 14px; padding: 18px; display: grid; gap: 4px; }
.um-ship__out strong { font-family: var(--f-display); font-size: 2rem; color: #fff; }
.um-ship__out small { color: #cfd9e6; }
.um-tag-card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 6px 6px 18px 18px; padding: 26px 22px 22px; background-size: cover; background-position: center; }
.um-tag-card::before { content: ""; position: absolute; top: 12px; left: 50%; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; border: 2px solid var(--line); background: var(--bg); }
.um-tag-card__id { display: block; font-family: var(--f-mono); font-size: 0.74rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--red); margin: 14px 0 10px; }
.um-tag-card > i { font-size: 1.5rem; color: var(--steel); margin-bottom: 10px; }
.um-tag-card p { margin: 8px 0 16px; font-size: 0.92rem; color: var(--muted); }
.um-barcode { display: block; height: 34px; background: repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 5px, var(--ink) 5px 6px, transparent 6px 10px); margin-top: 10px; width: 70%; }
.um-locker .um-tag-card { color: #fff; background-color: #1b2531; }
.um-locker .um-tag-card h3, .um-locker .um-tag-card p { color: #fff; }
.um-locker .um-tag-card .um-barcode { background: repeating-linear-gradient(90deg, #fff 0 2px, transparent 2px 5px, #fff 5px 6px, transparent 6px 10px); }
.um-locker .um-tag-card::before { border-color: #fff; background: #1b2531; }
.um-locker .um-more { color: #cfe0f2; }
.um-locker .um-tag-card__id { color: #ffb7bb; }
.um-locker .um-tag-card > i { color: #a9c4e2; }

/* ==========================================================================
   Serviços
   ========================================================================== */
.um-finder__list { display: grid; gap: 16px; }
.um-finder__list li { display: grid; grid-template-columns: 180px 1fr; gap: 20px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; align-items: center; }
.um-finder__list .um-fig { aspect-ratio: 4 / 3; }
.um-finder__list b { font-family: var(--f-display); font-size: 1.5rem; }
.um-finder__list a { text-decoration: none; }
.um-journey__list { display: grid; gap: 18px; position: relative; max-width: 780px; margin: 0 auto; }
.um-journey__list li { display: grid; grid-template-columns: 64px 1fr; gap: 20px; align-items: start; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; }
.um-journey__ic { width: 56px; height: 56px; border-radius: 16px; background: var(--ink); color: #fff; display: grid; place-items: center; font-size: 1.2rem; font-family: var(--f-display); }
.um-journey__list--h { max-width: none; grid-template-columns: repeat(3, 1fr); }
.um-journey__list li small { font-family: var(--f-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--red); font-size: 0.7rem; }
.um-journey__list li p { color: var(--muted); font-size: 0.93rem; }
.um-journey__list li h3 a { text-decoration: none; }

.um-cipher__grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 36px; align-items: center; }
.um-wheel { position: relative; width: min(440px, 88vw); aspect-ratio: 1; margin: 0 auto; border-radius: 50%; background-size: cover; background-color: #1b2531; border: 6px solid rgba(255, 255, 255, 0.9); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35); }
.um-wheel__outer, .um-wheel__inner { position: absolute; border-radius: 50%; }
.um-wheel__outer { inset: 8%; border: 2px solid rgba(255, 255, 255, 0.8); }
.um-wheel__inner { inset: 28%; border: 2px solid rgba(255, 255, 255, 0.8); transition: transform 0.6s; }
.um-wheel__core { position: absolute; inset: 44%; border-radius: 50%; background: #fff; }
.um-wheel b { position: absolute; left: 50%; top: 50%; width: 22px; margin-left: -11px; margin-top: -11px; text-align: center; font-family: var(--f-mono); font-size: 0.85rem; color: #fff; }
.um-wheel__inner b { color: #ffb7bb; font-size: 0.7rem; }
.um-step { display: grid; grid-template-columns: 48px 1fr 48px; gap: 12px; align-items: end; margin-bottom: 16px; }
.um-step button { width: 48px; height: 48px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.6); background: transparent; color: #fff; font-size: 1.3rem; }
.um-step label { display: grid; gap: 6px; font-weight: 700; }
.um-step input[type="range"] { width: 100%; accent-color: #fff; }
.um-panel--glass .um-fld textarea { width: 100%; }
.um-out { margin-top: 18px; padding: 16px; border-radius: 12px; background: rgba(0, 0, 0, 0.4); display: grid; gap: 4px; }
.um-out strong { font-family: var(--f-mono); font-size: 1.4rem; letter-spacing: 0.16em; word-break: break-all; }
.um-out span { font-size: 0.74rem; letter-spacing: 0.14em; text-transform: uppercase; }
.um-out em { font-style: normal; font-size: 0.85rem; }
.um-decrypt__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: center; }
.um-burnt { background: #f4f6f9; color: var(--ink); padding: 26px; border-radius: 6px; clip-path: polygon(0 4%, 6% 0, 20% 3%, 40% 0, 62% 4%, 82% 0, 100% 3%, 100% 96%, 85% 100%, 60% 97%, 38% 100%, 15% 96%, 0 100%); box-shadow: inset 0 0 40px rgba(15, 22, 32, 0.25); }
.um-burnt h3, .um-burnt p { color: var(--ink); }
.um-burnt .um-fig { max-height: 150px; margin-bottom: 12px; }
.um-burnt code { font-family: var(--f-mono); background: var(--ice); padding: 2px 8px; border-radius: 4px; }
.um-term { background: #0b1118; border: 1px solid #2a3949; border-radius: 12px; padding: 24px; font-family: var(--f-mono); color: #cfe0f2; }
.um-term__line { color: #cfe0f2; font-size: 0.85rem; margin-bottom: 10px; }
.um-term__status { font-size: 1.5rem; letter-spacing: 0.14em; margin: 8px 0 18px; color: #cfe0f2; }
.um-term__status[data-status="bad"] { color: #ff8f96; }
.um-term__status[data-status="ok"] { color: #fff; background: var(--steel); padding: 2px 10px; }
.um-term__form { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.um-term__form input { background: #121b26; border-color: #2a3949; color: #fff; text-transform: uppercase; letter-spacing: 0.1em; }
.um-inv__grid { display: grid; gap: 22px; }
.um-inv__slots { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.um-slot { padding: 18px 8px; min-height: 96px; border-radius: 14px; border: 1px solid var(--line); background: #fff; display: grid; gap: 8px; justify-items: center; font-weight: 700; font-size: 0.85rem; }
.um-slot i { font-size: 1.6rem; color: var(--steel); }
.um-slot.is-active { background: var(--ink); color: #fff; border-color: var(--ink); }
.um-slot.is-active i { color: #fff; }
.um-inspect { display: none; grid-template-columns: 0.8fr 1fr; gap: 28px; padding: clamp(20px, 3vw, 36px); border-radius: 20px; background-size: cover; background-color: #1b2531; color: #fff; align-items: center; }
.um-inspect.is-active { display: grid; animation: um-fade 0.4s; }
.um-inspect h3, .um-inspect p { color: #fff; }
.um-inspect h3 { font-family: var(--f-display); font-size: 2rem; font-weight: 600; }
.um-inspect__obj { perspective: 800px; }
.um-inspect__obj .um-fig { transition: transform 0.8s, filter 0.4s; }
.um-inspect.is-rot .um-fig { transform: rotateY(180deg); }
.um-inspect.is-xray .um-fig { filter: invert(1) grayscale(1) contrast(1.2); }
.um-mixer__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; }
.um-mixer__desk { grid-row: span 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; background: var(--dark); border-radius: 18px; padding: 22px; }
.um-ch { display: grid; justify-items: center; gap: 12px; color: #fff; }
.um-ch label { display: grid; justify-items: center; gap: 10px; font-size: 0.8rem; color: #cfd9e6; }
.um-ch input[type="range"] { writing-mode: vertical-lr; direction: rtl; height: 150px; width: 34px; accent-color: #fff; }
.um-ch__btns { display: flex; gap: 6px; }
.um-ch__btns button { width: 38px; height: 38px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.4); background: transparent; color: #fff; font-family: var(--f-mono); }
.um-ch__btns button[aria-pressed="true"] { background: #fff; color: var(--ink); }
.um-ch > i { font-size: 1.2rem; color: #a9c4e2; }
.um-spectro { display: flex; align-items: flex-end; gap: 3px; height: 150px; background: #0b1118; border-radius: 14px; padding: 12px; }
.um-spectro i { flex: 1; background: linear-gradient(0deg, #a9c4e2, #fff); height: 8%; border-radius: 2px 2px 0 0; transition: height 0.15s; }
.um-mixer__side { align-self: start; }
.um-mixer__side .um-q-small { color: var(--ink); }
.um-masonry { columns: 3 280px; column-gap: 20px; }
.um-mq { break-inside: avoid; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; margin-bottom: 20px; }
.um-mq i { color: var(--red); }
.um-mq p { margin: 10px 0 14px; font-family: var(--f-display); font-size: 1.3rem; line-height: 1.25; color: var(--ink); }
.um-mq footer { display: grid; gap: 2px; font-size: 0.85rem; }
.um-nlist { display: grid; gap: 14px; max-width: 880px; }
.um-nlist li { display: grid; grid-template-columns: 70px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.um-nlist span { font-family: var(--f-display); font-size: 2.6rem; color: var(--red); line-height: 1; }
.um-nlist p { color: var(--muted); margin-top: 6px; }

/* ==========================================================================
   Páginas de serviço (template)
   ========================================================================== */
.um-hero--svc .um-hero__grid { grid-template-columns: 1.2fr 0.8fr; }
.um-hero--svc h1 { color: #fff; }
.um-hero__fig { max-width: 420px; justify-self: end; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4); border: 6px solid #fff; border-radius: 8px; }
.um-facts { padding: 0; margin-top: -1px; }
.um-facts__row { display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border: 1px solid var(--line); border-radius: 0 0 20px 20px; box-shadow: var(--shadow-s); }
.um-facts__row > div { padding: 22px; display: grid; gap: 2px; border-left: 1px solid var(--line); }
.um-facts__row > div:first-child { border-left: 0; }
.um-facts__row i { color: var(--red); margin-bottom: 6px; }
.um-facts__row span { font-family: var(--f-mono); font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.um-split .um-wrap { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(24px, 5vw, 70px); align-items: center; }
.um-split--rev .um-split__text { order: 2; }
.um-split__text p { margin-bottom: 14px; }
.um-split__media--two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.um-split__media--two .um-fig:nth-child(2) { margin-top: 36px; }
.um-split__media--two .um-fig { aspect-ratio: 3 / 4; }
.um-steps__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; counter-reset: s; position: relative; }
.um-steps__list li { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 22px; }
.um-steps__list li p { color: var(--muted); font-size: 0.93rem; margin-top: 6px; }
.um-steps__n { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ink); color: #fff; font-family: var(--f-display); font-size: 1.4rem; margin-bottom: 14px; }
.um-two__grid .um-panel, .um-two .um-panel { height: 100%; }
.um-quote { text-align: center; padding: clamp(70px, 10vw, 130px) 0; }
.um-quote blockquote { max-width: 800px; margin: 0 auto; }
.um-quote blockquote i { font-size: 2rem; color: #ffb7bb; }
.um-quote blockquote p { font-family: var(--f-display); font-style: italic; font-size: clamp(1.6rem, 3.6vw, 2.8rem); line-height: 1.2; color: #fff; margin: 16px 0 20px; }
.um-quote cite { font-family: var(--f-mono); font-size: 0.8rem; letter-spacing: 0.1em; font-style: normal; color: #d6e0ec; }
.um-pricebox__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 40px; align-items: center; }
.um-price { background: var(--ink); border-radius: 24px; padding: 34px; display: grid; gap: 12px; text-align: center; color: #fff; box-shadow: var(--shadow); }
.um-price strong { font-family: var(--f-display); font-size: 4.2rem; line-height: 1; color: #fff; }
.um-price__label, .um-price__note { color: #cfd9e6; font-size: 0.9rem; }
.um-price .um-btn { background: #fff; color: var(--ink); border-color: #fff; }
.um-price .um-btn:hover { background: var(--red); color: #fff; border-color: var(--red); }
.um-price .um-btn--ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.6); }
.um-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.um-strip--6 { grid-template-columns: repeat(6, 1fr); }
.um-strip .um-fig { aspect-ratio: 1; }
.um-tabbed .um-pane p { font-size: 1.05rem; max-width: 80ch; }

/* ---------- template blog ---------- */
.um-keys__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.um-keys__list li { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
.um-keys__list span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--red); color: #fff; font-family: var(--f-display); margin-bottom: 10px; }
.um-article__grid { display: grid; grid-template-columns: 1fr 320px; gap: 44px; align-items: start; }
.um-prose h2 { margin: 30px 0 14px; font-size: clamp(1.7rem, 3vw, 2.4rem); }
.um-prose h2:first-child { margin-top: 0; }
.um-prose p { font-size: 1.08rem; line-height: 1.85; margin-bottom: 18px; max-width: 70ch; }
.um-aside { display: grid; gap: 18px; position: sticky; top: 130px; }
.um-aside__card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; display: grid; gap: 10px; justify-items: start; }
.um-aside__card .um-fig--round { width: 90px; }
.um-aside__card p { font-size: 0.9rem; color: var(--muted); }
.um-toc { display: grid; gap: 8px; font-size: 0.9rem; color: var(--ink-2); }
.um-toc--num { counter-reset: t; }
.um-toc--num li { counter-increment: t; }
.um-toc--num li::before { content: counter(t, decimal-leading-zero) " "; font-family: var(--f-mono); color: var(--red); }
.um-checklist { display: grid; gap: 10px; max-width: 780px; }
.um-checklist label { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 18px; min-height: 52px; cursor: pointer; }
.um-checklist input { width: 22px; height: 22px; accent-color: var(--ink); flex: none; }
.um-checklist label:has(input:checked) span { text-decoration: line-through; color: var(--muted); }
.um-promo { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 28px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 16px; text-decoration: none; color: inherit; box-shadow: var(--shadow-s); }
.um-promo p { color: var(--muted); margin: 8px 0; }
.um-pn__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.um-pn__a { display: flex; gap: 16px; align-items: center; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; text-decoration: none; color: var(--ink); font-weight: 700; }
.um-pn__a small { display: block; font-family: var(--f-mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.um-pn__a--r { justify-content: flex-end; text-align: right; }

/* ---------- template legal ---------- */
.um-legal__list { display: grid; gap: 18px; }
.um-legal__item { display: grid; grid-template-columns: 70px 1fr; gap: 20px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; scroll-margin-top: 140px; }
.um-legal__n { font-family: var(--f-display); font-size: 2.6rem; line-height: 1; color: var(--red); }
.um-legal__item p { color: var(--muted); margin-top: 8px; }
.um-dl { display: grid; grid-template-columns: auto 1fr; gap: 10px 20px; font-size: 0.93rem; }
.um-dl dt { font-family: var(--f-mono); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); padding-top: 4px; }
.um-panel--dark .um-dl dt { color: #a9c4e2; }
.um-dl--code dt { font-family: var(--f-mono); font-size: 1.1rem; color: var(--red); letter-spacing: 0.1em; }
.um-extra__body p { max-width: 80ch; margin-bottom: 14px; font-size: 1.05rem; }
.um-linkgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.um-linkgrid a { display: flex; gap: 12px; align-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); text-decoration: none; font-weight: 700; min-height: 60px; }
.um-linkgrid a:hover { background: var(--ink); color: #fff; }
.um-band__box { max-width: 700px; text-align: center; margin: 0 auto; }
.um-band__box p { margin-top: 14px; }
/* ==========================================================================
   Perguntas frequentes
   ========================================================================== */
.um-search { position: relative; margin-top: 26px; max-width: 520px; }
.um-search i { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--muted); }
.um-search input { padding-left: 48px; min-height: 56px; border-radius: 999px; }
.um-empty { text-align: center; padding: 20px; }
.um-pager-sec .um-two__grid { align-items: start; }
.um-pager { position: relative; max-width: 360px; margin: 0 auto; background: var(--dark); border-radius: 36px 36px 28px 28px; padding: 22px; display: grid; gap: 16px; box-shadow: var(--shadow); }
.um-pager__body { display: none; }
.um-pager__lcd { background: #cfdcea; border: 6px solid #0a0f15; border-radius: 12px; min-height: 120px; padding: 14px; font-family: var(--f-mono); color: #0b1722; display: grid; gap: 6px; overflow: hidden; transition: background 0.3s; }
.um-pager.is-lit .um-pager__lcd { background: #eaf3fb; box-shadow: 0 0 30px rgba(207, 224, 242, 0.7); }
.um-pager__line { font-size: 2.4rem; letter-spacing: 0.2em; }
.um-pager__msg { font-size: 0.82rem; white-space: nowrap; animation: um-scroll-l 10s linear infinite; }
@keyframes um-scroll-l { 0% { transform: translateX(100%); } 100% { transform: translateX(-100%); } }
.um-pager__btns { display: flex; gap: 10px; flex-wrap: wrap; }
.um-pager__btns .um-btn { background: #fff; color: var(--ink); border-color: #fff; flex: 1; }
.um-pager__btns .um-btn--ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.5); }
.um-theories__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 22px; }
.um-hot { grid-row: span 2; border-radius: 20px; padding: clamp(24px, 4vw, 42px); background-size: cover; background-color: #1b2531; color: #fff; display: grid; gap: 14px; align-content: end; min-height: 320px; }
.um-hot h3 { font-family: var(--f-display); font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 600; color: #fff; line-height: 1.1; }
.um-hot p { color: #e4ecf5; }
.um-hot .um-badge { justify-self: start; }
.um-vote { justify-self: start; display: inline-flex; gap: 10px; align-items: center; min-height: 46px; padding: 8px 18px; border-radius: 999px; border: 1px solid #fff; background: transparent; color: #fff; font-family: var(--f-mono); }
.um-vote:hover, .um-vote.is-on { background: #fff; color: var(--ink); }
.um-vote--sm { color: var(--ink); border-color: var(--line); min-height: 40px; }
.um-vote--sm:hover, .um-vote--sm.is-on { background: var(--ink); color: #fff; }
.um-threads { grid-column: 1 / -1; display: grid; gap: 12px; }
.um-threads li { display: grid; grid-template-columns: 1fr auto auto; gap: 16px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px 18px; }
.um-threads small { display: block; color: var(--muted); }
.um-route__list { display: grid; gap: 14px; max-width: 760px; margin-bottom: 30px; border-left: 2px solid rgba(255, 255, 255, 0.5); padding-left: 24px; }
.um-route__list li { display: grid; grid-template-columns: 76px 1fr; gap: 16px; align-items: center; }
.um-time { min-height: 40px; border-radius: 8px; border: 1px solid #fff; background: transparent; color: #fff; font-family: var(--f-mono); }
.um-time:hover, .um-time.is-on { background: #fff; color: var(--ink); }
.um-versus { display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; text-align: center; }
.um-versus > div { background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 16px; padding: 18px; }
.um-versus span { display: block; font-size: 0.85rem; color: #d6e0ec; }
.um-versus strong { font-family: var(--f-display); font-size: 3rem; color: #fff; }
.um-flyer { background: #fff; border: 1px solid var(--line); padding: 26px; text-align: center; display: grid; gap: 14px; box-shadow: var(--shadow); transform: rotate(-1.2deg); }
.um-flyer__top { font-family: var(--f-display); font-weight: 700; font-size: 2.6rem; letter-spacing: 0.06em; color: var(--red); line-height: 1; }
.um-flyer p { color: var(--ink-2); }
.um-reward { font-family: var(--f-mono); border: 2px dashed var(--ink); padding: 10px; display: block; }
.um-tree__root { display: grid; justify-items: center; margin-bottom: 30px; position: relative; }
.um-node-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 26px; text-align: center; display: grid; justify-items: center; gap: 6px; box-shadow: var(--shadow-s); }
.um-node-card .um-fig--round { width: 80px; }
.um-tree__branches { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; position: relative; }
.um-branch { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.um-branch__h { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 16px 18px; border: 0; background: var(--ink); color: #fff; font-weight: 700; min-height: 54px; }
.um-branch__b { padding: 18px; display: grid; gap: 8px; justify-items: start; }
.um-branch__b .um-fig--round { width: 72px; }
.um-branch__b p { color: var(--muted); }

/* ==========================================================================
   Galeria
   ========================================================================== */
.um-dark { background: #121a24; color: #fff; }
.um-dark h2, .um-dark h3, .um-dark p { color: #fff; }
.um-dark .um-head p { color: #cfd9e6; }
.um-trays { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 28px; }
.um-tray { padding: 10px 22px; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 8px; background: rgba(255, 255, 255, 0.06); font-family: var(--f-mono); font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; }
.um-timer { margin-left: auto; font-family: var(--f-mono); }
.um-line { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; padding-top: 30px; }
.um-line__rope { position: absolute; left: 0; right: 0; top: 18px; height: 3px; background: #7f93ab; border-radius: 3px; }
.um-polaroid--dev { position: relative; right: auto; bottom: auto; width: auto; padding: 10px 10px 36px; border: 0; background: #fff; transform: rotate(var(--r, -2deg)); text-align: center; transition: transform 0.3s; }
.um-polaroid--dev:nth-child(odd) { --r: -3deg; }
.um-polaroid--dev:nth-child(even) { --r: 2.5deg; }
.um-polaroid--dev:hover { transform: rotate(0) translateY(6px); }
.um-polaroid--dev .um-fig { aspect-ratio: 1; border-radius: 0; filter: brightness(0.05) contrast(1.4); transition: filter 3s ease; }
.um-polaroid--dev.is-done .um-fig { filter: none; }
.um-polaroid--dev.is-dev .um-fig { filter: brightness(0.6); }
.um-polaroid--dev .um-hand { position: absolute; left: 0; right: 0; bottom: 6px; color: var(--ink); font-size: 1rem; }
.um-clip-peg { position: absolute; top: -18px; left: 50%; width: 14px; height: 30px; margin-left: -7px; background: #b9c4d1; border-radius: 3px; }
.um-modal { position: fixed; inset: 0; z-index: 200; background: rgba(8, 12, 18, 0.82); display: grid; place-items: center; padding: 20px; }
.um-modal__box { position: relative; background: #fff; border-radius: 20px; padding: 28px; max-width: 560px; width: 100%; max-height: 92vh; overflow: auto; }
.um-modal__box h3 { color: var(--ink) !important; margin-bottom: 14px; }
.um-modal__box p, .um-modal__box label, .um-modal__box span { color: var(--ink-2); }
.um-modal__x { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--ink); z-index: 3; }
.um-modal__fig { overflow: hidden; margin-bottom: 14px; }
.um-modal__fig img { transition: transform 0.4s; cursor: zoom-in; filter: contrast(1.15) grayscale(0.2); }
.um-modal__fig:hover img { transform: scale(1.8); }
.um-masonry-sec .um-btn { margin-top: 26px; }
.um-mas { columns: 4 220px; column-gap: 16px; }
.um-mas__it { break-inside: avoid; margin-bottom: 16px; border-radius: 14px; overflow: hidden; position: relative; background: #dfe6ee; background-size: cover; }
.um-mas__it img { width: 100%; height: auto; min-height: 150px; object-fit: cover; }
.um-mas__it:nth-child(3n) img { min-height: 240px; }
.um-mas__it:nth-child(4n+1) img { min-height: 200px; }
.um-mas__it figcaption { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; font-size: 0.78rem; background: #fff; font-family: var(--f-mono); }
.um-like { border: 0; background: none; min-height: 36px; padding: 0 6px; color: var(--ink); }
.um-like[aria-pressed="true"] i { color: var(--red); }
.um-mas__it[hidden] { display: none; }
.um-gallery-hall { overflow: hidden; }
.um-coverflow { position: relative; perspective: 1200px; }
.um-coverflow__track { display: flex; gap: 0; justify-content: center; align-items: center; min-height: 440px; position: relative; }
.um-cf { position: absolute; width: min(300px, 62vw); transition: transform 0.6s, opacity 0.6s, filter 0.6s; opacity: 0; pointer-events: none; text-align: center; }
.um-cf .um-fig { aspect-ratio: 3 / 4; border: 6px solid #fff; border-radius: 4px; box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5); }
.um-cf figcaption { margin-top: 14px; display: grid; gap: 2px; color: #fff; }
.um-cf figcaption span { font-size: 0.82rem; color: #cfd9e6; }
.um-cf.is-active { opacity: 1; z-index: 3; transform: translateZ(0) scale(1.05); pointer-events: auto; box-shadow: 0 -80px 120px -60px rgba(255, 255, 255, 0.35); }
.um-cf.is-prev { opacity: 0.6; z-index: 2; transform: translateX(-62%) rotateY(35deg) scale(0.85); filter: brightness(0.6); }
.um-cf.is-next { opacity: 0.6; z-index: 2; transform: translateX(62%) rotateY(-35deg) scale(0.85); filter: brightness(0.6); }
.um-room .um-wrap { overflow: hidden; }
.um-pano { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 14px; box-shadow: var(--shadow-s); display: grid; gap: 12px; }
.um-pano__view { position: relative; height: 380px; overflow: hidden; border-radius: 14px; background-size: cover; background-color: #1b2531; touch-action: pan-y; cursor: grab; }
.um-pano__strip { position: absolute; top: 0; bottom: 0; left: 0; width: 220%; transition: transform 0.5s; }
.um-pano__strip .um-fig { position: absolute; inset: 0; border-radius: 0; aspect-ratio: auto; }
.um-hot-spot { position: absolute; top: 46%; width: 48px; height: 48px; margin-left: -24px; border-radius: 50%; border: 2px solid #fff; background: rgba(179, 34, 43, 0.85); color: #fff; animation: um-pulse 2s infinite; }
@keyframes um-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.6); } 100% { box-shadow: 0 0 0 20px rgba(255, 255, 255, 0); } }
.um-pano__ctl { display: flex; justify-content: center; gap: 12px; }
.um-pano__ctl button { min-height: 46px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-weight: 700; }
.um-pano__ctl button[aria-pressed="true"] { background: var(--ink); color: #fff; }
.um-pano__info { background: var(--tint); border-radius: 12px; padding: 14px 18px; }
.um-pano__inv { display: flex; gap: 14px; align-items: center; }
.um-log { margin-top: 18px; display: grid; gap: 8px; border-left: 2px solid var(--line); padding-left: 18px; }
.um-log time { font-family: var(--f-mono); color: var(--red); margin-right: 8px; }
.um-map { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; }
.um-map__plane { position: relative; min-height: 420px; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: 16px; background-image: linear-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.12) 1px, transparent 1px); background-size: 40px 40px; background-color: rgba(21, 53, 91, 0.55); }
.um-pin { position: absolute; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; border: 2px solid #fff; background: rgba(0, 0, 0, 0.4); color: #fff; z-index: 2; }
.um-pin.is-active { background: var(--red); transform: scale(1.2); }
.um-link { position: absolute; height: 2px; background: repeating-linear-gradient(90deg, #fff 0 8px, transparent 8px 14px); transform-origin: left center; opacity: 0.7; }
.um-link--1 { left: 20%; top: 30%; width: 36%; transform: rotate(35deg); }
.um-link--2 { left: 45%; top: 55%; width: 34%; transform: rotate(-38deg); }
.um-hud { background: rgba(0, 0, 0, 0.45); border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 16px; padding: 18px; }
.um-hud__p { display: none; gap: 10px; }
.um-hud__p.is-active { display: grid; animation: um-fade 0.4s; }
.um-hud__p .um-fig { aspect-ratio: 16 / 10; }
.um-scrub { grid-column: 1 / -1; display: flex; gap: 16px; align-items: center; background: rgba(0, 0, 0, 0.4); padding: 14px 20px; border-radius: 14px; }
.um-scrub input { flex: 1; accent-color: #fff; }
.um-scrub output { font-family: var(--f-mono); min-width: 52px; }
.um-deck { background: #1b2531; border-radius: 22px; padding: clamp(18px, 3vw, 34px); color: #fff; box-shadow: var(--shadow); }
.um-deck__top { display: grid; grid-template-columns: 160px 1fr auto; gap: 24px; align-items: center; }
.um-deck__art { aspect-ratio: 1; }
.um-cassette { display: flex; justify-content: space-around; align-items: center; background: #0e151e; border: 2px solid #3a4a5d; border-radius: 12px; padding: 20px 14px; }
.um-reel { width: 64px; height: 64px; border-radius: 50%; border: 6px dashed #cfd9e6; }
.um-deck.is-play .um-reel { animation: um-rot 2.4s linear infinite; }
.um-counter { font-family: var(--f-mono); font-size: 1.6rem; background: #000; padding: 4px 12px; border-radius: 6px; color: #cfe0f2; letter-spacing: 0.1em; }
.um-deck__btns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.um-deck__btns button { width: 52px; height: 52px; border-radius: 10px; border: 1px solid #5a6b80; background: #2a3646; color: #fff; }
.um-deck__btns button:hover { background: #fff; color: var(--ink); }
.um-deck .um-wavebars--big i { background: #cfe0f2; animation-play-state: paused; }
.um-deck.is-play .um-wavebars--big i { animation-play-state: running; }
.um-transcript { background: #0e151e; border-radius: 10px; padding: 16px; font-family: var(--f-mono); font-size: 0.88rem; color: #cfe0f2; margin-bottom: 16px; }
.um-tracks { display: grid; gap: 8px; }
.um-track { width: 100%; display: grid; grid-template-columns: 130px 1fr auto auto auto; gap: 14px; align-items: center; padding: 12px 16px; border-radius: 10px; border: 1px solid #3a4a5d; background: transparent; color: #fff; text-align: left; min-height: 52px; }
.um-track em { font-style: normal; font-size: 0.74rem; color: #a9c4e2; }
.um-track time, .um-track span { font-family: var(--f-mono); font-size: 0.78rem; }
.um-track.is-active, .um-track:hover { background: rgba(255, 255, 255, 0.1); border-color: #fff; }
.um-vhs__grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 22px; }
.um-crt { background: #20262e; border-radius: 28px; padding: 22px; box-shadow: var(--shadow); }
.um-crt__screen { position: relative; border-radius: 22px / 28px; overflow: hidden; background-size: cover; background-color: #0b1118; }
.um-crt__screen .um-fig { aspect-ratio: 16 / 9; border-radius: 0; filter: contrast(var(--ct, 1)); }
.um-crt__screen::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.18) 0 2px, transparent 2px 4px); pointer-events: none; }
.um-crt__osd { position: absolute; top: 14px; left: 18px; font-family: var(--f-mono); color: #fff; z-index: 3; text-shadow: 0 0 6px rgba(255, 255, 255, 0.8); }
.um-crt.is-glitch .um-crt__screen .um-fig { animation: um-glitch 0.6s infinite steps(2); }
@keyframes um-glitch { 0% { transform: translate(0); filter: hue-rotate(0); } 25% { transform: translate(-6px, 2px); filter: hue-rotate(40deg) contrast(1.4); } 50% { transform: translate(5px, -3px); } 75% { transform: translate(-3px, 4px); filter: saturate(2); } 100% { transform: translate(0); } }
.um-crt__ctl { display: flex; justify-content: space-between; gap: 14px; margin-top: 16px; align-items: center; flex-wrap: wrap; }
.um-crt__ctl label { color: #fff; font-size: 0.85rem; display: grid; gap: 4px; }
.um-crt__ctl .um-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, 0.6); }
.um-playlist { display: grid; gap: 10px; align-content: start; }
.um-playlist button { width: 100%; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--line); background: #fff; text-align: left; min-height: 56px; }
.um-playlist b { grid-column: 2 / -1; font-family: var(--f-mono); font-size: 0.68rem; letter-spacing: 0.14em; color: var(--red); }
.um-playlist time { font-family: var(--f-mono); font-size: 0.78rem; }
.um-iso__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; }
.um-iso__stage { min-height: 400px; border-radius: 20px; background-size: cover; background-color: #1b2531; display: grid; place-items: center; overflow: hidden; }
.um-iso__plane { position: relative; width: 300px; height: 300px; transform: rotateX(60deg) rotateZ(-45deg); transform-style: preserve-3d; border: 2px solid #fff; background: rgba(255, 255, 255, 0.1); }
.um-isoroom { position: absolute; border: 2px solid #fff; display: grid; place-items: center; color: #fff; font-family: var(--f-mono); font-size: 0.7rem; background: rgba(255, 255, 255, 0.08); }
.um-isoroom--1 { left: 0; top: 0; width: 45%; height: 50%; }
.um-isoroom--2 { right: 0; top: 0; width: 55%; height: 50%; }
.um-isoroom--3 { left: 0; bottom: 0; width: 100%; height: 50%; }
.um-cam { position: absolute; width: 0; height: 0; border-left: 40px solid transparent; border-right: 40px solid transparent; border-top: 90px solid rgba(179, 34, 43, 0.4); }
.um-cam--1 { left: 24%; top: 4%; }
.um-cam--2 { right: 10%; bottom: 8%; transform: rotate(180deg); }
.um-actor { position: absolute; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.35); left: 4%; top: 30%; transition: left 0.8s, top 0.8s; }
.um-iso__side { display: grid; gap: 16px; align-content: start; }
.um-iso__time { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px; }
.um-iso__time label { display: flex; justify-content: space-between; font-weight: 700; margin-bottom: 8px; }
.um-iso__time input { width: 100%; accent-color: var(--ink); }
.um-iso__steps { display: grid; gap: 8px; }
.um-iso__steps li { padding: 12px 16px; border-radius: 10px; border: 1px solid var(--line); background: #fff; color: var(--muted); }
.um-iso__steps li.is-active { border-color: var(--ink); color: var(--ink); background: var(--tint); }
.um-iso__steps time { font-family: var(--f-mono); color: var(--red); margin-right: 8px; }
.um-iso__ev { background: #fff; border-left: 4px solid var(--red); padding: 14px 18px; border-radius: 8px; }
.um-iso__btns { display: flex; gap: 10px; }

/* ==========================================================================
   Contatos
   ========================================================================== */
.um-form { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: clamp(20px, 3.5vw, 40px); box-shadow: var(--shadow); }
.um-form__prog { display: flex; gap: 10px; margin-bottom: 22px; }
.um-form__prog li { flex: 1; height: 8px; border-radius: 999px; background: var(--ice); font-size: 0; }
.um-form__prog li.is-active, .um-form__prog li.is-done { background: var(--ink); }
.um-form__step { border: 0; padding: 0; margin: 0; display: none; }
.um-form__step.is-active { display: block; animation: um-fade 0.4s; }
.um-form__step legend { font-family: var(--f-display); font-size: 1.7rem; font-weight: 600; margin-bottom: 16px; padding: 0; }
.um-form__nav { display: flex; gap: 12px; justify-content: flex-end; margin-top: 10px; }
.um-form__nav .um-btn { min-width: 150px; }
.um-form.is-sent { opacity: 0.7; pointer-events: none; }
.um-mapbox { position: relative; border-radius: 22px; overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow); }
.um-mapbox iframe { width: 100%; height: 440px; border: 0; display: block; }
.um-mapbox__card { position: absolute; left: 20px; bottom: 20px; max-width: 340px; background: #fff; border-radius: 16px; padding: 18px 20px; box-shadow: var(--shadow); display: grid; gap: 8px; }
.um-mapbox__card h3 { display: flex; gap: 8px; }
.um-rotary .um-phone { display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: center; background: rgba(0, 0, 0, 0.45); border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 22px; padding: clamp(18px, 3vw, 34px); }
.um-dial { position: relative; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, #2a3646 0 28%, #e8eef6 29% 100%); border: 8px solid #cfd9e6; touch-action: none; }
.um-dial.is-spin { transition: transform 0.6s; }
.um-hole { position: absolute; left: 50%; top: 50%; width: 46px; height: 46px; margin: -23px; border-radius: 50%; border: 2px solid #5a6b80; background: #0e151e; color: #fff; font-family: var(--f-mono); font-size: 1rem; transform: rotate(calc(var(--a) * 1deg)) translateY(-122px) rotate(calc(var(--a) * -1deg)); }
.um-hole--0 { --a: 30; } .um-hole--1 { --a: 60; } .um-hole--2 { --a: 90; } .um-hole--3 { --a: 120; } .um-hole--4 { --a: 150; }
.um-hole--5 { --a: 180; } .um-hole--6 { --a: 210; } .um-hole--7 { --a: 240; } .um-hole--8 { --a: 270; } .um-hole--9 { --a: 300; }
.um-hole:hover { background: #fff; color: var(--ink); }
.um-dial__center { position: absolute; inset: 36%; border-radius: 50%; background: #0e151e; border: 4px solid #5a6b80; }
.um-keypad { display: none; grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: 320px; }
.um-keypad button { min-height: 60px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, 0.5); background: rgba(255, 255, 255, 0.1); color: #fff; font-size: 1.3rem; font-family: var(--f-mono); }
.um-keypad button:hover { background: #fff; color: var(--ink); }
.um-speaker { grid-column: 2; background: #0b1118; border-radius: 14px; padding: 20px; display: grid; gap: 8px; font-family: var(--f-mono); }
.um-speaker__led { width: 12px; height: 12px; border-radius: 50%; background: #5a6b80; }
.um-speaker.is-live .um-speaker__led { background: var(--red); animation: um-blink 0.8s infinite; }
.um-speaker__status { letter-spacing: 0.18em; color: #cfe0f2; }
.um-speaker__num { font-size: 2rem; letter-spacing: 0.3em; color: #fff; }
.um-speaker__txt { color: #cfe0f2; font-size: 0.92rem; min-height: 3em; }
.um-agenda { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 26px; font-family: var(--f-mono); font-size: 0.85rem; }
.um-agenda li { color: #e4ecf5; }
.um-press__grid { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 22px; align-items: start; }
.um-press__dl { display: grid; gap: 12px; }
.um-dlbtn { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; align-items: center; width: 100%; text-align: left; padding: 16px 18px; border-radius: 14px; border: 1px solid var(--line); background: #fff; min-height: 64px; }
.um-dlbtn i { grid-row: span 2; font-size: 1.4rem; color: var(--steel); }
.um-dlbtn small { color: var(--muted); font-family: var(--f-mono); }
.um-dlbtn:hover { border-color: var(--ink); }
.um-press__shots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.um-press__shots figure img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.um-press__shots figcaption { font-family: var(--f-mono); font-size: 0.7rem; margin-top: 6px; color: var(--muted); }
.um-stage__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; }
.um-stage__screen { position: relative; min-height: 340px; border-radius: 18px; background-size: cover; background-color: #1b2531; overflow: hidden; padding: 16px; display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; flex-wrap: wrap; }
.um-stage__screen .um-fig { position: absolute; inset: 0; border-radius: 0; aspect-ratio: auto; z-index: 0; opacity: 0.55; }
.um-stage__screen > * { position: relative; z-index: 2; }
.um-stage__screen .um-fig { position: absolute; z-index: 0; }
.um-stage__screen select { width: auto; margin-top: auto; background: rgba(0, 0, 0, 0.6); color: #fff; border-radius: 8px; padding: 6px 10px; border: 1px solid rgba(255, 255, 255, 0.5); }
.um-viewers { background: rgba(0, 0, 0, 0.6); color: #fff; padding: 4px 12px; border-radius: 999px; font-size: 0.8rem; }
.um-stage__sched, .um-chat { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 20px; }
.um-stage__sched ul { display: grid; gap: 12px; margin: 14px 0 18px; }
.um-stage__sched li { display: grid; gap: 2px; border-left: 3px solid var(--red); padding-left: 12px; }
.um-stage__sched time { font-family: var(--f-mono); font-size: 0.78rem; color: var(--muted); }
.um-stage__sched span { font-size: 0.8rem; color: var(--steel-d); }
.um-chat { grid-column: 1 / -1; }
.um-chat ul { display: grid; gap: 6px; margin: 10px 0 14px; max-height: 140px; overflow: auto; font-size: 0.9rem; }
.um-chat b { color: var(--steel-d); }
.um-chat form { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.um-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; position: relative; }
.um-timeline__i { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; border-top: 4px solid var(--red); }
.um-timeline__i b { display: block; font-family: var(--f-display); font-size: 1.6rem; margin-bottom: 6px; }
.um-timeline__i p { color: var(--muted); font-size: 0.93rem; }

/* ==========================================================================
   Obrigado
   ========================================================================== */
.um-safe__grid { display: grid; grid-template-columns: 1fr 0.7fr; gap: 24px; align-items: start; }
.um-lock { background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 22px; padding: 28px; display: grid; gap: 18px; justify-items: center; }
.um-dial2 { position: relative; width: 220px; height: 220px; border-radius: 50%; background: conic-gradient(from 0deg, #e8eef6, #8fa0b3, #e8eef6, #8fa0b3, #e8eef6); border: 8px solid #cfd9e6; display: grid; place-items: center; transition: transform 0.3s; }
.um-dial2__pointer { position: absolute; top: -18px; left: 50%; margin-left: -8px; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 18px solid var(--red); }
.um-dial2__n { font-family: var(--f-mono); font-size: 2.2rem; background: #0e151e; color: #fff; width: 90px; height: 90px; border-radius: 50%; display: grid; place-items: center; transition: transform 0.3s; }
.um-lock__ctl { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.um-lock__ctl button { min-height: 46px; padding: 0 16px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.6); background: transparent; color: #fff; font-family: var(--f-mono); }
.um-lock__ctl button:hover { background: #fff; color: var(--ink); }
.um-scratch { background: rgba(0, 0, 0, 0.4); border-radius: 18px; padding: 22px; }
.um-scratch ul { display: flex; gap: 10px; margin-top: 12px; }
.um-scratch li { width: 64px; height: 64px; display: grid; place-items: center; border: 1px dashed #fff; border-radius: 10px; font-family: var(--f-mono); font-size: 1.4rem; color: #fff; }
.um-vault { grid-column: 1 / -1; display: grid; grid-template-columns: 90px 1fr; gap: 20px; align-items: center; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 18px; padding: 20px; }
.um-vault__door { width: 80px; height: 80px; border-radius: 50%; border: 4px solid #fff; display: grid; place-items: center; font-size: 1.6rem; transition: transform 0.8s; }
.um-vault__in { opacity: 0.35; filter: blur(2px); pointer-events: none; transition: opacity 0.6s, filter 0.6s; }
.um-vault.is-open .um-vault__in { opacity: 1; filter: none; pointer-events: auto; }
.um-vault.is-open .um-vault__door { transform: rotate(360deg); }
.um-clock { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
.um-flip { background: var(--ink); color: #fff; border-radius: 14px; padding: 18px 10px; min-width: 96px; text-align: center; box-shadow: var(--shadow-s); position: relative; }
.um-flip::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(255, 255, 255, 0.25); }
.um-flip b { display: block; font-family: var(--f-mono); font-size: clamp(2rem, 7vw, 4rem); line-height: 1; font-weight: 500; }
.um-flip span { font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: #a9c4e2; }
.um-clock__sep { font-style: normal; font-size: 2.4rem; color: var(--muted); }
.um-audio-msg { max-width: 640px; margin: 0 auto 8px; display: flex; gap: 18px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 18px 22px; }
.um-audio-msg .um-play { background: var(--ink); color: #fff; flex: none; }
.um-audio-msg p { font-family: var(--f-mono); font-size: 0.86rem; margin-top: 4px; color: var(--muted); }
.um-chapters { display: grid; gap: 12px; max-width: 900px; }
.um-chap { display: grid; grid-template-columns: 1fr 160px 56px auto; gap: 16px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px 18px; background-size: cover; }
.um-chap.is-locked { opacity: 0.6; }
.um-chap__t { font-weight: 700; }
.um-chap b { font-family: var(--f-mono); }
.um-podium { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; align-items: end; max-width: 640px; margin: 0 auto 34px; }
.um-podium__c { background: #fff; border: 1px solid var(--line); border-radius: 16px 16px 0 0; text-align: center; padding: 18px 10px; display: grid; gap: 6px; justify-items: center; }
.um-podium__c--1 { min-height: 150px; } .um-podium__c--2 { min-height: 210px; background: var(--ink); } .um-podium__c--3 { min-height: 120px; }
.um-podium__c--2 strong, .um-podium__c--2 span { color: #fff; }
.um-podium__c .um-fig--round { width: 64px; }
.um-podium__c i { color: var(--red); font-size: 1.4rem; }
.um-me { margin-top: 22px; display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; background: var(--tint); border-radius: 14px; padding: 16px 20px; }
.um-board tr[hidden] { display: none; }

/* ==========================================================================
   Blog
   ========================================================================== */
.um-featured__grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items: center; }
.um-featured h2 { color: #fff; margin-bottom: 14px; }
.um-term2 { background: #07101a; border: 1px solid #1f2d3d; border-radius: 14px; overflow: hidden; font-family: var(--f-mono); box-shadow: var(--shadow); position: relative; }
.um-term2::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(120, 170, 220, 0.06) 0 1px, transparent 1px 3px); pointer-events: none; }
.um-term2__bar { padding: 12px 18px; background: #0f1b29; color: #cfe0f2; font-size: 0.8rem; border-bottom: 1px solid #1f2d3d; }
.um-term2__log { padding: 18px; max-height: 260px; overflow: auto; color: #cfe0f2; font-size: 0.88rem; display: grid; gap: 8px; }
.um-term2__log p { color: #cfe0f2; }
.t-add { color: #8fc1ff; } .t-fix { color: #ffffff; } .t-red { color: #ff8f96; }
.um-term2__in { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 12px 18px; border-top: 1px solid #1f2d3d; color: #cfe0f2; }
.um-term2__in input { background: transparent; border: 0; color: #fff; min-height: 40px; padding: 0 6px; }
.um-term2__in input:focus { outline: 0; }
.um-rank { display: grid; gap: 12px; }
.um-rank li { display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px 18px; }
.um-rank span { font-family: var(--f-display); font-size: 2.6rem; color: var(--red); line-height: 1; }
.um-rank a { text-decoration: none; color: var(--ink); display: grid; }
.um-rank small { color: var(--muted); }
.um-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.um-cat { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 20px; display: grid; gap: 4px; }
.um-cat i { color: var(--steel); font-size: 1.3rem; margin-bottom: 6px; }
.um-cat span { color: var(--muted); font-size: 0.86rem; }
.um-subform { grid-template-columns: 1fr; max-width: 560px; margin: 22px auto 0; }
.um-subform .um-checks-row { justify-content: center; }
.um-qa2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.um-qa2 > div { padding: 22px 0; border-top: 2px solid var(--ink); }
.um-qa2 h3 { display: flex; gap: 10px; margin-bottom: 8px; }
.um-qa2 i { color: var(--red); margin-top: 3px; }
.um-qa2 p { color: var(--muted); }
.um-sumcards { padding-top: 40px; padding-bottom: 20px; }
.um-toc-sec { padding-top: 30px; }
.um-legal .um-head { margin-bottom: 24px; }
.um-hero--legal .um-hero__grid, .um-hero--post .um-hero__grid, .um-hero--contact .um-hero__grid, .um-hero--thanks .um-hero__grid, .um-hero--faq .um-hero__grid { grid-template-columns: 1.1fr 0.9fr; }
.um-hero--legal .um-fig--tall, .um-hero--post .um-fig--tall, .um-hero--thanks .um-fig--tall, .um-hero--contact .um-fig--tall, .um-hero--faq .um-fig--tall { max-height: 520px; }

/* ==========================================================================
   Responsivo
   ========================================================================== */
@media (max-width: 1279px) {
  .unmemorybr-nav { display: none; }
  .unmemorybr-burger { display: inline-grid; place-items: center; }
  .unmemorybr-topbar__in { justify-content: center; }
  .unmemorybr-topbar__i:nth-child(3) { display: none; }
}
@media (max-width: 1023px) {
  .um-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .um-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .um-hero__grid, .um-hero--about .um-hero__grid, .um-hero--gal .um-hero__grid, .um-hero--blog .um-hero__grid, .um-hero--svc2 .um-hero__grid, .um-hero--svc .um-hero__grid,
  .um-hero--legal .um-hero__grid, .um-hero--post .um-hero__grid, .um-hero--contact .um-hero__grid, .um-hero--thanks .um-hero__grid, .um-hero--faq .um-hero__grid { grid-template-columns: 1fr; }
  .um-hero__fig { justify-self: start; }
  .um-two__grid, .um-dossier__grid, .um-editorial__grid, .um-dna__row, .um-cine__grid, .um-type__grid, .um-specs__grid, .um-a11y__grid, .um-a11y__video, .um-voice__grid,
  .um-kitshow__grid, .um-cipher__grid, .um-decrypt__grid, .um-mixer__grid, .um-theories__grid, .um-map, .um-vhs__grid, .um-iso__grid, .um-press__grid, .um-stage__grid, .um-safe__grid,
  .um-featured__grid, .um-faq-split .um-wrap, .um-cta-split__box, .um-pricebox__grid, .um-split .um-wrap, .um-article__grid, .um-promo, .um-news__box { grid-template-columns: 1fr; }
  .unmemorybr-footer__in { grid-template-columns: 1fr 1fr; }
  .unmemorybr-footer__legal { grid-template-columns: 1fr; }
  .um-split--rev .um-split__text { order: 0; }
  .um-bento { grid-template-columns: repeat(2, 1fr); }
  .um-steps__list { grid-template-columns: repeat(2, 1fr); }
  .um-aside { position: static; }
  .um-keys__list { grid-template-columns: repeat(2, 1fr); }
  .um-facts__row { grid-template-columns: repeat(2, 1fr); }
  .um-facts__row > div:nth-child(3) { border-left: 0; }
  .um-timeline { grid-template-columns: repeat(2, 1fr); }
  .um-line { grid-template-columns: repeat(3, 1fr); }
  .um-mixer__desk { grid-row: auto; }
  .um-deck__top { grid-template-columns: 120px 1fr; }
  .um-deck__btns { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
  .um-deck__btns button { width: 100%; }
}

@media (max-width: 767px) {
  body { font-size: 16px; }
  .um-wrap { padding: 0 16px; }
  .um-grid--2, .um-grid--3, .um-grid--4 { grid-template-columns: 1fr; }
  .um-grid--2 > .um-post { grid-template-columns: 1fr; }
  .um-hero__visual { min-height: 0; aspect-ratio: 4 / 5; order: 2; }
  .um-marquee { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .um-marquee__track { animation: none; font-size: 1.05rem; padding: 12px 16px; }
  .um-slides { min-height: 0; display: grid; }
  .um-slide { position: relative; inset: auto; grid-area: 1 / 1; grid-template-columns: 1fr; padding: 26px 20px; }
  .um-slide__fig { display: none; }
  .um-slides--cards { min-height: 0; }
  .um-compare { height: auto; min-height: 340px; }
  .um-compare__handle, .um-compare__range { display: none; }
  .um-compare__b { clip-path: none; opacity: 0; transition: opacity 0.5s; justify-content: flex-start; text-align: left; }
  .um-compare.show-b .um-compare__b { opacity: 1; }
  .um-compare__tabs { display: flex; }
  .um-suspect.is-active { grid-template-columns: 1fr; }
  .um-bento { grid-template-columns: 1fr; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 10px; }
  .um-bento .um-b { flex: 0 0 82%; scroll-snap-align: start; min-height: 260px; }
  .um-b--photo { grid-column: auto; grid-row: auto; }
  .um-stats__row { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; }
  .um-stat:nth-child(3) { border-left: 0; }
  .um-cols { columns: 1; }
  .um-editorial__main { text-align: left; }
  .um-pull { text-align: center; font-size: 1.5rem; }
  .um-prose p { line-height: 1.95; }
  .unmemorybr-footer__in { grid-template-columns: 1fr; gap: 6px; }
  .unmemorybr-col { border-bottom: 1px solid rgba(255, 255, 255, 0.12); padding: 12px 0; }
  .unmemorybr-footer__legal dl { grid-template-columns: 1fr; }
  .unmemorybr-top { position: fixed; right: 16px; bottom: 16px; z-index: 55; }
  .um-wire__form, .um-inline-form, .um-term__form { grid-template-columns: 1fr; }
  .um-wire__form input[type="email"], .um-inline-form input, .um-stampbtn, .um-term__form input, .um-term__form .um-btn { min-height: 52px; }
  .um-cookie { grid-template-columns: 1fr; left: 12px; right: 12px; bottom: 12px; }
  .um-cookie__icon { display: none; }
  .um-cookie__actions .um-btn { flex: 1; }
  .um-team { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 10px; }
  .um-team .um-member { flex: 0 0 74%; scroll-snap-align: center; }
  .um-film__row { grid-template-columns: repeat(4, 78%); }
  .um-lane { margin-left: 0; margin-top: 30px; }
  .um-lane__n { left: 0; top: -22px; width: auto; }
  .um-arc__axis { padding-left: 0; }
  .um-arc__panel { grid-template-columns: 1fr; }
  .um-arc__chart { padding: 14px; }
  .um-journal .um-leaf { padding: 22px 20px; }
  .um-book__pages { min-height: 480px; }
  .um-steps__list { grid-template-columns: 1fr; }
  .um-pack--hl { transform: none; }
  .um-calc__out { grid-template-columns: 1fr; }
  .um-finder__list li { grid-template-columns: 1fr; }
  .um-inv__slots { display: flex; overflow-x: auto; gap: 10px; padding-bottom: 8px; }
  .um-slot { flex: 0 0 110px; }
  .um-inspect.is-active { grid-template-columns: 1fr; }
  .um-mixer__desk { grid-template-columns: 1fr; }
  .um-ch { grid-template-columns: 40px 1fr auto; align-items: center; }
  .um-ch label { grid-template-columns: 70px 1fr; align-items: center; justify-items: start; }
  .um-ch input[type="range"] { writing-mode: horizontal-tb; direction: ltr; height: 36px; width: 100%; }
  .um-ch > i { font-size: 1.1rem; }
  .um-step { grid-template-columns: 52px 1fr 52px; }
  .um-wheel { width: min(300px, 80vw); }
  .um-wheel b { display: none; }
  .um-route__list li { grid-template-columns: 1fr; }
  .um-versus { grid-template-columns: 1fr; }
  .um-tree__branches { grid-template-columns: 1fr; }
  .um-branch__b { display: none; }
  .um-branch.is-open .um-branch__b { display: grid; }
  .um-threads li { grid-template-columns: 1fr auto; }
  .um-threads li > span { display: none; }
  .um-line { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-top: 34px; }
  .um-polaroid--dev { flex: 0 0 70%; scroll-snap-align: center; }
  .um-line__rope { display: none; }
  .um-mas { columns: 1; }
  .um-mas__it { display: block; }
  .um-coverflow__track { min-height: 400px; }
  .um-cf.is-prev { transform: translateX(-52%) rotateY(35deg) scale(0.7); }
  .um-cf.is-next { transform: translateX(52%) rotateY(-35deg) scale(0.7); }
  .um-pano__view { height: 300px; }
  .um-map__plane { min-height: 300px; }
  .um-track { grid-template-columns: 1fr auto; }
  .um-track span, .um-track em, .um-track i { display: none; }
  .um-deck { padding-bottom: 90px; }
  .um-deck__btns { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 50; background: rgba(15, 22, 32, 0.96); padding: 10px; border-radius: 16px; display: none; }
  .um-deck.is-play .um-deck__btns, .um-deck:focus-within .um-deck__btns { display: grid; }
  .um-iso__stage { min-height: 320px; }
  .um-iso__plane { width: 220px; height: 220px; }
  .um-rotary .um-phone { grid-template-columns: 1fr; }
  .um-dial { display: none; }
  .um-keypad { display: grid; max-width: none; }
  .um-speaker { grid-column: 1; }
  .um-form__nav .um-btn { flex: 1; min-width: 0; }
  .um-mapbox iframe { height: 340px; }
  .um-mapbox__card { position: static; max-width: none; border-radius: 0 0 16px 16px; }
  .um-press__shots { grid-template-columns: repeat(3, 1fr); }
  .um-timeline { grid-template-columns: 1fr; }
  .um-journey__list--h { grid-template-columns: 1fr; }
  .um-journey__list li { grid-template-columns: 52px 1fr; padding: 16px; }
  .um-chap { grid-template-columns: 1fr auto; }
  .um-chap .um-meter__bar { grid-column: 1 / -1; order: 3; }
  .um-hide-m { display: none; }
  .um-table { min-width: 0; }
  .um-table--price { min-width: 640px; }
  .um-podium { grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .um-strip, .um-strip--6 { grid-template-columns: repeat(2, 1fr); }
  .um-keys__list { grid-template-columns: 1fr; }
  .um-facts__row { grid-template-columns: 1fr; }
  .um-facts__row > div { border-left: 0; border-top: 1px solid var(--line); }
  .um-facts__row > div:first-child { border-top: 0; }
  .um-pn__row { grid-template-columns: 1fr; }
  .um-qa2 { grid-template-columns: 1fr; }
  .um-legal__item, .um-nlist li { grid-template-columns: 52px 1fr; gap: 12px; }
  .um-mosaic--shots { grid-template-columns: repeat(2, 1fr); }
  .um-collage { min-height: 380px; }
  .um-viewfinder { inset: 14px; }
  .um-pull, .um-pull p { font-size: 1.45rem; }
  .um-dossier__side .um-dossier__feed .um-feed { display: none; }
  .um-dossier__feed.is-open .um-feed { display: grid; }
  .um-dossier__t { cursor: pointer; margin-bottom: 0; }
  .um-dossier__feed.is-open .um-dossier__t { margin-bottom: 14px; }
  .um-store .um-actions { flex-direction: column; }
  .um-store .um-card--hl .um-btn { width: 100%; }
}
@media (min-width: 768px) { .unmemorybr-top { position: static; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
  .um-marquee__track { animation: none; }
}
@media print {
  .unmemorybr-header, .unmemorybr-footer, .um-cookie, .um-sec:not(.um-matrix) { display: none !important; }
  .um-matrix { display: block !important; padding: 0; }
  .um-matrix__bar { display: none; }
}

/* ---------- avisos rápidos ---------- */
.um-toast { position: fixed; left: 50%; bottom: 24px; z-index: 1000; transform: translate(-50%, 20px); max-width: min(92vw, 520px); padding: 14px 22px; border-radius: 14px; background: var(--ink); color: #fff; font-size: 0.92rem; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3); opacity: 0; transition: opacity 0.35s, transform 0.35s; }
.um-toast.is-show { opacity: 1; transform: translate(-50%, 0); }

/* ==========================================================================
   Contraste: texto claro sobre qualquer bloco com foto de fundo (url())
   ========================================================================== */
[style*="url("] h1,
[style*="url("] h2,
[style*="url("] h3,
[style*="url("] h4,
[style*="url("] p,
[style*="url("] li,
[style*="url("] td,
[style*="url("] th,
[style*="url("] blockquote,
[style*="url("] figcaption,
[style*="url("] label,
[style*="url("] small,
[style*="url("] strong,
[style*="url("] b {
  color: #fff;
}
[style*="url("] a:not(.um-btn) { color: #fff; }
[style*="url("] a:not(.um-btn):hover { color: #ffb3b3; }
[style*="url("] .um-btn--ghost { color: #fff; border-color: #fff; }
[style*="url("] .um-btn--ghost:hover { background: #fff; color: var(--ink); border-color: #fff; }
[style*="url("] .um-eyebrow { color: #ff8080; }
[style*="url("] .um-chip { color: #fff; border-color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.12); }
[style*="url("] .um-card h3 { color: var(--ink); }
[style*="url("] .um-card p { color: var(--muted); }
[style*="url("] .um-card small { color: var(--muted); }
[style*="url("] .um-card strong { color: var(--ink); }
[style*="url("] .um-card__n { color: var(--red); }

/* Links dentro da topbar escura */
.unmemorybr-topbar a { color: #dbe5f0; }
.unmemorybr-topbar a:hover { color: #fff; text-decoration: underline; }
.unmemorybr-mobile-contacts a { color: #dbe5f0; }
.unmemorybr-mobile-contacts a:hover { color: #fff; }
