/* Identidade visual alinhada ao canal do YouTube */
:root {
  --background: #f4eddf;
  --surface: #eee4d2;
  --text: #252424;
  --muted: #62605b;
  --primary: #252424;
  --primary-dark: #171717;
  --accent: #5267ff;
  --border: #d9cdb9;
  --paper: #f7f0e3;
  --compass: #766247;
  --shadow: 0 24px 64px rgba(74, 58, 40, 0.11);
}

body {
  background-color: var(--background);
  background-image:
    radial-gradient(circle at 20% 12%, rgba(255, 255, 255, 0.5), transparent 24rem),
    radial-gradient(circle at 82% 8%, rgba(82, 103, 255, 0.08), transparent 22rem),
    linear-gradient(180deg, #f7f1e5 0%, #efe5d3 100%);
}

body::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    radial-gradient(rgba(93, 74, 52, 0.11) 0.75px, transparent 0.75px),
    radial-gradient(rgba(255, 255, 255, 0.36) 0.75px, transparent 0.75px);
  background-position: 0 0, 2px 2px;
  background-size: 5px 5px;
  content: "";
  opacity: 0.38;
}

.site-header {
  background:
    linear-gradient(180deg, rgba(247, 240, 227, 0.96), rgba(244, 237, 223, 0.91));
  border-bottom-color: rgba(118, 98, 71, 0.14);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0;
}

.brand::before {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: url("assets/bussola-3d.png") center / contain no-repeat;
  box-shadow:
    0 7px 12px rgba(56, 40, 23, 0.24),
    0 2px 0 rgba(139, 109, 68, 0.48),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
  content: "";
  opacity: 1;
  transform: perspective(160px) rotateX(5deg);
}

.brand em {
  color: var(--accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.32em;
  font-style: italic;
  font-weight: 800;
  line-height: 0.8;
  text-transform: lowercase;
}

h1,
h2,
h3 {
  letter-spacing: 0;
}

.eyebrow,
.service-flow span,
.number,
.principles article > span {
  color: var(--accent);
}

.hero {
  position: relative;
  min-height: auto;
  margin-top: 24px;
  margin-bottom: 32px;
  overflow: hidden;
  padding: clamp(36px, 5vw, 64px);
  border: 1px solid rgba(118, 98, 71, 0.16);
  border-radius: 28px;
  background:
    radial-gradient(circle at 76% 36%, rgba(82, 103, 255, 0.1), transparent 22rem),
    linear-gradient(180deg, rgba(250, 245, 235, 0.96), rgba(239, 228, 210, 0.88));
  box-shadow: 0 18px 56px rgba(74, 58, 40, 0.08);
}

.hero::before {
  position: absolute;
  top: clamp(24px, 4vw, 48px);
  right: clamp(22px, 6vw, 84px);
  width: min(26vw, 250px);
  aspect-ratio: 1;
  border: 1px solid rgba(146,118,79,.28);
  border-radius: 50%;
  background: url("assets/bussola-3d.png") center / contain no-repeat;
  box-shadow: 0 18px 34px rgba(60,43,24,.16);
  content: "";
  opacity: 0.16;
}

.hero-copy,
.hero-visual {
  position: relative;
  z-index: 1;
}

.lead {
  color: #34312b;
}

.hero-credential {
  max-width: 680px;
  margin: 24px 0 0;
  padding-left: 16px;
  border-left: 2px solid var(--accent);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.microcopy {
  max-width: 560px;
  color: #2f3032;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-weight: 700;
}

.button {
  border-color: var(--primary);
  background: var(--primary);
  box-shadow: 0 12px 28px rgba(37, 36, 36, 0.12);
}

.button:hover {
  background: var(--primary-dark);
}

.text-link {
  border-bottom-color: var(--accent);
  color: var(--primary);
}

.hero-visual {
  border-color: rgba(118, 98, 71, 0.18);
  border-radius: 28px;
  background:
    radial-gradient(circle at 72% 24%, rgba(82, 103, 255, 0.08), transparent 13rem),
    rgba(247, 240, 227, 0.72);
}

.portrait {
  border: 1px solid rgba(118, 98, 71, 0.14);
  border-radius: 22px;
}

.system-map {
  right: -18px;
  width: 132px;
  height: 132px;
  border: 0;
  border-radius: 50%;
  background: url("assets/bussola-3d.png") center / contain no-repeat;
  box-shadow: 0 18px 34px rgba(60,43,24,.2), 0 3px 0 rgba(139,109,68,.32);
  opacity: 0.92;
}

.system-map span,
.system-map i {
  display: none;
}

.section-alt,
.contact {
  background:
    radial-gradient(circle at 10% 10%, rgba(255, 255, 255, 0.35), transparent 18rem),
    linear-gradient(180deg, #f0e6d5, #e8dcc8);
}

.section-dark {
  background:
    radial-gradient(circle at 80% 20%, rgba(82, 103, 255, 0.16), transparent 22rem),
    linear-gradient(135deg, #29231c 0%, #3f3326 100%);
}

.section-dark .eyebrow,
.layers li > span {
  color: #aeb8ff;
}

blockquote,
.signature {
  color: var(--text);
}

.section-dark blockquote,
.section-dark .signature,
.section-dark .layer-close {
  color: #fffaf1;
}

.service-name {
  border-color: rgba(82, 103, 255, 0.28);
  color: var(--accent);
  background: rgba(82, 103, 255, 0.06);
}

.context-grid article,
.form-card {
  background:
    radial-gradient(circle at 80% 14%, rgba(82, 103, 255, 0.045), transparent 12rem),
    rgba(250, 245, 235, 0.72);
}

.symptom-list {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
}

.symptom-list li {
  position: relative;
  padding: 14px 0 14px 28px;
  border-bottom: 1px solid rgba(118, 98, 71, 0.18);
  color: #302e2a;
}

.symptom-list li::before {
  position: absolute;
  top: 25px;
  left: 2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
  content: "";
}

.contact-card {
  padding: clamp(30px, 5vw, 54px);
  border: 1px solid rgba(118, 98, 71, 0.22);
  border-radius: 20px;
  background:
    radial-gradient(circle at 80% 14%, rgba(82, 103, 255, 0.06), transparent 12rem),
    rgba(250, 245, 235, 0.82);
  box-shadow: var(--shadow);
}

.contact-card h3 {
  font-size: clamp(27px, 3vw, 38px);
}

.contact-card > p:not(.eyebrow) {
  color: var(--muted);
}

.contact-card small {
  display: block;
  margin-top: 28px;
  color: var(--muted);
  line-height: 1.6;
}

.contact-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 30px;
}

.icon-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.icon-link img {
  flex: 0 0 auto;
}

.button.icon-link img {
  filter: invert(1);
}

.social-nav a {
  text-decoration: none;
}

.social-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  transition: border-color 0.2s, background 0.2s, transform 0.2s;
}

.social-icon img {
  filter: invert(1);
  opacity: 0.9;
}

.social-nav a:hover .social-icon {
  border-color: rgba(174, 184, 255, 0.75);
  background: rgba(82, 103, 255, 0.18);
  transform: translateY(-1px);
}

.compact-intro { display:grid;grid-template-columns:.85fr 1.15fr;gap:36px 90px;align-items:start }
.compact-intro blockquote { grid-column:1/-1;max-width:880px;margin:10px auto 0;border-left:0;padding:0;text-align:center }
.context-grid-compact article { min-height:340px }
.principles-compact { grid-template-columns:repeat(3,1fr) }
.section-dark .principles-compact article { border-color:rgba(255,255,255,.22) }
.section-dark .principles-compact p { color:rgba(255,250,241,.78) }
.service-compact { display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:center }
.service-compact>div:first-child { max-width:760px }
.service-compact>div:first-child>p:not(.eyebrow) { color:var(--muted);font-size:17px }
.service-disclaimer { padding-left:15px;border-left:2px solid var(--accent);font-size:13px!important }
.service-cta { padding:34px;border:1px solid rgba(118,98,71,.2);border-radius:18px;background:rgba(250,245,235,.68) }
.service-cta p { font-family:var(--serif);font-size:20px;line-height:1.55 }
.hero { grid-template-columns:1fr }
.hero-copy { max-width:900px }
.about-compact { display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);max-width:1080px;align-items:center }
.about-compact .about-copy { max-width:720px }
.about-compact .about-image { position:static }

@media(max-width:900px){.compact-intro,.service-compact,.about-compact{grid-template-columns:1fr;gap:36px}.about-compact .about-image{max-width:420px}}

.hero-positioning { grid-template-columns:1fr }
.hero-positioning .hero-copy { max-width:940px }
.hero-statement { max-width:760px;margin:28px 0 0;padding-left:18px;border-left:2px solid var(--accent);font-family:var(--serif);font-size:20px;line-height:1.55 }
.editorial-content { display:grid;grid-template-columns:.85fr 1.15fr;gap:30px 90px }
.editorial-content blockquote { grid-column:1/-1;max-width:900px;margin:30px auto 0;border:0;padding:0;text-align:center }
.editorial-body>p { font-size:18px }
.reflection-list { list-style:none;margin:26px 0 0;padding:0 }
.reflection-list li { padding:14px 0;border-bottom:1px solid rgba(118,98,71,.2);font-family:var(--serif);font-size:18px }
.reflection-list li::before { margin-right:12px;color:var(--accent);content:"?";font-family:var(--sans);font-weight:600 }
.ropa-section .section-heading { max-width:900px }
.ropa-steps { display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border) }
.ropa-steps article { padding:32px 28px }
.ropa-steps article+article { border-left:1px solid var(--border) }
.ropa-steps span { display:grid;width:48px;height:48px;margin-bottom:26px;place-items:center;border:1px solid rgba(82,103,255,.45);border-radius:50%;color:var(--accent);font-family:var(--serif);font-size:22px }
.ropa-steps p { color:var(--muted);font-size:14px }
.ropa-close { display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:34px }
.ropa-close p { max-width:650px;margin:0;font-family:var(--serif);font-size:22px }
.lens-section .section-heading { max-width:900px }
.lens-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px }
.lens-grid article { padding:28px;border-top:1px solid rgba(255,255,255,.25) }
.lens-grid p { color:rgba(255,250,241,.76) }
.possibility-list { border-top:1px solid var(--border) }
.possibility-list article { display:grid;grid-template-columns:150px 1fr auto;gap:34px;align-items:center;padding:30px 0;border-bottom:1px solid var(--border) }
.possibility-list article>span { color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase }
.possibility-list h3 { margin-bottom:6px }
.possibility-list p { max-width:680px;margin:0;color:var(--muted) }
.possibility-list article>a { font-size:13px;font-weight:600;white-space:nowrap }
.final-invite { display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center }
.final-invite h2 { max-width:820px }
.final-invite>div:first-child>p:last-child { max-width:720px;color:var(--muted);font-size:18px }
.invite-actions { display:flex;align-items:stretch;flex-direction:column;gap:16px }
.invite-actions .text-link { text-align:center }

@media(max-width:900px){.editorial-content,.final-invite{grid-template-columns:1fr;gap:36px}.ropa-steps{grid-template-columns:1fr 1fr}.ropa-steps article:nth-child(3){border-left:0;border-top:1px solid var(--border)}.ropa-steps article:nth-child(4){border-top:1px solid var(--border)}.lens-grid{grid-template-columns:1fr}.possibility-list article{grid-template-columns:120px 1fr}.possibility-list article>a{grid-column:2}}
@media(max-width:600px){.ropa-steps{grid-template-columns:1fr}.ropa-steps article+article{border-left:0;border-top:1px solid var(--border)}.ropa-close{align-items:flex-start;flex-direction:column}.possibility-list article{grid-template-columns:1fr;gap:10px}.possibility-list article>a{grid-column:auto;margin-top:10px}}

/* Método RODA */
.roda-method { overflow:hidden }
.method-intro { display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end }
.method-intro .eyebrow { color:#aeb8ff }
.method-intro p { color:rgba(255,250,241,.78);font-size:17px }
.method-manifesto { padding:24px 0 24px 34px;border-left:1px solid rgba(174,184,255,.35) }
.method-manifesto p { margin:0;color:#fffaf1;font-family:var(--serif);font-size:25px;line-height:1.4 }
.method-manifesto small { display:block;margin-top:16px;color:#aeb8ff }
.roda-cycle { position:relative;width:min(100%,560px);aspect-ratio:1;margin:70px auto 100px }
.cycle-ring { position:absolute;inset:12%;border:1px solid rgba(174,184,255,.56);border-radius:50%;background:conic-gradient(from -45deg,transparent 0 20%,rgba(82,103,255,.2) 20% 24%,transparent 24% 45%,rgba(82,103,255,.2) 45% 49%,transparent 49% 70%,rgba(82,103,255,.2) 70% 74%,transparent 74% 95%,rgba(82,103,255,.2) 95% 100%);box-shadow:inset 0 0 70px rgba(82,103,255,.08) }
.cycle-ring::after { position:absolute;top:-7px;left:50%;width:12px;height:12px;border-top:2px solid #aeb8ff;border-right:2px solid #aeb8ff;content:"";transform:translateX(-50%) rotate(45deg) }
.cycle-center { position:absolute;top:50%;left:50%;display:flex;width:40%;aspect-ratio:1;align-items:center;justify-content:center;flex-direction:column;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(32,27,22,.88);transform:translate(-50%,-50%);box-shadow:0 25px 60px rgba(0,0,0,.2);text-align:center }
.cycle-center small { color:#aeb8ff;letter-spacing:.15em;text-transform:uppercase }
.cycle-center strong { color:#fff;font-family:var(--serif);font-size:clamp(34px,6vw,58px);line-height:1.1 }
.cycle-center span { max-width:120px;color:rgba(255,255,255,.65);font-size:11px }
.cycle-stage { position:absolute;display:flex;min-width:130px;align-items:center;gap:10px;color:#fff }
.cycle-stage b { display:grid;width:46px;height:46px;place-items:center;border:1px solid #aeb8ff;border-radius:50%;background:#29231c;color:#aeb8ff;font-family:var(--serif);font-size:20px }
.cycle-stage span { font-family:var(--serif);font-size:20px }
.stage-r { top:2%;left:50%;transform:translateX(-50%);flex-direction:column }
.stage-o { top:50%;right:-2%;transform:translateY(-50%) }
.stage-d { bottom:2%;left:50%;transform:translateX(-50%);flex-direction:column-reverse }
.stage-a { top:50%;left:-2%;transform:translateY(-50%);flex-direction:row-reverse }
.cycle-again { position:absolute;bottom:-58px;left:50%;width:100%;color:#aeb8ff;font-size:12px;letter-spacing:.11em;text-align:center;text-transform:uppercase;transform:translateX(-50%) }
.stage-details { display:grid;grid-template-columns:1fr 1fr;gap:16px }
.stage-details article { display:grid;grid-template-columns:52px 1fr;gap:22px;padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.035) }
.stage-details article>span { display:grid;width:48px;height:48px;place-items:center;border:1px solid #aeb8ff;border-radius:50%;color:#aeb8ff;font-family:var(--serif);font-size:22px }
.stage-details h3 { color:#fff }
.stage-details p { margin-bottom:8px;color:rgba(255,250,241,.72);font-size:13px }
.stage-details strong { color:#fff;font-weight:600 }
.outcome-section { display:grid;grid-template-columns:.9fr 1.1fr;gap:80px }
.outcome-list { list-style:none;margin:0;padding:0 }
.outcome-list li { position:relative;padding:16px 0 16px 30px;border-bottom:1px solid var(--border) }
.outcome-list li::before { position:absolute;top:22px;left:2px;width:9px;height:9px;border-radius:50%;background:var(--accent);content:"" }
.fit-section { display:grid;grid-template-columns:1fr 1fr;gap:18px }
.fit-column { padding:34px;border:1px solid var(--border);border-radius:18px;background:rgba(250,245,235,.55) }
.fit-column ul { margin:0;padding-left:20px }
.fit-column li { margin-bottom:12px }
.muted-fit { background:transparent }
.limits-note { grid-column:1/-1;max-width:900px;margin:18px auto 0;color:var(--muted);font-size:13px;text-align:center }
.product-grid { display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center }
.product-grid>div>p { max-width:720px;color:var(--muted);font-size:17px }
.product-grid>div>ul { padding-left:20px }
.product-card { padding:40px;border:1px solid rgba(82,103,255,.28);border-radius:20px;background:rgba(250,245,235,.88);box-shadow:var(--shadow) }
.product-card>span { color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase }
.product-card>strong { display:block;margin:14px 0 10px;font-family:var(--serif);font-size:42px }
.product-card p { color:var(--muted) }
.product-card .button { width:100%;margin:12px 0 16px }
.product-card small { display:block;color:var(--muted);line-height:1.5 }

@media(max-width:900px){.method-intro,.outcome-section,.product-grid{grid-template-columns:1fr;gap:36px}.stage-details{grid-template-columns:1fr}}
@media(max-width:600px){.roda-cycle{width:330px;margin-top:54px}.cycle-stage{min-width:auto}.cycle-stage span{font-size:15px}.cycle-stage b{width:40px;height:40px}.stage-o{right:-3%}.stage-a{left:-3%}.cycle-center{width:43%}.cycle-center strong{font-size:34px}.stage-details article{grid-template-columns:40px 1fr;padding:24px 18px}.stage-details article>span{width:40px;height:40px}.fit-section{grid-template-columns:1fr}.limits-note{grid-column:auto}.product-card{padding:28px 20px}}

/* RODA como janela da abordagem, sem protagonizar a marca */
.roda-window { display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:center }
.roda-window-copy>p:not(.eyebrow,.roda-curiosity) { max-width:720px;color:var(--muted);font-size:17px }
.roda-curiosity { margin-top:28px;padding-left:16px;border-left:2px solid var(--accent);font-family:var(--serif);font-size:18px;line-height:1.55 }
.mini-cycle { position:relative;width:min(100%,390px);aspect-ratio:1;margin:auto;border:1px solid var(--border);border-radius:50%;background:radial-gradient(circle,rgba(82,103,255,.08),transparent 58%),rgba(250,245,235,.45);box-shadow:var(--shadow) }
.mini-cycle::before { position:absolute;inset:16%;border:1px solid rgba(82,103,255,.38);border-radius:50%;content:"" }
.mini-cycle::after { position:absolute;top:14%;left:50%;width:10px;height:10px;border-top:2px solid var(--accent);border-right:2px solid var(--accent);content:"";transform:translateX(-50%) rotate(45deg) }
.mini-cycle-center { position:absolute;top:50%;left:50%;display:flex;width:42%;aspect-ratio:1;align-items:center;justify-content:center;flex-direction:column;border:1px solid rgba(82,103,255,.28);border-radius:50%;background:rgba(247,240,227,.94);transform:translate(-50%,-50%);text-align:center }
.mini-cycle-center small { color:var(--accent);letter-spacing:.12em;text-transform:uppercase }
.mini-cycle-center strong { font-family:var(--serif);font-size:38px;line-height:1.05 }
.mini-cycle-center span { max-width:100px;color:var(--muted);font-size:10px }
.mini-cycle ol { list-style:none;margin:0;padding:0 }
.mini-cycle li { position:absolute;display:flex;align-items:center;gap:7px;font-family:var(--serif) }
.mini-cycle li b { display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--accent);border-radius:50%;background:var(--paper);color:var(--accent) }
.mini-cycle li:nth-child(1) { top:3%;left:50%;transform:translateX(-50%);flex-direction:column }
.mini-cycle li:nth-child(2) { top:50%;right:-2%;transform:translateY(-50%) }
.mini-cycle li:nth-child(3) { bottom:3%;left:50%;transform:translateX(-50%);flex-direction:column-reverse }
.mini-cycle li:nth-child(4) { top:50%;left:-2%;transform:translateY(-50%);flex-direction:row-reverse }
.mini-cycle>p { position:absolute;bottom:-42px;left:50%;width:100%;color:var(--muted);font-size:11px;letter-spacing:.08em;text-align:center;text-transform:uppercase;transform:translateX(-50%) }

@media(max-width:900px){.roda-window{grid-template-columns:1fr;gap:56px}.mini-cycle{width:360px}}
@media(max-width:600px){.mini-cycle{width:300px}.mini-cycle li span{font-size:13px}.mini-cycle-center strong{font-size:31px}}

.site-footer {
  background:
    radial-gradient(circle at 82% 0%, rgba(82, 103, 255, 0.12), transparent 20rem),
    #201b16;
}

@media (max-width: 900px) {
  .hero {
    padding: clamp(28px, 6vw, 44px);
  }

  .hero::before {
    width: min(48vw, 220px);
    opacity: 0.1;
  }
}

@media (max-width: 600px) {
  .brand::before {
    width: 32px;
    height: 32px;
  }

  .hero {
    margin-top: 12px;
    border-radius: 20px;
  }

  .contact-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  .contact-actions .text-link {
    text-align: center;
  }
}
