/* Colors draw on the Lumus institutional materials and the Casarão photo. */
:root {
  --bg:#1c1814; --bg2:#292623; --dark:#14110f;
  --ink:#f3ede7; --ink-rgb:243,237,231; --deep-rgb:28,24,20;
  --accent-rgb:185,130,96; --creative-rgb:129,115,148;
  --muted:rgba(var(--ink-rgb),.78); --soft:rgba(var(--ink-rgb),.6);
  --line:rgba(var(--ink-rgb),.15); --glass:rgba(var(--ink-rgb),.045); --glass2:rgba(var(--ink-rgb),.08);
  --purple:#817394; --purple2:#daccd9; --mag:#b98260; --pink:#dabba5; --gold:#b08d57;
  --paper:#f3ede7; --paper2:#e1dcd6;
  --button-bg:#dabba5; --button-ink:#211710;
  --shadow:0 24px 64px -36px rgba(0,0,0,.55);
}
html[data-palette="marfim"] {
  --bg:#f3ede7; --bg2:#e7ded3; --dark:#ddd3c7;
  --ink:#1c1814; --ink-rgb:28,24,20; --deep-rgb:243,237,231;
  --accent-rgb:129,115,148; --creative-rgb:129,115,148;
  --purple:#817394; --purple2:#665672; --mag:#906247; --pink:#665672; --gold:#806441;
  --button-bg:#665672; --button-ink:#fff8f2;
  --shadow:0 24px 64px -36px rgba(60,43,29,.25);
}
html[data-palette="petroleo"] {
  --bg:#18262c; --bg2:#23343a; --dark:#101c21;
  --ink:#f3ede7; --ink-rgb:243,237,231; --deep-rgb:24,38,44;
  --accent-rgb:167,189,217; --creative-rgb:129,115,148;
  --purple:#817394; --purple2:#bbcddd; --mag:#a7bdd9; --pink:#a7bdd9; --gold:#c29d78;
  --button-bg:#a7bdd9; --button-ink:#18262c;
}
html { scroll-padding-top:90px; }
body #feedbacks[hidden] { display:none!important; }
body { background:var(--bg)!important; }
body::before {
  background:radial-gradient(ellipse at 85% 8%,rgba(var(--accent-rgb),.08),transparent 42%),linear-gradient(180deg,var(--bg),var(--dark))!important;
}
body::after { opacity:.025; }
body .mobile-gyro-bg,#aurora { display:none!important; }
body nav { background:rgba(var(--deep-rgb),.92)!important; border-color:var(--line)!important; }
body .nav-links,body .nav-links a:hover { color:var(--ink); }
body .btn-grad,body .studio-preview-cta {
  color:var(--button-ink)!important; background:var(--button-bg)!important;
  box-shadow:0 12px 32px -22px rgba(var(--accent-rgb),.45)!important;
}
body .btn-ghost,body .btn-soft { background:transparent!important; color:var(--ink)!important; border-color:var(--line)!important; }
body a:focus-visible { outline:2px solid var(--pink); outline-offset:5px; }
body .brand span { color:var(--pink); }
body nav .brand {display:inline-flex;align-items:center;flex:0 0 auto;width:9em;height:1.7em;}
body nav .brand img {display:block;width:100%;height:100%;object-fit:contain;object-position:left center;mix-blend-mode:multiply;}
body .eyebrow,body .kick,body .story-kick { color:var(--pink)!important; }
body .hero {
  min-height:calc(100svh - 75px); padding:54px 0 72px;
}
body .hero-grid { grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr); gap:clamp(32px,5vw,72px); }
body .hero h1 {
  font-size:clamp(2.7rem,4.65vw,4.6rem)!important; line-height:1.03!important;
  letter-spacing:-.045em!important; max-width:12ch!important;
}
body .hero h1 .title-accent {
  color:var(--pink); font-size:.9em!important; line-height:.97!important;
  margin:.25em 0 0!important; transform:rotate(-2deg); text-shadow:none;
}
body .hero-copy { color:var(--muted)!important; max-width:48ch!important; line-height:1.65!important; margin:24px 0!important; }
body .systemic-note {
  margin-top:22px; padding-top:18px; border-top:1px solid var(--line);
  max-width:53ch; color:var(--soft); font-size:.76rem; line-height:1.7;
}
body .hero .hero-actions { margin-top:32px; }
body .hero-portrait {
  position:relative; margin:0; isolation:isolate; border:1px solid var(--line);
  border-radius:130px 130px 24px 24px; overflow:hidden; background:var(--bg2);
  box-shadow:var(--shadow); align-self:center;
}
body .hero-portrait::before {
  content:""; position:absolute; inset:13px; border:1px solid rgba(255,255,255,.32);
  border-radius:118px 118px 16px 16px; z-index:2; pointer-events:none;
}
body .hero-portrait img {
  width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center 64%;
}
body .hero-portrait figcaption {
  display:flex; justify-content:space-between; gap:12px; align-items:center;
  position:absolute; bottom:0; left:0; right:0; z-index:3;
  padding:44px 22px 24px; background:linear-gradient(transparent,rgba(20,17,15,.88));
  color:#fff8f2; font-size:.66rem; line-height:1.4;
}
body .hero-portrait figcaption span:first-child { font-family:'Bodoni Moda',serif; font-size:1.25rem; }
body .signal-row span { color:var(--muted); background:transparent; }
body .sec { padding-top:80px; padding-bottom:80px; }
body .section-head h2 { line-height:1.15; max-width:23ch; }
body .section-head.center h2 { margin-left:auto; margin-right:auto; }
body .section-head .lead { color:var(--muted); max-width:65ch; }
body .os-card,body .contract-card,body .system-box,body .structure-lumus,body .ads-lab,body .feedback,body .proof-cases {
  background:rgba(var(--ink-rgb),.035)!important; border-color:var(--line)!important;
  box-shadow:var(--shadow)!important;
}
body .cta-final { background:rgba(var(--accent-rgb),.07); border-color:var(--line); }
body .system-box,body .system-box::after { animation:none!important; }
body .system-box::after { box-shadow:none!important; border-color:var(--line)!important; }
body .generator-core,body .ads-core,body .story-ads {
  color:var(--button-ink)!important; background:var(--button-bg)!important;
  animation:none!important; box-shadow:none!important;
}
body .ads-bar { background:linear-gradient(180deg,var(--pink),var(--mag)); box-shadow:none; }
body .cable-flow { filter:none; opacity:.6; }
body .story-slide::after { opacity:.12!important; }
body .member .info,body .case-stack article,body .phone-shot b,body .av-caption,body .behind-card b { color:#fff8f2!important; }
body .member .info span { color:rgba(255,248,242,.8)!important; }
body .member { background-color:var(--bg2); }
body .case-stack article { text-shadow:0 1px 8px #000; }
body .screen-pair { color:var(--ink); }
html[data-palette="marfim"] body .os-core,
html[data-palette="marfim"] body .story-step i,
html[data-palette="marfim"] body .start-flow i,
html[data-palette="marfim"] body .mobile-timeline i { color:var(--button-ink)!important; background:var(--button-bg)!important; }
@media(max-width:1000px) and (min-width:761px) {
  body .hero-grid { grid-template-columns:1.1fr .9fr; gap:32px; }
  body .hero h1 { font-size:clamp(2.5rem,4.8vw,3.9rem)!important; }
  body .hero-portrait figcaption { flex-direction:column; align-items:flex-start; gap:3px; }
  body .nav-links { gap:14px; font-size:.7rem; }
}
@media(max-width:760px) {
  html { scroll-snap-type:none!important; scroll-padding-top:74px; }
  body .hero { min-height:0!important; display:block!important; padding:92px 0 32px!important; contain:none!important; }
  body .hero .hero-grid { display:grid!important; grid-template-columns:1fr!important; gap:26px!important; }
  body .hero .reveal:first-child { padding:0!important; }
  body .hero .eyebrow { display:inline-flex!important; margin-bottom:16px; font-size:.58rem; }
  body .hero h1 { max-width:14ch!important; font-size:clamp(2rem,8.6vw,3.5rem)!important; line-height:1.04!important; }
  body .hero h1 .title-accent { font-size:1em!important; margin-top:.12em!important; line-height:1!important; }
  body .hero .hero-copy { font-size:.88rem!important; line-height:1.6!important; max-width:45ch!important; margin:20px 0!important; }
  body .hero .hero-actions { display:flex!important; gap:10px!important; margin-top:28px; }
  body .hero .hero-actions .btn { font-size:.75rem; padding:12px 17px; min-height:44px; }
  body .hero .signal-row { display:none!important; }
  body .systemic-note { font-size:.7rem; margin-top:19px; padding-top:15px; line-height:1.65; }
  body .hero-portrait { border-radius:76px 76px 20px 20px; }
  body .hero-portrait::before { border-radius:65px 65px 12px 12px; inset:10px; }
  body .hero-portrait img { aspect-ratio:5/4; object-position:center 67%; }
  body .hero-portrait figcaption { padding:36px 19px 20px; font-size:.59rem; }
  body .hero-portrait figcaption span:first-child { font-size:1.15rem; }

}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  body .reveal { opacity:1!important; transform:none!important; }
}

/* Selected direction: warm paper, muted violet and architectural details. */
html[data-palette="marfim"] body::before {
  background:radial-gradient(ellipse at 92% 6%,rgba(129,115,148,.12),transparent 32%),
    radial-gradient(ellipse at 4% 28%,rgba(144,98,71,.05),transparent 36%),
    linear-gradient(180deg,var(--bg),var(--dark))!important;
}
html[data-palette="marfim"] body .hero-portrait {
  border:2px solid rgba(129,115,148,.5);
  box-shadow:12px 14px 0 rgba(129,115,148,.09),var(--shadow);
}
html[data-palette="marfim"] body .hero-portrait::before { border-color:rgba(243,237,231,.6); }
html[data-palette="marfim"] body .eyebrow::before {
  content:"";width:8px;height:8px;flex:0 0 8px;background:var(--purple);
  border-radius:2px;transform:rotate(45deg);margin-right:10px;
}
html[data-palette="marfim"] body .signal-row span {
  border-color:rgba(129,115,148,.25);background:rgba(129,115,148,.045);
}
html[data-palette="marfim"] body .section-head::after {
  content:"";display:block;width:64px;height:3px;background:var(--purple);margin-top:24px;border-radius:2px;
}
html[data-palette="marfim"] body .section-head.center::after {margin-left:auto;margin-right:auto;}
html[data-palette="marfim"] body .os-card,
html[data-palette="marfim"] body .feedback,
html[data-palette="marfim"] body .contract-card { border-top:2px solid rgba(129,115,148,.5)!important; }
html[data-palette="marfim"] body .cta-final {
  background:linear-gradient(120deg,rgba(129,115,148,.12),rgba(129,115,148,.04));
}

/* Upright type throughout, including the former handwritten accents and CTA. */
html {--accent-font:'Poppins',sans-serif;--accent-weight:500;}
html[data-type="editorial"] {--accent-font:'Bodoni Moda',serif;--accent-weight:500;}
html[data-type="blocos"] {--accent-font:'Poppins',sans-serif;--accent-weight:700;}
body i,body em {font-style:normal;}
body .title-accent,body .case-title span,body .cta-final .big {
  font-family:var(--accent-font)!important;font-weight:var(--accent-weight)!important;
  font-style:normal!important;transform:none!important;text-shadow:none!important;letter-spacing:-.035em;
}
body .hero h1 { max-width:100%!important;font-size:clamp(2.7rem,4.35vw,4.25rem)!important;line-height:1.08!important; }
body .hero h1 .title-accent {
  font-size:.72em!important;line-height:1.23!important;margin:.4em 0 0!important;color:var(--pink)!important;
}
body h2 .title-accent {font-size:1em!important;font-weight:var(--accent-weight)!important;}
body .cta-final .big {font-size:clamp(2rem,4.4vw,3.7rem)!important;line-height:1.15!important;}
html[data-type="editorial"] body .hero h1 .title-accent {font-size:.92em!important;line-height:1.12!important;}
html[data-type="blocos"] body .hero h1 .title-accent {
  padding-left:18px;border-left:4px solid var(--purple);font-size:.76em!important;
}
html[data-type="blocos"] body h2 .title-accent {border-bottom:3px solid rgba(var(--creative-rgb),.45);padding-bottom:.05em;}
@media(max-width:760px) {
  body .hero h1 {font-size:clamp(2rem,8.6vw,3.5rem)!important;max-width:100%!important;}
  body .hero h1 .title-accent {font-size:.85em!important;line-height:1.2!important;}
  html[data-type="editorial"] body .hero h1 .title-accent {font-size:1.08em!important;}
  html[data-type="blocos"] body .hero h1 .title-accent {font-size:.85em!important;padding-left:13px;}
}

/* Shared desktop content flows naturally on small screens. */
@media(max-width:760px) {
  body .hero>.wrap,body .sec>.wrap,body .cta-final.wrap {max-height:none;overflow:visible;}
  body .sec {display:block;min-height:0;overflow:visible;padding:56px 0;scroll-margin-top:80px;}
  body .section-head {margin-bottom:24px;}
  body .section-head h2 {font-size:clamp(1.8rem,7.8vw,2.6rem);max-width:100%;line-height:1.18;}
  body .sec .section-head .lead {font-size:.92rem!important;line-height:1.65!important;}
  body .sec .kick {font-size:.65rem;line-height:1.4;}
  body #manifesto .studio-proof {grid-template-columns:1fr;gap:12px;}
  body #manifesto .proof-pill {min-height:0;padding:20px;}
  body #manifesto .proof-pill b {font-size:1.05rem;line-height:1.3;}
  body #manifesto .proof-pill span {font-size:.85rem;line-height:1.5;}
  body #lumus-os .os-cycle {grid-template-columns:1fr;gap:16px;}
  body #lumus-os .os-card {padding:20px;}
  body #lumus-os .os-orbit {grid-template-columns:1fr;gap:12px;}
  body #lumus-os .os-core,body #lumus-os .orbit-dot {font-size:.85rem;line-height:1.5;padding:16px;}
  body #lumus-os .orbit-dot b {font-size:.92rem;}
  body #lumus-os .os-benefits {grid-template-columns:1fr;gap:12px;}
  body #lumus-os .os-benefits span {min-height:0;padding:16px;font-size:.92rem;line-height:1.4;}
  body #lumus-os .os-benefits small {font-size:.82rem;line-height:1.5;}
  body #audiovisual .av-grid {grid-template-columns:repeat(2,minmax(0,1fr));height:auto;gap:14px;}
  body #audiovisual .video-card,body #audiovisual .behind-card {grid-column:auto;height:clamp(220px,76vw,620px);min-height:220px;aspect-ratio:9/16;}
  body #audiovisual .av-grid.reveal {opacity:1;transform:none;}
  body #audiovisual .video-card::after,body #audiovisual .av-caption {pointer-events:none;}
  body #audiovisual .av-caption {left:12px;right:12px;bottom:12px;}
  body #audiovisual .av-caption b {font-size:.76rem;line-height:1.35;}
  body #audiovisual .av-caption small {font-size:.58rem;line-height:1.4;}
  body #trafego .ads-info {grid-template-columns:1fr;gap:12px;}
  body #trafego .ads-chip {padding:18px;min-height:0;}
  body #trafego .ads-chip b {font-size:.95rem;line-height:1.35;}
  body #trafego .ads-chip span {font-size:.84rem;line-height:1.5;}
  body #time .team-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  body #time .member {min-height:240px;padding:14px;}
  body #time .member b {font-size:.87rem;line-height:1.25;}
  body #time .member span {font-size:.7rem;line-height:1.4;letter-spacing:0;}
  body #provas .proof-track {grid-template-columns:1fr;gap:22px;}
  body #provas .brand-case {padding:18px;}
  body #provas .brand-case h3 {font-size:1.3rem;line-height:1.2;}
  body #provas .brand-case .case-kick {font-size:.62rem;}
  body #provas .screen-pair {max-height:none;}
  body #estrutura .structure-lumus {padding:20px;gap:24px;}
  body #estrutura .structure-content h3 {font-size:1.3rem;line-height:1.3;}
  body #estrutura .structure-content p {font-size:.88rem;line-height:1.6;}
  body #estrutura .structure-tags span {font-size:.68rem;}
  body #estrutura .studio-site-preview {min-height:320px;height:380px;}
  body .cta-final {display:block;min-height:0;overflow:visible;width:calc(100% - 44px);margin:24px auto 48px;padding:32px 22px;border-radius:24px;}
  body .cta-final p {font-size:.9rem;line-height:1.65;margin:20px auto 24px;}
}
@media(max-width:480px) {
  body #audiovisual .av-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Mobile-only repair: desktop presentation remains unchanged. */
@media(max-width:760px) {
  body .hero,body .sec,body .cta-final {min-height:0;max-height:none;height:auto;}
  body .hero>.wrap,body .sec>.wrap,body .cta-final.wrap {max-height:none;overflow:visible;}
  body .hero-grid,body .sec {overflow:visible;}
  body .hero {padding-top:36px!important;}
  body .wrap,body .hero-grid>*,body .os-cycle>*,body .ads-grid>*,
  body .team-grid>*,body .proof-track>*,body .structure-lumus>* {min-width:0;}
  body .sec p,body .sec h2,body .sec h3,body .sec b,body .sec small,
  body .sec span,body .systemic-note {overflow-wrap:anywhere;}
  body #manifesto .proof-pill {padding:20px 20px 20px 52px;}
  body #manifesto .proof-pill::before {left:20px;top:26px;}
  body .hero .hero-actions {width:100%;gap:12px!important;}
  body nav .wrap {gap:12px;}
  body nav .brand {flex:0 1 9em;}
  body nav .btn {width:auto;flex:0 1 auto;font-size:.7rem;padding:10px 12px;white-space:normal;}

  body #lumus-os .os-cycle {grid-template-columns:1fr;}
  body #lumus-os .os-orbit {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start;min-height:0;}
  body #lumus-os .cycle-arrow {display:none;}
  body #lumus-os .os-core {grid-column:1/-1;position:static;transform:none;width:100%;height:auto;min-height:88px;border-radius:18px;font-family:'Poppins',sans-serif;}
  body #lumus-os .orbit-dot {position:static;inset:auto;transform:none;width:auto;min-height:0;padding:16px;font-size:.82rem;line-height:1.5;}
  body #lumus-os .orbit-dot b {font-size:.92rem;line-height:1.35;}
  body #lumus-os .os-summary {min-height:0;align-content:start;}
  body #lumus-os .os-benefits {grid-template-columns:repeat(2,minmax(0,1fr));}
  body #lumus-os .os-benefits span {min-height:0;line-height:1.4;}
  body #lumus-os .os-benefits small {line-height:1.55;}

  body #provas .proof-track {display:grid;grid-template-columns:1fr;gap:22px;transform:none!important;}
  body #provas .brand-case:nth-child(n) {display:grid;align-content:start;overflow:visible;}
  body #provas .case-kick {width:fit-content;max-width:100%;white-space:normal;}
  body #provas .screen-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;aspect-ratio:auto;max-height:none;height:auto;overflow:visible;border:0;background:none;box-shadow:none;}
  body #provas .screen-pair::before,body #provas .screen-pair::after {display:none;}
  body #provas .phone-shot:nth-child(n) {position:relative;inset:auto;width:100%;height:auto;min-height:0;aspect-ratio:auto;clip-path:none;animation:none;opacity:1;transform:none;border-radius:12px;}
  body #provas .phone-shot img {position:static;width:100%;height:auto;object-fit:contain;}
  body #provas .phone-shot b {left:6px;right:auto;top:6px;font-size:.48rem;letter-spacing:.03em;padding:4px 6px;}

  body #time .member .info {width:100%;}
  body #estrutura .structure-lumus {grid-template-columns:1fr;min-height:0;align-items:start;}
  body #estrutura .studio-site-preview {min-width:0;max-width:100%;transform:none!important;}
  body #estrutura .studio-preview-cta {left:16px;right:auto;bottom:16px;transform:none;max-width:calc(100% - 32px);white-space:normal;text-align:center;font-size:.72rem;padding:12px 16px;letter-spacing:.03em;}
  body #estrutura .studio-preview-cta:hover {transform:translateY(-2px);}
}
@media(max-width:480px) {
  body #lumus-os .os-orbit,body #lumus-os .os-benefits {grid-template-columns:1fr;}
}
